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
@@ -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>;
@@ -216,8 +216,11 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
216
216
  readonly isQuestion: boolean;
217
217
  moveTo(container: IPanel, insertBefore?: any): boolean;
218
218
  getProgressInfo(): IProgressInfo;
219
- private resetValueIfExpression;
220
- private isRunningResetValueIf;
219
+ private setValueExpressionRunner;
220
+ private runSetValueExpression;
221
+ private triggersInfo;
222
+ private addTriggerInfo;
223
+ private runTriggerInfo;
221
224
  runTriggers(name: string, value: any): void;
222
225
  private runConditions;
223
226
  setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
@@ -343,6 +346,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
343
346
  onCommentChange(event: any): void;
344
347
  afterRenderQuestionElement(el: HTMLElement): void;
345
348
  afterRender(el: HTMLElement): void;
349
+ afterRenderCore(el: HTMLElement): void;
346
350
  protected getCommentElementsId(): Array<string>;
347
351
  beforeDestroyQuestionElement(el: HTMLElement): void;
348
352
  readonly processedTitle: string;
@@ -497,27 +501,27 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
497
501
  *
498
502
  * | Question type | Value type(s) |
499
503
  * | ------------- | ------------- |
500
- * | Checkboxes | `Array<String \| Number>` |
501
- * | Dropdown | `String` \| `Number` |
502
- * | Dynamic Matrix | `Array<Object>` |
503
- * | Dynamic Panel | `Array<Object>` |
504
- * | Expression | `String` \| `Number` \| `Boolean` |
504
+ * | Checkboxes | `Array<string \| number>` |
505
+ * | Dropdown | `string` \| `number` |
506
+ * | Dynamic Matrix | `Array<object>` |
507
+ * | Dynamic Panel | `Array<object>` |
508
+ * | Expression | `string` \| `number` \| `boolean` |
505
509
  * | File Upload | `File` \| `Array<File>` |
506
510
  * | HTML | (no value) |
507
511
  * | Image | (no value) |
508
- * | Image Picker | `Array<String \| Number>` |
509
- * | Long Text | `String` |
510
- * | Multi-Select Dropdown | `Object` |
511
- * | Multi-Select Matrix | `Object` |
512
- * | Multiple Textboxes | `Array<String>` |
512
+ * | Image Picker | `Array<string \| number>` |
513
+ * | Long Text | `string` |
514
+ * | Multi-Select Dropdown | `object` |
515
+ * | Multi-Select Matrix | `object` |
516
+ * | Multiple Textboxes | `Array<string>` |
513
517
  * | Panel | (no value) |
514
- * | Radio Button Group | `String` \| `Number` |
515
- * | Ranking | `Array<String \| Number>` |
516
- * | Rating Scale | `Number` \| `String` |
517
- * | Signature | `String` (base64-encoded image) |
518
- * | Single-Line Input | `String` \| `Number` \| `Date` |
519
- * | Single-Select Matrix | `Object` |
520
- * | Yes/No (Boolean) | `Boolean` \| `String` |
518
+ * | Radio Button Group | `string` \| `number` |
519
+ * | Ranking | `Array<string \| number>` |
520
+ * | Rating Scale | `number` \| `string` |
521
+ * | Signature | `string` (base64-encoded image) |
522
+ * | Single-Line Input | `string` \| `number` \| `Date` |
523
+ * | Single-Select Matrix | `object` |
524
+ * | Yes/No (Boolean) | `boolean` \| `string` |
521
525
  */
522
526
  value: any;
523
527
  readonly hasFilteredValue: boolean;
@@ -591,6 +595,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
591
595
  *
592
596
  * 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).
593
597
  * @see defaultValue
598
+ * @see setValueExpression
594
599
  */
595
600
  defaultValueExpression: any;
596
601
  /*
@@ -599,8 +604,26 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
599
604
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
600
605
  *
601
606
  * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
607
+ * @see setValueIf
602
608
  */
603
609
  resetValueIf: string;
