survey-core 1.9.110 → 1.9.112

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 (315) hide show
  1. package/defaultV2.css +784 -675
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +784 -675
  4. package/defaultV2.fontless.css.map +1 -1
  5. package/defaultV2.fontless.min.css +2 -2
  6. package/defaultV2.min.css +2 -2
  7. package/i18n/arabic.js +256 -0
  8. package/i18n/arabic.js.map +1 -0
  9. package/i18n/arabic.min.js +6 -0
  10. package/i18n/basque.js +249 -0
  11. package/i18n/basque.js.map +1 -0
  12. package/i18n/basque.min.js +6 -0
  13. package/i18n/bulgarian.js +256 -0
  14. package/i18n/bulgarian.js.map +1 -0
  15. package/i18n/bulgarian.min.js +6 -0
  16. package/i18n/catalan.js +296 -0
  17. package/i18n/catalan.js.map +1 -0
  18. package/i18n/catalan.min.js +6 -0
  19. package/i18n/croatian.js +254 -0
  20. package/i18n/croatian.js.map +1 -0
  21. package/i18n/croatian.min.js +6 -0
  22. package/i18n/czech.js +256 -0
  23. package/i18n/czech.js.map +1 -0
  24. package/i18n/czech.min.js +6 -0
  25. package/i18n/danish.js +256 -0
  26. package/i18n/danish.js.map +1 -0
  27. package/i18n/danish.min.js +6 -0
  28. package/i18n/dutch.js +254 -0
  29. package/i18n/dutch.js.map +1 -0
  30. package/i18n/dutch.min.js +6 -0
  31. package/i18n/english.js +225 -0
  32. package/i18n/english.js.map +1 -0
  33. package/i18n/english.min.js +6 -0
  34. package/i18n/estonian.js +256 -0
  35. package/i18n/estonian.js.map +1 -0
  36. package/i18n/estonian.min.js +6 -0
  37. package/i18n/finnish.js +244 -0
  38. package/i18n/finnish.js.map +1 -0
  39. package/i18n/finnish.min.js +6 -0
  40. package/i18n/french.js +244 -0
  41. package/i18n/french.js.map +1 -0
  42. package/i18n/french.min.js +6 -0
  43. package/i18n/georgian.js +309 -0
  44. package/i18n/georgian.js.map +1 -0
  45. package/i18n/georgian.min.js +6 -0
  46. package/i18n/german.js +242 -0
  47. package/i18n/german.js.map +1 -0
  48. package/i18n/german.min.js +6 -0
  49. package/i18n/greek.js +241 -0
  50. package/i18n/greek.js.map +1 -0
  51. package/i18n/greek.min.js +6 -0
  52. package/i18n/hebrew.js +256 -0
  53. package/i18n/hebrew.js.map +1 -0
  54. package/i18n/hebrew.min.js +6 -0
  55. package/i18n/hindi.js +257 -0
  56. package/i18n/hindi.js.map +1 -0
  57. package/i18n/hindi.min.js +6 -0
  58. package/i18n/hungarian.js +255 -0
  59. package/i18n/hungarian.js.map +1 -0
  60. package/i18n/hungarian.min.js +6 -0
  61. package/i18n/icelandic.js +256 -0
  62. package/i18n/icelandic.js.map +1 -0
  63. package/i18n/icelandic.min.js +6 -0
  64. package/i18n/index.js +6871 -0
  65. package/i18n/index.js.map +1 -0
  66. package/i18n/index.min.js +6 -0
  67. package/i18n/indonesian.js +256 -0
  68. package/i18n/indonesian.js.map +1 -0
  69. package/i18n/indonesian.min.js +6 -0
  70. package/i18n/italian.js +244 -0
  71. package/i18n/italian.js.map +1 -0
  72. package/i18n/italian.min.js +6 -0
  73. package/i18n/japanese.js +256 -0
  74. package/i18n/japanese.js.map +1 -0
  75. package/i18n/japanese.min.js +6 -0
  76. package/i18n/kazakh.js +256 -0
  77. package/i18n/kazakh.js.map +1 -0
  78. package/i18n/kazakh.min.js +6 -0
  79. package/i18n/korean.js +243 -0
  80. package/i18n/korean.js.map +1 -0
  81. package/i18n/korean.min.js +6 -0
  82. package/i18n/latvian.js +244 -0
  83. package/i18n/latvian.js.map +1 -0
  84. package/i18n/latvian.min.js +6 -0
  85. package/i18n/lithuanian.js +256 -0
  86. package/i18n/lithuanian.js.map +1 -0
  87. package/i18n/lithuanian.min.js +6 -0
  88. package/i18n/macedonian.js +250 -0
  89. package/i18n/macedonian.js.map +1 -0
  90. package/i18n/macedonian.min.js +6 -0
  91. package/i18n/malay.js +246 -0
  92. package/i18n/malay.js.map +1 -0
  93. package/i18n/malay.min.js +6 -0
  94. package/i18n/nl-BE.js +279 -0
  95. package/i18n/nl-BE.js.map +1 -0
  96. package/i18n/nl-BE.min.js +6 -0
  97. package/i18n/norwegian.js +256 -0
  98. package/i18n/norwegian.js.map +1 -0
  99. package/i18n/norwegian.min.js +6 -0
  100. package/i18n/persian.js +256 -0
  101. package/i18n/persian.js.map +1 -0
  102. package/i18n/persian.min.js +6 -0
  103. package/i18n/polish.js +244 -0
  104. package/i18n/polish.js.map +1 -0
  105. package/i18n/polish.min.js +6 -0
  106. package/i18n/portuguese-br.js +306 -0
  107. package/i18n/portuguese-br.js.map +1 -0
  108. package/i18n/portuguese-br.min.js +6 -0
  109. package/i18n/portuguese.js +241 -0
  110. package/i18n/portuguese.js.map +1 -0
  111. package/i18n/portuguese.min.js +6 -0
  112. package/i18n/romanian.js +256 -0
  113. package/i18n/romanian.js.map +1 -0
  114. package/i18n/romanian.min.js +6 -0
  115. package/i18n/russian.js +244 -0
  116. package/i18n/russian.js.map +1 -0
  117. package/i18n/russian.min.js +6 -0
  118. package/i18n/serbian.js +251 -0
  119. package/i18n/serbian.js.map +1 -0
  120. package/i18n/serbian.min.js +6 -0
  121. package/i18n/simplified-chinese.js +250 -0
  122. package/i18n/simplified-chinese.js.map +1 -0
  123. package/i18n/simplified-chinese.min.js +6 -0
  124. package/i18n/slovak.js +246 -0
  125. package/i18n/slovak.js.map +1 -0
  126. package/i18n/slovak.min.js +6 -0
  127. package/i18n/spanish.js +244 -0
  128. package/i18n/spanish.js.map +1 -0
  129. package/i18n/spanish.min.js +6 -0
  130. package/i18n/swahili.js +256 -0
  131. package/i18n/swahili.js.map +1 -0
  132. package/i18n/swahili.min.js +6 -0
  133. package/i18n/swedish.js +244 -0
  134. package/i18n/swedish.js.map +1 -0
  135. package/i18n/swedish.min.js +6 -0
  136. package/i18n/tajik.js +225 -0
  137. package/i18n/tajik.js.map +1 -0
  138. package/i18n/tajik.min.js +6 -0
  139. package/i18n/telugu.js +257 -0
  140. package/i18n/telugu.js.map +1 -0
  141. package/i18n/telugu.min.js +6 -0
  142. package/i18n/thai.js +256 -0
  143. package/i18n/thai.js.map +1 -0
  144. package/i18n/thai.min.js +6 -0
  145. package/i18n/traditional-chinese.js +291 -0
  146. package/i18n/traditional-chinese.js.map +1 -0
  147. package/i18n/traditional-chinese.min.js +6 -0
  148. package/i18n/turkish.js +238 -0
  149. package/i18n/turkish.js.map +1 -0
  150. package/i18n/turkish.min.js +6 -0
  151. package/i18n/ukrainian.js +256 -0
  152. package/i18n/ukrainian.js.map +1 -0
  153. package/i18n/ukrainian.min.js +6 -0
  154. package/i18n/urdu.js +249 -0
  155. package/i18n/urdu.js.map +1 -0
  156. package/i18n/urdu.min.js +6 -0
  157. package/i18n/vietnamese.js +257 -0
  158. package/i18n/vietnamese.js.map +1 -0
  159. package/i18n/vietnamese.min.js +6 -0
  160. package/i18n/welsh.js +256 -0
  161. package/i18n/welsh.js.map +1 -0
  162. package/i18n/welsh.min.js +6 -0
  163. package/modern.css +310 -241
  164. package/modern.css.map +1 -1
  165. package/modern.fontless.css +310 -241
  166. package/modern.fontless.css.map +1 -1
  167. package/modern.fontless.min.css +2 -2
  168. package/modern.min.css +2 -2
  169. package/package.json +1 -1
  170. package/plugins/bootstrap-integration.js +2 -1
  171. package/plugins/bootstrap-integration.js.map +1 -1
  172. package/plugins/bootstrap-integration.min.js +2 -2
  173. package/plugins/bootstrap-material-integration.js +2 -1
  174. package/plugins/bootstrap-material-integration.js.map +1 -1
  175. package/plugins/bootstrap-material-integration.min.js +2 -2
  176. package/survey.core.js +534 -233
  177. package/survey.core.js.map +1 -1
  178. package/survey.core.min.js +3 -3
  179. package/survey.css +66 -53
  180. package/survey.css.map +1 -1
  181. package/survey.i18n.js +1 -1
  182. package/survey.i18n.min.js +2 -2
  183. package/survey.min.css +2 -2
  184. package/themes/borderless-dark-panelless.js +1 -1
  185. package/themes/borderless-dark-panelless.min.js +1 -1
  186. package/themes/borderless-dark.js +1 -1
  187. package/themes/borderless-dark.min.js +1 -1
  188. package/themes/borderless-light-panelless..js +1 -1
  189. package/themes/borderless-light-panelless..min.js +1 -1
  190. package/themes/borderless-light.js +1 -1
  191. package/themes/borderless-light.min.js +1 -1
  192. package/themes/contrast-dark-panelless.js +1 -1
  193. package/themes/contrast-dark-panelless.min.js +1 -1
  194. package/themes/contrast-dark.js +1 -1
  195. package/themes/contrast-dark.min.js +1 -1
  196. package/themes/contrast-light-panelless.js +1 -1
  197. package/themes/contrast-light-panelless.min.js +1 -1
  198. package/themes/contrast-light.js +1 -1
  199. package/themes/contrast-light.min.js +1 -1
  200. package/themes/default-dark-panelless.js +1 -1
  201. package/themes/default-dark-panelless.min.js +1 -1
  202. package/themes/default-dark.js +1 -1
  203. package/themes/default-dark.min.js +1 -1
  204. package/themes/default-light-panelless.js +1 -1
  205. package/themes/default-light-panelless.min.js +1 -1
  206. package/themes/default-light.js +1 -1
  207. package/themes/default-light.min.js +1 -1
  208. package/themes/doubleborder-dark-panelless.js +1 -1
  209. package/themes/doubleborder-dark-panelless.min.js +1 -1
  210. package/themes/doubleborder-dark.js +1 -1
  211. package/themes/doubleborder-dark.min.js +1 -1
  212. package/themes/doubleborder-light-panelles.js +1 -1
  213. package/themes/doubleborder-light-panelles.min.js +1 -1
  214. package/themes/doubleborder-light.js +1 -1
  215. package/themes/doubleborder-light.min.js +1 -1
  216. package/themes/flat-dark-panelless.js +1 -1
  217. package/themes/flat-dark-panelless.min.js +1 -1
  218. package/themes/flat-dark.js +1 -1
  219. package/themes/flat-dark.min.js +1 -1
  220. package/themes/flat-light-panelless.js +1 -1
  221. package/themes/flat-light-panelless.min.js +1 -1
  222. package/themes/flat-light.js +1 -1
  223. package/themes/flat-light.min.js +1 -1
  224. package/themes/index.js +1 -1
  225. package/themes/index.min.js +1 -1
  226. package/themes/layered-dark-panelless.js +1 -1
  227. package/themes/layered-dark-panelless.min.js +1 -1
  228. package/themes/layered-dark.js +1 -1
  229. package/themes/layered-dark.min.js +1 -1
  230. package/themes/layered-light-panelless.js +1 -1
  231. package/themes/layered-light-panelless.min.js +1 -1
  232. package/themes/layered-light.js +1 -1
  233. package/themes/layered-light.min.js +1 -1
  234. package/themes/plain-dark-panelless.js +1 -1
  235. package/themes/plain-dark-panelless.min.js +1 -1
  236. package/themes/plain-dark.js +1 -1
  237. package/themes/plain-dark.min.js +1 -1
  238. package/themes/plain-light-panelless.js +1 -1
  239. package/themes/plain-light-panelless.min.js +1 -1
  240. package/themes/plain-light.js +1 -1
  241. package/themes/plain-light.min.js +1 -1
  242. package/themes/sharp-dark-panelless.js +1 -1
  243. package/themes/sharp-dark-panelless.min.js +1 -1
  244. package/themes/sharp-dark.js +1 -1
  245. package/themes/sharp-dark.min.js +1 -1
  246. package/themes/sharp-light-panelless.js +1 -1
  247. package/themes/sharp-light-panelless.min.js +1 -1
  248. package/themes/sharp-light.js +1 -1
  249. package/themes/sharp-light.min.js +1 -1
  250. package/themes/solid-dark-panelless.js +1 -1
  251. package/themes/solid-dark-panelless.min.js +1 -1
  252. package/themes/solid-dark.js +1 -1
  253. package/themes/solid-dark.min.js +1 -1
  254. package/themes/solid-light-panelless.js +1 -1
  255. package/themes/solid-light-panelless.min.js +1 -1
  256. package/themes/solid-light.js +1 -1
  257. package/themes/solid-light.min.js +1 -1
  258. package/themes/three-dimensional-dark-panelless.js +1 -1
  259. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  260. package/themes/three-dimensional-dark.js +1 -1
  261. package/themes/three-dimensional-dark.min.js +1 -1
  262. package/themes/three-dimensional-light-panelless.js +1 -1
  263. package/themes/three-dimensional-light-panelless.min.js +1 -1
  264. package/themes/three-dimensional-light.js +1 -1
  265. package/themes/three-dimensional-light.min.js +1 -1
  266. package/ts3.4/typings/base.d.ts +2 -2
  267. package/ts3.4/typings/cover.d.ts +17 -11
  268. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +2 -0
  269. package/ts3.4/typings/dropdownListModel.d.ts +1 -0
  270. package/ts3.4/typings/localization/english.d.ts +2 -0
  271. package/ts3.4/typings/notifier.d.ts +1 -0
  272. package/ts3.4/typings/panel.d.ts +2 -2
  273. package/ts3.4/typings/popup.d.ts +1 -0
  274. package/ts3.4/typings/question.d.ts +46 -22
  275. package/ts3.4/typings/question_custom.d.ts +7 -7
  276. package/ts3.4/typings/question_expression.d.ts +0 -1
  277. package/ts3.4/typings/question_file.d.ts +2 -1
  278. package/ts3.4/typings/question_html.d.ts +1 -0
  279. package/ts3.4/typings/question_matrixdropdowncolumn.d.ts +2 -0
  280. package/ts3.4/typings/question_matrixdynamic.d.ts +2 -2
  281. package/ts3.4/typings/question_paneldynamic.d.ts +10 -6
  282. package/ts3.4/typings/settings.d.ts +44 -33
  283. package/ts3.4/typings/survey-element.d.ts +0 -1
  284. package/ts3.4/typings/survey-events-api.d.ts +4 -0
  285. package/ts3.4/typings/survey.d.ts +37 -20
  286. package/ts3.4/typings/surveyStrings.d.ts +2 -0
  287. package/ts3.4/typings/surveyToc.d.ts +2 -1
  288. package/ts3.4/typings/themes.d.ts +53 -1
  289. package/ts3.4/typings/trigger.d.ts +4 -0
  290. package/ts3.4/typings/utils/utils.d.ts +1 -0
  291. package/typings/base.d.ts +2 -2
  292. package/typings/cover.d.ts +18 -11
  293. package/typings/defaultCss/defaultV2Css.d.ts +2 -0
  294. package/typings/dropdownListModel.d.ts +1 -0
  295. package/typings/localization/english.d.ts +2 -0
  296. package/typings/notifier.d.ts +1 -0
  297. package/typings/panel.d.ts +2 -2
  298. package/typings/popup.d.ts +1 -0
  299. package/typings/question.d.ts +48 -22
  300. package/typings/question_custom.d.ts +7 -7
  301. package/typings/question_expression.d.ts +0 -1
  302. package/typings/question_file.d.ts +2 -1
  303. package/typings/question_html.d.ts +1 -0
  304. package/typings/question_matrixdropdowncolumn.d.ts +4 -0
  305. package/typings/question_matrixdynamic.d.ts +2 -2
  306. package/typings/question_paneldynamic.d.ts +10 -6
  307. package/typings/settings.d.ts +44 -33
  308. package/typings/survey-element.d.ts +0 -1
  309. package/typings/survey-events-api.d.ts +4 -0
  310. package/typings/survey.d.ts +37 -20
  311. package/typings/surveyStrings.d.ts +2 -0
  312. package/typings/surveyToc.d.ts +2 -1
  313. package/typings/themes.d.ts +53 -1
  314. package/typings/trigger.d.ts +4 -0
  315. package/typings/utils/utils.d.ts +1 -0
