survey-core 1.11.11 → 1.11.13

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 (294) hide show
  1. package/README.md +1 -2
  2. package/defaultV2.css +34 -14
  3. package/defaultV2.css.map +1 -1
  4. package/defaultV2.fontless.css +34 -14
  5. package/defaultV2.fontless.css.map +1 -1
  6. package/defaultV2.fontless.min.css +2 -2
  7. package/defaultV2.min.css +2 -2
  8. package/i18n/arabic.js +2 -4
  9. package/i18n/arabic.js.map +1 -1
  10. package/i18n/arabic.min.js +2 -2
  11. package/i18n/basque.js +2 -3
  12. package/i18n/basque.js.map +1 -1
  13. package/i18n/basque.min.js +2 -2
  14. package/i18n/bulgarian.js +2 -3
  15. package/i18n/bulgarian.js.map +1 -1
  16. package/i18n/bulgarian.min.js +2 -2
  17. package/i18n/catalan.js +2 -3
  18. package/i18n/catalan.js.map +1 -1
  19. package/i18n/catalan.min.js +2 -2
  20. package/i18n/croatian.js +2 -3
  21. package/i18n/croatian.js.map +1 -1
  22. package/i18n/croatian.min.js +2 -2
  23. package/i18n/czech.js +2 -3
  24. package/i18n/czech.js.map +1 -1
  25. package/i18n/czech.min.js +2 -2
  26. package/i18n/danish.js +2 -3
  27. package/i18n/danish.js.map +1 -1
  28. package/i18n/danish.min.js +2 -2
  29. package/i18n/dutch.js +2 -3
  30. package/i18n/dutch.js.map +1 -1
  31. package/i18n/dutch.min.js +2 -2
  32. package/i18n/english.js +2 -3
  33. package/i18n/english.js.map +1 -1
  34. package/i18n/english.min.js +1 -1
  35. package/i18n/estonian.js +2 -3
  36. package/i18n/estonian.js.map +1 -1
  37. package/i18n/estonian.min.js +2 -2
  38. package/i18n/finnish.js +2 -3
  39. package/i18n/finnish.js.map +1 -1
  40. package/i18n/finnish.min.js +2 -2
  41. package/i18n/french.js +2 -3
  42. package/i18n/french.js.map +1 -1
  43. package/i18n/french.min.js +2 -2
  44. package/i18n/georgian.js +2 -3
  45. package/i18n/georgian.js.map +1 -1
  46. package/i18n/georgian.min.js +2 -2
  47. package/i18n/german.js +2 -3
  48. package/i18n/german.js.map +1 -1
  49. package/i18n/german.min.js +2 -2
  50. package/i18n/greek.js +2 -3
  51. package/i18n/greek.js.map +1 -1
  52. package/i18n/greek.min.js +2 -2
  53. package/i18n/hebrew.js +2 -3
  54. package/i18n/hebrew.js.map +1 -1
  55. package/i18n/hebrew.min.js +2 -2
  56. package/i18n/hindi.js +2 -3
  57. package/i18n/hindi.js.map +1 -1
  58. package/i18n/hindi.min.js +2 -2
  59. package/i18n/hungarian.js +2 -3
  60. package/i18n/hungarian.js.map +1 -1
  61. package/i18n/hungarian.min.js +2 -2
  62. package/i18n/icelandic.js +2 -3
  63. package/i18n/icelandic.js.map +1 -1
  64. package/i18n/icelandic.min.js +2 -2
  65. package/i18n/index.js +51 -102
  66. package/i18n/index.js.map +1 -1
  67. package/i18n/index.min.js +2 -2
  68. package/i18n/indonesian.js +2 -3
  69. package/i18n/indonesian.js.map +1 -1
  70. package/i18n/indonesian.min.js +2 -2
  71. package/i18n/italian.js +2 -3
  72. package/i18n/italian.js.map +1 -1
  73. package/i18n/italian.min.js +2 -2
  74. package/i18n/japanese.js +2 -3
  75. package/i18n/japanese.js.map +1 -1
  76. package/i18n/japanese.min.js +2 -2
  77. package/i18n/kazakh.js +2 -3
  78. package/i18n/kazakh.js.map +1 -1
  79. package/i18n/kazakh.min.js +2 -2
  80. package/i18n/korean.js +2 -3
  81. package/i18n/korean.js.map +1 -1
  82. package/i18n/korean.min.js +2 -2
  83. package/i18n/latvian.js +2 -3
  84. package/i18n/latvian.js.map +1 -1
  85. package/i18n/latvian.min.js +2 -2
  86. package/i18n/lithuanian.js +2 -3
  87. package/i18n/lithuanian.js.map +1 -1
  88. package/i18n/lithuanian.min.js +2 -2
  89. package/i18n/macedonian.js +2 -3
  90. package/i18n/macedonian.js.map +1 -1
  91. package/i18n/macedonian.min.js +2 -2
  92. package/i18n/malay.js +2 -3
  93. package/i18n/malay.js.map +1 -1
  94. package/i18n/malay.min.js +2 -2
  95. package/i18n/nl-BE.js +3 -5
  96. package/i18n/nl-BE.js.map +1 -1
  97. package/i18n/nl-BE.min.js +2 -2
  98. package/i18n/norwegian.js +2 -3
  99. package/i18n/norwegian.js.map +1 -1
  100. package/i18n/norwegian.min.js +2 -2
  101. package/i18n/persian.js +2 -3
  102. package/i18n/persian.js.map +1 -1
  103. package/i18n/persian.min.js +2 -2
  104. package/i18n/philippines.js +2 -3
  105. package/i18n/philippines.js.map +1 -1
  106. package/i18n/philippines.min.js +2 -2
  107. package/i18n/polish.js +2 -3
  108. package/i18n/polish.js.map +1 -1
  109. package/i18n/polish.min.js +2 -2
  110. package/i18n/portuguese-br.js +2 -3
  111. package/i18n/portuguese-br.js.map +1 -1
  112. package/i18n/portuguese-br.min.js +2 -2
  113. package/i18n/portuguese.js +2 -3
  114. package/i18n/portuguese.js.map +1 -1
  115. package/i18n/portuguese.min.js +2 -2
  116. package/i18n/romanian.js +2 -3
  117. package/i18n/romanian.js.map +1 -1
  118. package/i18n/romanian.min.js +2 -2
  119. package/i18n/russian.js +2 -3
  120. package/i18n/russian.js.map +1 -1
  121. package/i18n/russian.min.js +2 -2
  122. package/i18n/serbian.js +2 -3
  123. package/i18n/serbian.js.map +1 -1
  124. package/i18n/serbian.min.js +2 -2
  125. package/i18n/simplified-chinese.js +2 -3
  126. package/i18n/simplified-chinese.js.map +1 -1
  127. package/i18n/simplified-chinese.min.js +2 -2
  128. package/i18n/slovak.js +2 -3
  129. package/i18n/slovak.js.map +1 -1
  130. package/i18n/slovak.min.js +2 -2
  131. package/i18n/spanish.js +2 -3
  132. package/i18n/spanish.js.map +1 -1
  133. package/i18n/spanish.min.js +2 -2
  134. package/i18n/swahili.js +2 -3
  135. package/i18n/swahili.js.map +1 -1
  136. package/i18n/swahili.min.js +2 -2
  137. package/i18n/swedish.js +2 -3
  138. package/i18n/swedish.js.map +1 -1
  139. package/i18n/swedish.min.js +2 -2
  140. package/i18n/tajik.js +2 -3
  141. package/i18n/tajik.js.map +1 -1
  142. package/i18n/tajik.min.js +2 -2
  143. package/i18n/telugu.js +2 -3
  144. package/i18n/telugu.js.map +1 -1
  145. package/i18n/telugu.min.js +2 -2
  146. package/i18n/thai.js +2 -3
  147. package/i18n/thai.js.map +1 -1
  148. package/i18n/thai.min.js +2 -2
  149. package/i18n/traditional-chinese.js +2 -3
  150. package/i18n/traditional-chinese.js.map +1 -1
  151. package/i18n/traditional-chinese.min.js +2 -2
  152. package/i18n/turkish.js +2 -3
  153. package/i18n/turkish.js.map +1 -1
  154. package/i18n/turkish.min.js +2 -2
  155. package/i18n/ukrainian.js +2 -3
  156. package/i18n/ukrainian.js.map +1 -1
  157. package/i18n/ukrainian.min.js +2 -2
  158. package/i18n/urdu.js +2 -3
  159. package/i18n/urdu.js.map +1 -1
  160. package/i18n/urdu.min.js +2 -2
  161. package/i18n/vietnamese.js +2 -3
  162. package/i18n/vietnamese.js.map +1 -1
  163. package/i18n/vietnamese.min.js +2 -2
  164. package/i18n/welsh.js +2 -3
  165. package/i18n/welsh.js.map +1 -1
  166. package/i18n/welsh.min.js +2 -2
  167. package/modern.css +27 -7
  168. package/modern.css.map +1 -1
  169. package/modern.fontless.css +27 -7
  170. package/modern.fontless.css.map +1 -1
  171. package/modern.fontless.min.css +2 -2
  172. package/modern.min.css +2 -2
  173. package/package.json +1 -1
  174. package/plugins/bootstrap-integration/index.js +1 -1
  175. package/plugins/bootstrap-integration/index.min.js +1 -1
  176. package/plugins/bootstrap-material-integration/index.js +1 -1
  177. package/plugins/bootstrap-material-integration/index.min.js +1 -1
  178. package/survey.core.js +319 -127
  179. package/survey.core.js.map +1 -1
  180. package/survey.core.min.js +3 -3
  181. package/survey.css +27 -7
  182. package/survey.css.map +1 -1
  183. package/survey.i18n.js +51 -102
  184. package/survey.i18n.js.map +1 -1
  185. package/survey.i18n.min.js +2 -2
  186. package/survey.min.css +2 -2
  187. package/themes/borderless-dark-panelless.js +1 -1
  188. package/themes/borderless-dark-panelless.min.js +1 -1
  189. package/themes/borderless-dark.js +1 -1
  190. package/themes/borderless-dark.min.js +1 -1
  191. package/themes/borderless-light-panelless..js +1 -1
  192. package/themes/borderless-light-panelless..min.js +1 -1
  193. package/themes/borderless-light.js +1 -1
  194. package/themes/borderless-light.min.js +1 -1
  195. package/themes/contrast-dark-panelless.js +1 -1
  196. package/themes/contrast-dark-panelless.min.js +1 -1
  197. package/themes/contrast-dark.js +1 -1
  198. package/themes/contrast-dark.min.js +1 -1
  199. package/themes/contrast-light-panelless.js +1 -1
  200. package/themes/contrast-light-panelless.min.js +1 -1
  201. package/themes/contrast-light.js +1 -1
  202. package/themes/contrast-light.min.js +1 -1
  203. package/themes/default-dark-panelless.js +1 -1
  204. package/themes/default-dark-panelless.min.js +1 -1
  205. package/themes/default-dark.js +1 -1
  206. package/themes/default-dark.min.js +1 -1
  207. package/themes/default-light-panelless.js +1 -1
  208. package/themes/default-light-panelless.min.js +1 -1
  209. package/themes/default-light.js +1 -1
  210. package/themes/default-light.min.js +1 -1
  211. package/themes/doubleborder-dark-panelless.js +1 -1
  212. package/themes/doubleborder-dark-panelless.min.js +1 -1
  213. package/themes/doubleborder-dark.js +1 -1
  214. package/themes/doubleborder-dark.min.js +1 -1
  215. package/themes/doubleborder-light-panelles.js +1 -1
  216. package/themes/doubleborder-light-panelles.min.js +1 -1
  217. package/themes/doubleborder-light.js +1 -1
  218. package/themes/doubleborder-light.min.js +1 -1
  219. package/themes/flat-dark-panelless.js +1 -1
  220. package/themes/flat-dark-panelless.min.js +1 -1
  221. package/themes/flat-dark.js +1 -1
  222. package/themes/flat-dark.min.js +1 -1
  223. package/themes/flat-light-panelless.js +1 -1
  224. package/themes/flat-light-panelless.min.js +1 -1
  225. package/themes/flat-light.js +1 -1
  226. package/themes/flat-light.min.js +1 -1
  227. package/themes/index.js +1 -1
  228. package/themes/index.min.js +1 -1
  229. package/themes/layered-dark-panelless.js +1 -1
  230. package/themes/layered-dark-panelless.min.js +1 -1
  231. package/themes/layered-dark.js +1 -1
  232. package/themes/layered-dark.min.js +1 -1
  233. package/themes/layered-light-panelless.js +1 -1
  234. package/themes/layered-light-panelless.min.js +1 -1
  235. package/themes/layered-light.js +1 -1
  236. package/themes/layered-light.min.js +1 -1
  237. package/themes/plain-dark-panelless.js +1 -1
  238. package/themes/plain-dark-panelless.min.js +1 -1
  239. package/themes/plain-dark.js +1 -1
  240. package/themes/plain-dark.min.js +1 -1
  241. package/themes/plain-light-panelless.js +1 -1
  242. package/themes/plain-light-panelless.min.js +1 -1
  243. package/themes/plain-light.js +1 -1
  244. package/themes/plain-light.min.js +1 -1
  245. package/themes/sharp-dark-panelless.js +1 -1
  246. package/themes/sharp-dark-panelless.min.js +1 -1
  247. package/themes/sharp-dark.js +1 -1
  248. package/themes/sharp-dark.min.js +1 -1
  249. package/themes/sharp-light-panelless.js +1 -1
  250. package/themes/sharp-light-panelless.min.js +1 -1
  251. package/themes/sharp-light.js +1 -1
  252. package/themes/sharp-light.min.js +1 -1
  253. package/themes/solid-dark-panelless.js +1 -1
  254. package/themes/solid-dark-panelless.min.js +1 -1
  255. package/themes/solid-dark.js +1 -1
  256. package/themes/solid-dark.min.js +1 -1
  257. package/themes/solid-light-panelless.js +1 -1
  258. package/themes/solid-light-panelless.min.js +1 -1
  259. package/themes/solid-light.js +1 -1
  260. package/themes/solid-light.min.js +1 -1
  261. package/themes/three-dimensional-dark-panelless.js +1 -1
  262. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  263. package/themes/three-dimensional-dark.js +1 -1
  264. package/themes/three-dimensional-dark.min.js +1 -1
  265. package/themes/three-dimensional-light-panelless.js +1 -1
  266. package/themes/three-dimensional-light-panelless.min.js +1 -1
  267. package/themes/three-dimensional-light.js +1 -1
  268. package/themes/three-dimensional-light.min.js +1 -1
  269. package/ts3.4/typings/packages/survey-core/src/conditions.d.ts +4 -0
  270. package/ts3.4/typings/packages/survey-core/src/expressions/expressions.d.ts +11 -5
  271. package/ts3.4/typings/packages/survey-core/src/mask/mask_utils.d.ts +1 -0
  272. package/ts3.4/typings/packages/survey-core/src/panel.d.ts +1 -0
  273. package/ts3.4/typings/packages/survey-core/src/question_baseselect.d.ts +0 -3
  274. package/ts3.4/typings/packages/survey-core/src/question_file.d.ts +1 -0
  275. package/ts3.4/typings/packages/survey-core/src/question_matrixdropdownbase.d.ts +3 -0
  276. package/ts3.4/typings/packages/survey-core/src/question_matrixdropdownrendered.d.ts +1 -0
  277. package/ts3.4/typings/packages/survey-core/src/question_multipletext.d.ts +9 -0
  278. package/ts3.4/typings/packages/survey-core/src/question_paneldynamic.d.ts +50 -37
  279. package/ts3.4/typings/packages/survey-core/src/question_text.d.ts +9 -0
  280. package/ts3.4/typings/packages/survey-core/src/surveyStrings.d.ts +7 -0
  281. package/ts3.4/typings/packages/survey-core/src/utils/camera.d.ts +2 -2
  282. package/typings/packages/survey-core/src/conditions.d.ts +4 -0
  283. package/typings/packages/survey-core/src/expressions/expressions.d.ts +11 -5
  284. package/typings/packages/survey-core/src/mask/mask_utils.d.ts +1 -0
  285. package/typings/packages/survey-core/src/panel.d.ts +1 -0
  286. package/typings/packages/survey-core/src/question_baseselect.d.ts +0 -3
  287. package/typings/packages/survey-core/src/question_file.d.ts +1 -0
  288. package/typings/packages/survey-core/src/question_matrixdropdownbase.d.ts +3 -0
  289. package/typings/packages/survey-core/src/question_matrixdropdownrendered.d.ts +1 -0
  290. package/typings/packages/survey-core/src/question_multipletext.d.ts +9 -0
  291. package/typings/packages/survey-core/src/question_paneldynamic.d.ts +49 -36
  292. package/typings/packages/survey-core/src/question_text.d.ts +9 -0
  293. package/typings/packages/survey-core/src/surveyStrings.d.ts +7 -0
  294. package/typings/packages/survey-core/src/utils/camera.d.ts +2 -2
