survey-core 1.12.21 → 1.12.23

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 (463) hide show
  1. package/default.css +8715 -0
  2. package/default.css.map +1 -0
  3. package/default.fontless.css +8495 -0
  4. package/default.fontless.css.map +1 -0
  5. package/default.fontless.min.css +6 -0
  6. package/default.min.css +6 -0
  7. package/defaultV2.css +51 -5
  8. package/defaultV2.css.map +1 -1
  9. package/defaultV2.fontless.css +51 -5
  10. package/defaultV2.fontless.css.map +1 -1
  11. package/defaultV2.fontless.min.css +2 -2
  12. package/defaultV2.min.css +2 -2
  13. package/i18n/arabic.js +1 -1
  14. package/i18n/arabic.min.js +1 -1
  15. package/i18n/arabic.min.js.LICENSE.txt +5 -0
  16. package/i18n/basque.js +1 -1
  17. package/i18n/basque.min.js +1 -1
  18. package/i18n/basque.min.js.LICENSE.txt +5 -0
  19. package/i18n/bulgarian.js +1 -1
  20. package/i18n/bulgarian.min.js +1 -1
  21. package/i18n/bulgarian.min.js.LICENSE.txt +5 -0
  22. package/i18n/burmese.js +1 -1
  23. package/i18n/burmese.min.js +1 -1
  24. package/i18n/burmese.min.js.LICENSE.txt +5 -0
  25. package/i18n/catalan.js +1 -1
  26. package/i18n/catalan.min.js +1 -1
  27. package/i18n/catalan.min.js.LICENSE.txt +5 -0
  28. package/i18n/croatian.js +1 -1
  29. package/i18n/croatian.min.js +1 -1
  30. package/i18n/croatian.min.js.LICENSE.txt +5 -0
  31. package/i18n/czech.js +1 -1
  32. package/i18n/czech.min.js +1 -1
  33. package/i18n/czech.min.js.LICENSE.txt +5 -0
  34. package/i18n/danish.js +1 -1
  35. package/i18n/danish.min.js +1 -1
  36. package/i18n/danish.min.js.LICENSE.txt +5 -0
  37. package/i18n/dutch.js +1 -1
  38. package/i18n/dutch.min.js +1 -1
  39. package/i18n/dutch.min.js.LICENSE.txt +5 -0
  40. package/i18n/english.js +1 -1
  41. package/i18n/english.min.js +1 -1
  42. package/i18n/english.min.js.LICENSE.txt +5 -0
  43. package/i18n/estonian.js +1 -1
  44. package/i18n/estonian.min.js +1 -1
  45. package/i18n/estonian.min.js.LICENSE.txt +5 -0
  46. package/i18n/finnish.js +1 -1
  47. package/i18n/finnish.min.js +1 -1
  48. package/i18n/finnish.min.js.LICENSE.txt +5 -0
  49. package/i18n/french.js +1 -1
  50. package/i18n/french.min.js +1 -1
  51. package/i18n/french.min.js.LICENSE.txt +5 -0
  52. package/i18n/georgian.js +1 -1
  53. package/i18n/georgian.min.js +1 -1
  54. package/i18n/georgian.min.js.LICENSE.txt +5 -0
  55. package/i18n/german.js +1 -1
  56. package/i18n/german.min.js +1 -1
  57. package/i18n/german.min.js.LICENSE.txt +5 -0
  58. package/i18n/greek.js +1 -1
  59. package/i18n/greek.min.js +1 -1
  60. package/i18n/greek.min.js.LICENSE.txt +5 -0
  61. package/i18n/hebrew.js +1 -1
  62. package/i18n/hebrew.min.js +1 -1
  63. package/i18n/hebrew.min.js.LICENSE.txt +5 -0
  64. package/i18n/hindi.js +1 -1
  65. package/i18n/hindi.min.js +1 -1
  66. package/i18n/hindi.min.js.LICENSE.txt +5 -0
  67. package/i18n/hungarian.js +1 -1
  68. package/i18n/hungarian.min.js +1 -1
  69. package/i18n/hungarian.min.js.LICENSE.txt +5 -0
  70. package/i18n/icelandic.js +1 -1
  71. package/i18n/icelandic.min.js +1 -1
  72. package/i18n/icelandic.min.js.LICENSE.txt +5 -0
  73. package/i18n/index.js +1 -1
  74. package/i18n/index.min.js +1 -1
  75. package/i18n/index.min.js.LICENSE.txt +5 -0
  76. package/i18n/indonesian.js +1 -1
  77. package/i18n/indonesian.min.js +1 -1
  78. package/i18n/indonesian.min.js.LICENSE.txt +5 -0
  79. package/i18n/italian.js +1 -1
  80. package/i18n/italian.min.js +1 -1
  81. package/i18n/italian.min.js.LICENSE.txt +5 -0
  82. package/i18n/japanese.js +1 -1
  83. package/i18n/japanese.min.js +1 -1
  84. package/i18n/japanese.min.js.LICENSE.txt +5 -0
  85. package/i18n/kazakh.js +1 -1
  86. package/i18n/kazakh.min.js +1 -1
  87. package/i18n/kazakh.min.js.LICENSE.txt +5 -0
  88. package/i18n/korean.js +1 -1
  89. package/i18n/korean.min.js +1 -1
  90. package/i18n/korean.min.js.LICENSE.txt +5 -0
  91. package/i18n/latvian.js +1 -1
  92. package/i18n/latvian.min.js +1 -1
  93. package/i18n/latvian.min.js.LICENSE.txt +5 -0
  94. package/i18n/lithuanian.js +1 -1
  95. package/i18n/lithuanian.min.js +1 -1
  96. package/i18n/lithuanian.min.js.LICENSE.txt +5 -0
  97. package/i18n/macedonian.js +1 -1
  98. package/i18n/macedonian.min.js +1 -1
  99. package/i18n/macedonian.min.js.LICENSE.txt +5 -0
  100. package/i18n/malay.js +1 -1
  101. package/i18n/malay.min.js +1 -1
  102. package/i18n/malay.min.js.LICENSE.txt +5 -0
  103. package/i18n/nl-BE.js +1 -1
  104. package/i18n/nl-BE.min.js +1 -1
  105. package/i18n/nl-BE.min.js.LICENSE.txt +5 -0
  106. package/i18n/norwegian.js +1 -1
  107. package/i18n/norwegian.min.js +1 -1
  108. package/i18n/norwegian.min.js.LICENSE.txt +5 -0
  109. package/i18n/persian.js +1 -1
  110. package/i18n/persian.min.js +1 -1
  111. package/i18n/persian.min.js.LICENSE.txt +5 -0
  112. package/i18n/philippines.js +1 -1
  113. package/i18n/philippines.min.js +1 -1
  114. package/i18n/philippines.min.js.LICENSE.txt +5 -0
  115. package/i18n/polish.js +1 -1
  116. package/i18n/polish.min.js +1 -1
  117. package/i18n/polish.min.js.LICENSE.txt +5 -0
  118. package/i18n/portuguese-br.js +1 -1
  119. package/i18n/portuguese-br.min.js +1 -1
  120. package/i18n/portuguese-br.min.js.LICENSE.txt +5 -0
  121. package/i18n/portuguese.js +1 -1
  122. package/i18n/portuguese.min.js +1 -1
  123. package/i18n/portuguese.min.js.LICENSE.txt +5 -0
  124. package/i18n/romanian.js +1 -1
  125. package/i18n/romanian.min.js +1 -1
  126. package/i18n/romanian.min.js.LICENSE.txt +5 -0
  127. package/i18n/russian.js +1 -1
  128. package/i18n/russian.min.js +1 -1
  129. package/i18n/russian.min.js.LICENSE.txt +5 -0
  130. package/i18n/serbian.js +1 -1
  131. package/i18n/serbian.min.js +1 -1
  132. package/i18n/serbian.min.js.LICENSE.txt +5 -0
  133. package/i18n/simplified-chinese.js +1 -1
  134. package/i18n/simplified-chinese.min.js +1 -1
  135. package/i18n/simplified-chinese.min.js.LICENSE.txt +5 -0
  136. package/i18n/slovak.js +1 -1
  137. package/i18n/slovak.min.js +1 -1
  138. package/i18n/slovak.min.js.LICENSE.txt +5 -0
  139. package/i18n/spanish.js +1 -1
  140. package/i18n/spanish.min.js +1 -1
  141. package/i18n/spanish.min.js.LICENSE.txt +5 -0
  142. package/i18n/swahili.js +1 -1
  143. package/i18n/swahili.min.js +1 -1
  144. package/i18n/swahili.min.js.LICENSE.txt +5 -0
  145. package/i18n/swedish.js +1 -1
  146. package/i18n/swedish.min.js +1 -1
  147. package/i18n/swedish.min.js.LICENSE.txt +5 -0
  148. package/i18n/tajik.js +1 -1
  149. package/i18n/tajik.min.js +1 -1
  150. package/i18n/tajik.min.js.LICENSE.txt +5 -0
  151. package/i18n/telugu.js +1 -1
  152. package/i18n/telugu.min.js +1 -1
  153. package/i18n/telugu.min.js.LICENSE.txt +5 -0
  154. package/i18n/thai.js +1 -1
  155. package/i18n/thai.min.js +1 -1
  156. package/i18n/thai.min.js.LICENSE.txt +5 -0
  157. package/i18n/traditional-chinese.js +1 -1
  158. package/i18n/traditional-chinese.min.js +1 -1
  159. package/i18n/traditional-chinese.min.js.LICENSE.txt +5 -0
  160. package/i18n/turkish.js +1 -1
  161. package/i18n/turkish.min.js +1 -1
  162. package/i18n/turkish.min.js.LICENSE.txt +5 -0
  163. package/i18n/ukrainian.js +1 -1
  164. package/i18n/ukrainian.min.js +1 -1
  165. package/i18n/ukrainian.min.js.LICENSE.txt +5 -0
  166. package/i18n/urdu.js +1 -1
  167. package/i18n/urdu.min.js +1 -1
  168. package/i18n/urdu.min.js.LICENSE.txt +5 -0
  169. package/i18n/vietnamese.js +1 -1
  170. package/i18n/vietnamese.min.js +1 -1
  171. package/i18n/vietnamese.min.js.LICENSE.txt +5 -0
  172. package/i18n/welsh.js +1 -1
  173. package/i18n/welsh.min.js +1 -1
  174. package/i18n/welsh.min.js.LICENSE.txt +5 -0
  175. package/icons/iconsV1.js +1 -1
  176. package/icons/iconsV1.min.js +1 -1
  177. package/icons/iconsV1.min.js.LICENSE.txt +5 -0
  178. package/icons/iconsV2.js +1 -1
  179. package/icons/iconsV2.min.js +1 -1
  180. package/icons/iconsV2.min.js.LICENSE.txt +5 -0
  181. package/modern.css +1 -1
  182. package/modern.fontless.css +1 -1
  183. package/modern.fontless.min.css +1 -1
  184. package/modern.min.css +1 -1
  185. package/package.json +1 -1
  186. package/plugins/bootstrap-integration/index.js +1 -1
  187. package/plugins/bootstrap-integration/index.min.js +1 -1
  188. package/plugins/bootstrap-material-integration/index.js +1 -1
  189. package/plugins/bootstrap-material-integration/index.min.js +1 -1
  190. package/survey.core.js +252 -151
  191. package/survey.core.js.map +1 -1
  192. package/survey.core.min.js +3 -3
  193. package/survey.core.min.js.LICENSE.txt +10 -0
  194. package/survey.css +1 -1
  195. package/survey.i18n.js +1 -1
  196. package/survey.i18n.min.js +1 -1
  197. package/survey.i18n.min.js.LICENSE.txt +5 -0
  198. package/survey.min.css +1 -1
  199. package/themes/borderless-dark-panelless.js +1 -1
  200. package/themes/borderless-dark-panelless.min.js +1 -1
  201. package/themes/borderless-dark-panelless.min.js.LICENSE.txt +5 -0
  202. package/themes/borderless-dark.js +1 -1
  203. package/themes/borderless-dark.min.js +1 -1
  204. package/themes/borderless-dark.min.js.LICENSE.txt +5 -0
  205. package/themes/borderless-light-panelless..js +1 -1
  206. package/themes/borderless-light-panelless..min.js +1 -1
  207. package/themes/borderless-light-panelless.js +156 -0
  208. package/themes/borderless-light-panelless.js.map +1 -0
  209. package/themes/borderless-light-panelless.min.js +2 -0
  210. package/themes/borderless-light-panelless.min.js.LICENSE.txt +5 -0
  211. package/themes/borderless-light.js +1 -1
  212. package/themes/borderless-light.min.js +1 -1
  213. package/themes/borderless-light.min.js.LICENSE.txt +5 -0
  214. package/themes/contrast-dark-panelless.js +1 -1
  215. package/themes/contrast-dark-panelless.min.js +1 -1
  216. package/themes/contrast-dark-panelless.min.js.LICENSE.txt +5 -0
  217. package/themes/contrast-dark.js +1 -1
  218. package/themes/contrast-dark.min.js +1 -1
  219. package/themes/contrast-dark.min.js.LICENSE.txt +5 -0
  220. package/themes/contrast-light-panelless.js +1 -1
  221. package/themes/contrast-light-panelless.min.js +1 -1
  222. package/themes/contrast-light-panelless.min.js.LICENSE.txt +5 -0
  223. package/themes/contrast-light.js +1 -1
  224. package/themes/contrast-light.min.js +1 -1
  225. package/themes/contrast-light.min.js.LICENSE.txt +5 -0
  226. package/themes/default-dark-panelless.js +1 -1
  227. package/themes/default-dark-panelless.min.js +1 -1
  228. package/themes/default-dark-panelless.min.js.LICENSE.txt +5 -0
  229. package/themes/default-dark.js +1 -1
  230. package/themes/default-dark.min.js +1 -1
  231. package/themes/default-dark.min.js.LICENSE.txt +5 -0
  232. package/themes/default-light-panelless.js +1 -1
  233. package/themes/default-light-panelless.min.js +1 -1
  234. package/themes/default-light-panelless.min.js.LICENSE.txt +5 -0
  235. package/themes/default-light.js +1 -1
  236. package/themes/default-light.min.js +1 -1
  237. package/themes/default-light.min.js.LICENSE.txt +5 -0
  238. package/themes/doubleborder-dark-panelless.js +1 -1
  239. package/themes/doubleborder-dark-panelless.min.js +1 -1
  240. package/themes/doubleborder-dark-panelless.min.js.LICENSE.txt +5 -0
  241. package/themes/doubleborder-dark.js +1 -1
  242. package/themes/doubleborder-dark.min.js +1 -1
  243. package/themes/doubleborder-dark.min.js.LICENSE.txt +5 -0
  244. package/themes/doubleborder-light-panelles.js +1 -1
  245. package/themes/doubleborder-light-panelles.min.js +1 -1
  246. package/themes/doubleborder-light-panelles.min.js.LICENSE.txt +5 -0
  247. package/themes/doubleborder-light.js +1 -1
  248. package/themes/doubleborder-light.min.js +1 -1
  249. package/themes/doubleborder-light.min.js.LICENSE.txt +5 -0
  250. package/themes/flat-dark-panelless.js +1 -1
  251. package/themes/flat-dark-panelless.min.js +1 -1
  252. package/themes/flat-dark-panelless.min.js.LICENSE.txt +5 -0
  253. package/themes/flat-dark.js +1 -1
  254. package/themes/flat-dark.min.js +1 -1
  255. package/themes/flat-dark.min.js.LICENSE.txt +5 -0
  256. package/themes/flat-light-panelless.js +1 -1
  257. package/themes/flat-light-panelless.min.js +1 -1
  258. package/themes/flat-light-panelless.min.js.LICENSE.txt +5 -0
  259. package/themes/flat-light.js +1 -1
  260. package/themes/flat-light.min.js +1 -1
  261. package/themes/flat-light.min.js.LICENSE.txt +5 -0
  262. package/themes/index.js +1 -1
  263. package/themes/index.min.js +1 -1
  264. package/themes/index.min.js.LICENSE.txt +5 -0
  265. package/themes/layered-dark-panelless.js +1 -1
  266. package/themes/layered-dark-panelless.min.js +1 -1
  267. package/themes/layered-dark-panelless.min.js.LICENSE.txt +5 -0
  268. package/themes/layered-dark.js +1 -1
  269. package/themes/layered-dark.min.js +1 -1
  270. package/themes/layered-dark.min.js.LICENSE.txt +5 -0
  271. package/themes/layered-light-panelless.js +1 -1
  272. package/themes/layered-light-panelless.min.js +1 -1
  273. package/themes/layered-light-panelless.min.js.LICENSE.txt +5 -0
  274. package/themes/layered-light.js +1 -1
  275. package/themes/layered-light.min.js +1 -1
  276. package/themes/layered-light.min.js.LICENSE.txt +5 -0
  277. package/themes/plain-dark-panelless.js +1 -1
  278. package/themes/plain-dark-panelless.min.js +1 -1
  279. package/themes/plain-dark-panelless.min.js.LICENSE.txt +5 -0
  280. package/themes/plain-dark.js +1 -1
  281. package/themes/plain-dark.min.js +1 -1
  282. package/themes/plain-dark.min.js.LICENSE.txt +5 -0
  283. package/themes/plain-light-panelless.js +1 -1
  284. package/themes/plain-light-panelless.min.js +1 -1
  285. package/themes/plain-light-panelless.min.js.LICENSE.txt +5 -0
  286. package/themes/plain-light.js +1 -1
  287. package/themes/plain-light.min.js +1 -1
  288. package/themes/plain-light.min.js.LICENSE.txt +5 -0
  289. package/themes/sharp-dark-panelless.js +1 -1
  290. package/themes/sharp-dark-panelless.min.js +1 -1
  291. package/themes/sharp-dark-panelless.min.js.LICENSE.txt +5 -0
  292. package/themes/sharp-dark.js +1 -1
  293. package/themes/sharp-dark.min.js +1 -1
  294. package/themes/sharp-dark.min.js.LICENSE.txt +5 -0
  295. package/themes/sharp-light-panelless.js +1 -1
  296. package/themes/sharp-light-panelless.min.js +1 -1
  297. package/themes/sharp-light-panelless.min.js.LICENSE.txt +5 -0
  298. package/themes/sharp-light.js +1 -1
  299. package/themes/sharp-light.min.js +1 -1
  300. package/themes/sharp-light.min.js.LICENSE.txt +5 -0
  301. package/themes/solid-dark-panelless.js +1 -1
  302. package/themes/solid-dark-panelless.min.js +1 -1
  303. package/themes/solid-dark-panelless.min.js.LICENSE.txt +5 -0
  304. package/themes/solid-dark.js +1 -1
  305. package/themes/solid-dark.min.js +1 -1
  306. package/themes/solid-dark.min.js.LICENSE.txt +5 -0
  307. package/themes/solid-light-panelless.js +1 -1
  308. package/themes/solid-light-panelless.min.js +1 -1
  309. package/themes/solid-light-panelless.min.js.LICENSE.txt +5 -0
  310. package/themes/solid-light.js +1 -1
  311. package/themes/solid-light.min.js +1 -1
  312. package/themes/solid-light.min.js.LICENSE.txt +5 -0
  313. package/themes/three-dimensional-dark-panelless.js +1 -1
  314. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  315. package/themes/three-dimensional-dark-panelless.min.js.LICENSE.txt +5 -0
  316. package/themes/three-dimensional-dark.js +1 -1
  317. package/themes/three-dimensional-dark.min.js +1 -1
  318. package/themes/three-dimensional-dark.min.js.LICENSE.txt +5 -0
  319. package/themes/three-dimensional-light-panelless.js +1 -1
  320. package/themes/three-dimensional-light-panelless.min.js +1 -1
  321. package/themes/three-dimensional-light-panelless.min.js.LICENSE.txt +5 -0
  322. package/themes/three-dimensional-light.js +1 -1
  323. package/themes/three-dimensional-light.min.js +1 -1
  324. package/themes/three-dimensional-light.min.js.LICENSE.txt +5 -0
  325. package/ts3.4/typings/packages/survey-core/src/base-interfaces.d.ts +1 -0
  326. package/ts3.4/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +2 -0
  327. package/ts3.4/typings/packages/survey-core/src/localizablestring.d.ts +1 -1
  328. package/ts3.4/typings/packages/survey-core/src/panel.d.ts +2 -1
  329. package/ts3.4/typings/packages/survey-core/src/question_custom.d.ts +3 -0
  330. package/ts3.4/typings/packages/survey-core/src/question_paneldynamic.d.ts +14 -6
  331. package/ts3.4/typings/packages/survey-core/src/survey-events-api.d.ts +17 -6
  332. package/ts3.4/typings/packages/survey-core/src/survey.d.ts +11 -6
  333. package/ts3.4/typings/packages/survey-core/src/textPreProcessor.d.ts +5 -2
  334. package/typings/entries/chunks/core-wo-model.d.ts +10 -0
  335. package/typings/entries/chunks/model.d.ts +95 -95
  336. package/typings/entries/index.d.ts +2 -0
  337. package/typings/packages/survey-core/src/base-interfaces.d.ts +1 -0
  338. package/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +2 -0
  339. package/typings/packages/survey-core/src/localizablestring.d.ts +1 -1
  340. package/typings/packages/survey-core/src/panel.d.ts +2 -1
  341. package/typings/packages/survey-core/src/question_custom.d.ts +3 -0
  342. package/typings/packages/survey-core/src/question_paneldynamic.d.ts +14 -6
  343. package/typings/packages/survey-core/src/survey-events-api.d.ts +17 -6
  344. package/typings/packages/survey-core/src/survey.d.ts +11 -6
  345. package/typings/packages/survey-core/src/textPreProcessor.d.ts +5 -2
  346. package/typings/src/actions/action.d.ts +300 -0
  347. package/typings/src/actions/adaptive-container.d.ts +29 -0
  348. package/typings/src/actions/container.d.ts +59 -0
  349. package/typings/src/base-interfaces.d.ts +366 -0
  350. package/typings/src/base.d.ts +333 -0
  351. package/typings/src/calculatedValue.d.ts +49 -0
  352. package/typings/src/choicesRestful.d.ts +177 -0
  353. package/typings/src/conditionProcessValue.d.ts +25 -0
  354. package/typings/src/conditions.d.ts +98 -0
  355. package/typings/src/conditionsParser.d.ts +14 -0
  356. package/typings/src/console-warnings.d.ts +6 -0
  357. package/typings/src/defaultCss/defaultCss.d.ts +873 -0
  358. package/typings/src/defaultTitle.d.ts +3 -0
  359. package/typings/src/dragdrop/choices.d.ts +21 -0
  360. package/typings/src/dragdrop/core.d.ts +55 -0
  361. package/typings/src/dragdrop/dom-adapter.d.ts +49 -0
  362. package/typings/src/dragdrop/engine.d.ts +6 -0
  363. package/typings/src/dragdrop/matrix-rows.d.ts +19 -0
  364. package/typings/src/dragdrop/ranking-choices.d.ts +26 -0
  365. package/typings/src/dragdrop/ranking-select-to-rank.d.ts +17 -0
  366. package/typings/src/dropdownListModel.d.ts +97 -0
  367. package/typings/src/dropdownMultiSelectListModel.d.ts +37 -0
  368. package/typings/src/dxSurveyService.d.ts +18 -0
  369. package/typings/src/element-helper.d.ts +8 -0
  370. package/typings/src/error.d.ts +81 -0
  371. package/typings/src/expressionItems.d.ts +57 -0
  372. package/typings/src/expressions/expressionParser.d.ts +54 -0
  373. package/typings/src/expressions/expressions.d.ts +135 -0
  374. package/typings/src/flowpanel.d.ts +34 -0
  375. package/typings/src/functionsfactory.d.ts +14 -0
  376. package/typings/src/global_variables_utils.d.ts +30 -0
  377. package/typings/src/header.d.ts +87 -0
  378. package/typings/src/helpers.d.ts +44 -0
  379. package/typings/src/itemvalue.d.ts +93 -0
  380. package/typings/src/jsonobject.d.ts +378 -0
  381. package/typings/src/list.d.ts +144 -0
  382. package/typings/src/localizablestring.d.ts +125 -0
  383. package/typings/src/localization/english.d.ts +109 -0
  384. package/typings/src/martixBase.d.ts +133 -0
  385. package/typings/src/mask/input_element_adapter.d.ts +16 -0
  386. package/typings/src/mask/mask_base.d.ts +29 -0
  387. package/typings/src/mask/mask_currency.d.ts +41 -0
  388. package/typings/src/mask/mask_datetime.d.ts +91 -0
  389. package/typings/src/mask/mask_numeric.d.ts +90 -0
  390. package/typings/src/mask/mask_pattern.d.ts +78 -0
  391. package/typings/src/mask/mask_utils.d.ts +20 -0
  392. package/typings/src/multiSelectListModel.d.ts +17 -0
  393. package/typings/src/notifier.d.ts +30 -0
  394. package/typings/src/page.d.ts +133 -0
  395. package/typings/src/panel-layout-column.d.ts +9 -0
  396. package/typings/src/panel.d.ts +633 -0
  397. package/typings/src/popup-dropdown-view-model.d.ts +35 -0
  398. package/typings/src/popup-modal-view-model.d.ts +16 -0
  399. package/typings/src/popup-survey.d.ts +132 -0
  400. package/typings/src/popup-utils.d.ts +4 -0
  401. package/typings/src/popup-view-model.d.ts +81 -0
  402. package/typings/src/popup.d.ts +66 -0
  403. package/typings/src/progress-buttons.d.ts +44 -0
  404. package/typings/src/question.d.ts +949 -0
  405. package/typings/src/questionCustomWidgets.d.ts +46 -0
  406. package/typings/src/question_baseselect.d.ts +547 -0
  407. package/typings/src/question_boolean.d.ts +116 -0
  408. package/typings/src/question_buttongroup.d.ts +51 -0
  409. package/typings/src/question_checkbox.d.ts +158 -0
  410. package/typings/src/question_comment.d.ts +59 -0
  411. package/typings/src/question_custom.d.ts +454 -0
  412. package/typings/src/question_dropdown.d.ts +156 -0
  413. package/typings/src/question_empty.d.ts +8 -0
  414. package/typings/src/question_expression.d.ts +110 -0
  415. package/typings/src/question_file.d.ts +303 -0
  416. package/typings/src/question_html.d.ts +26 -0
  417. package/typings/src/question_image.d.ts +86 -0
  418. package/typings/src/question_imagepicker.d.ts +168 -0
  419. package/typings/src/question_matrix.d.ts +198 -0
  420. package/typings/src/question_matrixdropdown.d.ts +56 -0
  421. package/typings/src/question_matrixdropdownbase.d.ts +572 -0
  422. package/typings/src/question_matrixdropdowncolumn.d.ts +344 -0
  423. package/typings/src/question_matrixdropdownrendered.d.ts +171 -0
  424. package/typings/src/question_matrixdynamic.d.ts +299 -0
  425. package/typings/src/question_multipletext.d.ts +361 -0
  426. package/typings/src/question_paneldynamic.d.ts +719 -0
  427. package/typings/src/question_radiogroup.d.ts +40 -0
  428. package/typings/src/question_ranking.d.ts +135 -0
  429. package/typings/src/question_rating.d.ts +300 -0
  430. package/typings/src/question_signaturepad.d.ts +149 -0
  431. package/typings/src/question_tagbox.d.ts +98 -0
  432. package/typings/src/question_text.d.ts +206 -0
  433. package/typings/src/question_textbase.d.ts +62 -0
  434. package/typings/src/questionfactory.d.ts +27 -0
  435. package/typings/src/questionnonvalue.d.ts +22 -0
  436. package/typings/src/rendererFactory.d.ts +11 -0
  437. package/typings/src/settings.d.ts +641 -0
  438. package/typings/src/survey-element.d.ts +471 -0
  439. package/typings/src/survey-error.d.ts +18 -0
  440. package/typings/src/survey-events-api.d.ts +1152 -0
  441. package/typings/src/survey.d.ts +3126 -0
  442. package/typings/src/surveyProgress.d.ts +4 -0
  443. package/typings/src/surveyStrings.d.ts +151 -0
  444. package/typings/src/surveyTaskManager.d.ts +16 -0
  445. package/typings/src/surveyTimerModel.d.ts +47 -0
  446. package/typings/src/surveyToc.d.ts +23 -0
  447. package/typings/src/surveytimer.d.ts +22 -0
  448. package/typings/src/svgbundle.d.ts +23 -0
  449. package/typings/src/template-renderer.d.ts +10 -0
  450. package/typings/src/textPreProcessor.d.ts +43 -0
  451. package/typings/src/themes.d.ts +222 -0
  452. package/typings/src/trigger.d.ts +155 -0
  453. package/typings/src/utils/animation.d.ts +91 -0
  454. package/typings/src/utils/camera.d.ts +27 -0
  455. package/typings/src/utils/cssClassBuilder.d.ts +6 -0
  456. package/typings/src/utils/devices.d.ts +12 -0
  457. package/typings/src/utils/dragOrClickHelper.d.ts +16 -0
  458. package/typings/src/utils/popup.d.ts +45 -0
  459. package/typings/src/utils/responsivity-manager.d.ts +31 -0
  460. package/typings/src/utils/taskmanager.d.ts +28 -0
  461. package/typings/src/utils/text-area.d.ts +58 -0
  462. package/typings/src/utils/utils.d.ts +86 -0
  463. package/typings/src/validator.d.ts +204 -0