610
+ /*
611
+ * A Boolean expression. If it evaluates to `true`, the question value is set to a value calculated using the [`setValueExpression`](#setValueExpression).
612
+ *
613
+ * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
614
+ *
615
+ * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
616
+ * @see resetValueIf
617
+ */
618
+ setValueIf: string;
619
+ /*
620
+ * An expression used to calculate the question value. Applies only when the [`setValueIf`](#setValueIf) expression evaluates to `true`.
621
+ *
622
+ * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
623
+ * @see defaultValueExpression
624
+ * @see resetValueIf
625
+ */
626
+ setValueExpression: string;
604
627
  readonly resizeStyle: "none" | "both";
605
628
  /**
606
629
  * Returns the question value as an object in which the question name, title, value, and other parameters are stored as individual properties.
@@ -686,7 +709,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
686
709
  hasErrors(fireCallback?: boolean, rec?: any): boolean;
687
710
  /**
688
711
  * Validates this question and returns `false` if the validation fails.
689
- * @param fireCallback *Optional.* Pass `false` if you do not want to show validation errors in the UI.
712
+ * @param fireCallback *(Optional)* Pass `false` if you do not want to show validation errors in the UI.
690
713
  * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)
691
714
  */
692
715
  validate(fireCallback?: boolean, rec?: any): boolean;
@@ -717,6 +740,7 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
717
740
  allowSpaceAsAnswer: boolean;
718
741
  private isValueChangedInSurvey;
719
742
  private isOldAnswered;
743
+ private isSettingQuestionValue;
720
744
  protected allowNotifyValueChanged: boolean;
721
745
  protected setNewValue(newValue: any): void;
722
746
  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
  readonly contentQuestion: Question;
291
291
  protected createQuestion(): Question;
292
292
  onSurveyLoad(): void;
@@ -97,6 +97,5 @@ export declare class QuestionExpressionModel extends Question {
97
97
  precision: number;
98
98
  private roundValue;
99
99
  protected getValueAsStr(val: any): string;
100
- protected convertToCorrectValue(val: any): any;
101
100
  }
102
101
  export declare function getCurrecyCodes(): Array<string>;