@@ -18,7 +18,7 @@ import { IAction, Action } from "./actions/action";
18
18
  import { ActionContainer } from "./actions/container";
19
19
  import { QuestionPanelDynamicModel } from "./question_paneldynamic";
20
20
  import { Notifier } from "./notifier";
21
- import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNoEvent, ProgressTextEvent, TextMarkdownEvent, TextRenderAsEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderHeaderEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, TimerPanelInfoTextEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent } from "./survey-events-api";
21
+ import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNoEvent, ProgressTextEvent, TextMarkdownEvent, TextRenderAsEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderHeaderEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, TimerPanelInfoTextEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent, ThemeAppliedEvent } from "./survey-events-api";
22
22
  import { QuestionMatrixDropdownModelBase } from "./question_matrixdropdownbase";
23
23
  import { QuestionMatrixDynamicModel } from "./question_matrixdynamic";
24
24
  import { QuestionFileModel } from "./question_file";
@@ -58,7 +58,11 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
58
58
  private timerModelValue;
59
59
  private navigationBarValue;
60
60
  onThemeApplying: EventBase<SurveyModel>;
61
- onThemeApplied: EventBase<SurveyModel>;
61
+ /**
62
+ * An event that is raised after a [theme](/form-library/documentation/manage-default-themes-and-styles) is [applied](#applyTheme) to the survey.
63
+ * @see applyTheme
64
+ */
65
+ onThemeApplied: EventBase<SurveyModel, ThemeAppliedEvent>;
62
66
  /**
63
67
  * An event that is raised after a [trigger](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#triggers) is executed.
64
68
  *
@@ -622,6 +626,10 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
622
626
  onDynamicPanelItemValueChanged: EventBase<SurveyModel, DynamicPanelItemValueChangedEvent>;
623
627
  /**
624
628
  * An event that is raised before a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) renders [tab titles](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle). Use this event to change individual tab titles.
629
+ *
630
+ * For information on event handler parameters, refer to descriptions within the interface.
631
+ *
632
+ * [View Demo](/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
625
633
  */