@@ -173,6 +173,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
173
173
  */
174
174
  getElementByName(name: string): IElement;
175
175
  getQuestionByValueName(valueName: string): Question;
176
+ getQuestionsByValueName(valueName: string): Array<Question>;
176
177
  /**
177
178
  * Returns a JSON object with question values nested in the panel/page.
178
179
  * @see getDisplayValue
@@ -202,9 +202,6 @@ export declare class QuestionSelectBase extends Question {
202
202
  protected hasUnknownValue(val: any, includeOther?: boolean, isFilteredChoices?: boolean, checkEmptyValue?: boolean): boolean;
203
203
  protected hasUnknownValueItem(val: any, includeOther?: boolean, isFilteredChoices?: boolean, checkEmptyValue?: boolean): boolean;
204
204
  protected isValueDisabled(val: any): boolean;
205
- /**
206
- * If the clearIncorrectValuesCallback is set, it is used to clear incorrect values instead of default behaviour.
207
- */
208
205
  clearIncorrectValuesCallback: () => void;
209
206
  /*
210
207
  * Configures access to a RESTful service that returns choice items. Refer to the [`ChoicesRestful`](https://surveyjs.io/form-library/documentation/choicesrestful) class description for more information. You can also specify additional application-wide settings using the [`settings.web`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) object.
@@ -93,6 +93,7 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
93
93
  readonly hasFileUI: boolean;
94
94
  private videoStream;
95
95
  startVideo(): void;
96
+ private readonly videoHtmlElement: any;
96
97
  private startVideoInCamera;
97
98
  stopVideo(): void;
98
99
  snapPicture(): void;
@@ -24,6 +24,7 @@ export interface IMatrixDropdownData {
24
24
  validateCell(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): SurveyError;
25
25
  columns: Array<MatrixDropdownColumn>;
26
26
  createQuestion(row: MatrixDropdownRowModelBase, column: MatrixDropdownColumn): Question;
27
+ choices: Array<ItemValue>;
27
28
  getLocale(): string;
28
29
  getMarkdownHtml(text: string, name: string): string;
29
30
  getRenderer(name: string): string;
@@ -115,6 +116,7 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
115
116
  getEditingSurveyElement(): Base;
116
117
  private setValueCore;
117
118
  private updateQuestionsValue;
119
+ private updateSharedQuestionsValue;
118
120
  runTriggers(name: string, value: any): void;
119
121
  private hasQuestonError;
120
122
  readonly isEmpty: boolean;
@@ -125,6 +127,7 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
125
127
  readonly questions: Array<Question>;
126
128
  getQuestionByName(name: string): Question;
127
129
  getQuestionsByName(name: string): Array<Question>;
130
+ getQuestionsByValueName(name: string): Array<Question>;
128
131
  protected getSharedQuestionByName(columnName: string): Question;
129
132
  clearIncorrectValues(val: any): void;
130
133
  getLocale(): string;
@@ -45,6 +45,7 @@ export declare class QuestionMatrixDropdownRenderedCell {
45
45
  readonly isFirstChoice: boolean;
46
46
  className: string;
47
47
  readonly cellQuestionWrapperClassName: string;
48
+ readonly isVisible: boolean;
48
49
  readonly showResponsiveTitle: boolean;
49
50
  readonly responsiveTitleCss: string;
50
51
  readonly responsiveLocTitle: LocalizableString;
@@ -146,6 +146,15 @@ export declare class MultipleTextItemModel extends Base implements IValidatorOwn
146
146
  * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
147
147
  */