@@ -20,7 +20,7 @@ export declare class QuestionFileModel extends Question {
20
20
  *
21
21
  * - `sender`: `SurveyModel`\
22
22
  * A survey instance that raised the event.
23
- * - `options.state`: `String`\
23
+ * - `options.state`: `string`\
24
24
  * The current upload state: `"empty"`, `"loading"`, `"loaded"`, or `"error"`.
25
25
  */
26
26
  onUploadStateChanged: EventBase<QuestionFileModel>;
@@ -161,6 +161,7 @@ export declare class QuestionFileModel extends Question {
161
161
  readonly showFileDecorator: boolean;
162
162
  readonly showLoadingIndicator: boolean;
163
163
  readonly allowShowPreview: boolean;
164
+ readonly showPreviewContainer: boolean;
164
165
  readonly showRemoveButtonCore: boolean;
165
166
  readonly showRemoveButton: boolean;
166
167
  readonly showRemoveButtonBottom: boolean;
@@ -20,4 +20,5 @@ export declare class QuestionHtmlModel extends QuestionNonValue {
20
20
  readonly locHtml: LocalizableString;
21
21
  readonly processedHtml: string;
22
22
  private processHtml;
23
+ readonly isNewA11yStructure: boolean;
23
24
  }
@@ -65,6 +65,8 @@ export declare class MatrixDropdownColumn extends Base implements ILocalizableOw
65
65
  requiredIf: string;
66
66
  resetValueIf: string;
67
67
  defaultValueExpression: string;
68
+ setValueIf: string;
69
+ setValueExpession: string;
68
70
  isUnique: boolean;
69
71
  showInMultipleColumns: boolean;
70
72
  readonly isSupportMultipleColumns: boolean;
@@ -154,7 +154,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
154
154
  private getQuestionToFocusOnAddingRow;
155
155
  /**
156
156
  * Creates and adds a new row to the matrix.
157
- * @param setFocus *Optional.* Pass `true` to focus the cell in the first column.
157
+ * @param setFocus *(Optional)* Pass `true` to focus the cell in the first column.
158
158
  */
159
159
  addRow(setFocus?: boolean): void;
160
160
  /*
@@ -172,7 +172,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
172
172
  /**
173
173
  * Removes a matrix row with a specified index.
174
174
  * @param index A zero-based row index.
175
- * @param confirmDelete *Optional.* A Boolean value that specifies whether to display a confirmation dialog. If you do not specify this parameter, the [`confirmDelete`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#confirmDelete) property value is used.
175
+ * @param confirmDelete *(Optional)* A Boolean value that specifies whether to display a confirmation dialog. If you do not specify this parameter, the [`confirmDelete`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#confirmDelete) property value is used.
176
176
  */
177
177
  removeRow(index: number, confirmDelete?: boolean): void;
178
178
  private removeRowAsync;
@@ -98,8 +98,8 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
98
98
  *
99
99
  * The template can contain the following placeholders:
100
100
  *
101
- * - `{panelIndex}` - A zero-based index of a panel in the [`panels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#panels) array.
102
- * - `{visiblePanelIndex}` - A zero-based index of a panel in the [`visiblePanels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#visiblePanels) array.
101
+ * - `{panelIndex}` - A panel index within the collection of all panels. Starts with 1.
102
+ * - `{visiblePanelIndex}` - A panel index within the collection of visible panels. Starts with 1.
103
103
  * @see template
104
104
  * @see templateDescription
105
105
  * @see templateElements
@@ -113,8 +113,12 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
113
113
  *
114
114
  * The template can contain the following placeholders:
115
115
  *
116
- * - `{panelIndex}` - A zero-based index of a panel in the [`panels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#panels) array.
117
- * - `{visiblePanelIndex}` - A zero-based index of a panel in the [`visiblePanels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#visiblePanels) array.
116
+ * - `{panelIndex}` - A panel index within the collection of all panels. Starts with 1.
117
+ * - `{visiblePanelIndex}` - A panel index within the collection of visible panels. Starts with 1.
118
+ *
119
+ * If you want to customize individual tab titles, handle `SurveyModel`'s [`onGetDynamicPanelTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetDynamicPanelTabTitle) event.
120
+ *
121
+ * [View Demo](/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
118
122
  * @see templateTitle
119
123
  * @see renderMode
120
124
  */
@@ -374,11 +378,11 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
374
378
  *
375
379
  * Possible values:
376
380
  *
377
- * - `"list"` - Renders panels one under the other. [View Demo](https://surveyjs.io/form-library/examples/how-to-use-expressions-in-dynamic-panel/)
381
+ * - `"list"` (default) - Renders panels one under the other. [View Demo](https://surveyjs.io/form-library/examples/how-to-use-expressions-in-dynamic-panel/)
378
382
  * - `"progressTop"` - Renders each panel as a card and displays a progress bar at the top. [View Demo](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/)
379
383
  * - `"progressBottom"` - Renders each panel panel as a card and displays a progress bar at the bottom.
380
384
  * - `"progressTopBottom"` - Renders each panel as a card and displays a progress bar at the top and bottom.
381
- * - `"tab"` - Renders each panel within a tab. Use the [`templateTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle) to specify a template for tab titles.
385
+ * - `"tab"` - Renders each panel within a tab. Use the [`templateTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle) to specify a template for tab titles. [View Demo](/form-library/examples/tabbed-interface-for-duplicate-group-option/)
382
386
  */
383
387
  renderMode: string;
384
388
  tabAlign: "center" | "left" | "right";
@@ -21,10 +21,10 @@ export declare var settings: {
21
21
  *
22
22
  * Nested properties:
23
23
  *
24
- * - `showEmptyDescriptions`: `Boolean`\
24
+ * - `showEmptyDescriptions`: `boolean`\
25
25
  * Specifies whether to display an empty description for pages and panels. Default value: `true`.
26
26
  *
27
- * - `showEmptyTitles`: `Boolean`\
27
+ * - `showEmptyTitles`: `boolean`\
28
28
  * Specifies whether to display an empty title for pages and panels. Default value: `true`.
29
29
  */
30
30
  designMode: {
@@ -44,13 +44,13 @@ export declare var settings: {
44
44
  *
45
45
  * Nested properties:
46
46
  *
47
- * - `useLocalTimeZone`: `Boolean`\
47
+ * - `useLocalTimeZone`: `boolean`\
48
48
  * Disable this property if you want internal SurveyJS functions to use methods that work with UTC date and time (`setUTCDate()` `setUTCHours()`, etc.) instead of methods that work with local date and time (`setYear`, `setHours()`, etc.). Default value: `true`.
49
49
  *
50
- * - `defaultLocaleName`: `String`\
50
+ * - `defaultLocaleName`: `string`\
51
51
  * A property key that stores a translation for the default locale. Default value: `"default"`.
52
52
  *
53
- * - `storeDuplicatedTranslations`: `Boolean`\
53
+ * - `storeDuplicatedTranslations`: `boolean`\
54
54
  * Specifies whether surveys should store translation strings that equal the translation strings in the default locale. Default value: `false`.
55
55
  */
56
56
  localization: {
@@ -75,16 +75,16 @@ export declare var settings: {
75
75
  *
76
76
  * Nested properties:
77
77
  *
78
- * - `encodeUrlParams`: `Boolean`\
78
+ * - `encodeUrlParams`: `boolean`\
79
79
  * Specifies whether to encode URL parameters when you access a web service. Default value: `true`.
80
80
  *
81
- * - `cacheLoadedChoices`: `Boolean`\
81
+ * - `cacheLoadedChoices`: `boolean`\
82
82
  * Specifies whether to cache [choices](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#choicesByUrl) loaded from a web service. Default value: `true`.
83
83
  *
84
- * - `disableQuestionWhileLoadingChoices`: `Boolean`\
84
+ * - `disableQuestionWhileLoadingChoices`: `boolean`\
85
85
  * Disables a question while its choices are being loaded from a web service. Default value: `false`.
86
86
  *
87
- * - `surveyServiceUrl`: `String`\
87
+ * - `surveyServiceUrl`: `string`\
88
88
  * The URL of the SurveyJS Service API endpoint.
89
89
  */
90
90
  web: {
@@ -115,14 +115,14 @@ export declare var settings: {
115
115
  *
116
116
  * Nested properties:
117
117
  *
118
- * - `changeNavigationButtonsOnComplete`: `Boolean`\
118
+ * - `changeNavigationButtonsOnComplete`: `boolean`\
119
119
  * Specifies whether to re-evaluate an expression associated with the [Complete trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete) immediately when a question value changes. If the expression evaluates to `true`, the trigger is executed. Default value: `false`.\
120
120
  * Keep this property set to `false` if you want to re-evaluate the Complete trigger's expression only when the respondents navigate to another page.
121
121
  *
122
- * - `executeCompleteOnValueChanged`: `Boolean`\
122
+ * - `executeCompleteOnValueChanged`: `boolean`\
123
123
  * Specifies whether to replace the Next button with the Complete button when the [Complete trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete) is going to be executed. Default value: `true`.
124
124
  *
125
- * - `executeSkipOnValueChanged`: `Boolean`\
125
+ * - `executeSkipOnValueChanged`: `boolean`\
126
126
  * Specifies whether to re-evaluate an expression associated with the [Skip trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#skip) immediately when a question value changes. If the expression evaluates to `true`, the trigger is executed. Default value: `true`.\
127
127
  * Disable this property if you want to re-evaluate the Skip trigger's expression only when respondents navigate to another page.
128
128
  */
@@ -148,13 +148,13 @@ export declare var settings: {
148
148
  *
149
149
  * Nested properties:
150
150
  *
151
- * - `itemValueSerializeAsObject`: `Boolean`\
151
+ * - `itemValueSerializeAsObject`: `boolean`\
152
152
  * Enable this property if you want to serialize [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) instances as objects even when they include only the `value` property. Default value: `false`. View an example below.
153
153
  *
154
- * - `itemValueSerializeDisplayText`: `Boolean`\
154
+ * - `itemValueSerializeDisplayText`: `boolean`\
155
155
  * Enable this property if you want to serialize the `text` property of [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) objects even when it is empty or equal to the `value` property. Default value: `false`. View an example below.
156
156
  *
157
- * - `localizableStringSerializeAsObject`: `Boolean`\
157
+ * - `localizableStringSerializeAsObject`: `boolean`\
158
158
  * Enable this property if you want to serialize [`LocalizableString`](https://surveyjs.io/form-library/documentation/api-reference/localizablestring) instances as objects even when they include only a translation string for the default locale. For example, `"Custom String"` will be serialized as `{ default: "Custom String" }`. Default value: `false`.
159
159
  *
160
160
  * ```js
@@ -193,7 +193,7 @@ export declare var settings: {
193
193
  *
194
194
  * Nested properties:
195
195
  *
196
- * - `enabled`: `Boolean`\
196
+ * - `enabled`: `boolean`\
197
197
  * Specifies whether to add questions to the DOM only when they get into the viewport. Default value: `false`.
198
198
  *
199
199
  * > Lazy rendering is an experimental feature that may not work as expected in all use cases.
@@ -212,28 +212,28 @@ export declare var settings: {
212
212
  *
213
213
  * Nested properties:
214
214
  *
215
- * - `defaultRowName`: `String`\
215
+ * - `defaultRowName`: `string`\
216
216
  * A property key that stores an object with default cell values. Default value: "default".
217
217
  *
218
- * - `defaultCellType`: `String`\
218
+ * - `defaultCellType`: `string`\
219
219
  * The default type of matrix cells. Default value: `"dropdown"`.\
220
220
  * You can specify this setting for individual questions or matrix columns: [`cellType`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#cellType). Refer to the `cellType` property description for information on possible values.
221
221
  *
222
- * - `totalsSuffix`: `String`\
222
+ * - `totalsSuffix`: `string`\
223
223
  * A suffix added to the name of the property that stores total values. The resulting property name consists of the matrix name and the suffix. Default value: `"-total"`.
224
224
  *
225
- * - `maxRowCount`: `Number`\
225
+ * - `maxRowCount`: `number`\
226
226
  * A maximum number of rows in a Dynamic Matrix. Default value: 1000.\
227
227
  * You can specify this setting for an individual Dynamic Matrix: [`maxRowCount`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#maxRowCount).
228
228
  *
229
- * - `maxRowCountInCondition`: `Number`\
229
+ * - `maxRowCountInCondition`: `number`\
230
230
  * A maximum number of matrix rows included in the Condition drop-down menu in Survey Creator. This menu is used to configure conditional survey logic. Default value: 1.\
231
231
  * If you set this property to 0, the Condition menu does not include any matrix rows. Users still can specify conditions that use matrix rows but only with Manual Entry.
232
232
  *
233
- * - `renderRemoveAsIcon`: `Boolean`\
233
+ * - `renderRemoveAsIcon`: `boolean`\
234
234
  * Disable this property if you want to render the Remove action in Dynamic Matrix as a button. Otherwise, the action is rendered as an icon. Default value: `true`.
235
235
  *
236
- * - `columnWidthsByType`: `Object`\
236
+ * - `columnWidthsByType`: `object`\
237
237
  * An object that specifies fixed and minimum column width based on the column type.\
238
238
  * Example: `settings.matrix.columnWidthsByType = { "tagbox": { minWidth: "240px", width: "300px" } }`
239
239
  *
@@ -284,11 +284,11 @@ export declare var settings: {
284
284
  *
285
285
  * Nested properties:
286
286
  *
287
- * - `maxPanelCount`: `Number`\
287
+ * - `maxPanelCount`: `number`\
288
288
  * A maximum number of panels in Dynamic Panel. Default value: 100.\
289
289
  * You can specify this setting for an individual Dynamic Panel: [`maxPanelCount`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#maxPanelCount).
290
290
  *
291
- * - `maxPanelCountInCondition`: `Number`\
291
+ * - `maxPanelCountInCondition`: `number`\
292
292
  * A maximum number of Dynamic Panel panels included in the Condition drop-down menu in Survey Creator. This menu is used to configure conditional survey logic. Default value: 1.\
293
293
  * If you set this property to 0, the Condition menu does not include any panel questions. Users still can specify conditions that use panel questions but only with Manual Entry.
294
294
  */
@@ -333,10 +333,10 @@ export declare var settings: {
333
333
  *
334
334
  * Nested properties:
335
335
  *
336
- * - `includeQuestionsWithHiddenNumber`: `Boolean`\
336
+ * - `includeQuestionsWithHiddenNumber`: `boolean`\
337
337
  * Specifies whether to number questions whose [`hideNumber`](https://surveyjs.io/form-library/documentation/api-reference/question#hideNumber) property is enabled. Default value: `false`.
338
338
  *
339
- * - `includeQuestionsWithHiddenTitle`: `Boolean`\
339
+ * - `includeQuestionsWithHiddenTitle`: `boolean`\
340
340
  * Specifies whether to number questions whose [`titleLocation`](https://surveyjs.io/form-library/documentation/api-reference/question#titleLocation) property is set to `"hidden"`. Default value: `false`.
341
341
  */
342
342
  numbering: {
@@ -366,10 +366,10 @@ export declare var settings: {
366
366
  *
367
367
  * Nested properties:
368
368
  *
369
- * - `trimStrings`: `Boolean`\
369
+ * - `trimStrings`: `boolean`\
370
370
  * Specifies whether to remove whitespace from both ends of a string before the comparison. Default value: `true`.
371
371
  *
372
- * - `caseSensitive`: `Boolean`\
372
+ * - `caseSensitive`: `boolean`\
373
373
  * Specifies whether to differentiate between capital and lower-case letters. Default value: `false`.
374
374
  */
375
375
  comparator: {
@@ -406,16 +406,27 @@ export declare var settings: {
406
406
  */
407
407
  tagboxCloseOnSelect: boolean;
408
408
  /**
409
- * A property that allows you to display a custom confirm dialog instead of the standard browser dialog.
409
+ * A property that allows you to display a custom confirm dialog.
410
410
  *
411
411
  * Set this property to a function that renders your custom dialog window. This function should return `true` if a user confirms an action or `false` otherwise.
412
412
  * @param message A message to be displayed in the confirm dialog window.
413
413
  */
414
414
  confirmActionFunc: (message: string) => boolean;
415
415
  /**
416
- * A property that allows you to display a custom confirm dialog instead of the standard browser dialog in async mode.
416
+ * A property that allows you to display a custom confirm dialog in async mode or activate the standard browser dialog.
417
417
  *
418
- * Set this property to a function that renders your custom dialog window. This function should return `true` to be enabled; otherwise, a survey executes the [`confirmActionFunc`](#confirmActionFunc) function. Pass the dialog result as the `callback` parameter: `true` if a user confirms an action, `false` otherwise.
418
+ * To display a custom confirm dialog, set this property to a function that renders it. This function should return `true` to be enabled; otherwise, a survey executes the [`confirmActionFunc`](#confirmActionFunc) function. Pass the dialog result as the `callback` parameter: `true` if a user confirms an action, `false` otherwise.
419
+ *
420
+ * To activate the standard browser dialog, set the `confirmActionAsync` property to a function that returns `false`. With this configuration, a survey falls back to the [`confirmActionFunc`](#confirmActionFunc) function, which renders the standard browser dialog by default.
421
+ *
422
+ * ```js
423
+ * import { settings } from "survey-core";
424
+ *
425
+ * // Display the standard browser dialog
426
+ * settings.confirmActionAsync = () => {
427
+ * return false;
428
+ * }
429
+ * ```
419
430
  * @param message A message to be displayed in the confirm dialog window.
420
431
  * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.
421
432
  */
@@ -447,7 +458,7 @@ export declare var settings: {
447
458
  *
448
459
  * Nested properties:
449
460
  *
450
- * - `lifetime`: `Number`\
461
+ * - `lifetime`: `number`\
451
462
  * Specifies a time period during which a notification is displayed; measured in milliseconds.
452
463
  */
453
464
  notifications: {
@@ -368,7 +368,6 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
368
368
  paddingLeft: string;
369
369
  paddingRight: string;
370
370
  allowRootStyle: boolean;
371
- renderMinWidth: boolean;
372
371
  readonly rootStyle: {
373
372
  [index: string]: any;
374
373
  };
@@ -13,6 +13,7 @@ import { QuestionMatrixDynamicModel } from "./question_matrixdynamic";
13
13
  import { QuestionPanelDynamicModel } from "./question_paneldynamic";
14
14
  import { SurveyModel } from "./survey";
15
15
  import { SurveyError } from "./survey-error";
16
+ import { ITheme } from "./themes";
16
17
  import { Trigger } from "./trigger";
17
18
  export interface QuestionEventMixin {
18
19
  /**
@@ -960,3 +961,6 @@ export interface PopupVisibleChangedEvent extends QuestionEventMixin {
960
961
  */
961
962
  visible: boolean;
962
963
  }
964
+ export interface ThemeAppliedEvent {
965
+ theme: ITheme;
966
+ }