survey-core 1.12.13 → 1.12.15

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 (258) hide show
  1. package/defaultV2.css +27 -4
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +27 -4
  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 +1 -1
  8. package/i18n/arabic.min.js +1 -1
  9. package/i18n/basque.js +1 -1
  10. package/i18n/basque.min.js +1 -1
  11. package/i18n/bulgarian.js +1 -1
  12. package/i18n/bulgarian.min.js +1 -1
  13. package/i18n/catalan.js +1 -1
  14. package/i18n/catalan.min.js +1 -1
  15. package/i18n/croatian.js +1 -1
  16. package/i18n/croatian.min.js +1 -1
  17. package/i18n/czech.js +1 -1
  18. package/i18n/czech.min.js +1 -1
  19. package/i18n/danish.js +1 -1
  20. package/i18n/danish.min.js +1 -1
  21. package/i18n/dutch.js +1 -1
  22. package/i18n/dutch.min.js +1 -1
  23. package/i18n/english.js +1 -1
  24. package/i18n/english.min.js +1 -1
  25. package/i18n/estonian.js +1 -1
  26. package/i18n/estonian.min.js +1 -1
  27. package/i18n/finnish.js +1 -1
  28. package/i18n/finnish.min.js +1 -1
  29. package/i18n/french.js +1 -1
  30. package/i18n/french.min.js +1 -1
  31. package/i18n/georgian.js +1 -1
  32. package/i18n/georgian.min.js +1 -1
  33. package/i18n/german.js +1 -1
  34. package/i18n/german.min.js +1 -1
  35. package/i18n/greek.js +1 -1
  36. package/i18n/greek.min.js +1 -1
  37. package/i18n/hebrew.js +1 -1
  38. package/i18n/hebrew.min.js +1 -1
  39. package/i18n/hindi.js +1 -1
  40. package/i18n/hindi.min.js +1 -1
  41. package/i18n/hungarian.js +1 -1
  42. package/i18n/hungarian.min.js +1 -1
  43. package/i18n/icelandic.js +1 -1
  44. package/i18n/icelandic.min.js +1 -1
  45. package/i18n/index.js +1 -1
  46. package/i18n/index.min.js +1 -1
  47. package/i18n/indonesian.js +1 -1
  48. package/i18n/indonesian.min.js +1 -1
  49. package/i18n/italian.js +1 -1
  50. package/i18n/italian.min.js +1 -1
  51. package/i18n/japanese.js +1 -1
  52. package/i18n/japanese.min.js +1 -1
  53. package/i18n/kazakh.js +1 -1
  54. package/i18n/kazakh.min.js +1 -1
  55. package/i18n/korean.js +1 -1
  56. package/i18n/korean.min.js +1 -1
  57. package/i18n/latvian.js +1 -1
  58. package/i18n/latvian.min.js +1 -1
  59. package/i18n/lithuanian.js +1 -1
  60. package/i18n/lithuanian.min.js +1 -1
  61. package/i18n/macedonian.js +1 -1
  62. package/i18n/macedonian.min.js +1 -1
  63. package/i18n/malay.js +1 -1
  64. package/i18n/malay.min.js +1 -1
  65. package/i18n/nl-BE.js +1 -1
  66. package/i18n/nl-BE.min.js +1 -1
  67. package/i18n/norwegian.js +1 -1
  68. package/i18n/norwegian.min.js +1 -1
  69. package/i18n/persian.js +1 -1
  70. package/i18n/persian.min.js +1 -1
  71. package/i18n/philippines.js +1 -1
  72. package/i18n/philippines.min.js +1 -1
  73. package/i18n/polish.js +1 -1
  74. package/i18n/polish.min.js +1 -1
  75. package/i18n/portuguese-br.js +1 -1
  76. package/i18n/portuguese-br.min.js +1 -1
  77. package/i18n/portuguese.js +1 -1
  78. package/i18n/portuguese.min.js +1 -1
  79. package/i18n/romanian.js +1 -1
  80. package/i18n/romanian.min.js +1 -1
  81. package/i18n/russian.js +1 -1
  82. package/i18n/russian.min.js +1 -1
  83. package/i18n/serbian.js +1 -1
  84. package/i18n/serbian.min.js +1 -1
  85. package/i18n/simplified-chinese.js +1 -1
  86. package/i18n/simplified-chinese.min.js +1 -1
  87. package/i18n/slovak.js +1 -1
  88. package/i18n/slovak.min.js +1 -1
  89. package/i18n/spanish.js +1 -1
  90. package/i18n/spanish.min.js +1 -1
  91. package/i18n/swahili.js +1 -1
  92. package/i18n/swahili.min.js +1 -1
  93. package/i18n/swedish.js +1 -1
  94. package/i18n/swedish.min.js +1 -1
  95. package/i18n/tajik.js +1 -1
  96. package/i18n/tajik.min.js +1 -1
  97. package/i18n/telugu.js +1 -1
  98. package/i18n/telugu.min.js +1 -1
  99. package/i18n/thai.js +1 -1
  100. package/i18n/thai.min.js +1 -1
  101. package/i18n/traditional-chinese.js +1 -1
  102. package/i18n/traditional-chinese.min.js +1 -1
  103. package/i18n/turkish.js +1 -1
  104. package/i18n/turkish.min.js +1 -1
  105. package/i18n/ukrainian.js +1 -1
  106. package/i18n/ukrainian.min.js +1 -1
  107. package/i18n/urdu.js +1 -1
  108. package/i18n/urdu.min.js +1 -1
  109. package/i18n/vietnamese.js +1 -1
  110. package/i18n/vietnamese.min.js +1 -1
  111. package/i18n/welsh.js +1 -1
  112. package/i18n/welsh.min.js +1 -1
  113. package/icons/iconsV1.js +1 -1
  114. package/icons/iconsV1.min.js +1 -1
  115. package/icons/iconsV2.js +1 -1
  116. package/icons/iconsV2.min.js +1 -1
  117. package/modern.css +8 -4
  118. package/modern.css.map +1 -1
  119. package/modern.fontless.css +8 -4
  120. package/modern.fontless.css.map +1 -1
  121. package/modern.fontless.min.css +2 -2
  122. package/modern.min.css +2 -2
  123. package/package.json +1 -1
  124. package/plugins/bootstrap-integration/index.js +1 -1
  125. package/plugins/bootstrap-integration/index.min.js +1 -1
  126. package/plugins/bootstrap-material-integration/index.js +1 -1
  127. package/plugins/bootstrap-material-integration/index.min.js +1 -1
  128. package/survey.core.js +377 -249
  129. package/survey.core.js.map +1 -1
  130. package/survey.core.min.js +3 -3
  131. package/survey.css +1 -1
  132. package/survey.i18n.js +1 -1
  133. package/survey.i18n.min.js +1 -1
  134. package/survey.min.css +1 -1
  135. package/themes/borderless-dark-panelless.js +1 -1
  136. package/themes/borderless-dark-panelless.min.js +1 -1
  137. package/themes/borderless-dark.js +1 -1
  138. package/themes/borderless-dark.min.js +1 -1
  139. package/themes/borderless-light-panelless..js +1 -1
  140. package/themes/borderless-light-panelless..min.js +1 -1
  141. package/themes/borderless-light.js +1 -1
  142. package/themes/borderless-light.min.js +1 -1
  143. package/themes/contrast-dark-panelless.js +1 -1
  144. package/themes/contrast-dark-panelless.min.js +1 -1
  145. package/themes/contrast-dark.js +1 -1
  146. package/themes/contrast-dark.min.js +1 -1
  147. package/themes/contrast-light-panelless.js +1 -1
  148. package/themes/contrast-light-panelless.min.js +1 -1
  149. package/themes/contrast-light.js +1 -1
  150. package/themes/contrast-light.min.js +1 -1
  151. package/themes/default-dark-panelless.js +1 -1
  152. package/themes/default-dark-panelless.min.js +1 -1
  153. package/themes/default-dark.js +1 -1
  154. package/themes/default-dark.min.js +1 -1
  155. package/themes/default-light-panelless.js +1 -1
  156. package/themes/default-light-panelless.min.js +1 -1
  157. package/themes/default-light.js +1 -1
  158. package/themes/default-light.min.js +1 -1
  159. package/themes/doubleborder-dark-panelless.js +1 -1
  160. package/themes/doubleborder-dark-panelless.min.js +1 -1
  161. package/themes/doubleborder-dark.js +1 -1
  162. package/themes/doubleborder-dark.min.js +1 -1
  163. package/themes/doubleborder-light-panelles.js +1 -1
  164. package/themes/doubleborder-light-panelles.min.js +1 -1
  165. package/themes/doubleborder-light.js +1 -1
  166. package/themes/doubleborder-light.min.js +1 -1
  167. package/themes/flat-dark-panelless.js +1 -1
  168. package/themes/flat-dark-panelless.min.js +1 -1
  169. package/themes/flat-dark.js +1 -1
  170. package/themes/flat-dark.min.js +1 -1
  171. package/themes/flat-light-panelless.js +1 -1
  172. package/themes/flat-light-panelless.min.js +1 -1
  173. package/themes/flat-light.js +1 -1
  174. package/themes/flat-light.min.js +1 -1
  175. package/themes/index.js +1 -1
  176. package/themes/index.min.js +1 -1
  177. package/themes/layered-dark-panelless.js +1 -1
  178. package/themes/layered-dark-panelless.min.js +1 -1
  179. package/themes/layered-dark.js +1 -1
  180. package/themes/layered-dark.min.js +1 -1
  181. package/themes/layered-light-panelless.js +1 -1
  182. package/themes/layered-light-panelless.min.js +1 -1
  183. package/themes/layered-light.js +1 -1
  184. package/themes/layered-light.min.js +1 -1
  185. package/themes/plain-dark-panelless.js +1 -1
  186. package/themes/plain-dark-panelless.min.js +1 -1
  187. package/themes/plain-dark.js +1 -1
  188. package/themes/plain-dark.min.js +1 -1
  189. package/themes/plain-light-panelless.js +1 -1
  190. package/themes/plain-light-panelless.min.js +1 -1
  191. package/themes/plain-light.js +1 -1
  192. package/themes/plain-light.min.js +1 -1
  193. package/themes/sharp-dark-panelless.js +1 -1
  194. package/themes/sharp-dark-panelless.min.js +1 -1
  195. package/themes/sharp-dark.js +1 -1
  196. package/themes/sharp-dark.min.js +1 -1
  197. package/themes/sharp-light-panelless.js +1 -1
  198. package/themes/sharp-light-panelless.min.js +1 -1
  199. package/themes/sharp-light.js +1 -1
  200. package/themes/sharp-light.min.js +1 -1
  201. package/themes/solid-dark-panelless.js +1 -1
  202. package/themes/solid-dark-panelless.min.js +1 -1
  203. package/themes/solid-dark.js +1 -1
  204. package/themes/solid-dark.min.js +1 -1
  205. package/themes/solid-light-panelless.js +1 -1
  206. package/themes/solid-light-panelless.min.js +1 -1
  207. package/themes/solid-light.js +1 -1
  208. package/themes/solid-light.min.js +1 -1
  209. package/themes/three-dimensional-dark-panelless.js +1 -1
  210. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  211. package/themes/three-dimensional-dark.js +1 -1
  212. package/themes/three-dimensional-dark.min.js +1 -1
  213. package/themes/three-dimensional-light-panelless.js +1 -1
  214. package/themes/three-dimensional-light-panelless.min.js +1 -1
  215. package/themes/three-dimensional-light.js +1 -1
  216. package/themes/three-dimensional-light.min.js +1 -1
  217. package/ts3.4/typings/packages/survey-core/entries/chunks/core-wo-model.d.ts +1 -1
  218. package/ts3.4/typings/packages/survey-core/src/actions/action.d.ts +2 -4
  219. package/ts3.4/typings/packages/survey-core/src/base.d.ts +1 -1
  220. package/ts3.4/typings/packages/survey-core/src/dropdownListModel.d.ts +1 -1
  221. package/ts3.4/typings/packages/survey-core/src/dropdownMultiSelectListModel.d.ts +1 -1
  222. package/ts3.4/typings/packages/survey-core/src/list.d.ts +8 -1
  223. package/ts3.4/typings/packages/survey-core/src/page.d.ts +0 -1
  224. package/ts3.4/typings/packages/survey-core/src/panel.d.ts +6 -6
  225. package/ts3.4/typings/packages/survey-core/src/question.d.ts +6 -4
  226. package/ts3.4/typings/packages/survey-core/src/question_baseselect.d.ts +3 -4
  227. package/ts3.4/typings/packages/survey-core/src/question_comment.d.ts +3 -2
  228. package/ts3.4/typings/packages/survey-core/src/question_custom.d.ts +1 -1
  229. package/ts3.4/typings/packages/survey-core/src/question_dropdown.d.ts +3 -0
  230. package/ts3.4/typings/packages/survey-core/src/question_file.d.ts +1 -0
  231. package/ts3.4/typings/packages/survey-core/src/question_paneldynamic.d.ts +1 -1
  232. package/ts3.4/typings/packages/survey-core/src/question_tagbox.d.ts +4 -4
  233. package/ts3.4/typings/packages/survey-core/src/question_textbase.d.ts +1 -5
  234. package/ts3.4/typings/packages/survey-core/src/survey-element.d.ts +8 -2
  235. package/ts3.4/typings/packages/survey-core/src/survey.d.ts +6 -0
  236. package/ts3.4/typings/packages/survey-core/src/surveyStrings.d.ts +7 -1
  237. package/ts3.4/typings/packages/survey-core/src/utils/utils.d.ts +2 -1
  238. package/typings/packages/survey-core/entries/chunks/core-wo-model.d.ts +1 -1
  239. package/typings/packages/survey-core/src/actions/action.d.ts +2 -4
  240. package/typings/packages/survey-core/src/base.d.ts +1 -1
  241. package/typings/packages/survey-core/src/dropdownListModel.d.ts +1 -1
  242. package/typings/packages/survey-core/src/dropdownMultiSelectListModel.d.ts +1 -1
  243. package/typings/packages/survey-core/src/list.d.ts +8 -1
  244. package/typings/packages/survey-core/src/page.d.ts +0 -1
  245. package/typings/packages/survey-core/src/panel.d.ts +6 -6
  246. package/typings/packages/survey-core/src/question.d.ts +6 -4
  247. package/typings/packages/survey-core/src/question_baseselect.d.ts +3 -4
  248. package/typings/packages/survey-core/src/question_comment.d.ts +3 -2
  249. package/typings/packages/survey-core/src/question_custom.d.ts +1 -1
  250. package/typings/packages/survey-core/src/question_dropdown.d.ts +3 -0
  251. package/typings/packages/survey-core/src/question_file.d.ts +1 -0
  252. package/typings/packages/survey-core/src/question_paneldynamic.d.ts +1 -1
  253. package/typings/packages/survey-core/src/question_tagbox.d.ts +5 -4
  254. package/typings/packages/survey-core/src/question_textbase.d.ts +1 -5
  255. package/typings/packages/survey-core/src/survey-element.d.ts +6 -2
  256. package/typings/packages/survey-core/src/survey.d.ts +6 -0
  257. package/typings/packages/survey-core/src/surveyStrings.d.ts +7 -1
  258. package/typings/packages/survey-core/src/utils/utils.d.ts +2 -1
