survey-core 1.9.127 → 1.9.129

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 (445) hide show
  1. package/defaultV2.css +457 -122
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +457 -122
  4. package/defaultV2.fontless.css.map +1 -1
  5. package/defaultV2.fontless.min.css +2 -2
  6. package/defaultV2.min.css +2 -2
  7. package/i18n/arabic.js +5 -1
  8. package/i18n/arabic.js.map +1 -1
  9. package/i18n/arabic.min.js +2 -2
  10. package/i18n/basque.js +5 -1
  11. package/i18n/basque.js.map +1 -1
  12. package/i18n/basque.min.js +2 -2
  13. package/i18n/bulgarian.js +5 -1
  14. package/i18n/bulgarian.js.map +1 -1
  15. package/i18n/bulgarian.min.js +2 -2
  16. package/i18n/catalan.js +5 -1
  17. package/i18n/catalan.js.map +1 -1
  18. package/i18n/catalan.min.js +2 -2
  19. package/i18n/croatian.js +5 -1
  20. package/i18n/croatian.js.map +1 -1
  21. package/i18n/croatian.min.js +2 -2
  22. package/i18n/czech.js +5 -1
  23. package/i18n/czech.js.map +1 -1
  24. package/i18n/czech.min.js +2 -2
  25. package/i18n/danish.js +5 -1
  26. package/i18n/danish.js.map +1 -1
  27. package/i18n/danish.min.js +2 -2
  28. package/i18n/dutch.js +5 -1
  29. package/i18n/dutch.js.map +1 -1
  30. package/i18n/dutch.min.js +2 -2
  31. package/i18n/english.js +3 -1
  32. package/i18n/english.js.map +1 -1
  33. package/i18n/english.min.js +2 -2
  34. package/i18n/estonian.js +5 -1
  35. package/i18n/estonian.js.map +1 -1
  36. package/i18n/estonian.min.js +2 -2
  37. package/i18n/finnish.js +5 -1
  38. package/i18n/finnish.js.map +1 -1
  39. package/i18n/finnish.min.js +2 -2
  40. package/i18n/french.js +5 -1
  41. package/i18n/french.js.map +1 -1
  42. package/i18n/french.min.js +2 -2
  43. package/i18n/georgian.js +5 -1
  44. package/i18n/georgian.js.map +1 -1
  45. package/i18n/georgian.min.js +2 -2
  46. package/i18n/german.js +5 -1
  47. package/i18n/german.js.map +1 -1
  48. package/i18n/german.min.js +2 -2
  49. package/i18n/greek.js +5 -1
  50. package/i18n/greek.js.map +1 -1
  51. package/i18n/greek.min.js +2 -2
  52. package/i18n/hebrew.js +5 -1
  53. package/i18n/hebrew.js.map +1 -1
  54. package/i18n/hebrew.min.js +2 -2
  55. package/i18n/hindi.js +5 -2
  56. package/i18n/hindi.js.map +1 -1
  57. package/i18n/hindi.min.js +2 -2
  58. package/i18n/hungarian.js +5 -1
  59. package/i18n/hungarian.js.map +1 -1
  60. package/i18n/hungarian.min.js +2 -2
  61. package/i18n/icelandic.js +5 -1
  62. package/i18n/icelandic.js.map +1 -1
  63. package/i18n/icelandic.min.js +2 -2
  64. package/i18n/index.js +190 -14
  65. package/i18n/index.js.map +1 -1
  66. package/i18n/index.min.js +2 -2
  67. package/i18n/indonesian.js +5 -1
  68. package/i18n/indonesian.js.map +1 -1
  69. package/i18n/indonesian.min.js +2 -2
  70. package/i18n/italian.js +5 -1
  71. package/i18n/italian.js.map +1 -1
  72. package/i18n/italian.min.js +2 -2
  73. package/i18n/japanese.js +5 -1
  74. package/i18n/japanese.js.map +1 -1
  75. package/i18n/japanese.min.js +2 -2
  76. package/i18n/kazakh.js +5 -1
  77. package/i18n/kazakh.js.map +1 -1
  78. package/i18n/kazakh.min.js +2 -2
  79. package/i18n/korean.js +5 -1
  80. package/i18n/korean.js.map +1 -1
  81. package/i18n/korean.min.js +2 -2
  82. package/i18n/latvian.js +5 -1
  83. package/i18n/latvian.js.map +1 -1
  84. package/i18n/latvian.min.js +2 -2
  85. package/i18n/lithuanian.js +5 -1
  86. package/i18n/lithuanian.js.map +1 -1
  87. package/i18n/lithuanian.min.js +2 -2
  88. package/i18n/macedonian.js +5 -1
  89. package/i18n/macedonian.js.map +1 -1
  90. package/i18n/macedonian.min.js +2 -2
  91. package/i18n/malay.js +5 -1
  92. package/i18n/malay.js.map +1 -1
  93. package/i18n/malay.min.js +2 -2
  94. package/i18n/nl-BE.js +5 -1
  95. package/i18n/nl-BE.js.map +1 -1
  96. package/i18n/nl-BE.min.js +2 -2
  97. package/i18n/norwegian.js +5 -1
  98. package/i18n/norwegian.js.map +1 -1
  99. package/i18n/norwegian.min.js +2 -2
  100. package/i18n/persian.js +5 -1
  101. package/i18n/persian.js.map +1 -1
  102. package/i18n/persian.min.js +2 -2
  103. package/i18n/polish.js +5 -1
  104. package/i18n/polish.js.map +1 -1
  105. package/i18n/polish.min.js +2 -2
  106. package/i18n/portuguese-br.js +5 -1
  107. package/i18n/portuguese-br.js.map +1 -1
  108. package/i18n/portuguese-br.min.js +2 -2
  109. package/i18n/portuguese.js +5 -1
  110. package/i18n/portuguese.js.map +1 -1
  111. package/i18n/portuguese.min.js +2 -2
  112. package/i18n/romanian.js +5 -1
  113. package/i18n/romanian.js.map +1 -1
  114. package/i18n/romanian.min.js +2 -2
  115. package/i18n/russian.js +5 -5
  116. package/i18n/russian.js.map +1 -1
  117. package/i18n/russian.min.js +2 -2
  118. package/i18n/serbian.js +5 -1
  119. package/i18n/serbian.js.map +1 -1
  120. package/i18n/serbian.min.js +2 -2
  121. package/i18n/simplified-chinese.js +5 -1
  122. package/i18n/simplified-chinese.js.map +1 -1
  123. package/i18n/simplified-chinese.min.js +2 -2
  124. package/i18n/slovak.js +6 -2
  125. package/i18n/slovak.js.map +1 -1
  126. package/i18n/slovak.min.js +2 -2
  127. package/i18n/spanish.js +5 -1
  128. package/i18n/spanish.js.map +1 -1
  129. package/i18n/spanish.min.js +2 -2
  130. package/i18n/swahili.js +5 -1
  131. package/i18n/swahili.js.map +1 -1
  132. package/i18n/swahili.min.js +2 -2
  133. package/i18n/swedish.js +5 -1
  134. package/i18n/swedish.js.map +1 -1
  135. package/i18n/swedish.min.js +2 -2
  136. package/i18n/tajik.js +1 -1
  137. package/i18n/tajik.min.js +1 -1
  138. package/i18n/telugu.js +5 -2
  139. package/i18n/telugu.js.map +1 -1
  140. package/i18n/telugu.min.js +2 -2
  141. package/i18n/thai.js +5 -2
  142. package/i18n/thai.js.map +1 -1
  143. package/i18n/thai.min.js +2 -2
  144. package/i18n/traditional-chinese.js +5 -2
  145. package/i18n/traditional-chinese.js.map +1 -1
  146. package/i18n/traditional-chinese.min.js +2 -2
  147. package/i18n/turkish.js +5 -2
  148. package/i18n/turkish.js.map +1 -1
  149. package/i18n/turkish.min.js +2 -2
  150. package/i18n/ukrainian.js +5 -2
  151. package/i18n/ukrainian.js.map +1 -1
  152. package/i18n/ukrainian.min.js +2 -2
  153. package/i18n/urdu.js +5 -2
  154. package/i18n/urdu.js.map +1 -1
  155. package/i18n/urdu.min.js +2 -2
  156. package/i18n/vietnamese.js +5 -2
  157. package/i18n/vietnamese.js.map +1 -1
  158. package/i18n/vietnamese.min.js +2 -2
  159. package/i18n/welsh.js +5 -2
  160. package/i18n/welsh.js.map +1 -1
  161. package/i18n/welsh.min.js +2 -2
  162. package/modern.css +122 -17
  163. package/modern.css.map +1 -1
  164. package/modern.fontless.css +122 -17
  165. package/modern.fontless.css.map +1 -1
  166. package/modern.fontless.min.css +2 -2
  167. package/modern.min.css +2 -2
  168. package/package.json +1 -1
  169. package/plugins/bootstrap-integration.js +1 -1
  170. package/plugins/bootstrap-integration.min.js +1 -1
  171. package/plugins/bootstrap-material-integration.js +1 -1
  172. package/plugins/bootstrap-material-integration.min.js +1 -1
  173. package/survey.core.js +1046 -235
  174. package/survey.core.js.map +1 -1
  175. package/survey.core.min.js +3 -3
  176. package/survey.css +91 -17
  177. package/survey.css.map +1 -1
  178. package/survey.i18n.js +190 -14
  179. package/survey.i18n.js.map +1 -1
  180. package/survey.i18n.min.js +2 -2
  181. package/survey.min.css +2 -2
  182. package/themes/borderless-dark-panelless.js +2 -1
  183. package/themes/borderless-dark-panelless.js.map +1 -1
  184. package/themes/borderless-dark-panelless.min.js +2 -2
  185. package/themes/borderless-dark.js +2 -1
  186. package/themes/borderless-dark.js.map +1 -1
  187. package/themes/borderless-dark.min.js +2 -2
  188. package/themes/borderless-light-panelless..js +2 -1
  189. package/themes/borderless-light-panelless..js.map +1 -1
  190. package/themes/borderless-light-panelless..min.js +2 -2
  191. package/themes/borderless-light.js +2 -1
  192. package/themes/borderless-light.js.map +1 -1
  193. package/themes/borderless-light.min.js +2 -2
  194. package/themes/contrast-dark-panelless.js +2 -1
  195. package/themes/contrast-dark-panelless.js.map +1 -1
  196. package/themes/contrast-dark-panelless.min.js +2 -2
  197. package/themes/contrast-dark.js +2 -1
  198. package/themes/contrast-dark.js.map +1 -1
  199. package/themes/contrast-dark.min.js +2 -2
  200. package/themes/contrast-light-panelless.js +2 -1
  201. package/themes/contrast-light-panelless.js.map +1 -1
  202. package/themes/contrast-light-panelless.min.js +2 -2
  203. package/themes/contrast-light.js +2 -1
  204. package/themes/contrast-light.js.map +1 -1
  205. package/themes/contrast-light.min.js +2 -2
  206. package/themes/default-dark-panelless.js +2 -1
  207. package/themes/default-dark-panelless.js.map +1 -1
  208. package/themes/default-dark-panelless.min.js +2 -2
  209. package/themes/default-dark.js +2 -1
  210. package/themes/default-dark.js.map +1 -1
  211. package/themes/default-dark.min.js +2 -2
  212. package/themes/default-light-panelless.js +2 -1
  213. package/themes/default-light-panelless.js.map +1 -1
  214. package/themes/default-light-panelless.min.js +2 -2
  215. package/themes/default-light.js +2 -1
  216. package/themes/default-light.js.map +1 -1
  217. package/themes/default-light.min.js +2 -2
  218. package/themes/doubleborder-dark-panelless.js +2 -1
  219. package/themes/doubleborder-dark-panelless.js.map +1 -1
  220. package/themes/doubleborder-dark-panelless.min.js +2 -2
  221. package/themes/doubleborder-dark.js +2 -1
  222. package/themes/doubleborder-dark.js.map +1 -1
  223. package/themes/doubleborder-dark.min.js +2 -2
  224. package/themes/doubleborder-light-panelles.js +2 -1
  225. package/themes/doubleborder-light-panelles.js.map +1 -1
  226. package/themes/doubleborder-light-panelles.min.js +2 -2
  227. package/themes/doubleborder-light.js +2 -1
  228. package/themes/doubleborder-light.js.map +1 -1
  229. package/themes/doubleborder-light.min.js +2 -2
  230. package/themes/flat-dark-panelless.js +2 -1
  231. package/themes/flat-dark-panelless.js.map +1 -1
  232. package/themes/flat-dark-panelless.min.js +2 -2
  233. package/themes/flat-dark.js +2 -1
  234. package/themes/flat-dark.js.map +1 -1
  235. package/themes/flat-dark.min.js +2 -2
  236. package/themes/flat-light-panelless.js +2 -1
  237. package/themes/flat-light-panelless.js.map +1 -1
  238. package/themes/flat-light-panelless.min.js +2 -2
  239. package/themes/flat-light.js +2 -1
  240. package/themes/flat-light.js.map +1 -1
  241. package/themes/flat-light.min.js +2 -2
  242. package/themes/index.js +41 -1
  243. package/themes/index.js.map +1 -1
  244. package/themes/index.min.js +2 -2
  245. package/themes/layered-dark-panelless.js +2 -1
  246. package/themes/layered-dark-panelless.js.map +1 -1
  247. package/themes/layered-dark-panelless.min.js +2 -2
  248. package/themes/layered-dark.js +2 -1
  249. package/themes/layered-dark.js.map +1 -1
  250. package/themes/layered-dark.min.js +2 -2
  251. package/themes/layered-light-panelless.js +2 -1
  252. package/themes/layered-light-panelless.js.map +1 -1
  253. package/themes/layered-light-panelless.min.js +2 -2
  254. package/themes/layered-light.js +2 -1
  255. package/themes/layered-light.js.map +1 -1
  256. package/themes/layered-light.min.js +2 -2
  257. package/themes/plain-dark-panelless.js +2 -1
  258. package/themes/plain-dark-panelless.js.map +1 -1
  259. package/themes/plain-dark-panelless.min.js +2 -2
  260. package/themes/plain-dark.js +2 -1
  261. package/themes/plain-dark.js.map +1 -1
  262. package/themes/plain-dark.min.js +2 -2
  263. package/themes/plain-light-panelless.js +2 -1
  264. package/themes/plain-light-panelless.js.map +1 -1
  265. package/themes/plain-light-panelless.min.js +2 -2
  266. package/themes/plain-light.js +2 -1
  267. package/themes/plain-light.js.map +1 -1
  268. package/themes/plain-light.min.js +2 -2
  269. package/themes/sharp-dark-panelless.js +2 -1
  270. package/themes/sharp-dark-panelless.js.map +1 -1
  271. package/themes/sharp-dark-panelless.min.js +2 -2
  272. package/themes/sharp-dark.js +2 -1
  273. package/themes/sharp-dark.js.map +1 -1
  274. package/themes/sharp-dark.min.js +2 -2
  275. package/themes/sharp-light-panelless.js +2 -1
  276. package/themes/sharp-light-panelless.js.map +1 -1
  277. package/themes/sharp-light-panelless.min.js +2 -2
  278. package/themes/sharp-light.js +2 -1
  279. package/themes/sharp-light.js.map +1 -1
  280. package/themes/sharp-light.min.js +2 -2
  281. package/themes/solid-dark-panelless.js +2 -1
  282. package/themes/solid-dark-panelless.js.map +1 -1
  283. package/themes/solid-dark-panelless.min.js +2 -2
  284. package/themes/solid-dark.js +2 -1
  285. package/themes/solid-dark.js.map +1 -1
  286. package/themes/solid-dark.min.js +2 -2
  287. package/themes/solid-light-panelless.js +2 -1
  288. package/themes/solid-light-panelless.js.map +1 -1
  289. package/themes/solid-light-panelless.min.js +2 -2
  290. package/themes/solid-light.js +2 -1
  291. package/themes/solid-light.js.map +1 -1
  292. package/themes/solid-light.min.js +2 -2
  293. package/themes/three-dimensional-dark-panelless.js +2 -1
  294. package/themes/three-dimensional-dark-panelless.js.map +1 -1
  295. package/themes/three-dimensional-dark-panelless.min.js +2 -2
  296. package/themes/three-dimensional-dark.js +2 -1
  297. package/themes/three-dimensional-dark.js.map +1 -1
  298. package/themes/three-dimensional-dark.min.js +2 -2
  299. package/themes/three-dimensional-light-panelless.js +2 -1
  300. package/themes/three-dimensional-light-panelless.js.map +1 -1
  301. package/themes/three-dimensional-light-panelless.min.js +2 -2
  302. package/themes/three-dimensional-light.js +2 -1
  303. package/themes/three-dimensional-light.js.map +1 -1
  304. package/themes/three-dimensional-light.min.js +2 -2
  305. package/themes/typings/borderless-dark-panelless.d.ts +2 -0
  306. package/themes/typings/borderless-dark.d.ts +2 -0
  307. package/themes/typings/borderless-light-panelless.d.ts +2 -0
  308. package/themes/typings/borderless-light.d.ts +2 -0
  309. package/themes/typings/contrast-dark-panelless.d.ts +2 -0
  310. package/themes/typings/contrast-dark.d.ts +2 -0
  311. package/themes/typings/contrast-light-panelless.d.ts +2 -0
  312. package/themes/typings/contrast-light.d.ts +2 -0
  313. package/themes/typings/default-dark-panelless.d.ts +2 -0
  314. package/themes/typings/default-dark.d.ts +2 -0
  315. package/themes/typings/default-light-panelless.d.ts +2 -0
  316. package/themes/typings/default-light.d.ts +2 -0
  317. package/themes/typings/doubleborder-dark-panelless.d.ts +2 -0
  318. package/themes/typings/doubleborder-dark.d.ts +2 -0
  319. package/themes/typings/doubleborder-light-panelless.d.ts +2 -0
  320. package/themes/typings/doubleborder-light.d.ts +2 -0
  321. package/themes/typings/flat-dark-panelless.d.ts +2 -0
  322. package/themes/typings/flat-dark.d.ts +2 -0
  323. package/themes/typings/flat-light-panelless.d.ts +2 -0
  324. package/themes/typings/flat-light.d.ts +2 -0
  325. package/themes/typings/index.d.ts +40 -0
  326. package/themes/typings/layered-dark-panelless.d.ts +2 -0
  327. package/themes/typings/layered-dark.d.ts +2 -0
  328. package/themes/typings/layered-light-panelless.d.ts +2 -0
  329. package/themes/typings/layered-light.d.ts +2 -0
  330. package/themes/typings/plain-dark-panelless.d.ts +2 -0
  331. package/themes/typings/plain-dark.d.ts +2 -0
  332. package/themes/typings/plain-light-panelless.d.ts +2 -0
  333. package/themes/typings/plain-light.d.ts +2 -0
  334. package/themes/typings/sharp-dark-panelless.d.ts +2 -0
  335. package/themes/typings/sharp-dark.d.ts +2 -0
  336. package/themes/typings/sharp-light-panelless.d.ts +2 -0
  337. package/themes/typings/sharp-light.d.ts +2 -0
  338. package/themes/typings/solid-dark-panelless.d.ts +2 -0
  339. package/themes/typings/solid-dark.d.ts +2 -0
  340. package/themes/typings/solid-light-panelless.d.ts +2 -0
  341. package/themes/typings/solid-light.d.ts +2 -0
  342. package/themes/typings/threedimensional-dark-panelless.d.ts +2 -0
  343. package/themes/typings/threedimensional-dark.d.ts +2 -0
  344. package/themes/typings/threedimensional-light-panelless.d.ts +2 -0
  345. package/themes/typings/threedimensional-light.d.ts +2 -0
  346. package/ts3.4/themes/typings/borderless-dark-panelless.d.ts +2 -0
  347. package/ts3.4/themes/typings/borderless-dark.d.ts +2 -0
  348. package/ts3.4/themes/typings/borderless-light-panelless.d.ts +2 -0
  349. package/ts3.4/themes/typings/borderless-light.d.ts +2 -0
  350. package/ts3.4/themes/typings/contrast-dark-panelless.d.ts +2 -0
  351. package/ts3.4/themes/typings/contrast-dark.d.ts +2 -0
  352. package/ts3.4/themes/typings/contrast-light-panelless.d.ts +2 -0
  353. package/ts3.4/themes/typings/contrast-light.d.ts +2 -0
  354. package/ts3.4/themes/typings/default-dark-panelless.d.ts +2 -0
  355. package/ts3.4/themes/typings/default-dark.d.ts +2 -0
  356. package/ts3.4/themes/typings/default-light-panelless.d.ts +2 -0
  357. package/ts3.4/themes/typings/default-light.d.ts +2 -0
  358. package/ts3.4/themes/typings/doubleborder-dark-panelless.d.ts +2 -0
  359. package/ts3.4/themes/typings/doubleborder-dark.d.ts +2 -0
  360. package/ts3.4/themes/typings/doubleborder-light-panelless.d.ts +2 -0
  361. package/ts3.4/themes/typings/doubleborder-light.d.ts +2 -0
  362. package/ts3.4/themes/typings/flat-dark-panelless.d.ts +2 -0
  363. package/ts3.4/themes/typings/flat-dark.d.ts +2 -0
  364. package/ts3.4/themes/typings/flat-light-panelless.d.ts +2 -0
  365. package/ts3.4/themes/typings/flat-light.d.ts +2 -0
  366. package/ts3.4/themes/typings/index.d.ts +40 -0
  367. package/ts3.4/themes/typings/layered-dark-panelless.d.ts +2 -0
  368. package/ts3.4/themes/typings/layered-dark.d.ts +2 -0
  369. package/ts3.4/themes/typings/layered-light-panelless.d.ts +2 -0
  370. package/ts3.4/themes/typings/layered-light.d.ts +2 -0
  371. package/ts3.4/themes/typings/plain-dark-panelless.d.ts +2 -0
  372. package/ts3.4/themes/typings/plain-dark.d.ts +2 -0
  373. package/ts3.4/themes/typings/plain-light-panelless.d.ts +2 -0
  374. package/ts3.4/themes/typings/plain-light.d.ts +2 -0
  375. package/ts3.4/themes/typings/sharp-dark-panelless.d.ts +2 -0
  376. package/ts3.4/themes/typings/sharp-dark.d.ts +2 -0
  377. package/ts3.4/themes/typings/sharp-light-panelless.d.ts +2 -0
  378. package/ts3.4/themes/typings/sharp-light.d.ts +2 -0
  379. package/ts3.4/themes/typings/solid-dark-panelless.d.ts +2 -0
  380. package/ts3.4/themes/typings/solid-dark.d.ts +2 -0
  381. package/ts3.4/themes/typings/solid-light-panelless.d.ts +2 -0
  382. package/ts3.4/themes/typings/solid-light.d.ts +2 -0
  383. package/ts3.4/themes/typings/threedimensional-dark-panelless.d.ts +2 -0
  384. package/ts3.4/themes/typings/threedimensional-dark.d.ts +2 -0
  385. package/ts3.4/themes/typings/threedimensional-light-panelless.d.ts +2 -0
  386. package/ts3.4/themes/typings/threedimensional-light.d.ts +2 -0
  387. package/ts3.4/typings/base-interfaces.d.ts +4 -0
  388. package/ts3.4/typings/defaultCss/cssmodern.d.ts +2 -0
  389. package/ts3.4/typings/defaultCss/cssstandard.d.ts +2 -0
  390. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +9 -0
  391. package/ts3.4/typings/dropdownListModel.d.ts +3 -0
  392. package/ts3.4/typings/entries/chunks/model.d.ts +2 -2
  393. package/ts3.4/typings/header.d.ts +3 -0
  394. package/ts3.4/typings/jsonobject.d.ts +3 -0
  395. package/ts3.4/typings/list.d.ts +3 -0
  396. package/ts3.4/typings/localization/english.d.ts +2 -0
  397. package/ts3.4/typings/page.d.ts +2 -2
  398. package/ts3.4/typings/popup-survey.d.ts +11 -0
  399. package/ts3.4/typings/progress-buttons.d.ts +42 -0
  400. package/ts3.4/typings/question_baseselect.d.ts +55 -2
  401. package/ts3.4/typings/question_checkbox.d.ts +3 -2
  402. package/ts3.4/typings/question_custom.d.ts +13 -0
  403. package/ts3.4/typings/question_dropdown.d.ts +14 -0
  404. package/ts3.4/typings/question_file.d.ts +1 -0
  405. package/ts3.4/typings/question_imagepicker.d.ts +4 -2
  406. package/ts3.4/typings/question_matrixdropdownbase.d.ts +2 -0
  407. package/ts3.4/typings/question_matrixdropdowncolumn.d.ts +17 -0
  408. package/ts3.4/typings/question_matrixdropdownrendered.d.ts +1 -0
  409. package/ts3.4/typings/question_ranking.d.ts +2 -0
  410. package/ts3.4/typings/settings.d.ts +25 -4
  411. package/ts3.4/typings/survey-events-api.d.ts +33 -0
  412. package/ts3.4/typings/survey.d.ts +57 -16
  413. package/ts3.4/typings/surveyStrings.d.ts +2 -0
  414. package/ts3.4/typings/themes.d.ts +2 -2
  415. package/ts3.4/typings/utils/utils.d.ts +4 -3
  416. package/typings/base-interfaces.d.ts +4 -0
  417. package/typings/defaultCss/cssmodern.d.ts +2 -0
  418. package/typings/defaultCss/cssstandard.d.ts +2 -0
  419. package/typings/defaultCss/defaultV2Css.d.ts +9 -0
  420. package/typings/dropdownListModel.d.ts +3 -0
  421. package/typings/entries/chunks/model.d.ts +2 -2
  422. package/typings/header.d.ts +3 -0
  423. package/typings/jsonobject.d.ts +3 -0
  424. package/typings/list.d.ts +3 -0
  425. package/typings/localization/english.d.ts +2 -0
  426. package/typings/page.d.ts +2 -2
  427. package/typings/popup-survey.d.ts +13 -0
  428. package/typings/progress-buttons.d.ts +42 -0
  429. package/typings/question_baseselect.d.ts +60 -2
  430. package/typings/question_checkbox.d.ts +3 -2
  431. package/typings/question_custom.d.ts +13 -0
  432. package/typings/question_dropdown.d.ts +14 -0
  433. package/typings/question_file.d.ts +1 -0
  434. package/typings/question_imagepicker.d.ts +4 -2
  435. package/typings/question_matrixdropdownbase.d.ts +2 -0
  436. package/typings/question_matrixdropdowncolumn.d.ts +18 -0
  437. package/typings/question_matrixdropdownrendered.d.ts +1 -0
  438. package/typings/question_ranking.d.ts +2 -0
  439. package/typings/settings.d.ts +25 -4
  440. package/typings/survey-events-api.d.ts +33 -0
  441. package/typings/survey.d.ts +57 -16
  442. package/typings/surveyProgressButtons.d.ts +9 -9
  443. package/typings/surveyStrings.d.ts +2 -0
  444. package/typings/themes.d.ts +2 -2
  445. package/typings/utils/utils.d.ts +4 -3