148
148
  maskSettings: InputMaskBase;
149
+ /*
150
+ * Specifies text alignment within the input field.
151
+ *
152
+ * Possible values:
153
+ *
154
+ * - `"left"` - Aligns input text to the left side.
155
+ * - `"right"` - Aligns input text to the right side.
156
+ * - `"auto"` (default) - Applies right alignment if a [numeric or currency input mask](https://surveyjs.io/form-library/documentation/api-reference/multipletextitemmodel#maskType) is specified. Otherwise, applies left alignment.
157
+ */
149
158
  inputTextAlignment: "left" | "right" | "auto";
150
159
  /*
151
160
  * An item value.
@@ -113,7 +113,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
113
113
  templateTitle: string;
114
114
  readonly locTemplateTitle: LocalizableString;
115
115
  /*
116
- * A template for tab titles. Applies when [`renderMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#renderMode) is `"tab"`.
116
+ * A template for tab titles. Applies when [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#displayMode) is `"tab"`.
117
117
  *
118
118
  * The template can contain the following placeholders:
119
119
  *
@@ -125,7 +125,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
125
125
  * [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
126
126
  * @see templateTitle
127
127
  * @see tabTitlePlaceholder
128
- * @see renderMode
128
+ * @see displayMode
129
129
  */
130
130
  templateTabTitle: string;