626
634
  onGetDynamicPanelTabTitle: EventBase<SurveyModel, DynamicPanelGetTabTitleEvent>;
627
635
  /**
@@ -644,10 +652,12 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
644
652
  * For information on event handler parameters, refer to descriptions within the interface.
645
653
  *
646
654
  * [View Demo](https://surveyjs.io/form-library/examples/survey-titleactions/ (linkStyle))
655
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
647
656
  */
648
657
  onGetQuestionTitleActions: EventBase<SurveyModel, GetQuestionTitleActionsEvent>;
649
658
  /**
650
659
  * An event that allows you to add, delete, or modify actions in a panel title.
660
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
651
661
  */
652
662
  onGetPanelTitleActions: EventBase<SurveyModel, GetPanelTitleActionsEvent>;
653
663
  /**
@@ -656,10 +666,12 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
656
666
  * For information on event handler parameters, refer to descriptions within the interface.
657
667
  *
658
668
  * [View Demo](https://surveyjs.io/form-library/examples/modify-titles-of-survey-elements/ (linkStyle))
669
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
659
670
  */
660
671
  onGetPageTitleActions: EventBase<SurveyModel, GetPageTitleActionsEvent>;
661
672
  /**
662
673
  * An event that allows you to add, delete, or modify actions in the footer of a [Panel](https://surveyjs.io/form-library/documentation/panelmodel).
674
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
663
675
  */