@@ -21,6 +21,8 @@ export declare class QuestionSelectBase extends Question {
21
21
  private isChoicesLoaded;
22
22
  private enableOnLoadingChoices;
23
23
  private noneItemValue;
24
+ private refuseItemValue;
25
+ private dontKnowItemValue;
24
26
  private newItemValue;
25
27
  private canShowOptionItemCallback;
26
28
  private waitingGetChoiceDisplayValueResponse;
@@ -62,6 +64,7 @@ export declare class QuestionSelectBase extends Question {
62
64
  * When users select the "None" item in multi-select questions, all other items become unselected.
63
65
  * @see noneItem
64
66
  * @see noneText
67
+ * @see [settings.noneItemValue](https://surveyjs.io/form-library/documentation/api-reference/settings#noneItemValue)
65
68
  * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
66
69
  */
67
70
  showNoneItem: boolean;
@@ -78,6 +81,49 @@ export declare class QuestionSelectBase extends Question {
78
81
  noneText: string;
79
82
  readonly locNoneText: LocalizableString;
80
83
  /*
84
+ * Specifies whether to display the "Refuse to answer" choice item.
85
+ *
86
+ * When users select the "Refuse to answer" item in multi-select questions, all other items become unselected.
87
+ * @see refuseItem
88
+ * @see refuseItemText
89
+ * @see [settings.refuseItemValue](https://surveyjs.io/form-library/documentation/api-reference/settings#refuseItemValue)
90
+ * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
91
+ */
92
+ showRefuseItem: boolean;
93
+ /*
94
+ * Returns the "Refuse to answer" choice item. Use this property to change the item's `value` or `text`.
95
+ * @see showRefuseItem
96
+ */
97
+ readonly refuseItem: ItemValue;
98
+ /*
99
+ * Gets or sets a caption for the "Refuse to answer" choice item.
100
+ * @see showRefuseItem
101
+ */
102
+ refuseText: string;
103
+ readonly locRefuseText: LocalizableString;
104
+ /*
105
+ * Specifies whether to display the "Don't know" choice item.
106
+ *
107
+ * When users select the "Don't know" item in multi-select questions, all other items become unselected.
108
+ * @see dontKnowItem
109
+ * @see dontKnowItemText
110
+ * @see [settings.dontKnowItemValue](https://surveyjs.io/form-library/documentation/api-reference/settings#dontKnowItemValue)
111
+ * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
112
+ */
113
+ showDontKnowItem: boolean;
114
+ /*
115
+ * Returns the "Don't know" choice item. Use this property to change the item's `value` or `text`.
116
+ * @see showDontKnowItem
117
+ */
118
+ readonly dontKnowItem: ItemValue;
119
+ /*
120
+ * Gets or sets a caption for the "Don't know" choice item.
121
+ * @see showDontKnowItem
122
+ */
123
+ dontKnowText: string;
124
+ readonly locDontKnowText: LocalizableString;
125
+ private createDefaultItem;
126
+ /*
81
127
  * A Boolean expression that is evaluated against each choice item. If the expression evaluates to `false`, the choice item becomes hidden.
82
128
  *
83
129
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
@@ -309,7 +355,7 @@ export declare class QuestionSelectBase extends Question {
309
355
  protected addNonChoiceItem(dict: Array<{
310
356
  index: number;
311
357
  item: ItemValue;
312
- }>, item: ItemValue, order: Array<number>): void;
358
+ }>, item: ItemValue, isAddAll: boolean, showItem: boolean, order: Array<number>): void;
313
359
  protected canShowOptionItem(item: ItemValue, isAddAll: boolean, hasItem: boolean): boolean;
314
360
  isItemInList(item: ItemValue): boolean;
315
361
  protected readonly isAddDefaultItems: boolean;
@@ -321,6 +367,8 @@ export declare class QuestionSelectBase extends Question {
321
367
  private getItemDisplayValue;
322
368
  private getFilteredChoices;
323
369
  protected readonly activeChoices: Array<ItemValue>;
370
+ isMessagePanelVisible: boolean;
371
+ private readonly isEmptyActiveChoicesInDesign: any;
324
372
  getCarryForwardQuestion(data?: ISurveyData): Question;
325
373
  protected getIsReadyDependsOn(): Array<Question>;
326
374
  private getQuestionWithChoices;
@@ -333,10 +381,14 @@ export declare class QuestionSelectBase extends Question {
333
381
  private getChoicesFromSelectQuestion;
334
382
  private copyChoiceItem;
335
383
  protected readonly hasActiveChoices: boolean;
336
- protected isBuiltInChoice(item: ItemValue, question: QuestionSelectBase): boolean;
384
+ protected isBuiltInChoice(item: ItemValue): boolean;
385
+ isNoneItem(item: ItemValue): boolean;
386
+ protected getNoneItems(): Array<ItemValue>;
337
387
  protected getChoices(): Array<ItemValue>;
338
388
  supportOther(): boolean;
339
389
  supportNone(): boolean;
390
+ supportRefuse(): boolean;
391
+ supportDontKnow(): boolean;
340
392
  protected isSupportProperty(propName: string): boolean;
341
393
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
342
394
  setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
@@ -369,6 +421,7 @@ export declare class QuestionSelectBase extends Question {
369
421
  private randomizeArray;
370
422
  private readonly hasChoicesUrl: any;
371
423
  clearIncorrectValues(): void;
424
+ private canClearIncorrectValues;
372
425
  protected hasValueToClearIncorrectValues(): boolean;
373
426
  protected clearValueIfInvisibleCore(reason: string): void;
374
427
  /**
@@ -1,4 +1,4 @@
1
- import { QuestionCheckboxBase, QuestionSelectBase } from "./question_baseselect";
1
+ import { QuestionCheckboxBase } from "./question_baseselect";
2
2
  import { ItemValue } from "./itemvalue";
3
3
  import { LocalizableString } from "./localizablestring";
4
4
  import { IQuestion } from "./base-interfaces";
@@ -109,6 +109,7 @@ export declare class QuestionCheckboxModel extends QuestionCheckboxBase {
109
109
  protected getCommentFromValue(newValue: any): string;
110
110
  protected setOtherValueIntoValue(newValue: any): any;
111
111
  private getFirstUnknownIndex;
112
+ protected removeNoneItemsValues(value: Array<any>, newValue: Array<any>): void;
112
113
  private noneIndexInArray;
113
114
  protected canUseFilteredChoices(): boolean;
114
115
  protected supportSelectAll(): boolean;
@@ -116,7 +117,7 @@ export declare class QuestionCheckboxModel extends QuestionCheckboxBase {
116
117
  index: number;
117
118
  item: ItemValue;
118
119
  }>, isAddAll: boolean): void;
119
- protected isBuiltInChoice(item: ItemValue, question: QuestionSelectBase): boolean;
120
+ protected isBuiltInChoice(item: ItemValue): boolean;
120
121
  isItemInList(item: ItemValue): boolean;
121
122
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
122
123
  protected clearIncorrectValuesCore(): void;
@@ -1,5 +1,6 @@
1
1
  import { Question, IConditionObject } from "./question";
2
2
  import { JsonObjectProperty } from "./jsonobject";
3
+ import { Base } from "./base";
3
4
  import { ISurveyImpl, ISurveyData, ITextProcessor, IPanel, IElement, IQuestion, IProgressInfo } from "./base-interfaces";
4
5
  import { SurveyElement } from "./survey-element";
5
6
  import { PanelModel } from "./panel";
@@ -69,6 +70,15 @@ export interface ICustomQuestionTypeConfiguration {
69
70
  * ```
70
71
  */
71
72
  defaultQuestionTitle?: any;
73
+ /**
74
+ * An array of property names to inherit from a base question or a Boolean value that specifies whether or not to inherit all properties.
75
+ *
76
+ * Default value: `false`
77
+ *
78
+ * When you create a [custom specialized question type](https://surveyjs.io/form-library/documentation/customize-question-types/create-specialized-question-types), you base it on another question type configured within the [`questionJSON`](#questionJSON) object. If the custom question type should inherit all properties from the base type, set the `inheritBaseProps` property to `true`. If you want to inherit only certain properties, set the `inheritBaseProps` property to an array of their names.
79
+ *
80
+ * [Create Specialized Question Types](https://surveyjs.io/form-library/documentation/customize-question-types/create-specialized-question-types (linkStyle))
81
+ */
72
82
  inheritBaseProps?: false | true | Array<string>;
73
83
  /**
74
84
  * A function that is called when the custom question is created. Use it to access questions nested within a [composite question type](https://surveyjs.io/form-library/documentation/customize-question-types/create-composite-question-types).
@@ -320,7 +330,9 @@ export declare class QuestionCustomModel extends QuestionCustomModelBase {
320
330
  getTemplate(): string;
321
331
  getDynamicProperties(): Array<JsonObjectProperty>;
322
332
  getDynamicType(): string;
333
+ getOriginalObj(): Base;
323
334
  protected createWrapper(): void;
335
+ private getDynamicProperty;
324
336
  protected getElement(): SurveyElement;
325
337
  onAnyValueChanged(name: string, questionName: string): void;
326
338
  protected getQuestionByName(name: string): IQuestion;
@@ -379,6 +391,7 @@ export declare class QuestionCompositeModel extends QuestionCustomModelBase {
379
391
  protected getQuestionByName(name: string): IQuestion;
380
392
  private settingNewValue;
381
393
  setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
394
+ getFilteredValues(): any;
382
395
  private updateValueCoreWithPanelValue;
383
396
  private getContentPanelValue;
384
397
  private getValueForContentPanel;
@@ -77,8 +77,22 @@ export declare class QuestionDropdownModel extends QuestionSelectBase {
77
77
  allowClear: boolean;
78
78
  /**
79
79
  * Specifies whether users can enter a value into the input field to filter the drop-down list.
80
+ *
81
+ * [View Demo](https://surveyjs.io/form-library/examples/create-dropdown-menu-in-javascript/ (linkStyle))
82
+ * @see searchMode
83
+ * @see [SurveyModel.onChoicesSearch](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onChoicesSearch)
80
84
  */
81
85
  searchEnabled: boolean;
86
+ /**
87
+ * Specifies a comparison operation used to filter the drop-down list. Applies only if [`searchEnabled`](#searchEnabled) is `true`.
88
+ *
89
+ * Possible values:
90
+ *
91
+ * - `"contains"` (default)
92
+ * - `"startsWith"`
93
+ * @see [SurveyModel.onChoicesSearch](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onChoicesSearch)
94
+ */
95
+ searchMode: "contains" | "startsWith";
82
96
  inputHasValue: boolean;
83
97
  readOnlyText: string;
84
98
  /**
@@ -139,6 +139,7 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
139
139
  * Default value: 0 (unlimited)
140
140
  */
141
141
  maxSize: number;
142
+ chooseFile(): void;
142
143
  /*
143
144
  * Specifies whether users should confirm file deletion.
144
145
  *
@@ -1,4 +1,4 @@
1
- import { QuestionCheckboxBase, QuestionSelectBase } from "./question_baseselect";
1
+ import { QuestionCheckboxBase } from "./question_baseselect";
2
2
  import { ItemValue } from "./itemvalue";
3
3
  import { ILocalizableOwner, LocalizableString } from "./localizablestring";
4
4
  export declare class ImageItemValue extends ItemValue implements ILocalizableOwner {
@@ -35,6 +35,8 @@ export declare class QuestionImagePickerModel extends QuestionCheckboxBase {
35
35
  readonly isCompositeQuestion: boolean;
36
36
  supportOther(): boolean;
37
37
  supportNone(): boolean;
38
+ supportRefuse(): boolean;
39
+ supportDontKnow(): boolean;
38
40
  isAnswerCorrect(): boolean;
39
41
  /*
40
42
  * Specifies whether users can select multiple images or videos.
@@ -99,7 +101,7 @@ export declare class QuestionImagePickerModel extends QuestionCheckboxBase {
99
101
  contentMode: string;
100
102
  protected convertDefaultValue(val: any): any;
101
103
  readonly inputType: "checkbox" | "radio";
102
- protected isBuiltInChoice(item: ItemValue, question: QuestionSelectBase): boolean;
104
+ protected isBuiltInChoice(item: ItemValue): boolean;
103
105
  protected addToVisibleChoices(items: Array<ItemValue>, isAddAll: boolean): void;
104
106
  getSelectBaseRootCss(): string;
105
107
  private isResponsiveValue;
@@ -46,6 +46,7 @@ export declare class MatrixDropdownCell {
46
46
  protected createQuestion(column: MatrixDropdownColumn, row: MatrixDropdownRowModelBase, data: IMatrixDropdownData): Question;
47
47
  readonly question: Question;
48
48
  value: any;
49
+ getQuestionWrapperClassName(className: string): string;
49
50
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
50
51
  }
51
52
  export declare class MatrixDropdownTotalCell extends MatrixDropdownCell {
@@ -56,6 +57,7 @@ export declare class MatrixDropdownTotalCell extends MatrixDropdownCell {
56
57
  protected createQuestion(column: MatrixDropdownColumn, row: MatrixDropdownRowModelBase, data: IMatrixDropdownData): Question;
57
58
  locStrsChanged(): void;
58
59
  updateCellQuestion(): void;
60
+ getQuestionWrapperClassName(className: string): string;
59
61
  getTotalExpression(): string;
60
62
  }
61
63
  export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyImpl, ILocalizableOwner {
@@ -247,6 +247,23 @@ export declare class MatrixDropdownColumn extends Base implements ILocalizableOw
247
247
  */
248
248
  totalDisplayStyle: string;
249
249
  /*
250
+ * An alignment for calculated total values.
251
+ *
252
+ * Possible values:
253
+ *
254
+ * - `"left"`
255
+ * - `"center"`
256
+ * - `"right"`
257
+ * - `"auto"` (default) - Applies one of the values above based on the column's [cell type](#cellType).
258
+ *
259
+ * [View Demo](https://surveyjs.io/form-library/examples/aggregate-data-within-form/ (linkStyle))
260
+ * @see totalType
261
+ * @see totalFormat
262
+ * @see totalCurrency
263
+ * @see totalDisplayStyle
264
+ */
265
+ totalAlignment: string;
266
+ /*
250
267
  * Specifies a currency used to display calculated total values. Applies only if [`totalDisplayStyle`](#totalDisplayStyle) is set to `"currency"`.
251
268
  * @see totalType
252
269
  */
@@ -44,6 +44,7 @@ export declare class QuestionMatrixDropdownRenderedCell {
44
44
  readonly isRadio: boolean;
45
45
  readonly isFirstChoice: boolean;
46
46
  className: string;
47
+ readonly cellQuestionWrapperClassName: string;
47
48
  readonly headers: string;
48
49
  getTitle(): string;
49
50
  calculateFinalClassName(matrixCssClasses: any): string;
@@ -51,6 +51,8 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
51
51
  protected supportSelectAll(): boolean;
52
52
  supportOther(): boolean;
53
53
  supportNone(): boolean;
54
+ supportRefuse(): boolean;
55
+ supportDontKnow(): boolean;
54
56
  private handleArrowKeys;
55
57
  handleKeydownSelectToRank(event: KeyboardEvent, movedElement: ItemValue): void;
56
58
  private setValueAfterKeydown;
@@ -363,7 +363,7 @@ export declare var settings: {
363
363
  * @param message A message to be displayed in the confirm dialog window.
364
364
  * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.
365
365
  */
366
- confirmActionAsync: (message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string) => boolean;
366
+ confirmActionAsync: (message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string, rootElement?: HTMLElement) => boolean;
367
367
  /**
368
368
  * A minimum width value for all survey elements.
369
369
  *
@@ -413,15 +413,27 @@ export declare var settings: {
413
413
  */
414
414
  showItemsInOrder: string;
415
415
  /**
416
- * A value to save in survey results when respondents select the None choice item.
416
+ * A value to save in survey results when respondents select the "None" choice item.
417
417
  *
418
418
  * Default value: `"none"`
419
419
  */
420
420
  noneItemValue: string;
421
421
  /**
422
- * An object whose properties specify the order of the special choice items (None, Other, Select All) in select-based questions.
422
+ * A value to save in survey results when respondents select the "Refuse to answer" choice item.
423
423
  *
424
- * Default value: `{ selectAllItem: [-1], noneItem: [1], otherItem: [2] }`
424
+ * Default value: `"refused"`
425
+ */
426
+ refuseItemValue: string;
427
+ /**
428
+ * A value to save in survey results when respondents select the "Don't know" choice item.
429
+ *
430
+ * Default value: `"dontknow"`
431
+ */
432
+ dontKnowItemValue: string;
433
+ /**
434
+ * An object whose properties specify the order of the special choice items ("None", "Other", "Select All", "Refuse to answer", "Don't know") in select-based questions.
435
+ *
436
+ * Default value: `{ selectAllItem: [-1], noneItem: [1], otherItem: [2], dontKnowItem: [3], otherItem: [4] }`
425
437
  *
426
438
  * Use this object to reorder special choices. Each property accepts an array of integer numbers. Negative numbers place a special choice item above regular choice items, positive numbers place it below them. For instance, the code below specifies the following order of choices: None, Select All, regular choices, Other.
427
439
  *
@@ -442,6 +454,8 @@ export declare var settings: {
442
454
  specialChoicesOrder: {
443
455
  selectAllItem: number[];
444
456
  noneItem: number[];
457
+ refuseItem: number[];
458
+ dontKnowItem: number[];
445
459
  otherItem: number[];
446
460
  };
447
461
  /**
@@ -496,6 +510,12 @@ export declare var settings: {
496
510
  * Default value: `true`
497
511
  */
498
512
  showMaxLengthIndicator: boolean;
513
+ /**
514
+ * Set to `false` to disable animations
515
+ *
516
+ * Default value: `true`
517
+ */
518
+ animationEnabled: boolean;
499
519
  /**
500
520
  * An object that specifies heading levels (`<h1>`, `<h2>`, etc.) to use when rendering survey, page, panel, and question titles.
501
521
  *
@@ -513,4 +533,5 @@ export declare var settings: {
513
533
  inputTypes: string[];
514
534
  dataList: string[];
515
535
  };
536
+ legacyProgressBarView: boolean;
516
537
  };
@@ -508,6 +508,25 @@ export interface UploadFilesEvent extends LoadFilesEvent {
508
508
  */
509
509
  files: Array<File>;
510
510
  }
511
+ export interface OpenFileChooserEvent {
512
+ /**
513
+ * A file input HTML element.
514
+ */
515
+ input: HTMLInputElement;
516
+ /**
517
+ * A question, panel, page, or survey for which this event is raised.
518
+ */
519
+ element: Base;
520
+ /**
521
+ * A choice item for which the event is raised. This parameter has a value only when the dialog window is opened to select images for an [Image Picker](https://surveyjs.io/form-library/documentation/api-reference/image-picker-question-model) question.
522
+ */
523
+ item: ItemValue;
524
+ /**
525
+ * A callback function to which you should pass selected files.
526
+ * @param files An array of selected files.
527
+ */
528
+ callback: (files: Array<File>) => void;
529
+ }
511
530
  export interface DownloadFileEvent extends LoadFilesEvent {
512
531
  /**
513
532
  * A callback function that you should call when a file is downloaded successfully or when deletion fails. Pass `"success"` or `"error"` as the first argument to indicate the operation status. As the second argument, you can pass the downloaded file's data as a Base64 string if file download was successful or an error message if file download failed.
@@ -628,6 +647,20 @@ export interface ChoicesLazyLoadEvent extends QuestionEventMixin {
628
647
  */
629
648
  skip: number;
630
649
  }
650
+ export interface ChoicesSearchEvent extends QuestionEventMixin {
651
+ /**
652
+ * A search string used to filter choice options.
653
+ */
654
+ filter: string;
655
+ /**
656
+ * An array of all choice options.
657
+ */
658
+ choices: Array<ItemValue>;
659
+ /**
660
+ * A filtered array of choice options. Apply `options.filter` to the `options.choices` array and assign the result to this parameter.
661
+ */
662
+ filteredChoices: Array<ItemValue>;
663
+ }
631
664
  export interface GetChoiceDisplayValueEvent extends QuestionEventMixin {
632
665
  /**
633
666
  * A method that you should call to assign display texts to the question.
@@ -18,7 +18,7 @@ import { IAction, Action } from "./actions/action";
18
18
  import { ActionContainer } from "./actions/container";
19
19
  import { QuestionPanelDynamicModel } from "./question_paneldynamic";
20
20
  import { Notifier } from "./notifier";
21
- import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNoEvent, ProgressTextEvent, TextMarkdownEvent, TextRenderAsEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderHeaderEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, TimerPanelInfoTextEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, DynamicPanelCurrentIndexChangedEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent } from "./survey-events-api";
21
+ import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNoEvent, ProgressTextEvent, TextMarkdownEvent, TextRenderAsEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderHeaderEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, TimerPanelInfoTextEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, DynamicPanelCurrentIndexChangedEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent, ChoicesSearchEvent, OpenFileChooserEvent } from "./survey-events-api";
22
22
  import { QuestionMatrixDropdownModelBase } from "./question_matrixdropdownbase";
23
23
  import { QuestionMatrixDynamicModel } from "./question_matrixdynamic";
24
24
  import { QuestionFileModel } from "./question_file";
@@ -358,6 +358,12 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
358
358
  * @see getResult
359
359
  */
360
360
  onGetResult: EventBase<SurveyModel, GetResultEvent>;
361
+ /**
362
+ * An event that is raised when Survey Creator opens a dialog window for users to select files.
363
+ * @see onUploadFile
364
+ * @see uploadFiles
365
+ */
366
+ onOpenFileChooser: EventBase<SurveyModel, OpenFileChooserEvent>;
361
367
  /**
362
368
  * An event that is raised when a File Upload or Signature Pad question starts to upload a file. Applies only if [`storeDataAsText`](https://surveyjs.io/form-library/documentation/api-reference/file-model#storeDataAsText) is `false`. Use this event to upload files to your server.
363
369
  *
@@ -511,6 +517,12 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
511
517
  * [View Demo](https://surveyjs.io/form-library/examples/lazy-loading-dropdown/ (linkStyle))
512
518
  */
513
519
  onChoicesLazyLoad: EventBase<SurveyModel, ChoicesLazyLoadEvent>;
520
+ /**
521
+ * An event that is raised each time a search string in a [Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model) or [Tag Box](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model) question changes. Use this event to implement custom filtering of choice options.
522
+ * @see [QuestionDropdownModel.searchEnabled](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model#searchEnabled)
523
+ * @see [QuestionDropdownModel.searchMode](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model#searchMode)
524
+ */
525
+ onChoicesSearch: EventBase<SurveyModel, ChoicesSearchEvent>;
514
526
  /**
515
527
  * Use this event to load a display text for the [default choice item](https://surveyjs.io/form-library/documentation/questiondropdownmodel#defaultValue) in [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel) and [Tag Box](https://surveyjs.io/form-library/documentation/questiontagboxmodel) questions.
516
528
  *
@@ -745,17 +757,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
745
757
  containerCss: string;
746
758
  fitToContainer: boolean;
747
759
  /**
748
- * Specifies whether the survey header uses only basic appearance settings or applies advanced settings from the survey theme.
749
- *
750
- * Possible values:
751
- *
752
- * - `"basic"` (default)\
753
- * A basic header view applies only the [`title`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#title), [`description`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#description), and logo-related properties ([`logo`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#logo), [`logoPosition`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#logoPosition), etc.).
754
- *
755
- * - `"advanced"`\
756
- * An advanced header view applies the same properties as the basic view, plus [header settings](https://surveyjs.io/form-library/documentation/api-reference/iheader) from the [survey theme](https://surveyjs.io/form-library/documentation/api-reference/itheme#header). The advanced view features a more flexible header layout, a capability to specify a background image, and other settings that give a more professional look to the survey header.
757
- *
758
- * [View Demo](https://surveyjs.io/form-library/examples/brand-your-survey-header/ (linkStyle))
760
+ * This property is obsolete. Use the [`headerView`](https://surveyjs.io/form-library/documentation/api-reference/itheme#headerView) property within a theme instead.
759
761
  */
760
762
  headerView: "advanced" | "basic";
761
763
  protected insertAdvancedHeader(advHeader: Cover): void;
@@ -1358,15 +1360,21 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1358
1360
  * If you want to hide the number of an individual question, enable its [`hideNumber`](https://surveyjs.io/form-library/documentation/api-reference/question#hideNumber) property.
1359
1361
  */
1360
1362
  showQuestionNumbers: string | boolean;
1363
+ private progressBarValue;
1364
+ readonly progressBar: any;
1361
1365
  /*
1362
1366
  * Controls the visibility of the progress bar and specifies its position.
1363
1367
  *
1364
1368
  * Possible values:
1365
1369
  *
1366
1370
  * - `"off"` (default) - Hides the progress bar.
1367
- * - `"top"` - Displays the progress bar above survey content.
1371
+ * - `"aboveHeader"` - Displays the progress bar above the survey header.
1372
+ * - `"belowHeader"` - Displays the progress bar below the survey header.
1368
1373
  * - `"bottom"` - Displays the progress bar below survey content.
1369
- * - `"both"` - Displays the progress bar above and below survey content.
1374
+ * - `"topBottom"` - Displays the progress bar above and below survey content.
1375
+ * - `"auto"` - Automatically selects between `"aboveHeader"` and `"belowHeader"`.
1376
+ * - `"top"` - *(Obsolete)* Use the `"aboveHeader"` or `"belowHeader"` property value instead.
1377
+ * - `"both"` - *(Obsolete)* Use the `"topBottom"` property value instead.
1370
1378
  *
1371
1379
  * [View Demo](https://surveyjs.io/form-library/examples/navigation-default/ (linkStyle))
1372
1380
  * @see progressBarType
@@ -1382,12 +1390,29 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1382
1390
  * - `"questions"` - The number of answered questions.
1383
1391
  * - `"requiredQuestions"` - The number of answered [required questions](https://surveyjs.io/form-library/documentation/api-reference/question#isRequired).
1384
1392
  * - `"correctQuestions"` - The number of correct questions in a [quiz](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
1385
- * - `"buttons"` - Adds jump links to the progress bar.
1393
+ * - `"buttons"` - *(Obsolete)* Use the `"pages"` property value with the [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarShowPageTitles) property set to `true` instead.
1394
+ *
1395
+ * > When `progressBarType` is set to `"pages"`, you can also enable the [`progressBarShowPageNumbers`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarShowPageNumbers) and [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarShowPageTitles) properties if you want to display page numbers and titles in the progress bar.
1386
1396
  *
1387
1397
  * [View Demo](https://surveyjs.io/form-library/examples/navigation-buttons/ (linkStyle))
1388
1398
  * @see progressValue
1389
1399
  */
1390
1400
  progressBarType: string;
1401
+ private readonly progressBarComponentName: any;
1402
+ /**
1403
+ * Specifies whether the progress bar displays page titles. Applies only when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar) and [`progressBarType`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarType) is `"pages"`.
1404
+ *
1405
+ * Default value: `false`
1406
+ * @see progressBarShowPageNumbers
1407
+ */
1408
+ progressBarShowPageTitles: boolean;
1409
+ /**
1410
+ * Specifies whether the progress bar displays page numbers. Applies only when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar) and [`progressBarType`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarType) is `"pages"`.
1411
+ *
1412
+ * Default value: `false`
1413
+ * @see progressBarShowPageTitles
1414
+ */
1415
+ progressBarShowPageNumbers: boolean;
1391
1416
  readonly isShowProgressBarOnTop: boolean;
1392
1417
  readonly isShowProgressBarOnBottom: boolean;
1393
1418
  getProgressTypeComponent(): string;
@@ -2050,6 +2075,17 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2050
2075
  private getUpdatedPageTitleActions;
2051
2076
  getUpdatedMatrixRowActions(question: QuestionMatrixDropdownModelBase, row: any, actions: Array<IAction>): IAction[];
2052
2077
  scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean): any;
2078
+ /**
2079
+ * Opens a dialog window for users to select files.
2080
+ * @param input A [file input HTML element](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement).
2081
+ * @param callback A callback function that you can use to process selected files. Accepts an array of JavaScript <a href="https://developer.mozilla.org/en-US/docs/Web/API/File" target="_blank">File</a> objects.
2082
+ * @see onOpenFileChooser
2083
+ * @see onUploadFile
2084
+ */
2085
+ chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void, context?: {
2086
+ element: ISurveyElement;
2087
+ item?: any;
2088
+ }): void;
2053
2089
  /**
2054
2090
  * Uploads files to a server.
2055
2091
  *
@@ -2270,6 +2306,10 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2270
2306
  private conditionRunnerCounter;
2271
2307
  private conditionUpdateVisibleIndexes;
2272
2308
  private conditionNotifyElementsOnAnyValueOrVariableChanged;
2309
+ /**
2310
+ * Recalculates all [expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) in the survey.
2311
+ */
2312
+ runExpressions(): void;
2273
2313
  private runConditions;
2274
2314
  private runConditionOnValueChanged;
2275
2315
  private runConditionsCore;
@@ -2301,6 +2341,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2301
2341
  private updateVisibleIndexes;
2302
2342
  private updatePageVisibleIndexes;
2303
2343
  fromJSON(json: any, options?: ILoadFromJSONOptions): void;
2344
+ startLoadingFromJson(json?: any): void;
2304
2345
  setJsonObject(jsonObj: any): void;
2305
2346
  private isEndLoadingFromJson;
2306
2347
  endLoadingFromJson(): void;
@@ -2637,7 +2678,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2637
2678
  *
2638
2679
  * This method accepts an object with the following layout element properties:
2639
2680
  *
2640
- * - `id`: `string` | `"timerpanel"` | `"progress-buttons"` | `"progress-questions"` | `"progress-pages"` | `"progress-correctquestions"` | `"progress-requiredquestions"` | `"toc-navigation"` | `"navigationbuttons"`\
2681
+ * - `id`: `string` | `"timerpanel"` | `"progress-buttons"` | `"progress-questions"` | `"progress-pages"` | `"progress-correctquestions"` | `"progress-requiredquestions"` | `"toc-navigation"` | `"buttons-navigation"`\
2641
2682
  * A layout element identifier. You can use possible values to access and relocate or customize predefined layout elements.
2642
2683
  *
2643
2684
  * - `container`: `"header"` | `"footer"` | `"left"` | `"right"` | `"contentTop"` | `"contentBottom"`\
@@ -24,6 +24,8 @@ export declare var surveyStrings: {
24
24
  startSurveyText: string;
25
25
  otherItemText: string;
26
26
  noneItemText: string;
27
+ refuseItemText: string;
28
+ dontKnowItemText: string;
27
29
  selectAllItemText: string;
28
30
  progressText: string;
29
31
  indexText: string;
@@ -56,7 +56,7 @@ export interface ITheme {
56
56
  */
57
57
  backgroundOpacity?: number;
58
58
  /**
59
- * An object with [advanced survey header settings](https://surveyjs.io/form-library/documentation/api-reference/iheader). Applies when `SurveyModel`'s [`headerView`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#headerView) property is set to `"advanced"`.
59
+ * An object with [advanced survey header settings](https://surveyjs.io/form-library/documentation/api-reference/iheader). Applies when the [`headerView`](https://surveyjs.io/form-library/documentation/api-reference/itheme#headerView) property is set to `"advanced"`.
60
60
  */
61
61
  header?: IHeader;
62
62
  /**
@@ -83,7 +83,7 @@ export interface ITheme {
83
83
  /**
84
84
  * A survey header configuration interface.
85
85
  *
86
- * An `IHeader` object configures advanced survey header appearance settings. To apply them, you need to assign the object to the [`header`](https://surveyjs.io/form-library/documentation/api-reference/itheme#header) property of your theme configuration and set `SurveyModel`'s [`headerView`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#headerView) property to `"advanced"`.
86
+ * An `IHeader` object configures advanced survey header appearance settings. To apply them, you need to assign the object to the [`header`](https://surveyjs.io/form-library/documentation/api-reference/itheme#header) property of your theme configuration and set the [`headerView`](https://surveyjs.io/form-library/documentation/api-reference/itheme#headerView) property to `"advanced"`.
87
87
  */
88
88
  export interface IHeader {
89
89
  /**
@@ -1,6 +1,6 @@
1
1
  declare function compareVersions(a: any, b: any): number;
2
2
  declare function confirmAction(message: string): boolean;
3
- declare function confirmActionAsync(message: string, funcOnYes: () => void, funcOnNo?: () => void, locale?: string): void;
3
+ declare function confirmActionAsync(message: string, funcOnYes: () => void, funcOnNo?: () => void, locale?: string, rootElement?: HTMLElement): void;
4
4
  declare function detectIEBrowser(): boolean;
5
5
  declare function detectIEOrEdge(): boolean;
6
6
  declare function loadFileFromBase64(b64Data: string, fileName: string): void;
@@ -40,5 +40,6 @@ export declare class Logger {
40
40
  log(action: string): void;
41
41
  readonly result: string;
42
42
  }
43
- export declare function showConfirmDialog(message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string): boolean;
44
- export { mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, };
43
+ export declare function showConfirmDialog(message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string, rootElement?: HTMLElement): boolean;
44
+ declare function chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void): void;
45
+ export { mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, chooseFiles };
@@ -157,6 +157,10 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
157
157
  elementContentVisibilityChanged(element: ISurveyElement): void;
158
158
  onCorrectQuestionAnswer(question: IQuestion, options: any): void;
159
159
  processPopupVisiblityChanged(question: IQuestion, popupModel: PopupModel, visible: boolean): void;
160
+ chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void, context?: {
161
+ element: ISurveyElement;
162
+ item?: any;
163
+ }): void;
160
164
  }
161
165
  export interface ISurveyImpl {
162
166
  getSurveyData(): ISurveyData;
@@ -426,6 +426,7 @@ export declare var modernCss: {
426
426
  window: {
427
427
  root: string;
428
428
  rootCollapsedMod: string;
429
+ rootFullScreenMode: string;
429
430
  rootContent: string;
430
431
  body: string;
431
432
  header: {
@@ -437,6 +438,7 @@ export declare var modernCss: {
437
438
  buttonCollapsed: string;
438
439
  collapseButton: string;
439
440
  closeButton: string;
441
+ fullScreenButton: string;
440
442
  };
441
443
  };
442
444
  variables: {