131
131
  readonly locTemplateTabTitle: LocalizableString;
@@ -179,21 +179,21 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
179
179
  /*
180
180
  * A zero-based index of the currently displayed panel.
181
181
  *
182
- * When `renderMode` is `"list"` or Dynamic Panel is empty (`panelCount` is 0), this property contains -1.
182
+ * When `displayMode` is `"list"` or Dynamic Panel is empty (`panelCount` is 0), this property contains -1.
183
183
  * @see currentPanel
184
184
  * @see panels
185
185
  * @see panelCount
186
- * @see renderMode
186
+ * @see displayMode
187
187
  */
188
188
  currentIndex: number;
189
189
  /*
190
190
  * A `PanelModel` object that is the currently displayed panel.
191
191
  *
192
- * When `renderMode` is `"list"` or Dynamic Panel is empty (`panelCount` is 0), this property contains `null`.
192
+ * When `displayMode` is `"list"` or Dynamic Panel is empty (`panelCount` is 0), this property contains `null`.
193
193
  * @see currentIndex
194
194
  * @see panels
195
195
  * @see panelCount
196
- * @see renderMode
196
+ * @see displayMode
197
197
  */
198
198
  currentPanel: PanelModel;
199
199
  private _renderedPanels;
@@ -232,15 +232,15 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
232
232
  keyDuplicationError: string;