package/survey.core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.12.13
2
+ * surveyjs - Survey JavaScript library v1.12.15
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -105,7 +105,7 @@ return /******/ (function(modules) { // webpackBootstrap
105
105
  /*!*******************************************!*\
106
106
  !*** ./src/entries/core.ts + 127 modules ***!
107
107
  \*******************************************/
108
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionFilePage, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, getLocaleString, setupLocale, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, prepareElementForVerticalAnimation, cleanHtmlElementAfterAnimation, classesToSelector, renamedIcons, getIconNameFromProxy, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, TextAreaModel, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, StylesManager, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgThemeSets, addIconsToThemeSet, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, createPopupModelWithListModel, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model */
108
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionFilePage, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, getLocaleString, setupLocale, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, prepareElementForVerticalAnimation, cleanHtmlElementAfterAnimation, classesToSelector, renamedIcons, getIconNameFromProxy, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, TextAreaModel, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, StylesManager, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgThemeSets, addIconsToThemeSet, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, activateLazyRenderingChecks, createDropdownActionModel, createDropdownActionModelAdvanced, createPopupModelWithListModel, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model */
109
109
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
110
110
 
111
111
  "use strict";
@@ -333,6 +333,7 @@ __webpack_require__.d(__webpack_exports__, "VerticalResponsivityManager", functi
333
333
  __webpack_require__.d(__webpack_exports__, "unwrap", function() { return /* reexport */ unwrap; });
334
334
  __webpack_require__.d(__webpack_exports__, "getOriginalEvent", function() { return /* reexport */ getOriginalEvent; });
335
335
  __webpack_require__.d(__webpack_exports__, "getElement", function() { return /* reexport */ getElement; });
336
+ __webpack_require__.d(__webpack_exports__, "activateLazyRenderingChecks", function() { return /* reexport */ activateLazyRenderingChecks; });
336
337
  __webpack_require__.d(__webpack_exports__, "createDropdownActionModel", function() { return /* reexport */ createDropdownActionModel; });
337
338
  __webpack_require__.d(__webpack_exports__, "createDropdownActionModelAdvanced", function() { return /* reexport */ createDropdownActionModelAdvanced; });
338
339
  __webpack_require__.d(__webpack_exports__, "createPopupModelWithListModel", function() { return /* reexport */ createPopupModelWithListModel; });
@@ -1142,12 +1143,13 @@ var surveyLocalization = {
1142
1143
  //TODO remove on next week
1143
1144
  get showNamesInEnglish() { return this.useEnglishNames; },
1144
1145
  set showNamesInEnglish(val) { this.useEnglishNames = val; },
1145
- setupLocale: function (loc, strings, name, nameInEngish, direction) {
1146
- this.locales[loc] = strings;
1147
- this.localeNames[loc] = name;
1148
- this.localeNamesInEnglish[loc] = nameInEngish;
1149
- if (direction !== undefined) {
1150
- this.localeDirections[loc] = direction;
1146
+ setupLocale: function (localeConfig) {
1147
+ var loc = localeConfig.localeCode;
1148
+ this.locales[loc] = localeConfig.strings;
1149
+ this.localeNames[loc] = localeConfig.nativeName;
1150
+ this.localeNamesInEnglish[loc] = localeConfig.englishName;
1151
+ if (localeConfig.rtl !== undefined) {
1152
+ this.localeDirections[loc] = localeConfig.rtl;
1151
1153
  }
1152
1154
  },
1153
1155
  get currentLocale() {
@@ -1246,7 +1248,7 @@ function getLocaleString(strName, locale) {
1246
1248
  return surveyLocalization.getString(strName, locale);
1247
1249
  }
1248
1250
  function setupLocale(localeConfig) {
1249
- surveyLocalization.setupLocale(localeConfig.localeCode, localeConfig.strings, localeConfig.nativeName, localeConfig.englishName, localeConfig.rtl ? "rtl" : undefined);
1251
+ surveyLocalization.setupLocale(localeConfig);
1250
1252
  }
1251
1253
  var surveyStrings = englishStrings;
1252
1254
  surveyLocalization.locales["en"] = englishStrings;
@@ -1340,9 +1342,11 @@ function jsonobject_property(options) {
1340
1342
  set: function (val) {
1341
1343
  var newValue = processComputedUpdater(this, val);
1342
1344
  var prevValue = this.getPropertyValue(key);
1343
- this.setPropertyValue(key, newValue);
1344
- if (!!options && options.onSet) {
1345
- options.onSet(newValue, this, prevValue);
1345
+ if (newValue !== prevValue) {
1346
+ this.setPropertyValue(key, newValue);
1347
+ if (!!options && options.onSet) {
1348
+ options.onSet(newValue, this, prevValue);
1349
+ }
1346
1350
  }
1347
1351
  },
1348
1352
  });
@@ -8657,8 +8661,7 @@ var base_Base = /** @class */ (function () {
8657
8661
  * @param name A property name.
8658
8662
  * @param defaultValue *(Optional)* A value to return if the property is not found or does not have a value.
8659
8663
  */
8660
- Base.prototype.getPropertyValue = function (name, defaultValue) {
8661
- if (defaultValue === void 0) { defaultValue = null; }
8664
+ Base.prototype.getPropertyValue = function (name, defaultValue, calcFunc) {
8662
8665
  var res = this.getPropertyValueWithoutDefault(name);
8663
8666
  if (this.isPropertyEmpty(res)) {
8664
8667
  var locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;
@@ -8666,6 +8669,13 @@ var base_Base = /** @class */ (function () {
8666
8669
  return locStr.text;
8667
8670
  if (defaultValue !== null && defaultValue !== undefined)
8668
8671
  return defaultValue;
8672
+ if (!!calcFunc) {
8673
+ var newVal = calcFunc();
8674
+ if (newVal !== undefined) {
8675
+ this.setPropertyValueDirectly(name, newVal);
8676
+ return newVal;
8677
+ }
8678
+ }
8669
8679
  var propDefaultValue = this.getDefaultPropertyValue(name);
8670
8680
  if (propDefaultValue !== undefined)
8671
8681
  return propDefaultValue;
@@ -9986,6 +9996,7 @@ var defaultListCss = {
9986
9996
  loadingIndicator: "sv-list__loading-indicator",
9987
9997
  itemSelected: "sv-list__item--selected",
9988
9998
  itemGroup: "sv-list__item--group",
9999
+ itemGroupSelected: "sv-list__item--group-selected",
9989
10000
  itemWithIcon: "sv-list__item--with-icon",
9990
10001
  itemDisabled: "sv-list__item--disabled",
9991
10002
  itemFocused: "sv-list__item--focused",
@@ -10045,21 +10056,29 @@ var list_ListModel = /** @class */ (function (_super) {
10045
10056
  .toString();
10046
10057
  };
10047
10058
  _this.getItemClass = function (itemValue) {
10059
+ var isSelected = _this.isItemSelected(itemValue);
10048
10060
  return new CssClassBuilder()
10049
10061
  .append(_this.cssClasses.item)
10050
10062
  .append(_this.cssClasses.itemWithIcon, !!itemValue.iconName)
10051
10063
  .append(_this.cssClasses.itemDisabled, _this.isItemDisabled(itemValue))
10052
10064
  .append(_this.cssClasses.itemFocused, _this.isItemFocused(itemValue))
10053
- .append(_this.cssClasses.itemSelected, _this.isItemSelected(itemValue))
10065
+ .append(_this.cssClasses.itemSelected, !itemValue.hasSubItems && isSelected)
10054
10066
  .append(_this.cssClasses.itemGroup, itemValue.hasSubItems)
10067
+ .append(_this.cssClasses.itemGroupSelected, itemValue.hasSubItems && isSelected)
10055
10068
  .append(_this.cssClasses.itemHovered, itemValue.isHovered)
10056
10069
  .append(_this.cssClasses.itemTextWrap, _this.textWrapEnabled)
10057
10070
  .append(itemValue.css)
10058
10071
  .toString();
10059
10072
  };
10060
- _this.getItemIndent = function (itemValue) {
10073
+ // public getItemIndent = (itemValue: any) => {
10074
+ // const level: number = itemValue.level || 0;
10075
+ // return (level + 1) * ListModel.INDENT + "px";
10076
+ // };
10077
+ _this.getItemStyle = function (itemValue) {
10061
10078
  var level = itemValue.level || 0;
10062
- return (level + 1) * ListModel.INDENT + "px";
10079
+ return {
10080
+ "--sjs-list-item-level": level + 1
10081
+ };
10063
10082
  };
10064
10083
  if (Object.keys(items).indexOf("items") !== -1) {
10065
10084
  var options_1 = items;
@@ -10078,6 +10097,7 @@ var list_ListModel = /** @class */ (function (_super) {
10078
10097
  _this[key] = options_1[key];
10079
10098
  }
10080
10099
  });
10100
+ _this.updateActionsIds();
10081
10101
  }
10082
10102
  else {
10083
10103
  _this.setItems(items);
@@ -10134,10 +10154,13 @@ var list_ListModel = /** @class */ (function (_super) {
10134
10154
  configurable: true
10135
10155
  });
10136
10156
  ListModel.prototype.onFilterStringChanged = function (text) {
10137
- var _this = this;
10138
10157
  if (!!this.onFilterStringChangedCallback) {
10139
10158
  this.onFilterStringChangedCallback(text);
10140
10159
  }
10160
+ this.updateIsEmpty();
10161
+ };
10162
+ ListModel.prototype.updateIsEmpty = function () {
10163
+ var _this = this;
10141
10164
  this.isEmpty = this.renderedActions.filter(function (action) { return _this.isItemVisible(action); }).length === 0;
10142
10165
  };
10143
10166
  ListModel.prototype.scrollToItem = function (selector, ms) {
@@ -10161,16 +10184,19 @@ var list_ListModel = /** @class */ (function (_super) {
10161
10184
  this.onTextSearchCallback = callback;
10162
10185
  };
10163
10186
  ListModel.prototype.setItems = function (items, sortByVisibleIndex) {
10164
- var _this = this;
10165
10187
  if (sortByVisibleIndex === void 0) { sortByVisibleIndex = true; }
10166
10188
  _super.prototype.setItems.call(this, items, sortByVisibleIndex);
10167
- if (this.elementId) {
10168
- this.renderedActions.forEach(function (action) { action.elementId = _this.elementId + action.id; });
10169
- }
10189
+ this.updateActionsIds();
10170
10190
  if (!this.isAllDataLoaded && !!this.actions.length) {
10171
10191
  this.actions.push(this.loadingIndicator);
10172
10192
  }
10173
10193
  };
10194
+ ListModel.prototype.updateActionsIds = function () {
10195
+ var _this = this;
10196
+ if (this.elementId) {
10197
+ this.renderedActions.forEach(function (action) { action.elementId = _this.elementId + action.id; });
10198
+ }
10199
+ };
10174
10200
  ListModel.prototype.setSearchEnabled = function (newValue) {
10175
10201
  this.searchEnabled = newValue;
10176
10202
  this.showSearchClearButton = newValue;
@@ -10211,7 +10237,7 @@ var list_ListModel = /** @class */ (function (_super) {
10211
10237
  });
10212
10238
  Object.defineProperty(ListModel.prototype, "scrollableContainer", {
10213
10239
  get: function () {
10214
- return this.listContainerHtmlElement.querySelector("." + this.getDefaultCssClasses().itemsContainer);
10240
+ return this.listContainerHtmlElement.querySelector("." + this.cssClasses.itemsContainer);
10215
10241
  },
10216
10242
  enumerable: false,
10217
10243
  configurable: true
@@ -10265,7 +10291,12 @@ var list_ListModel = /** @class */ (function (_super) {
10265
10291
  };
10266
10292
  ListModel.prototype.onPointerDown = function (event, item) { };
10267
10293
  ListModel.prototype.refresh = function () {
10268
- this.filterString = "";
10294
+ if (this.filterString !== "") {
10295
+ this.filterString = "";
10296
+ }
10297
+ else {
10298
+ this.updateIsEmpty();
10299
+ }
10269
10300
  this.resetFocusedItem();
10270
10301
  };
10271
10302
  ListModel.prototype.onClickSearchClearButton = function (event) {
@@ -10334,10 +10365,15 @@ var list_ListModel = /** @class */ (function (_super) {
10334
10365
  }
10335
10366
  };
10336
10367
  ListModel.prototype.scrollToFocusedItem = function () {
10337
- this.scrollToItem(this.getDefaultCssClasses().itemFocused);
10368
+ this.scrollToItem(this.cssClasses.itemFocused);
10338
10369
  };
10339
10370
  ListModel.prototype.scrollToSelectedItem = function () {
10340
- this.scrollToItem(this.getDefaultCssClasses().itemSelected, 110);
10371
+ if (!!this.selectedItem && this.selectedItem.items && this.selectedItem.items.length > 0) {
10372
+ this.scrollToItem(this.cssClasses.itemGroupSelected, 110);
10373
+ }
10374
+ else {
10375
+ this.scrollToItem(this.cssClasses.itemSelected, 110);
10376
+ }
10341
10377
  };
10342
10378
  ListModel.prototype.addScrollEventListener = function (handler) {
10343
10379
  if (!!handler) {
@@ -10690,7 +10726,6 @@ var action_BaseAction = /** @class */ (function (_super) {
10690
10726
  function BaseAction() {
10691
10727
  var _this = _super !== null && _super.apply(this, arguments) || this;
10692
10728
  _this.rendredIdValue = BaseAction.getNextRendredId();
10693
- _this.markerIconSize = 16;
10694
10729
  return _this;
10695
10730
  }
10696
10731
  BaseAction.getNextRendredId = function () { return BaseAction.renderedId++; };
@@ -10945,9 +10980,6 @@ var action_BaseAction = /** @class */ (function (_super) {
10945
10980
  action_decorate([
10946
10981
  jsonobject_property()
10947
10982
  ], BaseAction.prototype, "markerIconName", void 0);
10948
- action_decorate([
10949
- jsonobject_property()
10950
- ], BaseAction.prototype, "markerIconSize", void 0);
10951
10983
  action_decorate([
10952
10984
  jsonobject_property()
10953
10985
  ], BaseAction.prototype, "css", void 0);
@@ -10962,13 +10994,14 @@ var action_BaseAction = /** @class */ (function (_super) {
10962
10994
 
10963
10995
  var action_Action = /** @class */ (function (_super) {
10964
10996
  action_extends(Action, _super);
10965
- function Action(innerItem) {
10997
+ function Action(innerItemData) {
10966
10998
  var _this = _super.call(this) || this;
10967
- _this.innerItem = innerItem;
10968
10999
  _this.locTitleChanged = function () {
10969
11000
  var val = _this.locTitle.renderedHtml;
10970
11001
  _this.setPropertyValue("_title", !!val ? val : undefined);
10971
11002
  };
11003
+ var innerItem = (innerItemData instanceof Action) ? innerItemData.innerItem : innerItemData;
11004
+ _this.innerItem = innerItem;
10972
11005
  _this.locTitle = !!innerItem ? innerItem["locTitle"] : null;
10973
11006
  //Object.assign(this, item) to support IE11
10974
11007
  if (!!innerItem) {
@@ -12549,7 +12582,7 @@ var survey_element_SurveyElement = /** @class */ (function (_super) {
12549
12582
  this.textProcessorValue = this.surveyImplValue.getTextProcessor();
12550
12583
  this.onSetData();
12551
12584
  }
12552
- if (!!this.survey) {
12585
+ if (!!this.survey /* && !this.isLoadingFromJson*/) {
12553
12586
  this.updateDescriptionVisibility(this.description);
12554
12587
  this.clearCssClasses();
12555
12588
  }
@@ -12692,20 +12725,28 @@ var survey_element_SurveyElement = /** @class */ (function (_super) {
12692
12725
  });
12693
12726
  Object.defineProperty(SurveyElement.prototype, "cssClassesValue", {
12694
12727
  get: function () {
12695
- return this.getPropertyValueWithoutDefault("cssClassesValue");
12696
- },
12697
- set: function (val) {
12698
- this.setPropertyValue("cssClassesValue", val);
12728
+ var res = this.getPropertyValueWithoutDefault("cssClassesValue");
12729
+ if (!res && !this.isCssValueCalculating) {
12730
+ this.isCssValueCalculating = true;
12731
+ res = this.createCssClassesValue();
12732
+ this.isCssValueCalculating = false;
12733
+ }
12734
+ return res;
12699
12735
  },
12700
12736
  enumerable: false,
12701
12737
  configurable: true
12702
12738
  });
12703
12739
  SurveyElement.prototype.ensureCssClassesValue = function () {
12704
12740
  if (!this.cssClassesValue) {
12705
- this.cssClassesValue = this.calcCssClasses(this.css);
12706
- this.updateElementCssCore(this.cssClassesValue);
12741
+ this.createCssClassesValue();
12707
12742
  }
12708
12743
  };
12744
+ SurveyElement.prototype.createCssClassesValue = function () {
12745
+ var res = this.calcCssClasses(this.css);
12746
+ this.setPropertyValue("cssClassesValue", res);
12747
+ this.updateElementCssCore(this.cssClassesValue);
12748
+ return res;
12749
+ };
12709
12750
  Object.defineProperty(SurveyElement.prototype, "cssClasses", {
12710
12751
  /**
12711
12752
  * Returns an object in which keys are UI elements and values are CSS classes applied to them.
@@ -12761,7 +12802,7 @@ var survey_element_SurveyElement = /** @class */ (function (_super) {
12761
12802
  this.clearCssClasses();
12762
12803
  };
12763
12804
  SurveyElement.prototype.clearCssClasses = function () {
12764
- this.cssClassesValue = undefined;
12805
+ this.resetPropertyValue("cssClassesValue");
12765
12806
  };
12766
12807
  SurveyElement.prototype.getIsLoadingFromJson = function () {
12767
12808
  if (_super.prototype.getIsLoadingFromJson.call(this))
@@ -12856,7 +12897,12 @@ var survey_element_SurveyElement = /** @class */ (function (_super) {
12856
12897
  configurable: true
12857
12898
  });
12858
12899
  SurveyElement.prototype.onFirstRendering = function () {
12859
- this.wasRenderedValue = true;
12900
+ if (!this.wasRendered) {
12901
+ this.wasRenderedValue = true;
12902
+ this.onFirstRenderingCore();
12903
+ }
12904
+ };
12905
+ SurveyElement.prototype.onFirstRenderingCore = function () {
12860
12906
  this.ensureCssClassesValue();
12861
12907
  };
12862
12908
  SurveyElement.prototype.endLoadingFromJson = function () {
@@ -13151,17 +13197,19 @@ var survey_element_SurveyElement = /** @class */ (function (_super) {
13151
13197
  };
13152
13198
  Object.defineProperty(SurveyElement.prototype, "paddingLeft", {
13153
13199
  get: function () {
13154
- return this.getPropertyValue("paddingLeft", "");
13155
- },
13156
- set: function (val) {
13157
- this.setPropertyValue("paddingLeft", val);
13200
+ var _this = this;
13201
+ return this.getPropertyValue("paddingLeft", undefined, function () { return _this.calcPaddingLeft(); });
13158
13202
  },
13159
13203
  enumerable: false,
13160
13204
  configurable: true
13161
13205
  });
13206
+ SurveyElement.prototype.calcPaddingLeft = function () {
13207
+ return "";
13208
+ };
13162
13209
  Object.defineProperty(SurveyElement.prototype, "paddingRight", {
13163
13210
  get: function () {
13164
- return this.getPropertyValue("paddingRight", "");
13211
+ var _this = this;
13212
+ return this.getPropertyValue("paddingRight", undefined, function () { return _this.calcPaddingRight(); });
13165
13213
  },
13166
13214
  set: function (val) {
13167
13215
  this.setPropertyValue("paddingRight", val);
@@ -13169,6 +13217,13 @@ var survey_element_SurveyElement = /** @class */ (function (_super) {
13169
13217
  enumerable: false,
13170
13218
  configurable: true
13171
13219
  });
13220
+ SurveyElement.prototype.calcPaddingRight = function () {
13221
+ return "";
13222
+ };
13223
+ SurveyElement.prototype.resetIndents = function () {
13224
+ this.resetPropertyValue("paddingLeft");
13225
+ this.resetPropertyValue("paddingRight");
13226
+ };
13172
13227
  SurveyElement.prototype.updateRootStyle = function () {
13173
13228
  var style = {};
13174
13229
  var _width;
@@ -14680,6 +14735,12 @@ function mergeValues(src, dest) {
14680
14735
  }
14681
14736
  }
14682
14737
  }
14738
+ function updateListCssValues(res, css) {
14739
+ var listCssClasses = {};
14740
+ mergeValues(css.list, listCssClasses);
14741
+ mergeValues(res.list, listCssClasses);
14742
+ res["list"] = listCssClasses;
14743
+ }
14683
14744
  var Logger = /** @class */ (function () {
14684
14745
  function Logger() {
14685
14746
  this._result = "";
@@ -17153,7 +17214,6 @@ var question_Question = /** @class */ (function (_super) {
17153
17214
  _this.createNewArray("validators", function (validator) {
17154
17215
  validator.errorOwner = _this;
17155
17216
  });
17156
- _this.commentTextAreaModel = new text_area_TextAreaModel(_this.getCommentTextAreaOptions());
17157
17217
  _this.addExpressionProperty("visibleIf", function (obj, res) { _this.visible = res === true; });
17158
17218
  _this.addExpressionProperty("enableIf", function (obj, res) { _this.readOnly = res === false; });
17159
17219
  _this.addExpressionProperty("requiredIf", function (obj, res) { _this.isRequired = res === true; });
@@ -17181,7 +17241,7 @@ var question_Question = /** @class */ (function (_super) {
17181
17241
  _this.clearCssClasses();
17182
17242
  });
17183
17243
  _this.registerPropertyChangedHandlers(["indent", "rightIndent"], function () {
17184
- _this.onIndentChanged();
17244
+ _this.resetIndents();
17185
17245
  });
17186
17246
  _this.registerPropertyChangedHandlers(["showCommentArea", "showOtherItem"], function () {
17187
17247
  _this.initCommentFromSurvey();
@@ -17196,26 +17256,6 @@ var question_Question = /** @class */ (function (_super) {
17196
17256
  Question.getQuestionId = function () {
17197
17257
  return "sq_" + Question.questionCounter++;
17198
17258
  };
17199
- Question.prototype.getCommentTextAreaOptions = function () {
17200
- var _this = this;
17201
- var options = {
17202
- question: this,
17203
- id: function () { return _this.commentId; },
17204
- propertyName: "comment",
17205
- className: function () { return _this.cssClasses.comment; },
17206
- placeholder: function () { return _this.renderedCommentPlaceholder; },
17207
- isDisabledAttr: function () { return _this.isInputReadOnly || false; },
17208
- rows: function () { return _this.commentAreaRows; },
17209
- autoGrow: function () { return _this.autoGrowComment; },
17210
- maxLength: function () { return _this.getOthersMaxLength(); },
17211
- ariaRequired: function () { return _this.a11y_input_ariaRequired; },
17212
- ariaLabel: function () { return _this.a11y_input_ariaLabel; },
17213
- getTextValue: function () { return _this.comment; },
17214
- onTextAreaChange: function (e) { _this.onCommentChange(e); },
17215
- onTextAreaInput: function (e) { _this.onCommentInput(e); },
17216
- };
17217
- return options;
17218
- };
17219
17259
  Question.prototype.isReadOnlyRenderDiv = function () {
17220
17260
  return this.isReadOnly && settings.readOnly.commentRenderMode === "div";
17221
17261
  };
@@ -17260,6 +17300,36 @@ var question_Question = /** @class */ (function (_super) {
17260
17300
  this.locProcessedTitle.sharedData = locTitleValue;
17261
17301
  return locTitleValue;
17262
17302
  };
17303
+ Object.defineProperty(Question.prototype, "commentTextAreaModel", {
17304
+ get: function () {
17305
+ if (!this.commentTextAreaModelValue) {
17306
+ this.commentTextAreaModelValue = new text_area_TextAreaModel(this.getCommentTextAreaOptions());
17307
+ }
17308
+ return this.commentTextAreaModelValue;
17309
+ },
17310
+ enumerable: false,
17311
+ configurable: true
17312
+ });
17313
+ Question.prototype.getCommentTextAreaOptions = function () {
17314
+ var _this = this;
17315
+ var options = {
17316
+ question: this,
17317
+ id: function () { return _this.commentId; },
17318
+ propertyName: "comment",
17319
+ className: function () { return _this.cssClasses.comment; },
17320
+ placeholder: function () { return _this.renderedCommentPlaceholder; },
17321
+ isDisabledAttr: function () { return _this.isInputReadOnly || false; },
17322
+ rows: function () { return _this.commentAreaRows; },
17323
+ autoGrow: function () { return _this.autoGrowComment; },
17324
+ maxLength: function () { return _this.getOthersMaxLength(); },
17325
+ ariaRequired: function () { return _this.a11y_input_ariaRequired; },
17326
+ ariaLabel: function () { return _this.a11y_input_ariaLabel; },
17327
+ getTextValue: function () { return _this.comment; },
17328
+ onTextAreaChange: function (e) { _this.onCommentChange(e); },
17329
+ onTextAreaInput: function (e) { _this.onCommentInput(e); },
17330
+ };
17331
+ return options;
17332
+ };
17263
17333
  Question.prototype.getSurvey = function (live) {
17264
17334
  if (live === void 0) { live = false; }
17265
17335
  if (live) {
@@ -17747,7 +17817,6 @@ var question_Question = /** @class */ (function (_super) {
17747
17817
  if (isLight !== true) {
17748
17818
  this.runConditions();
17749
17819
  }
17750
- this.calcRenderedCommentPlaceholder();
17751
17820
  if (!this.visible) {
17752
17821
  this.updateIsVisibleProp();
17753
17822
  }
@@ -17765,7 +17834,9 @@ var question_Question = /** @class */ (function (_super) {
17765
17834
  return;
17766
17835
  this.removeFromParent();
17767
17836
  this.setPropertyValue("parent", val);
17768
- this.updateQuestionCss();
17837
+ if (!!val) {
17838
+ this.updateQuestionCss();
17839
+ }
17769
17840
  this.onParentChanged();
17770
17841
  },
17771
17842
  enumerable: false,
@@ -18093,14 +18164,17 @@ var question_Question = /** @class */ (function (_super) {
18093
18164
  });
18094
18165
  Object.defineProperty(Question.prototype, "renderedCommentPlaceholder", {
18095
18166
  get: function () {
18096
- return this.getPropertyValue("renderedCommentPlaceholder");
18167
+ var _this = this;
18168
+ var func = function () {
18169
+ return !_this.isReadOnly ? _this.commentPlaceHolder : undefined;
18170
+ };
18171
+ return this.getPropertyValue("renderedCommentPlaceholder", undefined, func);
18097
18172
  },
18098
18173
  enumerable: false,
18099
18174
  configurable: true
18100
18175
  });
18101
- Question.prototype.calcRenderedCommentPlaceholder = function () {
18102
- var res = !this.isReadOnly ? this.commentPlaceHolder : undefined;
18103
- this.setPropertyValue("renderedCommentPlaceholder", res);
18176
+ Question.prototype.resetRenderedCommentPlaceholder = function () {
18177
+ this.resetPropertyValue("renderedCommentPlaceholder");
18104
18178
  };
18105
18179
  Question.prototype.getAllErrors = function () {
18106
18180
  return this.errors.slice();
@@ -18128,7 +18202,7 @@ var question_Question = /** @class */ (function (_super) {
18128
18202
  };
18129
18203
  Question.prototype.localeChanged = function () {
18130
18204
  _super.prototype.localeChanged.call(this);
18131
- this.calcRenderedCommentPlaceholder();
18205
+ this.resetRenderedCommentPlaceholder();
18132
18206
  if (!!this.localeChangedCallback) {
18133
18207
  this.localeChangedCallback();
18134
18208
  }
@@ -18457,7 +18531,7 @@ var question_Question = /** @class */ (function (_super) {
18457
18531
  if (reNew) {
18458
18532
  this.updateQuestionCss(true);
18459
18533
  }
18460
- this.onIndentChanged();
18534
+ this.resetIndents();
18461
18535
  };
18462
18536
  Question.prototype.updateQuestionCss = function (reNew) {
18463
18537
  if (this.isLoadingFromJson ||
@@ -18511,9 +18585,11 @@ var question_Question = /** @class */ (function (_super) {
18511
18585
  enumerable: false,
18512
18586
  configurable: true
18513
18587
  });
18514
- Question.prototype.onIndentChanged = function () {
18515
- this.paddingLeft = this.getIndentSize(this.indent);
18516
- this.paddingRight = this.getIndentSize(this.rightIndent);
18588
+ Question.prototype.calcPaddingLeft = function () {
18589
+ return this.getIndentSize(this.indent);
18590
+ };
18591
+ Question.prototype.calcPaddingRight = function () {
18592
+ return this.getIndentSize(this.rightIndent);
18517
18593
  };
18518
18594
  Question.prototype.getIndentSize = function (indent) {
18519
18595
  if (indent < 1 || !this.getSurvey() || !this.cssClasses || !this.cssClasses.indent)
@@ -18818,7 +18894,7 @@ var question_Question = /** @class */ (function (_super) {
18818
18894
  this.clearErrors();
18819
18895
  }
18820
18896
  this.updateQuestionCss();
18821
- this.calcRenderedCommentPlaceholder();
18897
+ this.resetRenderedCommentPlaceholder();
18822
18898
  };
18823
18899
  Object.defineProperty(Question.prototype, "enableIf", {
18824
18900
  /**
@@ -18909,15 +18985,10 @@ var question_Question = /** @class */ (function (_super) {
18909
18985
  if (this.isEmpty()) {
18910
18986
  this.initDataFromSurvey();
18911
18987
  }
18912
- this.calcRenderedCommentPlaceholder();
18913
- this.onIndentChanged();
18914
18988
  };
18915
18989
  Question.prototype.onSetData = function () {
18916
18990
  _super.prototype.onSetData.call(this);
18917
- if (!this.survey)
18918
- return;
18919
- this.onIndentChanged();
18920
- if (!this.isDesignMode) {
18991
+ if (!this.isDesignMode && !!this.survey && !this.isLoadingFromJson) {
18921
18992
  this.initDataFromSurvey();
18922
18993
  this.onSurveyValueChanged(this.value);
18923
18994
  this.updateValueWithDefaults();
@@ -19137,7 +19208,6 @@ var question_Question = /** @class */ (function (_super) {
19137
19208
  Question.prototype.clearValueIfInvisibleCore = function (reason) {
19138
19209
  if (this.canClearValueAsInvisible(reason)) {
19139
19210
  this.clearValue();
19140
- this.setValueChangedDirectly(undefined);
19141
19211
  }
19142
19212
  };
19143
19213
  Object.defineProperty(Question.prototype, "clearIfInvisible", {
@@ -20429,7 +20499,7 @@ var question_Question = /** @class */ (function (_super) {
20429
20499
  jsonobject_property()
20430
20500
  ], Question.prototype, "ariaExpanded", void 0);
20431
20501
  question_decorate([
20432
- jsonobject_property({ localizable: true, onSet: function (val, target) { return target.calcRenderedCommentPlaceholder(); } })
20502
+ jsonobject_property({ localizable: true, onSet: function (val, target) { return target.resetRenderedCommentPlaceholder(); } })
20433
20503
  ], Question.prototype, "commentPlaceholder", void 0);
20434
20504
  question_decorate([
20435
20505
  jsonobject_property()
@@ -23129,12 +23199,12 @@ var question_custom_QuestionCustomModelBase = /** @class */ (function (_super) {
23129
23199
  this.customQuestion.onItemValuePropertyChanged(this, item, item.ownerPropertyName, name, newValue);
23130
23200
  }
23131
23201
  };
23132
- QuestionCustomModelBase.prototype.onFirstRendering = function () {
23202
+ QuestionCustomModelBase.prototype.onFirstRenderingCore = function () {
23203
+ _super.prototype.onFirstRenderingCore.call(this);
23133
23204
  var el = this.getElement();
23134
23205
  if (!!el) {
23135
23206
  el.onFirstRendering();
23136
23207
  }
23137
- _super.prototype.onFirstRendering.call(this);
23138
23208
  };
23139
23209
  QuestionCustomModelBase.prototype.onHidingContent = function () {
23140
23210
  _super.prototype.onHidingContent.call(this);
@@ -24615,6 +24685,9 @@ Serializer.addClass("expression", [
24615
24685
  { name: "isRequired", visible: false },
24616
24686
  { name: "readOnly", visible: false },
24617
24687
  { name: "requiredErrorText", visible: false },
24688
+ { name: "resetValueIf", visible: false },
24689
+ { name: "setValueIf", visible: false },
24690
+ { name: "setValueExpression", visible: false },
24618
24691
  { name: "defaultValueExpression", visible: false },
24619
24692
  { name: "defaultValue", visible: false },
24620
24693
  { name: "correctAnswer", visible: false },
@@ -26324,8 +26397,12 @@ var question_matrixdropdownrendered_QuestionMatrixDropdownRenderedTable = /** @c
26324
26397
  var dataRowIndex = 0;
26325
26398
  for (var i = 0; i < this.rows.length; i++) {
26326
26399
  if (dataRowIndex === index) {
26327
- if (this.rows[i].isErrorsRow || this.rows[i].isDetailRow)
26400
+ if (this.rows[i].isErrorsRow || this.rows[i].isDetailRow) {
26328
26401
  res++;
26402
+ if (i + 1 < this.rows.length && this.rows[i + 1].isDetailRow) {
26403
+ res++;
26404
+ }
26405
+ }
26329
26406
  break;
26330
26407
  }
26331
26408
  res++;
@@ -28612,6 +28689,7 @@ var question_matrixdropdownbase_QuestionMatrixDropdownModelBase = /** @class */
28612
28689
  }
28613
28690
  };
28614
28691
  QuestionMatrixDropdownModelBase.prototype.runCondition = function (values, properties) {
28692
+ var oldRowVariables = values[question_matrixdropdownbase_MatrixDropdownRowModelBase.RowVariableName];
28615
28693
  _super.prototype.runCondition.call(this, values, properties);
28616
28694
  var counter = 0;
28617
28695
  var prevTotalValue;
@@ -28623,6 +28701,7 @@ var question_matrixdropdownbase_QuestionMatrixDropdownModelBase = /** @class */
28623
28701
  } while (!helpers_Helpers.isTwoValueEquals(prevTotalValue, this.totalValue) &&
28624
28702
  counter < 3);
28625
28703
  this.updateVisibilityBasedOnRows();
28704
+ values[question_matrixdropdownbase_MatrixDropdownRowModelBase.RowVariableName] = oldRowVariables;
28626
28705
  };
28627
28706
  QuestionMatrixDropdownModelBase.prototype.runTriggers = function (name, value, keys) {
28628
28707
  _super.prototype.runTriggers.call(this, name, value, keys);
@@ -29641,10 +29720,9 @@ var question_matrixdropdownbase_QuestionMatrixDropdownModelBase = /** @class */
29641
29720
  if (isDeletingValue) {
29642
29721
  delete rowValue[columnName];
29643
29722
  }
29644
- for (var i = 0; i < row.cells.length; i++) {
29645
- var key = row.cells[i].question.getValueName();
29646
- delete rowValue[key];
29647
- }
29723
+ row.questions.forEach(function (q) {
29724
+ delete rowValue[q.getValueName()];
29725
+ });
29648
29726
  if (newRowValue) {
29649
29727
  newRowValue = JSON.parse(JSON.stringify(newRowValue));
29650
29728
  for (var key in newRowValue) {
@@ -34722,7 +34800,7 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
34722
34800
  _this.updateVisibleIndexes();
34723
34801
  });
34724
34802
  _this.registerPropertyChangedHandlers(["title"], function () {
34725
- _this.calcHasTextInTitle();
34803
+ _this.resetHasTextInTitle();
34726
34804
  });
34727
34805
  _this.dragDropPanelHelper = new drag_drop_panel_helper_v1_DragDropPanelHelperV1(_this);
34728
34806
  return _this;
@@ -34779,6 +34857,7 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
34779
34857
  return "panelbase";
34780
34858
  };
34781
34859
  PanelModelBase.prototype.setSurveyImpl = function (value, isLight) {
34860
+ //if(this.surveyImpl === value) return; TODO refactor
34782
34861
  this.blockAnimations();
34783
34862
  _super.prototype.setSurveyImpl.call(this, value, isLight);
34784
34863
  if (this.isDesignMode)
@@ -34798,8 +34877,16 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
34798
34877
  col.onPropertyValueChangedCallback = _this.onColumnPropertyValueChangedCallback;
34799
34878
  });
34800
34879
  };
34801
- PanelModelBase.prototype.calcHasTextInTitle = function () {
34802
- this.hasTextInTitle = !!this.title;
34880
+ Object.defineProperty(PanelModelBase.prototype, "hasTextInTitle", {
34881
+ get: function () {
34882
+ var _this = this;
34883
+ return this.getPropertyValue("hasTextInTitle", undefined, function () { return !!_this.title; });
34884
+ },
34885
+ enumerable: false,
34886
+ configurable: true
34887
+ });
34888
+ PanelModelBase.prototype.resetHasTextInTitle = function () {
34889
+ this.resetPropertyValue("hasTextInTitle");
34803
34890
  };
34804
34891
  Object.defineProperty(PanelModelBase.prototype, "hasTitle", {
34805
34892
  get: function () {
@@ -35812,14 +35899,11 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
35812
35899
  }
35813
35900
  this.onElementVisibilityChanged(this);
35814
35901
  this.releaseAnimations();
35815
- this.calcHasTextInTitle();
35816
35902
  };
35817
- PanelModelBase.prototype.onFirstRendering = function () {
35818
- _super.prototype.onFirstRendering.call(this);
35819
- for (var i = 0; i < this.elements.length; i++) {
35820
- this.elements[i].onFirstRendering();
35821
- }
35903
+ PanelModelBase.prototype.onFirstRenderingCore = function () {
35904
+ _super.prototype.onFirstRenderingCore.call(this);
35822
35905
  this.onRowsChanged();
35906
+ this.elements.forEach(function (el) { return el.onFirstRendering(); });
35823
35907
  };
35824
35908
  PanelModelBase.prototype.updateRows = function () {
35825
35909
  if (this.isLoadingFromJson)
@@ -36263,9 +36347,7 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
36263
36347
  PanelModelBase.prototype.getPanelStartIndex = function (index) {
36264
36348
  return index;
36265
36349
  };
36266
- PanelModelBase.prototype.isContinueNumbering = function () {
36267
- return true;
36268
- };
36350
+ PanelModelBase.prototype.isContinueNumbering = function () { return true; };
36269
36351
  Object.defineProperty(PanelModelBase.prototype, "isReadOnly", {
36270
36352
  get: function () {
36271
36353
  var isParentReadOnly = !!this.parent && this.parent.isReadOnly;
@@ -36606,9 +36688,6 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
36606
36688
  panel_decorate([
36607
36689
  jsonobject_property({ defaultValue: true })
36608
36690
  ], PanelModelBase.prototype, "showTitle", void 0);
36609
- panel_decorate([
36610
- jsonobject_property({ defaultValue: false })
36611
- ], PanelModelBase.prototype, "hasTextInTitle", void 0);
36612
36691
  panel_decorate([
36613
36692
  jsonobject_property({ defaultValue: true })
36614
36693
  ], PanelModelBase.prototype, "showDescription", void 0);
@@ -36637,7 +36716,7 @@ var panel_PanelModel = /** @class */ (function (_super) {
36637
36716
  _this.parent.elementWidthChanged(_this);
36638
36717
  }
36639
36718
  });
36640
- _this.registerPropertyChangedHandlers(["indent", "innerIndent", "rightIndent"], function () { _this.onIndentChanged(); });
36719
+ _this.registerPropertyChangedHandlers(["indent", "innerIndent", "rightIndent"], function () { _this.resetIndents(); });
36641
36720
  _this.registerPropertyChangedHandlers(["colSpan"], function () { var _a; (_a = _this.parent) === null || _a === void 0 ? void 0 : _a.updateColumns(); });
36642
36721
  return _this;
36643
36722
  }
@@ -36658,15 +36737,6 @@ var panel_PanelModel = /** @class */ (function (_super) {
36658
36737
  }
36659
36738
  return _super.prototype.getSurvey.call(this, live);
36660
36739
  };
36661
- PanelModel.prototype.onSurveyLoad = function () {
36662
- _super.prototype.onSurveyLoad.call(this);
36663
- this.onIndentChanged();
36664
- };
36665
- PanelModel.prototype.onSetData = function () {
36666
- _super.prototype.onSetData.call(this);
36667
- this.onIndentChanged();
36668
- this.calcHasTextInTitle();
36669
- };
36670
36740
  Object.defineProperty(PanelModel.prototype, "isPanel", {
36671
36741
  get: function () {
36672
36742
  return true;
@@ -36890,7 +36960,11 @@ var panel_PanelModel = /** @class */ (function (_super) {
36890
36960
  });
36891
36961
  Object.defineProperty(PanelModel.prototype, "innerPaddingLeft", {
36892
36962
  get: function () {
36893
- return this.getPropertyValue("innerPaddingLeft", "");
36963
+ var _this = this;
36964
+ var func = function () {
36965
+ return _this.getIndentSize(_this.innerIndent);
36966
+ };
36967
+ return this.getPropertyValue("innerPaddingLeft", undefined, func);
36894
36968
  },
36895
36969
  set: function (val) {
36896
36970
  this.setPropertyValue("innerPaddingLeft", val);
@@ -36898,18 +36972,23 @@ var panel_PanelModel = /** @class */ (function (_super) {
36898
36972
  enumerable: false,
36899
36973
  configurable: true
36900
36974
  });
36901
- PanelModel.prototype.onIndentChanged = function () {
36902
- if (!this.getSurvey())
36903
- return;
36904
- this.innerPaddingLeft = this.getIndentSize(this.innerIndent);
36905
- this.paddingLeft = this.getIndentSize(this.indent);
36906
- this.paddingRight = this.getIndentSize(this.rightIndent);
36975
+ PanelModel.prototype.calcPaddingLeft = function () {
36976
+ return this.getIndentSize(this.indent);
36977
+ };
36978
+ PanelModel.prototype.calcPaddingRight = function () {
36979
+ return this.getIndentSize(this.rightIndent);
36980
+ };
36981
+ PanelModel.prototype.resetIndents = function () {
36982
+ this.resetPropertyValue("innerPaddingLeft");
36983
+ _super.prototype.resetIndents.call(this);
36907
36984
  };
36908
36985
  PanelModel.prototype.getIndentSize = function (indent) {
36986
+ if (!this.survey)
36987
+ return undefined;
36909
36988
  if (indent < 1)
36910
36989
  return "";
36911
36990
  var css = this.survey["css"];
36912
- if (!css || !css.question.indent)
36991
+ if (!css || !css.question || !css.question.indent)
36913
36992
  return "";
36914
36993
  return indent * css.question.indent + "px";
36915
36994
  };
@@ -37549,11 +37628,6 @@ var page_PageModel = /** @class */ (function (_super) {
37549
37628
  this.removeSelfFromList(this.survey.pages);
37550
37629
  }
37551
37630
  };
37552
- PageModel.prototype.onFirstRendering = function () {
37553
- if (this.wasShown)
37554
- return;
37555
- _super.prototype.onFirstRendering.call(this);
37556
- };
37557
37631
  Object.defineProperty(PageModel.prototype, "visibleIndex", {
37558
37632
  /**
37559
37633
  * The visible index of the page. It has values from 0 to visible page count - 1.
@@ -43786,6 +43860,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
43786
43860
  width: width,
43787
43861
  };
43788
43862
  this.onResize.fire(this, options);
43863
+ // this.setResponsiveStartWidth(width);
43789
43864
  return isMobileChanged;
43790
43865
  };
43791
43866
  SurveyModel.prototype.triggerResponsiveness = function (hard) {
@@ -46099,10 +46174,33 @@ var survey_SurveyModel = /** @class */ (function (_super) {
46099
46174
  });
46100
46175
  Object.defineProperty(SurveyModel.prototype, "renderedWidth", {
46101
46176
  get: function () {
46177
+ var isStaticWidth = this.getPropertyValue("calculatedWidthMode") == "static";
46102
46178
  var width = this.getPropertyValue("width");
46179
+ if (this.isScaled && this.responsiveStartWidth > 1) {
46180
+ var initialWidth = this.responsiveStartWidth;
46181
+ try {
46182
+ width = width || this.staticStartWidth;
46183
+ initialWidth = !isNaN(width) ? width : parseFloat(width.toString().replace("px", ""));
46184
+ }
46185
+ catch (e) { }
46186
+ return (isStaticWidth ? initialWidth : this.responsiveStartWidth) * this.widthScale / 100 + "px";
46187
+ }
46103
46188
  if (width && !isNaN(width))
46104
46189
  width = width + "px";
46105
- return this.getPropertyValue("calculatedWidthMode") == "static" && width || undefined;
46190
+ return isStaticWidth && width || undefined;
46191
+ },
46192
+ enumerable: false,
46193
+ configurable: true
46194
+ });
46195
+ SurveyModel.prototype.setStaticStartWidth = function (width) {
46196
+ this.staticStartWidth = width;
46197
+ };
46198
+ SurveyModel.prototype.setResponsiveStartWidth = function (width) {
46199
+ this.responsiveStartWidth = width;
46200
+ };
46201
+ Object.defineProperty(SurveyModel.prototype, "isScaled", {
46202
+ get: function () {
46203
+ return Math.abs(this.widthScale - 100) > 0.001;
46106
46204
  },
46107
46205
  enumerable: false,
46108
46206
  configurable: true
@@ -46932,6 +47030,15 @@ var survey_SurveyModel = /** @class */ (function (_super) {
46932
47030
  survey_decorate([
46933
47031
  jsonobject_property()
46934
47032
  ], SurveyModel.prototype, "calculatedWidthMode", void 0);
47033
+ survey_decorate([
47034
+ jsonobject_property({ defaultValue: 100 })
47035
+ ], SurveyModel.prototype, "widthScale", void 0);
47036
+ survey_decorate([
47037
+ jsonobject_property()
47038
+ ], SurveyModel.prototype, "staticStartWidth", void 0);
47039
+ survey_decorate([
47040
+ jsonobject_property()
47041
+ ], SurveyModel.prototype, "responsiveStartWidth", void 0);
46935
47042
  survey_decorate([
46936
47043
  propertyArray()
46937
47044
  ], SurveyModel.prototype, "layoutElements", void 0);
@@ -47307,7 +47414,6 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
47307
47414
  _this.registerPropertyChangedHandlers(["hideIfChoicesEmpty"], function () {
47308
47415
  _this.onVisibleChanged();
47309
47416
  });
47310
- _this.otherTextAreaModel = new text_area_TextAreaModel(_this.getOtherTextAreaOptions());
47311
47417
  _this.createNewArray("visibleChoices", function () { return _this.updateRenderedChoices(); }, function () { return _this.updateRenderedChoices(); });
47312
47418
  _this.setNewRestfulProperty();
47313
47419
  var locOtherText = _this.createLocalizableString("otherText", _this.otherItemValue, true, "otherItemText");
@@ -47338,6 +47444,26 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
47338
47444
  enumerable: false,
47339
47445
  configurable: true
47340
47446
  });
47447
+ QuestionSelectBase.prototype.getType = function () {
47448
+ return "selectbase";
47449
+ };
47450
+ QuestionSelectBase.prototype.dispose = function () {
47451
+ _super.prototype.dispose.call(this);
47452
+ var q = this.getQuestionWithChoices();
47453
+ if (!!q) {
47454
+ q.removeDependedQuestion(this);
47455
+ }
47456
+ };
47457
+ Object.defineProperty(QuestionSelectBase.prototype, "otherTextAreaModel", {
47458
+ get: function () {
47459
+ if (!this.otherTextAreaModelValue) {
47460
+ this.otherTextAreaModelValue = new text_area_TextAreaModel(this.getOtherTextAreaOptions());
47461
+ }
47462
+ return this.otherTextAreaModelValue;
47463
+ },
47464
+ enumerable: false,
47465
+ configurable: true
47466
+ });
47341
47467
  QuestionSelectBase.prototype.getOtherTextAreaOptions = function () {
47342
47468
  var _this = this;
47343
47469
  var options = {
@@ -47358,16 +47484,6 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
47358
47484
  };
47359
47485
  return options;
47360
47486
  };
47361
- QuestionSelectBase.prototype.getType = function () {
47362
- return "selectbase";
47363
- };
47364
- QuestionSelectBase.prototype.dispose = function () {
47365
- _super.prototype.dispose.call(this);
47366
- var q = this.getQuestionWithChoices();
47367
- if (!!q) {
47368
- q.removeDependedQuestion(this);
47369
- }
47370
- };
47371
47487
  QuestionSelectBase.prototype.resetDependedQuestion = function () {
47372
47488
  this.choicesFromQuestion = "";
47373
47489
  };
@@ -49534,22 +49650,6 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
49534
49650
  enumerable: false,
49535
49651
  configurable: true
49536
49652
  });
49537
- QuestionSelectBase.prototype.updateCssClasses = function (res, css) {
49538
- _super.prototype.updateCssClasses.call(this, res, css);
49539
- if (!!this.dropdownListModel) {
49540
- var listCssClasses = {};
49541
- mergeValues(css.list, listCssClasses);
49542
- mergeValues(res.list, listCssClasses);
49543
- res["list"] = listCssClasses;
49544
- }
49545
- };
49546
- QuestionSelectBase.prototype.calcCssClasses = function (css) {
49547
- var classes = _super.prototype.calcCssClasses.call(this, css);
49548
- if (this.dropdownListModel) {
49549
- this.dropdownListModel.updateCssClasses(classes.popup, classes.list);
49550
- }
49551
- return classes;
49552
- };
49553
49653
  question_baseselect_decorate([
49554
49654
  jsonobject_property({
49555
49655
  onSet: function (newVal, target) {
@@ -50723,7 +50823,6 @@ var dropdownListModel_DropdownListModel = /** @class */ (function (_super) {
50723
50823
  _this.selectedItemSelector = ".sv-list__item--selected";
50724
50824
  _this.itemSelector = ".sv-list__item";
50725
50825
  _this.itemsSettings = { skip: 0, take: 0, totalCount: 0, items: [] };
50726
- _this.popupCssClasses = "sv-single-select-list";
50727
50826
  _this.listModelFilterStringChanged = function (newValue) {
50728
50827
  if (_this.filterString !== newValue) {
50729
50828
  _this.filterString = newValue;
@@ -50733,7 +50832,6 @@ var dropdownListModel_DropdownListModel = /** @class */ (function (_super) {
50733
50832
  _this.onPropertyChangedHandler(sender, options);
50734
50833
  };
50735
50834
  _this.htmlCleanerElement = DomDocumentHelper.createElement("div");
50736
- _this.question.ariaExpanded = "false";
50737
50835
  question.onPropertyChanged.add(_this.questionPropertyChangedHandler);
50738
50836
  _this.showInputFieldComponent = _this.question.showInputFieldComponent;
50739
50837
  _this.listModel = _this.createListModel();
@@ -50743,6 +50841,8 @@ var dropdownListModel_DropdownListModel = /** @class */ (function (_super) {
50743
50841
  _this.setTextWrapEnabled(_this.question.textWrapEnabled);
50744
50842
  _this.createPopup();
50745
50843
  _this.resetItemsSettings();
50844
+ var classes = question.cssClasses;
50845
+ _this.updateCssClasses(classes.popup, classes.list);
50746
50846
  return _this;
50747
50847
  }
50748
50848
  Object.defineProperty(DropdownListModel.prototype, "focusFirstInputSelector", {
@@ -50845,7 +50945,6 @@ var dropdownListModel_DropdownListModel = /** @class */ (function (_super) {
50845
50945
  this.listModel.registerPropertyChangedHandlers(["showFilter"], function () {
50846
50946
  _this.updatePopupFocusFirstInputSelector();
50847
50947
  });
50848
- this._popupModel.cssClass = this.popupCssClasses;
50849
50948
  this._popupModel.onVisibilityChanged.add(function (_, option) {
50850
50949
  if (option.isVisible) {
50851
50950
  _this.listModel.renderElements = true;
@@ -50959,8 +51058,9 @@ var dropdownListModel_DropdownListModel = /** @class */ (function (_super) {
50959
51058
  model.isAllDataLoaded = !this.question.choicesLazyLoadEnabled;
50960
51059
  model.actions.forEach(function (a) { return a.disableTabStop = true; });
50961
51060
  };
51061
+ DropdownListModel.prototype.getPopupCssClasses = function () { return "sv-single-select-list"; };
50962
51062
  DropdownListModel.prototype.updateCssClasses = function (popupCssClass, listCssClasses) {
50963
- this.popupModel.cssClass = new CssClassBuilder().append(popupCssClass).append(this.popupCssClasses).toString();
51063
+ this.popupModel.cssClass = new CssClassBuilder().append(popupCssClass).append(this.getPopupCssClasses()).toString();
50964
51064
  this.listModel.cssClasses = listCssClasses;
50965
51065
  };
50966
51066
  DropdownListModel.prototype.resetFilterString = function () {
@@ -51438,6 +51538,7 @@ var question_dropdown_decorate = (undefined && undefined.__decorate) || function
51438
51538
 
51439
51539
 
51440
51540
 
51541
+
51441
51542
  /**
51442
51543
  * A class that describes the Dropdown question type.
51443
51544
  *
@@ -51450,6 +51551,7 @@ var question_dropdown_QuestionDropdownModel = /** @class */ (function (_super) {
51450
51551
  _this.lastSelectedItemValue = null;
51451
51552
  _this.minMaxChoices = [];
51452
51553
  _this.onOpened = _this.addEvent();
51554
+ _this.ariaExpanded = "false";
51453
51555
  _this.createLocalizableString("placeholder", _this, false, true);
51454
51556
  _this.createLocalizableString("clearCaption", _this, false, true);
51455
51557
  _this.registerPropertyChangedHandlers(["choicesMin", "choicesMax", "choicesStep"], function () {
@@ -51674,6 +51776,19 @@ var question_dropdown_QuestionDropdownModel = /** @class */ (function (_super) {
51674
51776
  .append(this.cssClasses.controlInputFieldComponent, !!this.inputFieldComponentName)
51675
51777
  .toString();
51676
51778
  };
51779
+ QuestionDropdownModel.prototype.updateCssClasses = function (res, css) {
51780
+ _super.prototype.updateCssClasses.call(this, res, css);
51781
+ if (this.useDropdownList) {
51782
+ updateListCssValues(res, css);
51783
+ }
51784
+ };
51785
+ QuestionDropdownModel.prototype.calcCssClasses = function (css) {
51786
+ var classes = _super.prototype.calcCssClasses.call(this, css);
51787
+ if (this.dropdownListModelValue) {
51788
+ this.dropdownListModel.updateCssClasses(classes.popup, classes.list);
51789
+ }
51790
+ return classes;
51791
+ };
51677
51792
  Object.defineProperty(QuestionDropdownModel.prototype, "selectedItemLocText", {
51678
51793
  get: function () {
51679
51794
  var item = this.suggestedItem || this.selectedItem;
@@ -51711,9 +51826,14 @@ var question_dropdown_QuestionDropdownModel = /** @class */ (function (_super) {
51711
51826
  enumerable: false,
51712
51827
  configurable: true
51713
51828
  });
51829
+ Object.defineProperty(QuestionDropdownModel.prototype, "useDropdownList", {
51830
+ get: function () { return this.renderAs !== "select"; },
51831
+ enumerable: false,
51832
+ configurable: true
51833
+ });
51714
51834
  Object.defineProperty(QuestionDropdownModel.prototype, "dropdownListModel", {
51715
51835
  get: function () {
51716
- if (this.renderAs !== "select" && !this.dropdownListModelValue) {
51836
+ if (this.useDropdownList && !this.dropdownListModelValue) {
51717
51837
  this.dropdownListModelValue = new dropdownListModel_DropdownListModel(this);
51718
51838
  }
51719
51839
  return this.dropdownListModelValue;
@@ -51726,8 +51846,7 @@ var question_dropdown_QuestionDropdownModel = /** @class */ (function (_super) {
51726
51846
  });
51727
51847
  Object.defineProperty(QuestionDropdownModel.prototype, "popupModel", {
51728
51848
  get: function () {
51729
- var _a;
51730
- return (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.popupModel;
51849
+ return this.dropdownListModel.popupModel;
51731
51850
  },
51732
51851
  enumerable: false,
51733
51852
  configurable: true
@@ -51737,7 +51856,7 @@ var question_dropdown_QuestionDropdownModel = /** @class */ (function (_super) {
51737
51856
  };
51738
51857
  QuestionDropdownModel.prototype.onSelectedItemValuesChangedHandler = function (newValue) {
51739
51858
  var _a;
51740
- (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.setInputStringFromSelectedItem(newValue);
51859
+ (_a = this.dropdownListModelValue) === null || _a === void 0 ? void 0 : _a.setInputStringFromSelectedItem(newValue);
51741
51860
  _super.prototype.onSelectedItemValuesChangedHandler.call(this, newValue);
51742
51861
  };
51743
51862
  QuestionDropdownModel.prototype.hasUnknownValue = function (val, includeOther, isFilteredChoices, checkEmptyValue) {
@@ -51763,7 +51882,7 @@ var question_dropdown_QuestionDropdownModel = /** @class */ (function (_super) {
51763
51882
  };
51764
51883
  QuestionDropdownModel.prototype.onVisibleChoicesChanged = function () {
51765
51884
  _super.prototype.onVisibleChoicesChanged.call(this);
51766
- if (!this.isLoadingFromJson && this.popupModel) {
51885
+ if (!!this.dropdownListModelValue) {
51767
51886
  this.dropdownListModel.updateItems();
51768
51887
  }
51769
51888
  };
@@ -51777,7 +51896,7 @@ var question_dropdown_QuestionDropdownModel = /** @class */ (function (_super) {
51777
51896
  var _a;
51778
51897
  _super.prototype.clearValue.call(this, keepComment);
51779
51898
  this.lastSelectedItemValue = null;
51780
- (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.clear();
51899
+ (_a = this.dropdownListModelValue) === null || _a === void 0 ? void 0 : _a.clear();
51781
51900
  };
51782
51901
  QuestionDropdownModel.prototype.afterRenderCore = function (el) {
51783
51902
  _super.prototype.afterRenderCore.call(this, el);
@@ -51798,19 +51917,18 @@ var question_dropdown_QuestionDropdownModel = /** @class */ (function (_super) {
51798
51917
  };
51799
51918
  QuestionDropdownModel.prototype.supportEmptyValidation = function () { return true; };
51800
51919
  QuestionDropdownModel.prototype.onBlurCore = function (event) {
51801
- var _a;
51802
- (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onBlur(event);
51920
+ this.dropdownListModel.onBlur(event);
51803
51921
  _super.prototype.onBlurCore.call(this, event);
51804
51922
  };
51805
51923
  QuestionDropdownModel.prototype.onFocusCore = function (event) {
51806
- var _a;
51807
- (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onFocus(event);
51924
+ this.dropdownListModel.onFocus(event);
51808
51925
  _super.prototype.onFocusCore.call(this, event);
51809
51926
  };
51810
51927
  QuestionDropdownModel.prototype.dispose = function () {
51811
51928
  _super.prototype.dispose.call(this);
51812
51929
  if (!!this.dropdownListModelValue) {
51813
51930
  this.dropdownListModelValue.dispose();
51931
+ this.dropdownListModelValue = undefined;
51814
51932
  }
51815
51933
  };
51816
51934
  question_dropdown_decorate([
@@ -51819,7 +51937,7 @@ var question_dropdown_QuestionDropdownModel = /** @class */ (function (_super) {
51819
51937
  question_dropdown_decorate([
51820
51938
  jsonobject_property({
51821
51939
  onSet: function (newValue, target) {
51822
- if (!!target.dropdownListModel) {
51940
+ if (!!target.dropdownListModelValue) {
51823
51941
  target.dropdownListModel.setSearchEnabled(newValue);
51824
51942
  }
51825
51943
  }
@@ -51840,7 +51958,7 @@ var question_dropdown_QuestionDropdownModel = /** @class */ (function (_super) {
51840
51958
  question_dropdown_decorate([
51841
51959
  jsonobject_property({
51842
51960
  onSet: function (newValue, target) {
51843
- if (!!target.dropdownListModel) {
51961
+ if (!!target.dropdownListModelValue) {
51844
51962
  target.dropdownListModel.setChoicesLazyLoadEnabled(newValue);
51845
51963
  }
51846
51964
  }
@@ -52934,37 +53052,26 @@ var question_textbase_QuestionTextBase = /** @class */ (function (_super) {
52934
53052
  };
52935
53053
  Object.defineProperty(QuestionTextBase.prototype, "renderedPlaceholder", {
52936
53054
  get: function () {
52937
- return this.getPropertyValue("renderedPlaceholder");
53055
+ var _this = this;
53056
+ var func = function () {
53057
+ return _this.hasPlaceholder() ? _this.placeHolder : undefined;
53058
+ };
53059
+ return this.getPropertyValue("renderedPlaceholder", undefined, func);
52938
53060
  },
52939
53061
  enumerable: false,
52940
53062
  configurable: true
52941
53063
  });
52942
- QuestionTextBase.prototype.setRenderedPlaceholder = function (val) {
52943
- this.setPropertyValue("renderedPlaceholder", val);
52944
- };
52945
53064
  QuestionTextBase.prototype.onReadOnlyChanged = function () {
52946
53065
  _super.prototype.onReadOnlyChanged.call(this);
52947
- this.calcRenderedPlaceholder();
52948
- };
52949
- QuestionTextBase.prototype.onSurveyLoad = function () {
52950
- this.calcRenderedPlaceholder();
52951
- _super.prototype.onSurveyLoad.call(this);
53066
+ this.resetRenderedPlaceholder();
52952
53067
  };
52953
53068
  QuestionTextBase.prototype.localeChanged = function () {
52954
53069
  _super.prototype.localeChanged.call(this);
52955
- this.calcRenderedPlaceholder();
52956
- };
52957
- QuestionTextBase.prototype.setSurveyImpl = function (value, isLight) {
52958
- _super.prototype.setSurveyImpl.call(this, value, isLight);
52959
- this.calcRenderedPlaceholder();
53070
+ this.resetRenderedPlaceholder();
52960
53071
  };
52961
53072
  QuestionTextBase.prototype.supportEmptyValidation = function () { return true; };
52962
- QuestionTextBase.prototype.calcRenderedPlaceholder = function () {
52963
- var res = this.placeHolder;
52964
- if (!!res && !this.hasPlaceholder()) {
52965
- res = undefined;
52966
- }
52967
- this.setRenderedPlaceholder(res);
53073
+ QuestionTextBase.prototype.resetRenderedPlaceholder = function () {
53074
+ this.resetPropertyValue("renderedPlaceholder");
52968
53075
  };
52969
53076
  QuestionTextBase.prototype.hasPlaceholder = function () {
52970
53077
  return !this.isReadOnly;
@@ -53004,7 +53111,7 @@ var question_textbase_QuestionTextBase = /** @class */ (function (_super) {
53004
53111
  configurable: true
53005
53112
  });
53006
53113
  question_textbase_decorate([
53007
- jsonobject_property({ localizable: true, onSet: function (val, target) { return target.calcRenderedPlaceholder(); } })
53114
+ jsonobject_property({ localizable: true, onSet: function (val, target) { return target.resetRenderedPlaceholder(); } })
53008
53115
  ], QuestionTextBase.prototype, "placeholder", void 0);
53009
53116
  return QuestionTextBase;
53010
53117
  }(question_Question));
@@ -53211,7 +53318,7 @@ var question_text_QuestionTextModel = /** @class */ (function (_super) {
53211
53318
  });
53212
53319
  _this.registerPropertyChangedHandlers(["inputType", "size"], function () {
53213
53320
  _this.updateInputSize();
53214
- _this.calcRenderedPlaceholder();
53321
+ _this.resetRenderedPlaceholder();
53215
53322
  });
53216
53323
  return _this;
53217
53324
  }
@@ -56624,7 +56731,6 @@ var dropdownMultiSelectListModel_DropdownMultiSelectListModel = /** @class */ (f
56624
56731
  dropdownMultiSelectListModel_extends(DropdownMultiSelectListModel, _super);
56625
56732
  function DropdownMultiSelectListModel(question, onSelectionChanged) {
56626
56733
  var _this = _super.call(this, question, onSelectionChanged) || this;
56627
- _this.popupCssClasses = "sv-multi-select-list";
56628
56734
  _this.setHideSelectedItems(question.hideSelectedItems);
56629
56735
  _this.syncFilterStringPlaceholder();
56630
56736
  _this.closeOnSelect = question.closeOnSelect;
@@ -56658,6 +56764,7 @@ var dropdownMultiSelectListModel_DropdownMultiSelectListModel = /** @class */ (f
56658
56764
  return _super.prototype.getFocusFirstInputSelector.call(this);
56659
56765
  }
56660
56766
  };
56767
+ DropdownMultiSelectListModel.prototype.getPopupCssClasses = function () { return "sv-multi-select-list"; };
56661
56768
  DropdownMultiSelectListModel.prototype.createListModel = function () {
56662
56769
  var _this = this;
56663
56770
  var visibleItems = this.getAvailableItems();
@@ -56691,7 +56798,6 @@ var dropdownMultiSelectListModel_DropdownMultiSelectListModel = /** @class */ (f
56691
56798
  elementId: this.listElementId
56692
56799
  };
56693
56800
  var res = new multiSelectListModel_MultiSelectListModel(listOptions);
56694
- res.actions.forEach(function (a) { return a.disableTabStop = true; });
56695
56801
  this.setOnTextSearchCallbackForListModel(res);
56696
56802
  res.forceShowFilter = true;
56697
56803
  return res;
@@ -56856,6 +56962,7 @@ var question_tagbox_decorate = (undefined && undefined.__decorate) || function (
56856
56962
 
56857
56963
 
56858
56964
 
56965
+
56859
56966
  /**
56860
56967
  * A class that describes the Multi-Select Dropdown (Tag Box) question type.
56861
56968
  *
@@ -56867,6 +56974,7 @@ var question_tagbox_QuestionTagboxModel = /** @class */ (function (_super) {
56867
56974
  var _this = _super.call(this, name) || this;
56868
56975
  _this.itemDisplayNameMap = {};
56869
56976
  _this.onOpened = _this.addEvent();
56977
+ _this.ariaExpanded = "false";
56870
56978
  _this.createLocalizableString("placeholder", _this, false, true);
56871
56979
  _this.createLocalizableString("clearCaption", _this, false, true);
56872
56980
  _this.createLocalizableString("readOnlyText", _this, true);
@@ -56881,7 +56989,7 @@ var question_tagbox_QuestionTagboxModel = /** @class */ (function (_super) {
56881
56989
  var _a;
56882
56990
  _super.prototype.locStrsChanged.call(this);
56883
56991
  this.updateReadOnlyText();
56884
- (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.locStrsChanged();
56992
+ (_a = this.dropdownListModelValue) === null || _a === void 0 ? void 0 : _a.locStrsChanged();
56885
56993
  };
56886
56994
  QuestionTagboxModel.prototype.updateReadOnlyText = function () {
56887
56995
  this.readOnlyText = this.displayValue || this.placeholder;
@@ -56889,19 +56997,19 @@ var question_tagbox_QuestionTagboxModel = /** @class */ (function (_super) {
56889
56997
  QuestionTagboxModel.prototype.getDefaultItemComponent = function () {
56890
56998
  return "";
56891
56999
  };
56892
- QuestionTagboxModel.prototype.onSurveyLoad = function () {
56893
- _super.prototype.onSurveyLoad.call(this);
56894
- this.createDropdownListModel();
56895
- };
56896
- QuestionTagboxModel.prototype.onSetData = function () {
56897
- _super.prototype.onSetData.call(this);
56898
- this.createDropdownListModel();
56899
- };
56900
- QuestionTagboxModel.prototype.createDropdownListModel = function () {
56901
- if (!this.dropdownListModel && !this.isLoadingFromJson) {
56902
- this.dropdownListModel = new dropdownMultiSelectListModel_DropdownMultiSelectListModel(this);
56903
- }
56904
- };
57000
+ Object.defineProperty(QuestionTagboxModel.prototype, "dropdownListModel", {
57001
+ get: function () {
57002
+ if (!this.dropdownListModelValue) {
57003
+ this.dropdownListModelValue = new dropdownMultiSelectListModel_DropdownMultiSelectListModel(this);
57004
+ }
57005
+ return this.dropdownListModelValue;
57006
+ },
57007
+ set: function (val) {
57008
+ this.dropdownListModelValue = val;
57009
+ },
57010
+ enumerable: false,
57011
+ configurable: true
57012
+ });
56905
57013
  Object.defineProperty(QuestionTagboxModel.prototype, "placeholder", {
56906
57014
  /**
56907
57015
  * A text displayed in the input field when it doesn't have a value.
@@ -56968,8 +57076,7 @@ var question_tagbox_QuestionTagboxModel = /** @class */ (function (_super) {
56968
57076
  });
56969
57077
  Object.defineProperty(QuestionTagboxModel.prototype, "popupModel", {
56970
57078
  get: function () {
56971
- var _a;
56972
- return (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.popupModel;
57079
+ return this.dropdownListModel.popupModel;
56973
57080
  },
56974
57081
  enumerable: false,
56975
57082
  configurable: true
@@ -56985,6 +57092,17 @@ var question_tagbox_QuestionTagboxModel = /** @class */ (function (_super) {
56985
57092
  .append(this.cssClasses.controlPreview, this.isPreviewStyle)
56986
57093
  .toString();
56987
57094
  };
57095
+ QuestionTagboxModel.prototype.updateCssClasses = function (res, css) {
57096
+ _super.prototype.updateCssClasses.call(this, res, css);
57097
+ updateListCssValues(res, css);
57098
+ };
57099
+ QuestionTagboxModel.prototype.calcCssClasses = function (css) {
57100
+ var classes = _super.prototype.calcCssClasses.call(this, css);
57101
+ if (this.dropdownListModelValue) {
57102
+ this.dropdownListModel.updateCssClasses(classes.popup, classes.list);
57103
+ }
57104
+ return classes;
57105
+ };
56988
57106
  QuestionTagboxModel.prototype.onOpenedCallBack = function () {
56989
57107
  this.onOpened.fire(this, { question: this, choices: this.choices });
56990
57108
  };
@@ -57005,7 +57123,7 @@ var question_tagbox_QuestionTagboxModel = /** @class */ (function (_super) {
57005
57123
  };
57006
57124
  QuestionTagboxModel.prototype.onVisibleChoicesChanged = function () {
57007
57125
  _super.prototype.onVisibleChoicesChanged.call(this);
57008
- if (this.popupModel) {
57126
+ if (!!this.dropdownListModelValue) {
57009
57127
  this.dropdownListModel.updateItems();
57010
57128
  }
57011
57129
  };
@@ -57053,13 +57171,11 @@ var question_tagbox_QuestionTagboxModel = /** @class */ (function (_super) {
57053
57171
  };
57054
57172
  QuestionTagboxModel.prototype.supportEmptyValidation = function () { return true; };
57055
57173
  QuestionTagboxModel.prototype.onBlurCore = function (event) {
57056
- var _a;
57057
- (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onBlur(event);
57174
+ this.dropdownListModel.onBlur(event);
57058
57175
  _super.prototype.onBlurCore.call(this, event);
57059
57176
  };
57060
57177
  QuestionTagboxModel.prototype.onFocusCore = function (event) {
57061
- var _a;
57062
- (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onFocus(event);
57178
+ this.dropdownListModel.onFocus(event);
57063
57179
  _super.prototype.onFocusCore.call(this, event);
57064
57180
  };
57065
57181
  QuestionTagboxModel.prototype.allElementsSelected = function () {
@@ -57072,14 +57188,15 @@ var question_tagbox_QuestionTagboxModel = /** @class */ (function (_super) {
57072
57188
  };
57073
57189
  QuestionTagboxModel.prototype.dispose = function () {
57074
57190
  _super.prototype.dispose.call(this);
57075
- if (!!this.dropdownListModel) {
57076
- this.dropdownListModel.dispose();
57191
+ if (!!this.dropdownListModelValue) {
57192
+ this.dropdownListModelValue.dispose();
57193
+ this.dropdownListModelValue = undefined;
57077
57194
  }
57078
57195
  };
57079
57196
  QuestionTagboxModel.prototype.clearValue = function (keepComment) {
57080
57197
  var _a;
57081
57198
  _super.prototype.clearValue.call(this, keepComment);
57082
- (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.clear();
57199
+ (_a = this.dropdownListModelValue) === null || _a === void 0 ? void 0 : _a.clear();
57083
57200
  };
57084
57201
  Object.defineProperty(QuestionTagboxModel.prototype, "showClearButton", {
57085
57202
  get: function () {
@@ -57105,7 +57222,7 @@ var question_tagbox_QuestionTagboxModel = /** @class */ (function (_super) {
57105
57222
  question_tagbox_decorate([
57106
57223
  jsonobject_property({
57107
57224
  onSet: function (newValue, target) {
57108
- if (!!target.dropdownListModel) {
57225
+ if (!!target.dropdownListModelValue) {
57109
57226
  target.dropdownListModel.setSearchEnabled(newValue);
57110
57227
  }
57111
57228
  }
@@ -57114,7 +57231,7 @@ var question_tagbox_QuestionTagboxModel = /** @class */ (function (_super) {
57114
57231
  question_tagbox_decorate([
57115
57232
  jsonobject_property({
57116
57233
  onSet: function (newValue, target) {
57117
- if (!!target.dropdownListModel) {
57234
+ if (!!target.dropdownListModelValue) {
57118
57235
  target.dropdownListModel.setHideSelectedItems(newValue);
57119
57236
  }
57120
57237
  }
@@ -57123,7 +57240,7 @@ var question_tagbox_QuestionTagboxModel = /** @class */ (function (_super) {
57123
57240
  question_tagbox_decorate([
57124
57241
  jsonobject_property({
57125
57242
  onSet: function (newValue, target) {
57126
- if (!!target.dropdownListModel) {
57243
+ if (!!target.dropdownListModelValue) {
57127
57244
  target.dropdownListModel.setChoicesLazyLoadEnabled(newValue);
57128
57245
  }
57129
57246
  }
@@ -58493,10 +58610,18 @@ var question_comment_extends = (undefined && undefined.__extends) || (function (
58493
58610
  var question_comment_QuestionCommentModel = /** @class */ (function (_super) {
58494
58611
  question_comment_extends(QuestionCommentModel, _super);
58495
58612
  function QuestionCommentModel(name) {
58496
- var _this_1 = _super.call(this, name) || this;
58497
- _this_1.textAreaModel = new text_area_TextAreaModel(_this_1.getTextAreaOptions());
58498
- return _this_1;
58613
+ return _super.call(this, name) || this;
58499
58614
  }
58615
+ Object.defineProperty(QuestionCommentModel.prototype, "textAreaModel", {
58616
+ get: function () {
58617
+ if (!this.textAreaModelValue) {
58618
+ this.textAreaModelValue = new text_area_TextAreaModel(this.getTextAreaOptions());
58619
+ }
58620
+ return this.textAreaModelValue;
58621
+ },
58622
+ enumerable: false,
58623
+ configurable: true
58624
+ });
58500
58625
  QuestionCommentModel.prototype.getTextAreaOptions = function () {
58501
58626
  var _this_1 = this;
58502
58627
  var _this = this;
@@ -59486,7 +59611,7 @@ var question_file_QuestionFileModel = /** @class */ (function (_super) {
59486
59611
  if (this.previewValue.length > 0 && !this.calculatedGapBetweenItems && !this.calculatedItemWidth) {
59487
59612
  setTimeout(function () {
59488
59613
  _this.processResponsiveness(0, _this._width);
59489
- });
59614
+ }, 1);
59490
59615
  }
59491
59616
  this.prevPreviewLength = this.previewValue.length;
59492
59617
  };
@@ -59709,7 +59834,7 @@ var question_file_QuestionFileModel = /** @class */ (function (_super) {
59709
59834
  };
59710
59835
  QuestionFileModel.prototype.updateCurrentMode = function () {
59711
59836
  var _this = this;
59712
- if (!this.isDesignMode) {
59837
+ if (!this.isDesignMode && this.survey) {
59713
59838
  if (this.sourceType !== "file") {
59714
59839
  this.camera.hasCamera(function (res) {
59715
59840
  _this.setPropertyValue("currentMode", res && _this.isDefaultV2Theme ? _this.sourceType : "file");
@@ -59924,9 +60049,12 @@ var question_file_QuestionFileModel = /** @class */ (function (_super) {
59924
60049
  };
59925
60050
  QuestionFileModel.prototype.loadPreview = function (newValue) {
59926
60051
  var _this = this;
60052
+ if (this.showPreview && this.prevLoadedPreviewValue === newValue)
60053
+ return;
59927
60054
  this.previewValue.splice(0, this.previewValue.length);
59928
60055
  if (!this.showPreview || !newValue)
59929
60056
  return;
60057
+ this.prevLoadedPreviewValue = newValue;
59930
60058
  var newValues = Array.isArray(newValue)
59931
60059
  ? newValue
59932
60060
  : !!newValue
@@ -61552,7 +61680,8 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
61552
61680
  };
61553
61681
  QuestionRatingModel.prototype.onBeforeSetCompactRenderer = function () {
61554
61682
  if (!this.dropdownListModelValue) {
61555
- this.dropdownListModel = new dropdownListModel_DropdownListModel(this);
61683
+ this.dropdownListModelValue = new dropdownListModel_DropdownListModel(this);
61684
+ this.ariaExpanded = "false";
61556
61685
  }
61557
61686
  };
61558
61687
  QuestionRatingModel.prototype.getCompactRenderAs = function () {
@@ -61570,6 +61699,7 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
61570
61699
  },
61571
61700
  set: function (val) {
61572
61701
  this.dropdownListModelValue = val;
61702
+ this.ariaExpanded = !!val ? "false" : undefined;
61573
61703
  this.updateElementCss();
61574
61704
  },
61575
61705
  enumerable: false,
@@ -61582,17 +61712,12 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
61582
61712
  };
61583
61713
  QuestionRatingModel.prototype.updateCssClasses = function (res, css) {
61584
61714
  _super.prototype.updateCssClasses.call(this, res, css);
61585
- if (!!this.dropdownListModel) {
61586
- var listCssClasses = {};
61587
- mergeValues(css.list, listCssClasses);
61588
- mergeValues(res.list, listCssClasses);
61589
- res["list"] = listCssClasses;
61590
- }
61715
+ updateListCssValues(res, css);
61591
61716
  };
61592
61717
  QuestionRatingModel.prototype.calcCssClasses = function (css) {
61593
61718
  var classes = _super.prototype.calcCssClasses.call(this, css);
61594
- if (this.dropdownListModel) {
61595
- this.dropdownListModel.updateCssClasses(classes.popup, classes.list);
61719
+ if (this.dropdownListModelValue) {
61720
+ this.dropdownListModelValue.updateCssClasses(classes.popup, classes.list);
61596
61721
  }
61597
61722
  return classes;
61598
61723
  };
@@ -61612,6 +61737,7 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
61612
61737
  _super.prototype.dispose.call(this);
61613
61738
  if (!!this.dropdownListModelValue) {
61614
61739
  this.dropdownListModelValue.dispose();
61740
+ this.dropdownListModelValue = undefined;
61615
61741
  }
61616
61742
  };
61617
61743
  QuestionRatingModel.colorsCalculated = false;
@@ -66470,8 +66596,8 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
66470
66596
  enumerable: false,
66471
66597
  configurable: true
66472
66598
  });
66473
- QuestionPanelDynamicModel.prototype.onFirstRendering = function () {
66474
- _super.prototype.onFirstRendering.call(this);
66599
+ QuestionPanelDynamicModel.prototype.onFirstRenderingCore = function () {
66600
+ _super.prototype.onFirstRenderingCore.call(this);
66475
66601
  this.buildPanelsFirstTime();
66476
66602
  this.template.onFirstRendering();
66477
66603
  for (var i = 0; i < this.panelsCore.length; i++) {
@@ -66758,12 +66884,14 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
66758
66884
  if (!this.isDesignMode && !this.isReadOnly && !this.isValueEmpty(panel.getValue())) {
66759
66885
  this.runPanelsCondition([panel], this.getDataFilteredValues(), this.getDataFilteredProperties());
66760
66886
  }
66761
- panel.onFirstRendering();
66762
66887
  var questions = panel.questions;
66763
66888
  for (var i = 0; i < questions.length; i++) {
66764
66889
  questions[i].setParentQuestion(this);
66765
66890
  }
66766
- panel.locStrsChanged();
66891
+ if (this.wasRendered) {
66892
+ panel.onFirstRendering();
66893
+ panel.locStrsChanged();
66894
+ }
66767
66895
  panel.onGetFooterActionsCallback = function () {
66768
66896
  return _this.getPanelActions(panel);
66769
66897
  };
@@ -66859,7 +66987,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
66859
66987
  };
66860
66988
  QuestionPanelDynamicModel.prototype.onSetData = function () {
66861
66989
  _super.prototype.onSetData.call(this);
66862
- if (this.useTemplatePanel) {
66990
+ if (!this.isLoadingFromJson && this.useTemplatePanel) {
66863
66991
  this.setTemplatePanelSurveyImpl();
66864
66992
  this.rebuildPanels();
66865
66993
  }
@@ -70318,8 +70446,8 @@ Serializer.addClass("currencymask", [
70318
70446
 
70319
70447
  var Version;
70320
70448
  var ReleaseDate;
70321
- Version = "" + "1.12.13";
70322
- ReleaseDate = "" + "2024-12-04";
70449
+ Version = "" + "1.12.15";
70450
+ ReleaseDate = "" + "2024-12-16";
70323
70451
  function checkLibraryVersion(ver, libraryName) {
70324
70452
  if (Version != ver) {
70325
70453
  var str = "survey-core has version '" + Version + "' and " + libraryName