@@ -0,0 +1,719 @@
1
+ import { HashTable } from "./helpers";
2
+ import { IElement, IQuestion, IPanel, ISurveyData, ISurvey, ISurveyImpl, ITextProcessor, IProgressInfo, IPlainDataOptions } from "./base-interfaces";
3
+ import { LocalizableString } from "./localizablestring";
4
+ import { Base } from "./base";
5
+ import { Question, IConditionObject, IQuestionPlainData } from "./question";
6
+ import { PanelModel } from "./panel";
7
+ import { SurveyError } from "./survey-error";
8
+ import { ActionContainer } from "./actions/container";
9
+ import { IAction } from "./actions/action";
10
+ import { AdaptiveActionContainer } from "./actions/adaptive-container";
11
+ import { ITheme } from "./themes";
12
+ import { AnimationProperty, IAnimationGroupConsumer } from "./utils/animation";
13
+ export interface IQuestionPanelDynamicData {
14
+ getItemIndex(item: ISurveyData): number;
15
+ getVisibleItemIndex(item: ISurveyData): number;
16
+ getPanelItemData(item: ISurveyData): any;
17
+ setPanelItemData(item: ISurveyData, name: string, val: any): any;
18
+ getSharedQuestionFromArray(name: string, panelIndex: number): Question;
19
+ getSurvey(): ISurvey;
20
+ getRootData(): ISurveyData;
21
+ }
22
+ export declare class QuestionPanelDynamicItem implements ISurveyData, ISurveyImpl {
23
+ static ItemVariableName: string;
24
+ static ParentItemVariableName: string;
25
+ static IndexVariableName: string;
26
+ static VisibleIndexVariableName: string;
27
+ private panelValue;
28
+ private data;
29
+ private textPreProcessor;
30
+ constructor(data: IQuestionPanelDynamicData, panel: PanelModel);
31
+ get panel(): PanelModel;
32
+ setSurveyImpl(): void;
33
+ getValue(name: string): any;
34
+ setValue(name: string, newValue: any): void;
35
+ getVariable(name: string): any;
36
+ setVariable(name: string, newValue: any): void;
37
+ getComment(name: string): string;
38
+ setComment(name: string, newValue: string, locNotification: any): void;
39
+ findQuestionByName(name: string): IQuestion;
40
+ getEditingSurveyElement(): Base;
41
+ getAllValues(): any;
42
+ getFilteredValues(): any;
43
+ getFilteredProperties(): any;
44
+ getSurveyData(): ISurveyData;
45
+ getSurvey(): ISurvey;
46
+ getTextProcessor(): ITextProcessor;
47
+ }
48
+ export declare class QuestionPanelDynamicTemplateSurveyImpl implements ISurveyImpl {
49
+ data: IQuestionPanelDynamicData;
50
+ constructor(data: IQuestionPanelDynamicData);
51
+ getSurveyData(): ISurveyData;
52
+ getSurvey(): ISurvey;
53
+ getTextProcessor(): ITextProcessor;
54
+ }
55
+ /**
56
+ * A class that describes the Dynamic Panel question type.
57
+ *
58
+ * Dynamic Panel allows respondents to add panels based on a panel template and delete them. Specify the [`templateElements`](https://surveyjs.io/form-library/documentation/questionpaneldynamicmodel#templateElements) property to configure panel template elements.
59
+ *
60
+ * [View Demo](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/ (linkStyle))
61
+ */
62
+ export declare class QuestionPanelDynamicModel extends Question implements IQuestionPanelDynamicData {
63
+ private templateValue;
64
+ private isValueChangingInternally;
65
+ private changingValueQuestion;
66
+ renderModeChangedCallback: () => void;
67
+ panelCountChangedCallback: () => void;
68
+ currentIndexChangedCallback: () => void;
69
+ constructor(name: string);
70
+ get isCompositeQuestion(): boolean;
71
+ get hasSingleInput(): boolean;
72
+ get isContainer(): boolean;
73
+ getFirstQuestionToFocus(withError: boolean): Question;
74
+ protected getFirstInputElementId(): string;
75
+ setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
76
+ private assignOnPropertyChangedToTemplate;
77
+ private addOnPropertyChangedCallback;
78
+ private onTemplateElementPropertyChanged;
79
+ private get useTemplatePanel();
80
+ getType(): string;
81
+ clearOnDeletingContainer(): void;
82
+ get isAllowTitleLeft(): boolean;
83
+ removeElement(element: IElement): boolean;
84
+ /**
85
+ * A `PanelModel` object used as a template to create dynamic panels.
86
+ * @see PanelModel
87
+ * @see templateElements
88
+ * @see templateTitle
89
+ * @see panels
90
+ * @see panelCount
91
+ */
92
+ get template(): PanelModel;
93
+ getPanel(): IPanel;
94
+ /**
95
+ * An array of questions and panels included in a panel template.
96
+ * @see template
97
+ * @see panels
98
+ * @see panelCount
99
+ */
100
+ get templateElements(): Array<IElement>;
101
+ /**
102
+ * A template for panel titles.
103
+ *
104
+ * The template can contain the following placeholders:
105
+ *
106
+ * - `{panelIndex}` - A panel index within the collection of all panels. Starts with 1.
107
+ * - `{visiblePanelIndex}` - A panel index within the collection of visible panels. Starts with 1.
108
+ * @see template
109
+ * @see templateDescription
110
+ * @see templateElements
111
+ * @see panels
112
+ * @see panelCount
113
+ */
114
+ get templateTitle(): string;
115
+ set templateTitle(newValue: string);
116
+ get locTemplateTitle(): LocalizableString;
117
+ /**
118
+ * A template for tab titles. Applies when [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#displayMode) is `"tab"`.
119
+ *
120
+ * The template can contain the following placeholders:
121
+ *
122
+ * - `{panelIndex}` - A panel index within the collection of all panels. Starts with 1.
123
+ * - `{visiblePanelIndex}` - A panel index within the collection of visible panels. Starts with 1.
124
+ *
125
+ * If you want to customize individual tab titles, handle `SurveyModel`'s [`onGetDynamicPanelTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetDynamicPanelTabTitle) event.
126
+ *
127
+ * [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
128
+ * @see templateTitle
129
+ * @see tabTitlePlaceholder
130
+ * @see displayMode
131
+ */
132
+ get templateTabTitle(): string;
133
+ set templateTabTitle(newValue: string);
134
+ get locTemplateTabTitle(): LocalizableString;
135
+ /**
136
+ * A placeholder for tab titles that applies when the [`templateTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle) expression doesn't produce a meaningful value.
137
+ *
138
+ * Default value: `"New Panel"` (taken from a [localization dictionary](https://github.com/surveyjs/survey-library/tree/01bd8abd0c574719956d4d579d48c8010cd389d4/packages/survey-core/src/localization))
139
+ */
140
+ get tabTitlePlaceholder(): string;
141
+ set tabTitlePlaceholder(newValue: string);
142
+ get locTabTitlePlaceholder(): LocalizableString;
143
+ /**
144
+ * A template for panel descriptions.
145
+ * @see template
146
+ * @see templateTitle
147
+ * @see templateElements
148
+ * @see panels
149
+ * @see panelCount
150
+ */
151
+ get templateDescription(): string;
152
+ set templateDescription(newValue: string);
153
+ get locTemplateDescription(): LocalizableString;
154
+ /**
155
+ * A Boolean expression that is evaluated against each panel. If the expression evaluates to `false`, the panel becomes hidden.
156
+ *
157
+ * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
158
+ *
159
+ * Use the `{panel}` placeholder to reference the current panel in the expression.
160
+ *
161
+ * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-visibility).
162
+ * @see visibleIf
163
+ * @see visiblePanels
164
+ */
165
+ get templateVisibleIf(): string;
166
+ set templateVisibleIf(val: string);
167
+ protected get items(): Array<ISurveyData>;
168
+ /**
169
+ * An array of `PanelModel` objects created based on a panel template.
170
+ * @see PanelModel
171
+ * @see template
172
+ * @see panelCount
173
+ */
174
+ get panels(): Array<PanelModel>;
175
+ /**
176
+ * An array of currently visible panels ([`PanelModel`](https://surveyjs.io/form-library/documentation/api-reference/panel-model) objects).
177
+ * @see templateVisibleIf
178
+ */
179
+ get visiblePanels(): Array<PanelModel>;
180
+ protected get panelsCore(): Array<PanelModel>;
181
+ protected get visiblePanelsCore(): Array<PanelModel>;
182
+ private onPanelAdded;
183
+ private onPanelRemoved;
184
+ private onPanelRemovedCore;
185
+ /**
186
+ * A zero-based index of the currently displayed panel.
187
+ *
188
+ * When `displayMode` is `"list"` or Dynamic Panel is empty (`panelCount` is 0), this property contains -1.
189
+ * @see currentPanel
190
+ * @see panels
191
+ * @see panelCount
192
+ * @see displayMode
193
+ */
194
+ get currentIndex(): number;
195
+ set currentIndex(val: number);
196
+ /**
197
+ * A `PanelModel` object that is the currently displayed panel.
198
+ *
199
+ * When `displayMode` is `"list"` or Dynamic Panel is empty (`panelCount` is 0), this property contains `null`.
200
+ * @see currentIndex
201
+ * @see panels
202
+ * @see panelCount
203
+ * @see displayMode
204
+ */
205
+ get currentPanel(): PanelModel;
206
+ set currentPanel(val: PanelModel);
207
+ private _renderedPanels;
208
+ private updateRenderedPanels;
209
+ set renderedPanels(val: Array<PanelModel>);
210
+ get renderedPanels(): Array<PanelModel>;
211
+ private isPanelsAnimationRunning;
212
+ private getPanelsAnimationOptions;
213
+ private _panelsAnimations;
214
+ private disablePanelsAnimations;
215
+ private enablePanelsAnimations;
216
+ private updatePanelsAnimation;
217
+ get panelsAnimation(): AnimationProperty<Array<PanelModel>, IAnimationGroupConsumer<PanelModel>>;
218
+ onHidingContent(): void;
219
+ /**
220
+ * Specifies whether to display a confirmation dialog when a respondent wants to delete a panel.
221
+ * @see confirmDeleteText
222
+ */
223
+ get confirmDelete(): boolean;
224
+ set confirmDelete(val: boolean);
225
+ /**
226
+ * Specifies a key question. Set this property to the name of a question used in the template, and Dynamic Panel will display `keyDuplicationError` if a user tries to enter a duplicate value in this question.
227
+ * @see keyDuplicationError
228
+ */
229
+ get keyName(): string;
230
+ set keyName(val: string);
231
+ /**
232
+ * A message displayed in a confirmation dialog that appears when a respondent wants to delete a panel.
233
+ * @see confirmDelete
234
+ */
235
+ get confirmDeleteText(): string;
236
+ set confirmDeleteText(val: string);
237
+ get locConfirmDeleteText(): LocalizableString;
238
+ /**
239
+ * An error message displayed when users enter a duplicate value into a question that accepts only unique values (`isUnique` is set to `true` or `keyName` is specified).
240
+ *
241
+ * A default value for this property is taken from a [localization dictionary](https://github.com/surveyjs/survey-library/tree/01bd8abd0c574719956d4d579d48c8010cd389d4/packages/survey-core/src/localization). Refer to the following help topic for more information: [Localization & Globalization](https://surveyjs.io/form-library/documentation/localization).
242
+ * @see keyName
243
+ */
244
+ get keyDuplicationError(): string;
245
+ set keyDuplicationError(val: string);
246
+ get locKeyDuplicationError(): LocalizableString;
247
+ /**
248
+ * A caption for the Previous button. Applies only if `displayMode` is different from `"list"`.
249
+ * @see displayMode
250
+ * @see isPrevButtonVisible
251
+ */
252
+ get prevPanelText(): string;
253
+ set prevPanelText(val: string);
254
+ get locPrevPanelText(): LocalizableString;
255
+ /**
256
+ * @deprecated Use the [`prevPanelText`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#prevPanelText) property instead.
257
+ */
258
+ get panelPrevText(): string;
259
+ set panelPrevText(val: string);
260
+ get locPanelPrevText(): LocalizableString;
261
+ /**
262
+ * A caption for the Next button. Applies only if `displayMode` is different from `"list"`.
263
+ * @see displayMode
264
+ * @see isNextButtonVisible
265
+ */
266
+ get nextPanelText(): string;
267
+ set nextPanelText(val: string);
268
+ get locNextPanelText(): LocalizableString;
269
+ /**
270
+ * @deprecated Use the [`nextPanelText`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#nextPanelText) property instead.
271
+ */
272
+ get panelNextText(): string;
273
+ set panelNextText(val: string);
274
+ get locPanelNextText(): LocalizableString;
275
+ /**
276
+ * A caption for the Add Panel button.
277
+ */
278
+ get addPanelText(): string;
279
+ set addPanelText(value: string);
280
+ get locAddPanelText(): LocalizableString;
281
+ /**
282
+ * @deprecated Use the [`addPanelText`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#addPanelText) property instead.
283
+ */
284
+ get panelAddText(): string;
285
+ set panelAddText(value: string);
286
+ get locPanelAddText(): LocalizableString;
287
+ /**
288
+ * A caption for the Remove Panel button.
289
+ * @see removePanelButtonLocation
290
+ */
291
+ get removePanelText(): string;
292
+ set removePanelText(val: string);
293
+ get locRemovePanelText(): LocalizableString;
294
+ /**
295
+ * @deprecated Use the [`removePanelText`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#removePanelText) property instead.
296
+ */
297
+ get panelRemoveText(): string;
298
+ set panelRemoveText(val: string);
299
+ get locPanelRemoveText(): LocalizableString;
300
+ get isProgressTopShowing(): boolean;
301
+ get isProgressBottomShowing(): boolean;
302
+ /**
303
+ * Indicates whether the Previous button is visible.
304
+ * @see currentIndex
305
+ * @see currentPanel
306
+ * @see prevPanelText
307
+ */
308
+ get isPrevButtonVisible(): boolean;
309
+ get isPrevButtonShowing(): boolean;
310
+ /**
311
+ * Indicates whether the Next button is visible.
312
+ * @see currentIndex
313
+ * @see currentPanel
314
+ * @see nextPanelText
315
+ */
316
+ get isNextButtonVisible(): boolean;
317
+ get isNextButtonShowing(): boolean;
318
+ get isRangeShowing(): boolean;
319
+ getElementsInDesign(includeHidden?: boolean): Array<IElement>;
320
+ private isAddingNewPanels;
321
+ private addingNewPanelsValue;
322
+ private isNewPanelsValueChanged;
323
+ private prepareValueForPanelCreating;
324
+ private setValueAfterPanelsCreating;
325
+ protected getValueCore(): any;
326
+ protected setValueCore(newValue: any): void;
327
+ setIsMobile(val: boolean): void;
328
+ themeChanged(theme: ITheme): void;
329
+ /**
330
+ * The number of panels in Dynamic Panel.
331
+ * @see minPanelCount
332
+ * @see maxPanelCount
333
+ */
334
+ get panelCount(): number;
335
+ set panelCount(val: number);
336
+ /**
337
+ * Returns the number of visible panels in Dynamic Panel.
338
+ * @see templateVisibleIf
339
+ */
340
+ get visiblePanelCount(): number;
341
+ /**
342
+ * Specifies whether users can expand and collapse panels. Applies if `displayMode` is `"list"` and the `templateTitle` property is specified.
343
+ *
344
+ * Possible values:
345
+ *
346
+ * - `"default"` (default) - All panels are displayed in full and cannot be collapsed.
347
+ * - `"expanded"` - All panels are displayed in full and can be collapsed in the UI.
348
+ * - `"collapsed"` - All panels display only their titles and descriptions and can be expanded in the UI.
349
+ * - `"firstExpanded"` - Only the first panel is displayed in full; other panels are collapsed and can be expanded in the UI.
350
+ * @see displayMode
351
+ * @see templateTitle
352
+ */
353
+ get panelsState(): string;
354
+ set panelsState(val: string);
355
+ private setTemplatePanelSurveyImpl;
356
+ private setPanelsSurveyImpl;
357
+ private setPanelsState;
358
+ private setValueBasedOnPanelCount;
359
+ /**
360
+ * A minimum number of panels in Dynamic Panel. Users cannot delete panels if `panelCount` equals `minPanelCount`.
361
+ *
362
+ * Default value: 0
363
+ * @see panelCount
364
+ * @see maxPanelCount
365
+ * @see allowRemovePanel
366
+ */
367
+ get minPanelCount(): number;
368
+ set minPanelCount(val: number);
369
+ private onMinPanelCountChanged;
370
+ /**
371
+ * A maximum number of panels in Dynamic Panel. Users cannot add new panels if `panelCount` equals `maxPanelCount`.
372
+ *
373
+ * Default value: 100 (inherited from [`settings.panel.maxPanelCount`](https://surveyjs.io/form-library/documentation/settings#panelMaximumPanelCount))
374
+ * @see panelCount
375
+ * @see minPanelCount
376
+ * @see allowAddPanel
377
+ */
378
+ get maxPanelCount(): number;
379
+ set maxPanelCount(val: number);
380
+ private onMaxPanelCountChanged;
381
+ /**
382
+ * Specifies whether users are allowed to add new panels.
383
+ *
384
+ * Default value: `true`
385
+ *
386
+ * 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"`.
387
+ * @see canAddPanel
388
+ * @see allowRemovePanel
389
+ */
390
+ get allowAddPanel(): boolean;
391
+ set allowAddPanel(val: boolean);
392
+ get addButtonId(): string;
393
+ /**
394
+ * Specifies the position of newly added panels.
395
+ *
396
+ * Possible values:
397
+ *
398
+ * - `"last"` (default) - New panels are added to the end.
399
+ * - `"next"` - New panels are inserted after the current panel.
400
+ * @see allowAddPanel
401
+ * @see addPanel
402
+ */
403
+ get newPanelPosition(): string;
404
+ set newPanelPosition(val: string);
405
+ /**
406
+ * Specifies whether users are allowed to delete panels.
407
+ *
408
+ * Default value: `true`
409
+ * @see canRemovePanel
410
+ * @see allowAddPanel
411
+ */
412
+ get allowRemovePanel(): boolean;
413
+ set allowRemovePanel(val: boolean);
414
+ /**
415
+ * Gets or sets the location of question titles relative to their input fields.
416
+ *
417
+ * - `"default"` (default) - Inherits the setting from the Dynamic Panel's `titleLocation` property, which in turn inherits the [`questionTitleLocation`](https://surveyjs.io/form-library/documentation/surveymodel#questionTitleLocation) property value specified for the Dynamic Panel's container (page or survey).
418
+ * - `"top"` - Displays question titles above input fields.
419
+ * - `"bottom"` - Displays question titles below input fields.
420
+ * - `"left"` - Displays question titles to the left of input fields.
421
+ * - `"hidden"` - Hides question titles.
422
+ * @see titleLocation
423
+ */
424
+ get templateQuestionTitleLocation(): string;
425
+ set templateQuestionTitleLocation(val: string);
426
+ /**
427
+ * @deprecated Use the [`templateQuestionTitleLocation`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateQuestionTitleLocation) property instead.
428
+ */
429
+ get templateTitleLocation(): string;
430
+ set templateTitleLocation(val: string);
431
+ /**
432
+ * Specifies the error message position.
433
+ *
434
+ * Possible values:
435
+ *
436
+ * - `"default"` (default) - Inherits the setting from the [`errorLocation`](#errorLocation) property.
437
+ * - `"top"` - Displays error messages above questions.
438
+ * - `"bottom"` - Displays error messages below questions.
439
+ */
440
+ get templateErrorLocation(): string;
441
+ set templateErrorLocation(value: string);
442
+ /**
443
+ * Use this property to show/hide the numbers in titles in questions inside a dynamic panel.
444
+ * By default the value is "off". You may set it to "onPanel" and the first question inside a dynamic panel will start with 1 or "onSurvey" to include nested questions in dymamic panels into global survey question numbering.
445
+ */
446
+ get showQuestionNumbers(): string;
447
+ set showQuestionNumbers(val: string);
448
+ protected notifySurveyOnChildrenVisibilityChanged(): boolean;
449
+ /**
450
+ * Specifies the location of the Remove Panel button relative to panel content.
451
+ *
452
+ * Possible values:
453
+ *
454
+ * - `"bottom"` (default) - Displays the Remove Panel button below panel content.
455
+ * - `"right"` - Displays the Remove Panel button to the right of panel content.
456
+ * @see removePanelText
457
+ */
458
+ get removePanelButtonLocation(): string;
459
+ set removePanelButtonLocation(val: string);
460
+ /**
461
+ * @deprecated Use the [`removePanelButtonLocation`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#removePanelButtonLocation) property instead.
462
+ */
463
+ get panelRemoveButtonLocation(): string;
464
+ set panelRemoveButtonLocation(val: string);
465
+ /**
466
+ * @deprecated Use the [`showProgressBar`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#showProgressBar) property instead.
467
+ */
468
+ get showRangeInProgress(): boolean;
469
+ set showRangeInProgress(val: boolean);
470
+ /**
471
+ * @deprecated Use the [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#displayMode) property instead.
472
+ */
473
+ get renderMode(): string;
474
+ set renderMode(val: string);
475
+ private updatePanelView;
476
+ /**
477
+ * Specifies how to display panels.
478
+ *
479
+ * Possible values:
480
+ *
481
+ * - `"list"` (default) - Displays panels one under the other. [View Demo](https://surveyjs.io/form-library/examples/duplicate-group-of-fields-in-form/)
482
+ * - `"carousel"` - Displays panels in a carousel. Users can switch between panels using navigation buttons.
483
+ * - `"tab"` - Displays each panel within a tab. Use the [`templateTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle) to specify a template for tab titles. [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/)
484
+ * @see showProgressBar
485
+ * @see progressBarLocation
486
+ */
487
+ displayMode: "list" | "carousel" | "tab";
488
+ /**
489
+ * Specifies whether to display the progress bar. Applies only if [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#displayMode) is `"carousel"`.
490
+ *
491
+ * Default value: `true`
492
+ * @see progressBarLocation
493
+ */
494
+ showProgressBar: true | false;
495
+ /**
496
+ * Specifies the alignment of the [progress bar](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#showProgressBar) relative to the currently displayed panel. Applies only if [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#displayMode) is `"carousel"`.
497
+ *
498
+ * Possible values:
499
+ *
500
+ * - `"top"` (default) - Displays the progress bar at the top of the current panel.
501
+ * - `"bottom"` - Displays the progress bar at the bottom of the current panel.
502
+ * - `"topBottom"` - Displays the progress bar at the top and bottom of the current panel.
503
+ */
504
+ progressBarLocation: "top" | "bottom" | "topBottom";
505
+ get tabAlign(): "center" | "left" | "right";
506
+ set tabAlign(val: "center" | "left" | "right");
507
+ get isRenderModeList(): boolean;
508
+ get isRenderModeTab(): boolean;
509
+ get hasTitleOnLeftTop(): boolean;
510
+ setVisibleIndex(value: number): number;
511
+ private setPanelVisibleIndex;
512
+ /**
513
+ * Indicates whether it is possible to add a new panel.
514
+ *
515
+ * This property returns `true` when all of the following conditions apply:
516
+ *
517
+ * - Users are allowed to add new panels (`allowAddPanel` is `true`).
518
+ * - Dynamic Panel or its parent survey is not in read-only state.
519
+ * - `panelCount` is less than `maxPanelCount`.
520
+ * @see allowAddPanel
521
+ * @see isReadOnly
522
+ * @see panelCount
523
+ * @see maxPanelCount
524
+ * @see canRemovePanel
525
+ */
526
+ get canAddPanel(): boolean;
527
+ /**
528
+ * Indicates whether it is possible to delete panels.
529
+ *
530
+ * This property returns `true` when all of the following conditions apply:
531
+ *
532
+ * - Users are allowed to delete panels (`allowRemovePanel` is `true`).
533
+ * - Dynamic Panel or its parent survey is not in read-only state.
534
+ * - `panelCount` exceeds `minPanelCount`.
535
+ * @see allowRemovePanel
536
+ * @see isReadOnly
537
+ * @see panelCount
538
+ * @see minPanelCount
539
+ * @see canAddPanel
540
+ */
541
+ get canRemovePanel(): boolean;
542
+ protected rebuildPanels(): void;
543
+ /**
544
+ * If it is not empty, then this value is set to every new panel, including panels created initially, unless the defaultValue is not empty
545
+ * @see defaultValue
546
+ * @see copyDefaultValueFromLastEntry
547
+ */
548
+ get defaultPanelValue(): any;
549
+ set defaultPanelValue(val: any);
550
+ /**
551
+ * Specifies whether default values for a new panel should be copied from the last panel.
552
+ *
553
+ * If you also specify `defaultValue`, it will be merged with the copied values.
554
+ * @see defaultValue
555
+ */
556
+ get copyDefaultValueFromLastEntry(): boolean;
557
+ set copyDefaultValueFromLastEntry(val: boolean);
558
+ /**
559
+ * @deprecated Use the [`copyDefaultValueFromLastEntry`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#copyDefaultValueFromLastEntry) property instead.
560
+ */
561
+ get defaultValueFromLastPanel(): boolean;
562
+ set defaultValueFromLastPanel(val: boolean);
563
+ protected isDefaultValueEmpty(): boolean;
564
+ protected setDefaultValue(): void;
565
+ get isValueArray(): boolean;
566
+ isEmpty(): boolean;
567
+ getProgressInfo(): IProgressInfo;
568
+ private isRowEmpty;
569
+ /**
570
+ * @deprecated Call the [`addPanel(undefined, true)`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#addPanel) method instead.
571
+ */
572
+ addPanelUI(): PanelModel;
573
+ /**
574
+ * Adds a new panel based on the [template](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#template).
575
+ * @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 [`displayMode`](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 `displayMode` value.
576
+ * @param runAdditionalActions *(Optional)* Pass `true` if you want to perform additional actions: check whether a new panel [can be added](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#canAddPanel), expand and focus the new panel, and run animated effects. Default value: `false` (the listed actions are skipped).
577
+ * @see panelCount
578
+ * @see panels
579
+ * @see allowAddPanel
580
+ * @see newPanelPosition
581
+ */
582
+ addPanel(index?: number, runAdditionalActions?: boolean): PanelModel;
583
+ private addPanelCore;
584
+ private focusNewPanelCallback;
585
+ private focusNewPanel;
586
+ private updateValueOnAddingPanel;
587
+ private canLeaveCurrentPanel;
588
+ private copyValue;
589
+ getPanelRemoveButtonId(panel: PanelModel): string;
590
+ isRequireConfirmOnDelete(val: any): boolean;
591
+ /**
592
+ * Switches Dynamic Panel to the next panel. Returns `true` in case of success, or `false` if `displayMode` is `"list"` or the current panel contains validation errors.
593
+ * @see displayMode
594
+ */
595
+ goToNextPanel(): boolean;
596
+ /**
597
+ * Switches Dynamic Panel to the previous panel.
598
+ */
599
+ goToPrevPanel(): void;
600
+ /**
601
+ * @deprecated Call the [`removePanel(value, true)`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#removePanel) method instead.
602
+ */
603
+ removePanelUI(value: any): void;
604
+ /**
605
+ * Deletes a panel from the [`panels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#panels) array.
606
+ * @param value A `PanelModel` instance or zero-based panel index.
607
+ * @param confirmDelete *(Optional)* Pass `true` if you want to perform additional actions: check whether the panel [can be removed](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#canRemovePanel) and display a confirmation dialog.
608
+ * @see addPanel
609
+ */
610
+ removePanel(value: any, confirmDelete?: boolean): void;
611
+ private removedPanelIndex;
612
+ private removePanelCore;
613
+ private getVisualPanelIndex;
614
+ private getPanelVisibleIndexById;
615
+ locStrsChanged(): void;
616
+ clearIncorrectValues(): void;
617
+ clearErrors(): void;
618
+ getQuestionFromArray(name: string, index: number): IQuestion;
619
+ private clearIncorrectValuesInPanel;
620
+ private iscorrectValueWithPostPrefix;
621
+ getSharedQuestionFromArray(name: string, panelIndex: number): Question;
622
+ addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
623
+ protected collectNestedQuestionsCore(questions: Question[], visibleOnly: boolean): void;
624
+ getConditionJson(operator?: string, path?: string): any;
625
+ protected onReadOnlyChanged(): void;
626
+ private updateNoEntriesTextDefaultLoc;
627
+ onSurveyLoad(): void;
628
+ private hasPanelBuildFirstTime;
629
+ private isBuildingPanelsFirstTime;
630
+ private buildPanelsFirstTime;
631
+ private get showAddPanelButton();
632
+ private get wasNotRenderedInSurvey();
633
+ private get canBuildPanels();
634
+ protected onFirstRenderingCore(): void;
635
+ localeChanged(): void;
636
+ protected runConditionCore(values: HashTable<any>, properties: HashTable<any>): void;
637
+ runTriggers(name: string, value: any, keys?: any): void;
638
+ private reRunCondition;
639
+ protected runPanelsCondition(panels: PanelModel[], values: HashTable<any>, properties: HashTable<any>): void;
640
+ onAnyValueChanged(name: string, questionName: string): void;
641
+ private hasKeysDuplicated;
642
+ private updatePanelsContainsErrors;
643
+ hasErrors(fireCallback?: boolean, rec?: any): boolean;
644
+ protected getContainsErrors(): boolean;
645
+ protected getIsAnswered(): boolean;
646
+ protected clearValueOnHidding(isClearOnHidden: boolean): void;
647
+ clearValueIfInvisible(reason?: string): void;
648
+ private clearValueInPanelsIfInvisible;
649
+ protected getIsRunningValidators(): boolean;
650
+ getAllErrors(): Array<SurveyError>;
651
+ protected getDisplayValueCore(keysAsText: boolean, value: any): any;
652
+ private getPanelDisplayValue;
653
+ private hasErrorInPanels;
654
+ private setOnCompleteAsyncInPanel;
655
+ private isValueDuplicated;
656
+ getPanelActions(panel: PanelModel): Array<IAction>;
657
+ canRenderRemovePanelOnRight(panel: PanelModel): boolean;
658
+ private canRenderRemovePanel;
659
+ protected createNewPanel(): PanelModel;
660
+ protected createAndSetupNewPanelObject(): PanelModel;
661
+ private getTemplateQuestionTitleLocation;
662
+ getChildErrorLocation(child: Question): string;
663
+ protected createNewPanelObject(): PanelModel;
664
+ private settingPanelCountBasedOnValue;
665
+ private setPanelCountBasedOnValue;
666
+ setQuestionValue(newValue: any): void;
667
+ onSurveyValueChanged(newValue: any): void;
668
+ private isAllPanelsEmpty;
669
+ private panelUpdateValueFromSurvey;
670
+ private panelSurveyValueChanged;
671
+ protected onSetData(): void;
672
+ protected isNewValueCorrect(val: any): boolean;
673
+ getItemIndex(item: ISurveyData): number;
674
+ getVisibleItemIndex(item: ISurveyData): number;
675
+ getPanelItemData(item: ISurveyData): any;
676
+ private isSetPanelItemData;
677
+ private static maxCheckCount;
678
+ setPanelItemData(item: ISurveyData, name: string, val: any): void;
679
+ getRootData(): ISurveyData;
680
+ getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
681
+ updateElementCss(reNew?: boolean): void;
682
+ get progressText(): string;
683
+ get progress(): string;
684
+ getRootCss(): string;
685
+ get cssHeader(): string;
686
+ getPanelWrapperCss(panel: PanelModel): string;
687
+ getPanelRemoveButtonCss(): string;
688
+ getAddButtonCss(): string;
689
+ getPrevButtonCss(): string;
690
+ getNextButtonCss(): string;
691
+ /**
692
+ * A text displayed when Dynamic Panel contains no entries.
693
+ */
694
+ get noEntriesText(): string;
695
+ set noEntriesText(val: string);
696
+ get locNoEntriesText(): LocalizableString;
697
+ getShowNoEntriesPlaceholder(): boolean;
698
+ needResponsiveWidth(): boolean;
699
+ private additionalTitleToolbarValue;
700
+ get hasAdditionalTitleToolbar(): boolean;
701
+ protected getAdditionalTitleToolbar(): AdaptiveActionContainer | null;
702
+ private footerToolbarValue;
703
+ get footerToolbar(): ActionContainer;
704
+ legacyNavigation: boolean;
705
+ private updateFooterActionsCallback;
706
+ private updateFooterActions;
707
+ private initFooterToolbar;
708
+ private createTabByPanel;
709
+ private getAdditionalTitleToolbarCss;
710
+ private updateTabToolbarItemsPressedState;
711
+ private updateTabToolbar;
712
+ private addTabFromToolbar;
713
+ private removeTabFromToolbar;
714
+ get showLegacyNavigation(): boolean;
715
+ get showNavigation(): boolean;
716
+ showSeparator(index: number): boolean;
717
+ protected calcCssClasses(css: any): any;
718
+ protected onMobileChanged(): void;
719
+ }