233
233
  readonly locKeyDuplicationError: LocalizableString;
234
234
  /*
235
- * A caption for the Previous button. Applies only if `renderMode` is different from `"list"`.
236
- * @see renderMode
235
+ * A caption for the Previous button. Applies only if `displayMode` is different from `"list"`.
236
+ * @see displayMode
237
237
  * @see isPrevButtonVisible
238
238
  */
239
239
  panelPrevText: string;
240
240
  readonly locPanelPrevText: LocalizableString;
241
241
  /*
242
- * A caption for the Next button. Applies only if `renderMode` is different from `"list"`.
243
- * @see renderMode
242
+ * A caption for the Next button. Applies only if `displayMode` is different from `"list"`.
243
+ * @see displayMode
244
244
  * @see isNextButtonVisible
245
245
  */
246
246
  panelNextText: string;
@@ -256,13 +256,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
256
256
  */
257
257
  panelRemoveText: string;
258
258
  readonly locPanelRemoveText: LocalizableString;
259
- /*
260
- * Returns true when the renderMode equals to "progressTop" or "progressTopBottom"
261
- */
262
259
  readonly isProgressTopShowing: boolean;
263
- /*
264
- * Returns true when the renderMode equals to "progressBottom" or "progressTopBottom"
265
- */
266
260
  readonly isProgressBottomShowing: boolean;
267
261
  /*
268
262
  * Indicates whether the Previous button is visible.
@@ -280,9 +274,6 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
280
274
  */
281
275
  readonly isNextButtonVisible: boolean;
282
276
  readonly isNextButtonShowing: boolean;
283
- /*
284
- * Returns true when showRangeInProgress equals to true, renderMode doesn't equal to "list" and visiblePanelCount is >= 2.
285
- */
286
277
  readonly isRangeShowing: boolean;
287
278
  getElementsInDesign(includeHidden?: boolean): Array<IElement>;
288
279
  private isAddingNewPanels;
@@ -306,7 +297,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
306
297
  */
307
298
  readonly visiblePanelCount: number;
308
299
  /*
309
- * Specifies whether users can expand and collapse panels. Applies if `renderMode` is `"list"` and the `templateTitle` property is specified.
300
+ * Specifies whether users can expand and collapse panels. Applies if `displayMode` is `"list"` and the `templateTitle` property is specified.
310
301
  *
311
302
  * Possible values:
312
303
  *
@@ -314,7 +305,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
314
305
  * - `"expanded"` - All panels are displayed in full and can be collapsed in the UI.
315
306
  * - `"collapsed"` - All panels display only their titles and descriptions and can be expanded in the UI.
316
307
  * - `"firstExpanded"` - Only the first panel is displayed in full; other panels are collapsed and can be expanded in the UI.
317
- * @see renderMode
308
+ * @see displayMode
318
309
  * @see templateTitle
319
310
  */
