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,633 @@
1
+ import { HashTable } from "./helpers";
2
+ import { Base } from "./base";
3
+ import { ISurveyImpl, IPage, IPanel, IConditionRunner, IElement, ISurveyElement, IQuestion, ISurveyErrorOwner, ITitleOwner, IProgressInfo, ISurvey, IFindElement } from "./base-interfaces";
4
+ import { DragTypeOverMeEnum, SurveyElement } from "./survey-element";
5
+ import { Question } from "./question";
6
+ import { LocalizableString } from "./localizablestring";
7
+ import { findScrollableParent } from "./utils/utils";
8
+ import { SurveyError } from "./survey-error";
9
+ import { IAction } from "./actions/action";
10
+ import { ActionContainer } from "./actions/container";
11
+ import { AnimationGroup } from "./utils/animation";
12
+ import { PanelLayoutColumnModel } from "./panel-layout-column";
13
+ export declare class QuestionRowModel extends Base {
14
+ panel: PanelModelBase;
15
+ private static rowCounter;
16
+ private static getRowId;
17
+ protected _scrollableParent: any;
18
+ protected _updateVisibility: any;
19
+ private get allowRendering();
20
+ startLazyRendering(rowContainerDiv: HTMLElement, findScrollableContainer?: typeof findScrollableParent): void;
21
+ ensureVisibility(): void;
22
+ stopLazyRendering(): void;
23
+ private idValue;
24
+ constructor(panel: PanelModelBase);
25
+ private isLazyRenderingValue;
26
+ setIsLazyRendering(val: boolean): void;
27
+ isLazyRendering(): boolean;
28
+ get id(): string;
29
+ protected equalsCore(obj: Base): boolean;
30
+ get elements(): Array<IElement>;
31
+ protected getIsAnimationAllowed(): boolean;
32
+ private getVisibleElementsAnimationOptions;
33
+ visibleElementsAnimation: AnimationGroup<IElement>;
34
+ set visibleElements(val: Array<IElement>);
35
+ get visibleElements(): Array<IElement>;
36
+ onVisibleChangedCallback: () => void;
37
+ get visible(): boolean;
38
+ set visible(val: boolean);
39
+ get isNeedRender(): boolean;
40
+ set isNeedRender(val: boolean);
41
+ updateVisible(): void;
42
+ addElement(q: IElement): void;
43
+ get index(): number;
44
+ private setWidth;
45
+ private getRenderedCalcWidth;
46
+ private getElementWidth;
47
+ private getRenderedWidthFromWidth;
48
+ dragTypeOverMe: DragTypeOverMeEnum;
49
+ dispose(): void;
50
+ getRowCss(): string;
51
+ private rootElement?;
52
+ setRootElement(element?: HTMLElement): void;
53
+ getRootElement(): HTMLElement;
54
+ }
55
+ /**
56
+ * A base class for the [`PanelModel`](https://surveyjs.io/form-library/documentation/panelmodel) and [`PageModel`](https://surveyjs.io/form-library/documentation/pagemodel) classes.
57
+ */
58
+ export declare class PanelModelBase extends SurveyElement<Question> implements IPanel, IConditionRunner, ISurveyErrorOwner, ITitleOwner {
59
+ private static panelCounter;
60
+ private static getPanelId;
61
+ private elementsValue;
62
+ private isQuestionsReady;
63
+ private questionsValue;
64
+ private _columns;
65
+ private _columnsReady;
66
+ /**
67
+ * An array of columns used to arrange survey elements within this page or panel. Applies only if you set the `SurveyModel`'s [`gridLayoutEnabled`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#gridLayoutEnabled) property to `true`.
68
+ *
69
+ * Each object in this array configures a single layout column and has the following properties:
70
+ *
71
+ * - `width`: `number`\
72
+ * Column width, in percentage.
73
+ *
74
+ * - `questionTitleWidth`: `string`\
75
+ * The width of question titles, in pixels.
76
+ *
77
+ * The `gridLayoutColumns` array is generated automatically based on the maximum number of questions and panels in the same row. To arrange the survey elements in one or several rows, disable the [`startWithNewLine`](https://surveyjs.io/form-library/documentation/api-reference/question#startWithNewLine) property for those elements that should occupy the same row as the previous question or panel. You can also set the [`colSpan`](https://surveyjs.io/form-library/documentation/api-reference/question#colSpan) property for individual questions and panels to specify how many layout columns they span.
78
+ */
79
+ gridLayoutColumns: Array<PanelLayoutColumnModel>;
80
+ addElementCallback: (element: IElement) => void;
81
+ removeElementCallback: (element: IElement) => void;
82
+ onGetQuestionTitleLocation: () => string;
83
+ onAddRow(row: QuestionRowModel): void;
84
+ private getRowsAnimationOptions;
85
+ private rowsAnimation;
86
+ get visibleRows(): Array<QuestionRowModel>;
87
+ set visibleRows(val: Array<QuestionRowModel>);
88
+ onRemoveRow(row: QuestionRowModel): void;
89
+ onRowVisibleChanged(): void;
90
+ constructor(name?: string);
91
+ getType(): string;
92
+ setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
93
+ endLoadingFromJson(): void;
94
+ showTitle: boolean;
95
+ get hasTextInTitle(): boolean;
96
+ private resetHasTextInTitle;
97
+ get hasTitle(): boolean;
98
+ delete(doDispose?: boolean): void;
99
+ private deletePanel;
100
+ protected removeFromParent(): void;
101
+ protected canShowTitle(survey: ISurvey): boolean;
102
+ showDescription: boolean;
103
+ get _showDescription(): boolean;
104
+ localeChanged(): void;
105
+ locStrsChanged(): void;
106
+ getMarkdownHtml(text: string, name: string): string;
107
+ get locNavigationTitle(): LocalizableString;
108
+ get renderedNavigationTitle(): string;
109
+ /**
110
+ * Returns a character or text string that indicates a required panel/page.
111
+ * @see SurveyModel.requiredMark
112
+ * @see isRequired
113
+ */
114
+ get requiredMark(): string;
115
+ /**
116
+ * @deprecated Use the [`requiredMark`](https://surveyjs.io/form-library/documentation/api-reference/panel-model#requiredMark) property instead.
117
+ */
118
+ get requiredText(): string;
119
+ protected get titlePattern(): string;
120
+ get isRequireTextOnStart(): boolean;
121
+ get isRequireTextBeforeTitle(): boolean;
122
+ get isRequireTextAfterTitle(): boolean;
123
+ /**
124
+ * Specifies a custom error message for a required panel/page.
125
+ * @see isRequired
126
+ * @see requiredIf
127
+ */
128
+ get requiredErrorText(): string;
129
+ set requiredErrorText(val: string);
130
+ get locRequiredErrorText(): LocalizableString;
131
+ /**
132
+ * Specifies the sort order of questions in the panel/page.
133
+ *
134
+ * Possible values:
135
+ *
136
+ * - `"initial"` - Preserves the original order of questions.
137
+ * - `"random"` - Displays questions in random order.
138
+ * - `"default"` (default) - Inherits the setting from the `SurveyModel`'s [`questionOrder`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionOrder) property.
139
+ * @see areQuestionsRandomized
140
+ */
141
+ get questionOrder(): string;
142
+ set questionOrder(val: string);
143
+ /**
144
+ * @deprecated Use the [`questionOrder`](https://surveyjs.io/form-library/documentation/api-reference/panel-model#questionOrder) property instead.
145
+ */
146
+ get questionsOrder(): string;
147
+ set questionsOrder(val: string);
148
+ private canRandomize;
149
+ protected isRandomizing: boolean;
150
+ randomizeElements(isRandom: boolean): boolean;
151
+ /**
152
+ * Returns `true` if elements in this panel/page are arranged in random order.
153
+ * @see questionOrder
154
+ */
155
+ get areQuestionsRandomized(): boolean;
156
+ /**
157
+ * Returns a survey element (panel or page) that contains this panel and allows you to move the panel to a different survey element.
158
+ *
159
+ * For `PageModel` objects, the `parent` property is `null`, except in the following cases:
160
+ *
161
+ * - `SurveyModel`'s [`questionsOnPageMode`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionsOnPageMode) is set to `"singlePage"`.
162
+ * - The page is included in a [preview of given answers](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#preview-page).
163
+ *
164
+ * In those cases, the survey creates an internal `PageModel` object to show all questions on one page, and the `parent` property contains this object.
165
+ */
166
+ get parent(): PanelModelBase;
167
+ set parent(val: PanelModelBase);
168
+ get depth(): number;
169
+ /**
170
+ * A Boolean expression. If it evaluates to `false`, this panel/page becomes hidden.
171
+ *
172
+ * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
173
+ *
174
+ * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
175
+ * @see visible
176
+ * @see isVisible
177
+ */
178
+ get visibleIf(): string;
179
+ set visibleIf(val: string);
180
+ protected calcCssClasses(css: any): any;
181
+ /**
182
+ * An auto-generated unique element identifier.
183
+ */
184
+ get id(): string;
185
+ set id(val: string);
186
+ get isPanel(): boolean;
187
+ getPanel(): IPanel;
188
+ getLayoutType(): string;
189
+ isLayoutTypeSupported(layoutType: string): boolean;
190
+ /**
191
+ * An array of all questions within this panel/page. Includes questions within nested panels.
192
+ * @see elements
193
+ */
194
+ get questions(): Array<Question>;
195
+ getQuestions(includeNested: boolean): Array<Question>;
196
+ protected getValidName(name: string): string;
197
+ /**
198
+ * Returns a question with a specified `name`. This method does not find questions within nested panels.
199
+ * @param name A question name.
200
+ */
201
+ getQuestionByName(name: string): Question;
202
+ /**
203
+ * Returns a survey element with a specified `name`. This method can find survey elements within nested elements.
204
+ * @param name An element name.
205
+ */
206
+ getElementByName(name: string): IElement;
207
+ getQuestionByValueName(valueName: string): Question;
208
+ getQuestionsByValueName(valueName: string): Array<Question>;
209
+ /**
210
+ * Returns a JSON object with question values nested in the panel/page.
211
+ * @see getDisplayValue
212
+ */
213
+ getValue(): any;
214
+ collectValues(data: any, level: number): boolean;
215
+ /**
216
+ * Returns a JSON object with display texts that correspond to question values nested in the panel/page.
217
+ * @param keysAsText Pass `true` if not only values in the object should be display texts, but also keys. Default value: `false`.
218
+ * @see getValue
219
+ */
220
+ getDisplayValue(keysAsText: boolean): any;
221
+ /**
222
+ * Returns a JSON object with comments left to questions within this panel/page. Question names are used as keys.
223
+ */
224
+ getComments(): any;
225
+ /**
226
+ * Removes values that cannot be assigned to nested questions, for example, choices unlisted in the `choices` array.
227
+ *
228
+ * Call this method after you assign new question values in code to ensure that they are acceptable.
229
+ *
230
+ * > This method does not remove values for invisible questions and values that fail validation. Call the `validate()` method to validate newly assigned values.
231
+ *
232
+ * @see validate
233
+ */
234
+ clearIncorrectValues(): void;
235
+ /**
236
+ * Empties the `errors` array for this panel/page and all its child elements (panels and questions).
237
+ * @see errors
238
+ */
239
+ clearErrors(): void;
240
+ private markQuestionListDirty;
241
+ /**
242
+ * An array of all survey elements (questions or panels) within this panel/page. Does not include questions within nested panels.
243
+ * @see questions
244
+ */
245
+ get elements(): Array<IElement>;
246
+ getElementsInDesign(includeHidden?: boolean): Array<IElement>;
247
+ /**
248
+ * Checks whether a given element belongs to this panel/page or nested panels.
249
+ * @param element A survey element to check.
250
+ */
251
+ containsElement(element: IElement): boolean;
252
+ /**
253
+ * Makes the panel/page require an answer at least in one nested question. If a respondent leaves the panel/page without any answers, the survey displays a validation error.
254
+ * @see requiredIf
255
+ * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)
256
+ */
257
+ get isRequired(): boolean;
258
+ set isRequired(val: boolean);
259
+ /**
260
+ * A Boolean expression. If it evaluates to `true`, this panel/page becomes required (at least one question in the panel/page should have an answer).
261
+ *
262
+ * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
263
+ *
264
+ * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
265
+ * @see isRequired
266
+ */
267
+ get requiredIf(): string;
268
+ set requiredIf(val: string);
269
+ searchText(text: string, founded: Array<IFindElement>): void;
270
+ hasErrors(fireCallback?: boolean, focusOnFirstError?: boolean, rec?: any): boolean;
271
+ /**
272
+ * Validates questions within this panel or page and returns `false` if the validation fails.
273
+ * @param fireCallback *(Optional)* Pass `false` if you do not want to show validation errors in the UI.
274
+ * @param focusFirstError *(Optional)* Pass `true` if you want to focus the first question with a validation error.
275
+ * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)
276
+ */
277
+ validate(fireCallback?: boolean, focusFirstError?: boolean, rec?: any): boolean;
278
+ validateContainerOnly(): void;
279
+ onQuestionValueChanged(el: IElement): void;
280
+ private hasErrorsInPanels;
281
+ getErrorCustomText(text: string, error: SurveyError): string;
282
+ private hasRequiredError;
283
+ protected hasErrorsCore(rec: any): void;
284
+ protected getContainsErrors(): boolean;
285
+ updateElementVisibility(): void;
286
+ getFirstQuestionToFocus(withError?: boolean, ignoreCollapseState?: boolean): Question;
287
+ getFirstVisibleQuestion(): Question;
288
+ /**
289
+ * Focuses the first question in this panel/page.
290
+ * @see focusFirstErrorQuestion
291
+ */
292
+ focusFirstQuestion(): void;
293
+ /**
294
+ * Focuses the first question with a validation error in this panel/page.
295
+ * @see validate
296
+ * @see focusFirstQuestion
297
+ */
298
+ focusFirstErrorQuestion(): void;
299
+ addQuestionsToList(list: Array<IQuestion>, visibleOnly?: boolean, includingDesignTime?: boolean): void;
300
+ addPanelsIntoList(list: Array<IPanel>, visibleOnly?: boolean, includingDesignTime?: boolean): void;
301
+ private addElementsToList;
302
+ private addElementsToListCore;
303
+ private calcMaxRowColSpan;
304
+ private updateColumnWidth;
305
+ private onColumnPropertyValueChangedCallback;
306
+ updateColumns(): void;
307
+ updateRootStyle(): void;
308
+ updateCustomWidgets(): void;
309
+ /**
310
+ * Sets a title location relative to the input field for questions that belong to this panel/page.
311
+ *
312
+ * Use this property to override the `questionTitleLocation` property specified for the survey. You can also set the `titleLocation` property for individual questions.
313
+ *
314
+ * Possible values:
315
+ *
316
+ * - `"default"` (default) - Inherits the setting from the `questionTitleLocation` property specified for the survey.
317
+ * - `"top"` - Displays the title above the input field.
318
+ * - `"bottom"` - Displays the title below the input field.
319
+ * - `"left"` - Displays the title to the left of the input field.
320
+ * - `"hidden"` - Hides the question title.
321
+ *
322
+ * > Certain question types (Matrix, Multiple Text) do not support the `"left"` value. For them, the `"top"` value is used.
323
+ * @see SurveyModel.questionTitleLocation
324
+ */
325
+ get questionTitleLocation(): string;
326
+ set questionTitleLocation(value: string);
327
+ getQuestionTitleLocation(): string;
328
+ availableQuestionTitleWidth(): boolean;
329
+ hasElementWithTitleLocationLeft(): boolean;
330
+ /**
331
+ * Sets consistent width for question titles in CSS values. Applies only when [`questionTitleLocation`](#questionTitleLocation) evaluates to `"left"`.
332
+ *
333
+ * Default value: `undefined`
334
+ */
335
+ questionTitleWidth: string;
336
+ getQuestionTitleWidth(): string;
337
+ get columns(): Array<PanelLayoutColumnModel>;
338
+ protected generateColumns(): void;
339
+ updateGridColumns(): void;
340
+ getColumsForElement(el: IElement): Array<PanelLayoutColumnModel>;
341
+ protected getStartIndex(): string;
342
+ getQuestionStartIndex(): string;
343
+ getChildrenLayoutType(): string;
344
+ getProgressInfo(): IProgressInfo;
345
+ get root(): PanelModelBase;
346
+ protected childVisibilityChanged(): void;
347
+ protected canRenderFirstRows(): boolean;
348
+ private isLazyRenderInRow;
349
+ private createRowAndSetLazy;
350
+ protected createRow(): QuestionRowModel;
351
+ onSurveyLoad(): void;
352
+ protected onFirstRenderingCore(): void;
353
+ updateRows(): void;
354
+ get rows(): Array<QuestionRowModel>;
355
+ ensureRowsVisibility(): void;
356
+ protected onRowsChanged(): void;
357
+ private locCountRowUpdates;
358
+ private blockRowsUpdates;
359
+ private releaseRowsUpdates;
360
+ private updateRowsBeforeElementRemoved;
361
+ private updateRowsOnElementAdded;
362
+ private canFireAddRemoveNotifications;
363
+ protected onAddElement(element: IElement, index: number): void;
364
+ protected onRemoveElement(element: IElement): void;
365
+ protected unregisterElementPropertiesChanged(element: IElement): void;
366
+ private onRemoveElementNotifySurvey;
367
+ private onElementVisibilityChanged;
368
+ private onElementStartWithNewLineChanged;
369
+ private updateRowsVisibility;
370
+ canBuildRows(): boolean;
371
+ private buildRows;
372
+ protected getElementsForRows(): Array<IElement>;
373
+ getDragDropInfo(): any;
374
+ private updateRowsOnElementRemoved;
375
+ private updateRowsRemoveElementFromRow;
376
+ getAllRows(): Array<QuestionRowModel>;
377
+ private findRowAndIndexByElement;
378
+ private forceRenderRow;
379
+ forceRenderElement(el: IElement, elementsRendered?: () => void, gap?: number): void;
380
+ forceRenderRows(rows: Array<QuestionRowModel>, elementsRendered?: () => void): void;
381
+ findRowByElement(el: IElement): QuestionRowModel;
382
+ elementWidthChanged(el: IElement): void;
383
+ get processedTitle(): string;
384
+ protected getRenderedTitle(str: string): string;
385
+ /**
386
+ * Gets or sets panel/page visibility.
387
+ *
388
+ * If you want to display or hide a survey element based on a condition, specify the `visibleIf` property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
389
+ * @see visibleIf
390
+ * @see isVisible
391
+ */
392
+ get visible(): boolean;
393
+ set visible(value: boolean);
394
+ onHidingContent(): void;
395
+ protected onVisibleChanged(): void;
396
+ protected notifyStateChanged(prevState: string): void;
397
+ /**
398
+ * Returns `true` if the panel/page is visible or the survey is currently in design mode.
399
+ *
400
+ * If you want to display or hide a question based on a condition, specify the `visibleIf` property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
401
+ * @see visibleIf
402
+ * @see visible
403
+ */
404
+ get isVisible(): boolean;
405
+ getIsContentVisible(exceptionQuestion?: IQuestion): boolean;
406
+ getIsPageVisible(exceptionQuestion?: IQuestion): boolean;
407
+ private lastVisibleIndex;
408
+ setVisibleIndex(index: number): number;
409
+ private updateVisibleIndexes;
410
+ private resetVisibleIndexes;
411
+ protected beforeSetVisibleIndex(index: number): number;
412
+ protected getPanelStartIndex(index: number): number;
413
+ protected isContinueNumbering(): boolean;
414
+ get isReadOnly(): boolean;
415
+ protected onReadOnlyChanged(): void;
416
+ updateElementCss(reNew?: boolean): void;
417
+ /**
418
+ * A Boolean expression. If it evaluates to `false`, this panel/page becomes read-only.
419
+ *
420
+ * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
421
+ *
422
+ * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
423
+ * @see readOnly
424
+ * @see isReadOnly
425
+ */
426
+ get enableIf(): string;
427
+ set enableIf(val: string);
428
+ /**
429
+ * Adds a survey element (question or panel) to this panel/page. Returns `true` if the element was added successfully; `false` otherwise.
430
+ * @param element A survey element to add.
431
+ * @param index A desired index of this element in the `elements` array.
432
+ * @see addNewQuestion
433
+ * @see addNewPanel
434
+ */
435
+ addElement(element: IElement, index?: number): boolean;
436
+ insertElement(element: IElement, dest?: IElement, location?: "bottom" | "top" | "left" | "right"): void;
437
+ insertElementAfter(element: IElement, after: IElement): void;
438
+ insertElementBefore(element: IElement, before: IElement): void;
439
+ protected canAddElement(element: IElement): boolean;
440
+ addQuestion(question: Question, index?: number): boolean;
441
+ addPanel(panel: PanelModel, index?: number): boolean;
442
+ /**
443
+ * Creates a new question of a given type and adds it to the `elements` array at a specified index.
444
+ *
445
+ * This method returns `null` if the question cannot be created or added to this panel/page; otherwise, the method returns the created question.
446
+ *
447
+ * @param questionType A [question type](https://surveyjs.io/form-library/documentation/question#getType).
448
+ * @param name A question name.
449
+ * @param index A desired index of the new question in the `elements` array.
450
+ * @see elements
451
+ * @see addElement
452
+ */
453
+ addNewQuestion(questionType: string, name?: string, index?: number): Question;
454
+ /**
455
+ * Creates a new panel and adds it to the end of the `elements` array.
456
+ *
457
+ * This method returns `null` if the panel cannot be created or added to this panel/page; otherwise, the method returns the created panel.
458
+ * @param name A panel name.
459
+ * @see elementsup
460
+ * @see addElement
461
+ */
462
+ addNewPanel(name?: string): PanelModel;
463
+ indexOf(element: IElement): number;
464
+ protected createNewPanel(name: string): PanelModel;
465
+ /**
466
+ * Deletes a survey element (question or panel) from this panel/page. Returns `true` if the element was deleted successfully; `false` otherwise.
467
+ * @param element A survey element to delete.
468
+ * @see elements
469
+ */
470
+ removeElement(element: IElement): boolean;
471
+ removeQuestion(question: Question): void;
472
+ runCondition(values: HashTable<any>, properties: HashTable<any>): void;
473
+ onAnyValueChanged(name: string, questionName: string): void;
474
+ checkBindings(valueName: string, value: any): void;
475
+ dragDropFindRow(findElement: ISurveyElement): QuestionRowModel;
476
+ needResponsiveWidth(): boolean;
477
+ get hasDescriptionUnderTitle(): boolean;
478
+ get cssHeader(): string;
479
+ get cssDescription(): string;
480
+ /**
481
+ * Specifies the error message position for questions that belong to this page/panel.
482
+ *
483
+ * Use this property to override the [`questionErrorLocation`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionErrorLocation) property specified for the survey. You can also set the [`errorLocation`](https://surveyjs.io/form-library/documentation/question#errorLocation) property for individual questions.
484
+ *
485
+ * Possible values:
486
+ *
487
+ * - `"default"` (default) - Inherits the setting from the `questionErrorLocation` property specified for the survey.
488
+ * - `"top"` - Displays error messages above questions.
489
+ * - `"bottom"` - Displays error messages below questions.
490
+ */
491
+ get questionErrorLocation(): string;
492
+ set questionErrorLocation(val: string);
493
+ getQuestionErrorLocation(): string;
494
+ getTitleOwner(): ITitleOwner;
495
+ get no(): string;
496
+ get cssTitleNumber(): string;
497
+ get cssRequiredMark(): string;
498
+ get cssError(): string;
499
+ protected getCssError(cssClasses: any): string;
500
+ getSerializableColumnsValue(): Array<PanelLayoutColumnModel>;
501
+ afterRender(el: HTMLElement): void;
502
+ dispose(): void;
503
+ protected disposeElements(): void;
504
+ }
505
+ /**
506
+ * A class that describes the Panel container element.
507
+ *
508
+ * A panel can contain questions and other panels. Refer to the following help topic for an illustration: [Survey Structure](https://surveyjs.io/form-library/documentation/design-survey-create-a-simple-survey#survey-structure).
509
+ *
510
+ * [View Demo](https://surveyjs.io/form-library/examples/questiontype-panel/ (linkStyle))
511
+ */
512
+ export declare class PanelModel extends PanelModelBase implements IElement {
513
+ constructor(name?: string);
514
+ getType(): string;
515
+ get contentId(): string;
516
+ getSurvey(live?: boolean): ISurvey;
517
+ get isPanel(): boolean;
518
+ /**
519
+ * Returns a page to which the panel belongs and allows you to move this panel to a different page.
520
+ * @see PanelModelBase.parent
521
+ */
522
+ get page(): IPage;
523
+ set page(val: IPage);
524
+ protected removeFromParent(): void;
525
+ moveTo(container: IPanel, insertBefore?: any): boolean;
526
+ /**
527
+ * Returns the visible index of the panel in the survey. Commonly it is -1 and it doesn't show.
528
+ * You have to set showNumber to true to show index/numbering for the Panel
529
+ * @see showNumber
530
+ */
531
+ get visibleIndex(): number;
532
+ /**
533
+ * Specifies whether to show the panel number in the title.
534
+ *
535
+ * Default value: `false`
536
+ * @see SurveyModel.showQuestionNumbers
537
+ * @see SurveyModel.questionTitlePattern
538
+ */
539
+ get showNumber(): boolean;
540
+ set showNumber(val: boolean);
541
+ /**
542
+ * Gets or sets a value that specifies how the elements numbers inside panel are displayed.
543
+ *
544
+ * The following options are available:
545
+ *
546
+ * - `default` - display questions numbers as defined in parent panel or survey
547
+ * - `onpanel` - display questions numbers, start numbering from beginning of this page
548
+ * - `off` - turn off the numbering for questions titles
549
+ * @see showNumber
550
+ */
551
+ get showQuestionNumbers(): string;
552
+ set showQuestionNumbers(value: string);
553
+ /**
554
+ * Specifies a number or letter used to start numbering of elements inside the panel.
555
+ *
556
+ * You can include desired prefixes and postfixes alongside the number or letter:
557
+ *
558
+ * ```js
559
+ * "questionStartIndex": "a.", // a., b., c., ...
560
+ * "questionStartIndex": "#3", // #3, #4, #5, ...
561
+ * "questionStartIndex": "(B)." // (B)., (C)., (D)., ...
562
+ * ```
563
+ * Default value: `"1."` (inherited from `SurveyModel`'s `questionStartIndex` property)
564
+ * @see SurveyModel.questionStartIndex
565
+ * @see showQuestionNumbers
566
+ */
567
+ get questionStartIndex(): string;
568
+ set questionStartIndex(val: string);
569
+ getQuestionStartIndex(): string;
570
+ /**
571
+ * A question number or letter (depends on the `questionStartIndex` property).
572
+ *
573
+ * When the question number, title, or the entire question is invisible, this property returns an empty string.
574
+ * @see questionStartIndex
575
+ * @see showNumber
576
+ * @see visibleIf
577
+ */
578
+ get no(): string;
579
+ private calcNo;
580
+ protected notifyStateChanged(prevState: string): void;
581
+ protected createLocTitleProperty(): LocalizableString;
582
+ protected beforeSetVisibleIndex(index: number): number;
583
+ protected getPanelStartIndex(index: number): number;
584
+ private hasParentInQuestionIndex;
585
+ protected isContinueNumbering(): boolean;
586
+ private notifySurveyOnVisibilityChanged;
587
+ protected getRenderedTitle(str: string): string;
588
+ /**
589
+ * Increases or decreases an indent of panel content from the left edge. Accepts positive integer values and 0.
590
+ */
591
+ get innerIndent(): number;
592
+ set innerIndent(val: number);
593
+ /**
594
+ * Disable this property if you want to render the current panel on the same line or row with the previous question or panel.
595
+ */
596
+ get startWithNewLine(): boolean;
597
+ set startWithNewLine(value: boolean);
598
+ get allowAdaptiveActions(): boolean;
599
+ set allowAdaptiveActions(val: boolean);
600
+ get innerPaddingLeft(): string;
601
+ set innerPaddingLeft(val: string);
602
+ protected calcPaddingLeft(): string;
603
+ protected calcPaddingRight(): string;
604
+ protected resetIndents(): void;
605
+ private getIndentSize;
606
+ clearOnDeletingContainer(): void;
607
+ get footerActions(): Array<IAction>;
608
+ private footerToolbarValue;
609
+ onGetFooterActionsCallback: () => Array<IAction>;
610
+ onGetFooterToolbarCssCallback: () => string;
611
+ getFooterToolbar(): ActionContainer;
612
+ get hasEditButton(): boolean;
613
+ cancelPreview(): void;
614
+ get cssTitle(): string;
615
+ protected getCssPanelTitle(): string;
616
+ getCssTitleExpandableSvg(): string;
617
+ get showErrorsAbovePanel(): boolean;
618
+ protected getCssError(cssClasses: any): string;
619
+ protected onVisibleChanged(): void;
620
+ needResponsiveWidth(): boolean;
621
+ focusIn(): void;
622
+ protected getHasFrameV2(): boolean;
623
+ protected getIsNested(): boolean;
624
+ get showPanelAsPage(): boolean;
625
+ private forcusFirstQuestionOnExpand;
626
+ expand(focusFirstQuestion?: boolean): void;
627
+ protected onElementExpanded(elementIsRendered: boolean): void;
628
+ protected getCssRoot(cssClasses: {
629
+ [index: string]: string;
630
+ }): string;
631
+ getContainerCss(): string;
632
+ afterRenderCore(element: HTMLElement): void;
633
+ }
@@ -0,0 +1,35 @@
1
+ import { IPosition, Rect } from "./utils/popup";
2
+ import { CssClassBuilder } from "./utils/cssClassBuilder";
3
+ import { PopupModel } from "./popup";
4
+ import { PopupBaseViewModel } from "./popup-view-model";
5
+ export declare function calculateIsTablet(windowWidth?: number, windowHeight?: number): boolean;
6
+ export declare class PopupDropdownViewModel extends PopupBaseViewModel {
7
+ static readonly tabletSizeBreakpoint = 600;
8
+ private scrollEventCallBack;
9
+ private calculateIsTablet;
10
+ private resizeEventCallback;
11
+ private resizeWindowCallback;
12
+ private clientY;
13
+ private isTablet;
14
+ private touchStartEventCallback;
15
+ private touchMoveEventCallback;
16
+ protected getAvailableAreaRect(): Rect;
17
+ protected getTargetElementRect(): Rect;
18
+ private _updatePosition;
19
+ protected getActualHorizontalPosition(): "left" | "center" | "right";
20
+ protected getStyleClass(): CssClassBuilder;
21
+ protected getShowHeader(): boolean;
22
+ protected getPopupHeaderTemplate(): string;
23
+ popupDirection: string;
24
+ pointerTarget: IPosition;
25
+ private recalculatePositionHandler;
26
+ constructor(model: PopupModel);
27
+ setComponentElement(componentRoot: HTMLElement): void;
28
+ resetComponentElement(): void;
29
+ updateOnShowing(): void;
30
+ private get shouldCreateResizeCallback();
31
+ updatePosition(isResetHeight: boolean, isDelayUpdating?: boolean): void;
32
+ updateOnHiding(): void;
33
+ protected onModelChanging(newModel: PopupModel): void;
34
+ dispose(): void;
35
+ }
@@ -0,0 +1,16 @@
1
+ import { CssClassBuilder } from "./utils/cssClassBuilder";
2
+ import { PopupModel } from "./popup";
3
+ import { PopupBaseViewModel } from "./popup-view-model";
4
+ export declare class PopupModalViewModel extends PopupBaseViewModel {
5
+ protected getStyleClass(): CssClassBuilder;
6
+ protected getShowFooter(): boolean;
7
+ protected createFooterActionBar(): void;
8
+ constructor(model: PopupModel);
9
+ get applyButtonText(): string;
10
+ apply(): void;
11
+ clickOutside(): void;
12
+ onKeyDown(event: any): void;
13
+ private onScrollOutsideCallback;
14
+ updateOnShowing(): void;
15
+ updateOnHiding(): void;
16
+ }