664
676
  onGetPanelFooterActions: EventBase<SurveyModel, GetPanelFooterActionsEvent>;
665
677
  /**
@@ -668,7 +680,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
668
680
  * For information on event handler parameters, refer to descriptions within the interface.
669
681
  *
670
682
  * [View Demo](https://surveyjs.io/form-library/examples/employee-information-form/ (linkStyle))
671
- * @see IAction
683
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
672
684
  */
673
685
  onGetMatrixRowActions: EventBase<SurveyModel, GetMatrixRowActionsEvent>;
674
686
  /**
@@ -730,7 +742,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
730
742
  loadingBodyCss: string;
731
743
  containerCss: string;
732
744
  fitToContainer: boolean;
733
- titleView: "cover" | "title";
745
+ headerView: "advanced" | "basic";
734
746
  private getNavigationCss;
735
747
  private lazyRenderingValue;
736
748
  showBrandInfo: boolean;
@@ -1176,12 +1188,10 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1176
1188
  * A value from 0 to 1 that specifies how transparent the [background image](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#backgroundImage) should be: 0 makes the image completely transparent, and 1 makes it opaque.
1177
1189
  */
1178
1190
  backgroundOpacity: number;
1179
- readonly backgroundImageStyle: {
1180
- opacity: number;
1181
- backgroundImage: string;
1182
- backgroundSize: ImageFit;
1183
- backgroundAttachment: ImageAttachment;
1184
- };
1191
+ backgroundImageStyle: any;
1192
+ updateBackgroundImageStyle(): void;
1193
+ wrapperFormCss: string;
1194
+ updateWrapperFormCss(): void;
1185
1195
  /*
1186
1196
  * HTML content displayed on the [complete page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#complete-page).
1187
1197
  *
@@ -1586,11 +1596,11 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1586
1596
  readonly completedState: string;
1587
1597
  readonly completedStateText: string;
1588
1598
  protected setCompletedState(value: string, text: string): void;
1589
- notify(message: string, type: string): void;
1599
+ notify(message: string, type: string, showActions?: boolean): void;
1590
1600
  /**
1591
1601
  * Resets the survey [`state`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#state) and, optionally, [`data`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#data). If `state` is `"completed"`, it becomes `"running"`.
1592
- * @param clearData *Optional.* Specifies whether to clear survey data. Default value: `true`.
1593
- * @param goToFirstPage *Optional.* Specifies whether to switch the survey to the first page. Default value: `true`.
1602
+ * @param clearData *(Optional)* Specifies whether to clear survey data. Default value: `true`.
1603
+ * @param goToFirstPage *(Optional)* Specifies whether to switch the survey to the first page. Default value: `true`.
1594
1604
  */
1595
1605
  clear(clearData?: boolean, goToFirstPage?: boolean): void;
1596
1606
  mergeValues(src: any, dest: any): void;
@@ -1685,7 +1695,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1685
1695
  * Validates all questions on the current page and returns `false` if the validation fails.
1686
1696
  *
1687
1697
  * If you use validation expressions and at least one of them calls an async function, the `validateCurrentPage` method returns `undefined`. In this case, you should pass a callback function as the `onAsyncValidation` parameter. The function's `hasErrors` Boolean parameter will contain the validation result.
1688
- * @param onAsyncValidation *Optional.* Pass a callback function. It accepts a Boolean `hasErrors` parameter that equals `true` if the validation fails or `false` otherwise.
1698
+ * @param onAsyncValidation *(Optional)* Pass a callback function. It accepts a Boolean `hasErrors` parameter that equals `true` if the validation fails or `false` otherwise.
1689
1699
  * @see currentPage
1690
1700
  * @see validate
1691
1701
  * @see validateCurrentPage
@@ -1697,7 +1707,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1697
1707
  *
1698
1708
  * If you use validation expressions and at least one of them calls an async function, the `validatePage` method returns `undefined`. In this case, you should pass a callback function as the `onAsyncValidation` parameter. The function's `hasErrors` Boolean parameter will contain the validation result.