320
311
  panelsState: string;
@@ -407,23 +398,45 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
407
398
  */
408
399
  panelRemoveButtonLocation: string;
409
400
  /*
410
- * Shows the range from 1 to panelCount when renderMode doesn't equal to "list". Set to false to hide this element.
411
- * @see panelCount
412
- * @see renderMode
401
+ * Obsolete. Use the [`showProgressBar`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#showProgressBar) property instead.
402
+ * @deprecated
413
403
  */
414
404
  showRangeInProgress: boolean;
415
405
  /*
416
- * Specifies how to render panels.
417
- *
418
- * Possible values:
419
- *
420
- * - `"list"` (default) - Renders panels one under the other. [View Demo](https://surveyjs.io/form-library/examples/how-to-use-expressions-in-dynamic-panel/)
421
- * - `"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/)
422
- * - `"progressBottom"` - Renders each panel panel as a card and displays a progress bar at the bottom.
423
- * - `"progressTopBottom"` - Renders each panel as a card and displays a progress bar at the top and bottom.
424
- * - `"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](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/)
406
+ * Obsolete. Use the [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#displayMode) property instead.
407
+ * @deprecated
425
408
  */
426
409
  renderMode: string;
410
+ private updatePanelView;
411
+ /**
412
+ * Specifies how to display panels.
413
+ *
414
+ * Possible values:
415
+ *
416
+ * - `"list"` (default) - Displays panels one under the other. [View Demo](https://surveyjs.io/form-library/examples/duplicate-group-of-fields-in-form/)
417
+ * - `"carousel"` - Displays panels in a carousel. Users can switch between panels using navigation buttons.
418
+ * - `"tab"` - Displays each panel within a tab. Use the [`templateTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle) to specify a template for tab titles. [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/)
419
+ * @see showProgressBar
420
+ * @see progressBarLocation
421
+ */
422
+ displayMode: "list" | "carousel" | "tab";
423
+ /**
424
+ * Specifies whether to display the progress bar. Applies only if [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#displayMode) is `"carousel"`.
425
+ *
426
+ * Default value: `true`
427
+ * @see progressBarLocation
428
+ */
429
+ showProgressBar: true | false;
430
+ /**
431
+ * Specifies the alignment of the [progress bar](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#showProgressBar) relative to the currently displayed panel. Applies only if [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#displayMode) is `"carousel"`.
432
+ *
433
+ * Possible values:
434
+ *
435
+ * - `"top"` (default) - Displays the progress bar at the top of the current panel.
436
+ * - `"bottom"` - Displays the progress bar at the bottom of the current panel.
437
+ * - `"topBottom"` - Displays the progress bar at the top and bottom of the current panel.
438
+ */
439
+ progressBarLocation: "top" | "bottom" | "topBottom";
427
440
  tabAlign: "center" | "left" | "right";
428
441
  readonly isRenderModeList: boolean;
429
442
  readonly isRenderModeTab: boolean;
@@ -482,7 +495,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
482
495
  private isRowEmpty;
483
496
  /**
484
497
  * Add a new dynamic panel based on the template Panel. It checks if canAddPanel returns true and then calls addPanel method.
485
- * If a renderMode is different from "list" and the current panel has erros, then
498
+ * If a displayMode is different from "list" and the current panel has erros, then
486
499
  * @see template
487
500
  * @see panelCount
488
501
  * @see panels
@@ -493,7 +506,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
493
506
  private focusNewPanel;
494
507
  /**
495
508
  * Adds a new panel based on the [template](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#template).
496
- * @param index *(Optional)* An index at which to insert the new panel. `undefined` adds the panel to the end or inserts it after the current panel if [`renderMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#renderMode) is `"tab"`. A negative index (for instance, -1) adds the panel to the end in all cases, regardless of the `renderMode` value.
509
+ * @param index *(Optional)* An index at which to insert the new panel. `undefined` adds the panel to the end or inserts it after the current panel if [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#renderMode) is `"tab"`. A negative index (for instance, -1) adds the panel to the end in all cases, regardless of the `displayMode` value.
497
510
  * @see panelCount
498
511
  * @see panels
499
512
  * @see allowAddPanel
@@ -515,8 +528,8 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
515
528
  removePanelUI(value: any): void;
516
529
  isRequireConfirmOnDelete(val: any): boolean;
517
530
  /**
518
- * Switches Dynamic Panel to the next panel. Returns `true` in case of success, or `false` if `renderMode` is `"list"` or the current panel contains validation errors.
519
- * @see renderMode
531
+ * Switches Dynamic Panel to the next panel. Returns `true` in case of success, or `false` if `displayMode` is `"list"` or the current panel contains validation errors.
532
+ * @see displayMode
520
533
  */
521
534
  goToNextPanel(): boolean;
522
535
  /**
@@ -34,6 +34,15 @@ export declare class QuestionTextModel extends QuestionTextBase {
34
34
  * @see maskSettings
35
35
  */
36
36
  maskType: string;
37
+ /**
38
+ * Specifies text alignment within the input field.
39
+ *
40
+ * Possible values:
41
+ *
42
+ * - `"left"` - Aligns input text to the left side.
43
+ * - `"right"` - Aligns input text to the right side.
44
+ * - `"auto"` (default) - Applies right alignment if a [numeric or currency input mask](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType) is specified. Otherwise, applies left alignment.
45
+ */
37
46
  inputTextAlignment: "left" | "right" | "auto";
38
47
  readonly maskTypeIsEmpty: boolean;
39
48
  /*
@@ -7,14 +7,21 @@ export declare var surveyLocalization: {
7
7
  localeNames: {
8
8
  [index: string]: any;
9
9
  };
10
+ localeNamesInEnglish: {
11
+ [index: string]: any;
12
+ };
10
13
  localeDirections: {
11
14
  [index: string]: any;
12
15
  };
13
16
  supportedLocales: any[];
17
+ useEnglishNames: boolean;
18
+ showNamesInEnglish: boolean;
19
+ setupLocale(loc: string, strings: any, name: string, nameInEngish: string, direction?: string): void;
14
20
  currentLocale: string;
15
21
  defaultLocale: string;
16
22
  getLocaleStrings(loc: string): any;
17
23
  getString: (strName: string, locale?: string) => any;
24
+ getLocaleName(loc: string, inEnglish?: boolean): string;
18
25
  getLocales: (removeDefaultLoc?: boolean) => Array<string>;
19
26
  onGetExternalString: (name: string, locale: string) => string;
20
27
  };
@@ -11,12 +11,12 @@ export declare class Camera {
11
11
  width?: number;
12
12
  height?: number;
13
13
  }): MediaStreamConstraints;
14
- startVideo(videoElementId: string, callback: (stream: MediaStream) => void, imageWidth?: number, imageHeight?: number): void;
14
+ startVideo(videoElement: HTMLVideoElement, callback: (stream: MediaStream) => void, imageWidth?: number, imageHeight?: number): void;
15
15
  getImageSize(videoEl: HTMLVideoElement): {
16
16
  width: number;
17
17
  height: number;
18
18
  };
19
- snap(videoElementId: string, callback: BlobCallback): boolean;
19
+ snap(videoElement: HTMLVideoElement, callback: BlobCallback): boolean;
20
20
  private canFlipValue;
21
21
  private updateCanFlipValue;
22
22
  private onCanFlipChangedCallback?;
@@ -53,7 +53,11 @@ export declare class ExpressionExecutor implements IExpresionExecutor {
53
53
  get isAsync(): boolean;
54
54
  canRun(): boolean;
55
55
  run(values: HashTable<any>, properties?: HashTable<any>): any;
56
+ private runAsyncItem;
57
+ private runAsyncItemCore;
56
58
  private doAsyncFunctionReady;
59
+ private isAsyncFuncReady;
60
+ private isAsyncChildrenReady;
57
61
  private runValues;
58
62
  }
59
63
  export declare class ExpressionRunnerBase {
@@ -1,5 +1,10 @@
1
1
  import { HashTable } from "../helpers";
2
2
  import { ProcessValue } from "../conditionProcessValue";
3
+ export interface AsyncFunctionItem {
4
+ operand?: FunctionOperand;
5
+ parent?: AsyncFunctionItem;
6
+ children?: Array<AsyncFunctionItem>;
7
+ }
3
8
  export declare abstract class Operand {
4
9
  toString(func?: (op: Operand) => string): string;
5
10
  abstract getType(): string;
@@ -7,7 +12,7 @@ export declare abstract class Operand {
7
12
  abstract setVariables(variables: Array<string>): any;
8
13
  hasFunction(): boolean;
9
14
  hasAsyncFunction(): boolean;
10
- addToAsyncList(list: Array<FunctionOperand>): void;
15
+ addToAsyncList(list: Array<AsyncFunctionItem>): void;
11
16
  isEqual(op: Operand): boolean;
12
17
  protected abstract isContentEqual(op: Operand): boolean;
13
18
  protected areOperatorsEquals(op1: Operand, op2: Operand): boolean;
@@ -35,7 +40,7 @@ export declare class BinaryOperand extends Operand {
35
40
  setVariables(variables: Array<string>): void;
36
41
  hasFunction(): boolean;
37
42
  hasAsyncFunction(): boolean;
38
- addToAsyncList(list: Array<FunctionOperand>): void;
43
+ addToAsyncList(list: Array<AsyncFunctionItem>): void;
39
44
  }
40
45
  export declare class UnaryOperand extends Operand {
41
46
  private expressionValue;
@@ -49,7 +54,7 @@ export declare class UnaryOperand extends Operand {
49
54
  protected isContentEqual(op: Operand): boolean;
50
55
  hasFunction(): boolean;
51
56
  hasAsyncFunction(): boolean;
52
- addToAsyncList(list: Array<FunctionOperand>): void;
57
+ addToAsyncList(list: Array<AsyncFunctionItem>): void;
53
58
  evaluate(processValue?: ProcessValue): boolean;
54
59
  setVariables(variables: Array<string>): void;
55
60
  }
@@ -62,7 +67,7 @@ export declare class ArrayOperand extends Operand {
62
67
  setVariables(variables: Array<string>): void;
63
68
  hasFunction(): boolean;
64
69
  hasAsyncFunction(): boolean;
65
- addToAsyncList(list: Array<FunctionOperand>): void;
70
+ addToAsyncList(list: Array<AsyncFunctionItem>): void;
66
71
  protected isContentEqual(op: Operand): boolean;
67
72
  }
68
73
  export declare class Const extends Operand {
@@ -110,7 +115,8 @@ export declare class FunctionOperand extends Operand {
110
115
  get isReady(): boolean;
111
116
  hasFunction(): boolean;
112
117
  hasAsyncFunction(): boolean;
113
- addToAsyncList(list: Array<FunctionOperand>): void;
118
+ private isAsyncFunction;
119
+ addToAsyncList(list: Array<AsyncFunctionItem>): void;
114
120
  protected isContentEqual(op: Operand): boolean;
115
121
  }
116
122
  export declare class OperandMaker {
@@ -17,3 +17,4 @@ export interface IInputMask {
17
17
  processInput(args: ITextInputParams): IMaskedInputResult;
18
18
  getTextAlignment(): "left" | "right" | "auto";
19
19
  }
20
+ export declare function getAvailableMaskTypeChoices(): string[];
@@ -182,6 +182,7 @@ export declare class PanelModelBase extends SurveyElement<Question> implements I
182
182
  */