1699
1709
  * @param page Pass the `PageModel` that you want to validate. You can pass `undefined` to validate the [`activePage`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#activePage).
1700
- * @param onAsyncValidation *Optional.* Pass a callback function. It accepts a Boolean `hasErrors` parameter that equals `true` if the validation fails or `false` otherwise.
1710
+ * @param onAsyncValidation *(Optional)* Pass a callback function. It accepts a Boolean `hasErrors` parameter that equals `true` if the validation fails or `false` otherwise.
1701
1711
  * @see validate
1702
1712
  * @see validateCurrentPage
1703
1713
  */
@@ -1707,9 +1717,9 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1707
1717
  * Validates all questions and returns `false` if the validation fails.
1708
1718
  *
1709
1719
  * If you use validation expressions and at least one of them calls an async function, the `validate` method returns `undefined`. In this case, you should pass a callback function as the `onAsyncValidation` parameter. The function's `hasErrors` Boolean parameter will contain the validation result.
1710
- * @param fireCallback *Optional.* Pass `false` if you do not want to show validation errors in the UI.
1711
- * @param focusOnFirstError *Optional.* Pass `true` if you want to focus the first question with a validation error. The survey will be switched to the page that contains this question if required.
1712
- * @param onAsyncValidation *Optional.* Pass a callback function. It accepts a Boolean `hasErrors` parameter that equals `true` if the validation fails or `false` otherwise.
1720
+ * @param fireCallback *(Optional)* Pass `false` if you do not want to show validation errors in the UI.
1721
+ * @param focusOnFirstError *(Optional)* Pass `true` if you want to focus the first question with a validation error. The survey will be switched to the page that contains this question if required.
1722
+ * @param onAsyncValidation *(Optional)* Pass a callback function. It accepts a Boolean `hasErrors` parameter that equals `true` if the validation fails or `false` otherwise.
1713
1723
  * @see validateCurrentPage
1714
1724
  * @see validatePage
1715
1725
  */
@@ -2567,13 +2577,13 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2567
2577
  *
2568
2578
  * This method accepts an object with the following layout element properties:
2569
2579
  *
2570
- * - `id`: `String` | `"timerpanel"` | `"progress-buttons"` | `"progress-questions"` | `"progress-pages"` | `"progress-correctquestions"` | `"progress-requiredquestions"` | `"toc-navigation"` | `"navigationbuttons"`\
2580
+ * - `id`: `string` | `"timerpanel"` | `"progress-buttons"` | `"progress-questions"` | `"progress-pages"` | `"progress-correctquestions"` | `"progress-requiredquestions"` | `"toc-navigation"` | `"navigationbuttons"`\
2571
2581
  * A layout element identifier. You can use possible values to access and relocate or customize predefined layout elements.
2572
2582
  *
2573
2583
  * - `container`: `"header"` | `"footer"` | `"left"` | `"right"` | `"contentTop"` | `"contentBottom"`\
2574
2584
  * A layout container that holds the element. If you want to display the element within multiple containers, set this property to an array of possible values.
2575
2585
  *
2576
- * - `component`: `String`\
2586
+ * - `component`: `string`\
2577
2587
  * The name of the component that renders the layout element.
2578
2588
  *
2579
2589
  * - `data`: `any`\
@@ -2587,6 +2597,13 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2587
2597
  removeLayoutElement(layoutElementId: string): ISurveyLayoutElement;
2588
2598
  getContainerContent(container: LayoutElementContainer): any[];
2589
2599
  processPopupVisiblityChanged(question: Question, popup: PopupModel<any>, visible: boolean): void;
2600
+ /**
2601
+ * Applies a specified theme to the survey.
2602
+ *
2603
+ * [Themes & Styles](/form-library/documentation/manage-default-themes-and-styles (linkStyle))
2604
+ * @param theme An [`ITheme`](/form-library/documentation/api-reference/itheme) object with theme settings.
2605
+ * @see onThemeApplied
2606
+ */
2590
2607
  applyTheme(theme: ITheme): void;
2591
2608
  /**
2592
2609
  * Disposes of the survey model.
@@ -110,4 +110,6 @@ export declare var surveyStrings: {
110
110
  tagboxDoneButtonCaption: string;
111
111
  selectToRankEmptyRankedAreaText: string;
112
112
  selectToRankEmptyUnrankedAreaText: string;
113
+ ok: string;
114
+ cancel: string;
113
115
  };
@@ -11,10 +11,11 @@ export declare function getTocRootCss(survey: SurveyModel, isMobile?: boolean):
11
11
  export declare class TOCModel {
12
12
  survey: SurveyModel;
13
13
  constructor(survey: SurveyModel);
14
- isMobile: boolean;
14
+ readonly isMobile: boolean;
15
15
  readonly containerCss: string;
16
16
  listModel: ListModel<Action>;
17
17
  popupModel: PopupModel;
18
18
  icon: string;
19
19
  togglePopup: () => void;
20
+ dispose(): void;
20
21
  }
@@ -1,16 +1,68 @@
1
1
  export declare type ImageFit = "auto" | "contain" | "cover";
2
2
  export declare type ImageAttachment = "fixed" | "scroll";
3
+ /**
4
+ * A theme configuration interface.
5
+ *
6
+ * `ITheme` objects are used to apply predefined themes or create custom themes. Refer to the following help topic for more information:
7
+ *
8
+ * [Themes & Styles](https://surveyjs.io/form-library/documentation/manage-default-themes-and-styles (linkStyle))
9
+ */
3
10
  export interface ITheme {
11
+ /**
12
+ * A theme name.
13
+ */
4
14
  themeName?: string;
15
+ /**
16
+ * A color palette.
17
+ *
18
+ * Possible values:
19
+ *
20
+ * - `"light"`
21
+ * - `"dark"`
22
+ */
5
23
  colorPalette?: string;
24
+ /**
25
+ * A Boolean value that specifies whether survey questions are displayed within panels (`false`) or without them (`true`).
26
+ */
6
27
  isPanelless?: boolean;
28
+ /**
29
+ * An image to display as survey background. This property accepts a hyperlink or a data URL.
30
+ */
7
31
  backgroundImage?: string;
32
+ /**
33
+ * A string value that specifies how to resize the [background image](#backgroundImage) to fit it into its container.
34
+ *
35
+ * Possible values:
36
+ *
37
+ * - `"auto"`
38
+ * - `"contain"`
39
+ * - `"cover"`
40
+ *
41
+ * Refer to the description of the [`background-size`](https://developer.mozilla.org/en-US/docs/Web/CSS/background-size#values) CSS property values on MDN for detailed information on the possible values.
42
+ */
8
43
  backgroundImageFit?: ImageFit;
44
+ /**
45
+ * A string value that specifies whether the [background image](#backgroundImage) is fixed in its position or scrolled along with the survey.
46
+ *
47
+ * Possible values:
48
+ *
49
+ * - `"fixed"`
50
+ * - `"scroll"`
51
+ */
9
52
  backgroundImageAttachment?: ImageAttachment;
53
+ /**
54
+ * A value from 0 to 1 that specifies how transparent the [background image](#backgroundImage) should be: 0 makes the image completely transparent, and 1 makes it opaque.
55
+ */
10
56
  backgroundOpacity?: number;
11
- cover?: {
57
+ /**
58
+ * An object with survey header settings.
59
+ */
60
+ header?: {
12
61
  [index: string]: any;
13
62
  };
63
+ /**
64
+ * An object with CSS variables.
65
+ */
14
66
  cssVariables?: {
15
67
  [index: string]: string;
16
68
  };
@@ -24,6 +24,7 @@ export declare class Trigger extends Base {
24
24
  protected canBeExecutedOnComplete(): boolean;
25
25
  protected isExecutingOnNextPage: boolean;
26
26
  checkExpression(isOnNextPage: boolean, isOnComplete: boolean, keys: any, values: HashTable<any>, properties?: HashTable<any>): void;
27
+ protected canSuccessOnEmptyExpression(): boolean;
27
28
  check(value: any): void;
28
29
  readonly requireValidQuestion: boolean;
29
30
  private perform;
@@ -36,6 +37,7 @@ export declare class Trigger extends Base {
36
37
  private onExpressionChanged;
37
38
  buildExpression(): string;
38
39
  private isCheckRequired;
40
+ protected getUsedVariables(): string[];
39
41
  private createConditionRunner;
40
42
  private readonly isRequireValue: any;
41
43
  }
@@ -132,4 +134,6 @@ export declare class SurveyTriggerCopyValue extends SurveyTrigger {
132
134
  copyDisplayValue: boolean;
133
135
  getType(): string;
134
136
  protected onSuccess(values: HashTable<any>, properties: HashTable<any>): void;
137
+ protected canSuccessOnEmptyExpression(): boolean;
138
+ protected getUsedVariables(): string[];
135
139
  }
@@ -40,4 +40,5 @@ export declare class Logger {
40
40
  log(action: string): void;
41
41
  readonly result: string;
42
42
  }
43
+ export declare function showConfirmDialog(message: string, callback: (res: boolean) => void): boolean;
43
44
  export { mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, };
package/typings/base.d.ts CHANGED
@@ -95,7 +95,7 @@ export declare class Base {
95
95
  *
96
96
  * - `sender`: `this`\
97
97
  * A SurveyJS object whose property has changed.
98
- * - `options.name`: `String`\
98
+ * - `options.name`: `string`\
99
99
  * The name of the changed property.
100
100
  * - `options.newValue`: `any`\
101
101
  * A new value for the property.
@@ -112,7 +112,7 @@ export declare class Base {
112
112
  * A SurveyJS object whose property contains an array of `ItemValue` objects.
113
113
  * - `options.obj`: [`ItemValue`](https://surveyjs.io/form-library/documentation/itemvalue)\
114
114
  * An `ItemValue` object.
115
- * - `options.propertyName`: `String`\
115
+ * - `options.propertyName`: `string`\
116
116
  * The name of the property to which an array of `ItemValue` objects is assigned (for example, `"choices"` or `"rows"`).
117
117
  * - `options.name`: `"text"` | `"value"`\
118
118
  * The name of the changed property.
@@ -1,6 +1,7 @@
1
1
  import { Base } from "./base";
2
2
  import { HorizontalAlignment, VerticalAlignment } from "./base-interfaces";
3
3
  import { SurveyModel } from "./survey";
4
+ import { ITheme } from "./themes";
4
5
  export declare class CoverCell {
5
6
  private cover;
6
7
  private positionX;
@@ -19,20 +20,23 @@ export declare class CoverCell {
19
20
  get showLogo(): boolean;
20
21
  get showTitle(): boolean;
21
22
  get showDescription(): boolean;
22
- get textWidth(): string;
23
+ get textAreaWidth(): string;
23
24
  }
24
25
  export declare class Cover extends Base {
26
+ private _survey;
25
27
  private calcBackgroundSize;
28
+ private updateCoverClasses;
29
+ private updateContentClasses;
30
+ private updateBackgroundImageClasses;
31
+ fromTheme(theme: ITheme): void;
26
32
  constructor();
27
33
  getType(): string;
28
- survey: SurveyModel;
29
34
  cells: CoverCell[];
30
35
  height: number;
31
- areaWidth: "survey" | "container";
32
- textWidth: number;
33
- invertText: boolean;
34
- glowText: boolean;
35
- overlap: boolean;
36
+ inheritWidthFrom: "survey" | "page";
37
+ textAreaWidth: number;
38
+ textGlowEnabled: boolean;
39
+ overlapEnabled: boolean;
36
40
  backgroundColor: string;
37
41
  backgroundImage: string;
38
42
  renderBackgroundImage: string;
@@ -56,14 +60,17 @@ export declare class Cover extends Base {
56
60
  gridColumn: number;
57
61
  gridRow: number;
58
62
  };
63
+ coverClasses: string;
64
+ contentClasses: string;
65
+ backgroundImageClasses: string;
59
66
  get renderedHeight(): string;
60
- get renderedTextWidth(): string;
61
- get coverClasses(): string;
62
- get contentClasses(): string;
63
- get backgroundImageClasses(): string;
67
+ get renderedtextAreaWidth(): string;
68
+ get survey(): SurveyModel;
69
+ set survey(newValue: SurveyModel);
64
70
  get backgroundImageStyle(): {
65
71
  opacity: number;
66
72
  backgroundImage: string;
67
73
  backgroundSize: string;
68
74
  };
75
+ protected propertyValueChanged(name: string, oldValue: any, newValue: any): void;
69
76
  }
@@ -5,6 +5,8 @@ export declare var defaultV2Css: {
5
5
  rootReadOnly: string;
6
6
  rootCompact: string;
7
7
  rootFitToContainer: string;
8
+ rootWrapper: string;
9
+ rootWrapperFixed: string;
8
10
  rootBackgroundImage: string;
9
11
  container: string;
10
12
  header: string;
@@ -68,6 +68,7 @@ export declare class DropdownListModel extends Base {
68
68
  setSearchEnabled(newValue: boolean): void;
69
69
  updateItems(): void;
70
70
  onClick(event: any): void;
71
+ chevronPointerDown(event: any): void;
71
72
  protected onPropertyChangedHandler(sender: any, options: any): void;
72
73
  protected focusItemOnClickAndPopup(): void;
73
74
  onClear(event: any): void;
@@ -93,4 +93,6 @@ export declare var englishStrings: {
93
93
  tagboxDoneButtonCaption: string;
94
94
  selectToRankEmptyRankedAreaText: string;
95
95
  selectToRankEmptyUnrankedAreaText: string;
96
+ ok: string;
97
+ cancel: string;
96
98
  };
@@ -11,6 +11,7 @@ export declare class Notifier extends Base {
11
11
  timer: any;
12
12
  private actionsVisibility;
13
13
  actionBar: ActionContainer;
14
+ showActions: boolean;
14
15
  constructor(cssClasses: {
15
16
  root: string;
16
17
  info: string;
@@ -224,8 +224,8 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
224
224
  hasErrors(fireCallback?: boolean, focusOnFirstError?: boolean, rec?: any): boolean;
225
225
  /**
226
226
  * Validates questions within this panel or page and returns `false` if the validation fails.
227
- * @param fireCallback *Optional.* Pass `false` if you do not want to show validation errors in the UI.
228
- * @param focusOnFirstError *Optional.* Pass `true` if you want to focus the first question with a validation error.
227
+ * @param fireCallback *(Optional)* Pass `false` if you do not want to show validation errors in the UI.
228
+ * @param focusOnFirstError *(Optional)* Pass `true` if you want to focus the first question with a validation error.
229
229
  * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)
230
230
  */
231
231
  validate(fireCallback?: boolean, focusOnFirstError?: boolean, rec?: any): boolean;
@@ -18,6 +18,7 @@ export interface IDialogOptions extends IPopupOptionsBase {
18
18
  componentName: string;
19
19
  data: any;
20
20
  onApply: () => boolean;
21
+ isFocusedContent?: boolean;
21
22
  }
22
23
  export interface IPopupModel<T = any> extends IDialogOptions {
23
24
  contentComponentName: string;
@@ -67,9 +67,9 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
67
67
  *
68
68
  * - `sender`: `SurveyModel`\
69
69
  * A survey instance that contains the question whose ready state has changed.
70
- * - `options.isReady`: `Boolean`\
70
+ * - `options.isReady`: `boolean`\
71
71
  * Indicates whether the question is ready.
72
- * - `options.oldIsReady`: `Boolean`\
72
+ * - `options.oldIsReady`: `boolean`\
73
73
  * Indicates the previous ready state.
74
74
  */
75
75
  onReadyChanged: EventBase<Question>;
@@ -222,8 +222,11 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
222
222
  get isQuestion(): boolean;
223
223
  moveTo(container: IPanel, insertBefore?: any): boolean;
224
224
  getProgressInfo(): IProgressInfo;
225
- private resetValueIfExpression;
226
- private isRunningResetValueIf;
225
+ private setValueExpressionRunner;
226
+ private runSetValueExpression;
227
+ private triggersInfo;
228
+ private addTriggerInfo;
229
+ private runTriggerInfo;
227
230
  runTriggers(name: string, value: any): void;
228
231
  private runConditions;
229
232
  setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
@@ -356,6 +359,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
356
359
  onCommentChange(event: any): void;
357
360
  afterRenderQuestionElement(el: HTMLElement): void;
358
361
  afterRender(el: HTMLElement): void;
362
+ afterRenderCore(el: HTMLElement): void;
359
363
  protected getCommentElementsId(): Array<string>;
360
364
  beforeDestroyQuestionElement(el: HTMLElement): void;
361
365
  get processedTitle(): string;
@@ -521,27 +525,27 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
521
525
  *
522
526
  * | Question type | Value type(s) |
523
527
  * | ------------- | ------------- |
524
- * | Checkboxes | `Array<String \| Number>` |
525
- * | Dropdown | `String` \| `Number` |
526
- * | Dynamic Matrix | `Array<Object>` |
527
- * | Dynamic Panel | `Array<Object>` |
528
- * | Expression | `String` \| `Number` \| `Boolean` |
528
+ * | Checkboxes | `Array<string \| number>` |
529
+ * | Dropdown | `string` \| `number` |
530
+ * | Dynamic Matrix | `Array<object>` |
531
+ * | Dynamic Panel | `Array<object>` |
532
+ * | Expression | `string` \| `number` \| `boolean` |
529
533
  * | File Upload | `File` \| `Array<File>` |
530
534
  * | HTML | (no value) |
531
535
  * | Image | (no value) |
532
- * | Image Picker | `Array<String \| Number>` |
533
- * | Long Text | `String` |
534
- * | Multi-Select Dropdown | `Object` |
535
- * | Multi-Select Matrix | `Object` |
536
- * | Multiple Textboxes | `Array<String>` |
536
+ * | Image Picker | `Array<string \| number>` |
537
+ * | Long Text | `string` |
538
+ * | Multi-Select Dropdown | `object` |
539
+ * | Multi-Select Matrix | `object` |
540
+ * | Multiple Textboxes | `Array<string>` |
537
541
  * | Panel | (no value) |
538
- * | Radio Button Group | `String` \| `Number` |
539
- * | Ranking | `Array<String \| Number>` |
540
- * | Rating Scale | `Number` \| `String` |
541
- * | Signature | `String` (base64-encoded image) |
542
- * | Single-Line Input | `String` \| `Number` \| `Date` |
543
- * | Single-Select Matrix | `Object` |
544
- * | Yes/No (Boolean) | `Boolean` \| `String` |
542
+ * | Radio Button Group | `string` \| `number` |
543
+ * | Ranking | `Array<string \| number>` |
544
+ * | Rating Scale | `number` \| `string` |
545
+ * | Signature | `string` (base64-encoded image) |
546
+ * | Single-Line Input | `string` \| `number` \| `Date` |
547
+ * | Single-Select Matrix | `object` |
548
+ * | Yes/No (Boolean) | `boolean` \| `string` |
545
549
  */
546
550
  get value(): any;
547
551
  set value(newValue: any);
@@ -618,6 +622,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
618
622
  *
619
623
  * An expression can also include built-in and custom functions for advanced calculations. For example, if the `defaultValue` should be today's date, set the `defaultValueExpression` to `"today()"`, and the corresponding built-in function will be executed each time the survey is loaded. Refer to the following help topic for more information: [Built-In Functions](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#built-in-functions).
620
624
  * @see defaultValue
625
+ * @see setValueExpression
621
626
  */
622
627
  get defaultValueExpression(): any;
623
628
  set defaultValueExpression(val: any);
@@ -627,9 +632,29 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
627
632
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
628
633
  *
629
634
  * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
635
+ * @see setValueIf
630
636
  */
631
637
  get resetValueIf(): string;
632
638
  set resetValueIf(val: string);
639
+ /**
640
+ * A Boolean expression. If it evaluates to `true`, the question value is set to a value calculated using the [`setValueExpression`](#setValueExpression).
641
+ *
642
+ * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
643
+ *
644
+ * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
645
+ * @see resetValueIf
646
+ */
647
+ get setValueIf(): string;
648
+ set setValueIf(val: string);
649
+ /**
650
+ * An expression used to calculate the question value. Applies only when the [`setValueIf`](#setValueIf) expression evaluates to `true`.
651
+ *
652
+ * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
653
+ * @see defaultValueExpression
654
+ * @see resetValueIf
655
+ */
656
+ get setValueExpression(): string;
657
+ set setValueExpression(val: string);
633
658
  get resizeStyle(): "none" | "both";
634
659
  /**
635
660
  * Returns the question value as an object in which the question name, title, value, and other parameters are stored as individual properties.
@@ -719,7 +744,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
719
744
  hasErrors(fireCallback?: boolean, rec?: any): boolean;
720
745
  /**
721
746
  * Validates this question and returns `false` if the validation fails.
722
- * @param fireCallback *Optional.* Pass `false` if you do not want to show validation errors in the UI.
747
+ * @param fireCallback *(Optional)* Pass `false` if you do not want to show validation errors in the UI.
723
748
  * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)
724
749
  */
725
750
  validate(fireCallback?: boolean, rec?: any): boolean;
@@ -750,6 +775,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
750
775
  allowSpaceAsAnswer: boolean;
751
776
  private isValueChangedInSurvey;
752
777
  private isOldAnswered;
778
+ private isSettingQuestionValue;
753
779
  protected allowNotifyValueChanged: boolean;
754
780
  protected setNewValue(newValue: any): void;
755
781
  private checkIsValueCorrect;
@@ -105,7 +105,7 @@ export interface ICustomQuestionTypeConfiguration {
105
105
  *
106
106
  * - `question`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
107
107
  * A custom question.
108
- * - `propertyName`: `String`\
108
+ * - `propertyName`: `string`\
109
109
  * The name of the changed property.
110
110
  * - `newValue`: `any`\
111
111
  * A new value for the property.
@@ -118,7 +118,7 @@ export interface ICustomQuestionTypeConfiguration {
118
118
  *
119
119
  * - `question`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
120
120
  * A custom question.
121
- * - `name`: `String`\
121
+ * - `name`: `string`\
122
122
  * The question's [name](https://surveyjs.io/Documentation/Library?id=Question#name).
123
123
  * - `newValue`: `any`\
124
124
  * A new value for the question.
@@ -133,7 +133,7 @@ export interface ICustomQuestionTypeConfiguration {
133
133
  *
134
134
  * - `question`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
135
135
  * A custom question.
136
- * - `name`: `String`\
136
+ * - `name`: `string`\
137
137
  * The question's [name](https://surveyjs.io/Documentation/Library?id=Question#name).
138
138
  * - `newValue`: `any`\
139
139
  * A new value for the question.
@@ -148,9 +148,9 @@ export interface ICustomQuestionTypeConfiguration {
148
148
  * A custom question.
149
149
  * - `options.obj`: [ItemValue](https://surveyjs.io/Documentation/Library?id=itemvalue)\
150
150
  * An `ItemValue` object.
151
- * - `options.propertyName`: `String`\
151
+ * - `options.propertyName`: `string`\
152
152
  * The name of the property to which an array of `ItemValue` objects is assigned (for example, `"choices"` or `"rows"`).
153
- * - `options.name`: `String`\
153
+ * - `options.name`: `string`\
154
154
  * The name of the changed property: `"text"` or `"value"`.
155
155
  * - `options.newValue`: `any`\
156
156
  * A new value for the property.
@@ -242,7 +242,7 @@ export declare abstract class QuestionCustomModelBase extends Question implement
242
242
  setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
243
243
  onSurveyLoad(): void;
244
244
  afterRenderQuestionElement(el: HTMLElement): void;
245
- afterRender(el: any): void;
245
+ afterRenderCore(el: any): void;
246
246
  protected onUpdateQuestionCssClasses(element: Question, css: any): void;
247
247
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
248
248
  protected setNewValue(newValue: any): void;
@@ -286,7 +286,7 @@ export declare class QuestionCustomModel extends QuestionCustomModelBase {
286
286
  protected onSetData(): void;
287
287
  hasErrors(fireCallback?: boolean, rec?: any): boolean;
288
288
  focus(onError?: boolean): void;
289
- afterRender(el: any): void;
289
+ afterRenderCore(el: any): void;
290
290
  get contentQuestion(): Question;
291
291
  protected createQuestion(): Question;
292
292
  onSurveyLoad(): void;
@@ -106,6 +106,5 @@ export declare class QuestionExpressionModel extends Question {
106
106
  set precision(val: number);
107
107
  private roundValue;
108
108
  protected getValueAsStr(val: any): string;
109
- protected convertToCorrectValue(val: any): any;
110
109
  }
111
110
  export declare function getCurrecyCodes(): Array<string>;