183
183
  getElementByName(name: string): IElement;
184
184
  getQuestionByValueName(valueName: string): Question;
185
+ getQuestionsByValueName(valueName: string): Array<Question>;
185
186
  /**
186
187
  * Returns a JSON object with question values nested in the panel/page.
187
188
  * @see getDisplayValue
@@ -215,9 +215,6 @@ export declare class QuestionSelectBase extends Question {
215
215
  protected hasUnknownValue(val: any, includeOther?: boolean, isFilteredChoices?: boolean, checkEmptyValue?: boolean): boolean;
216
216
  protected hasUnknownValueItem(val: any, includeOther?: boolean, isFilteredChoices?: boolean, checkEmptyValue?: boolean): boolean;
217
217
  protected isValueDisabled(val: any): boolean;
218
- /**
219
- * If the clearIncorrectValuesCallback is set, it is used to clear incorrect values instead of default behaviour.
220
- */
221
218
  clearIncorrectValuesCallback: () => void;
222
219
  /**
223
220
  * Configures access to a RESTful service that returns choice items. Refer to the [`ChoicesRestful`](https://surveyjs.io/form-library/documentation/choicesrestful) class description for more information. You can also specify additional application-wide settings using the [`settings.web`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) object.
@@ -96,6 +96,7 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
96
96
  get hasFileUI(): boolean;
97
97
  private videoStream;
98
98
  startVideo(): void;
99
+ private get videoHtmlElement();
99
100
  private startVideoInCamera;
100
101
  stopVideo(): void;
101
102
  snapPicture(): void;
@@ -24,6 +24,7 @@ export interface IMatrixDropdownData {
24
24
  validateCell(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): SurveyError;
25
25
  columns: Array<MatrixDropdownColumn>;
26
26
  createQuestion(row: MatrixDropdownRowModelBase, column: MatrixDropdownColumn): Question;
27
+ choices: Array<ItemValue>;
27
28
  getLocale(): string;
28
29
  getMarkdownHtml(text: string, name: string): string;
29
30
  getRenderer(name: string): string;
@@ -117,6 +118,7 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
117
118
  getEditingSurveyElement(): Base;
118
119
  private setValueCore;
119
120
  private updateQuestionsValue;
121
+ private updateSharedQuestionsValue;
120
122
  runTriggers(name: string, value: any): void;
121
123
  private hasQuestonError;
122
124
  get isEmpty(): boolean;
@@ -127,6 +129,7 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
127
129
  get questions(): Array<Question>;
128
130
  getQuestionByName(name: string): Question;
129
131
  getQuestionsByName(name: string): Array<Question>;
132
+ getQuestionsByValueName(name: string): Array<Question>;
130
133
  protected getSharedQuestionByName(columnName: string): Question;
131
134
  clearIncorrectValues(val: any): void;
132
135
  getLocale(): string;
@@ -47,6 +47,7 @@ export declare class QuestionMatrixDropdownRenderedCell {
47
47
  set className(val: string);
48
48
  get className(): string;
49
49
  get cellQuestionWrapperClassName(): string;
50
+ get isVisible(): boolean;
50
51
  get showResponsiveTitle(): boolean;
51
52
  get responsiveTitleCss(): string;
52
53
  get responsiveLocTitle(): LocalizableString;
@@ -161,6 +161,15 @@ export declare class MultipleTextItemModel extends Base implements IValidatorOwn
161
161
  */
162
162
  get maskSettings(): InputMaskBase;
163
163
  set maskSettings(val: InputMaskBase);
164
+ /**
165
+ * Specifies text alignment within the input field.
166
+ *
167
+ * Possible values:
168
+ *
169
+ * - `"left"` - Aligns input text to the left side.
170
+ * - `"right"` - Aligns input text to the right side.
171
+ * - `"auto"` (default) - Applies right alignment if a [numeric or currency input mask](https://surveyjs.io/form-library/documentation/api-reference/multipletextitemmodel#maskType) is specified. Otherwise, applies left alignment.
172
+ */
164
173
  get inputTextAlignment(): "left" | "right" | "auto";
165
174
  set inputTextAlignment(val: "left" | "right" | "auto");
166
175
  /**