survey-core 1.12.10 → 1.12.11

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 (238) hide show
  1. package/defaultV2.css +1 -1
  2. package/defaultV2.fontless.css +1 -1
  3. package/defaultV2.fontless.min.css +1 -1
  4. package/defaultV2.min.css +1 -1
  5. package/i18n/arabic.js +1 -1
  6. package/i18n/arabic.min.js +1 -1
  7. package/i18n/basque.js +1 -1
  8. package/i18n/basque.min.js +1 -1
  9. package/i18n/bulgarian.js +1 -1
  10. package/i18n/bulgarian.min.js +1 -1
  11. package/i18n/catalan.js +1 -1
  12. package/i18n/catalan.min.js +1 -1
  13. package/i18n/croatian.js +1 -1
  14. package/i18n/croatian.min.js +1 -1
  15. package/i18n/czech.js +1 -1
  16. package/i18n/czech.min.js +1 -1
  17. package/i18n/danish.js +1 -1
  18. package/i18n/danish.min.js +1 -1
  19. package/i18n/dutch.js +1 -1
  20. package/i18n/dutch.min.js +1 -1
  21. package/i18n/english.js +1 -1
  22. package/i18n/english.min.js +1 -1
  23. package/i18n/estonian.js +1 -1
  24. package/i18n/estonian.min.js +1 -1
  25. package/i18n/finnish.js +1 -1
  26. package/i18n/finnish.min.js +1 -1
  27. package/i18n/french.js +1 -1
  28. package/i18n/french.min.js +1 -1
  29. package/i18n/georgian.js +1 -1
  30. package/i18n/georgian.min.js +1 -1
  31. package/i18n/german.js +1 -1
  32. package/i18n/german.min.js +1 -1
  33. package/i18n/greek.js +1 -1
  34. package/i18n/greek.min.js +1 -1
  35. package/i18n/hebrew.js +1 -1
  36. package/i18n/hebrew.min.js +1 -1
  37. package/i18n/hindi.js +1 -1
  38. package/i18n/hindi.min.js +1 -1
  39. package/i18n/hungarian.js +1 -1
  40. package/i18n/hungarian.min.js +1 -1
  41. package/i18n/icelandic.js +1 -1
  42. package/i18n/icelandic.min.js +1 -1
  43. package/i18n/index.js +1 -1
  44. package/i18n/index.min.js +1 -1
  45. package/i18n/indonesian.js +1 -1
  46. package/i18n/indonesian.min.js +1 -1
  47. package/i18n/italian.js +1 -1
  48. package/i18n/italian.min.js +1 -1
  49. package/i18n/japanese.js +1 -1
  50. package/i18n/japanese.min.js +1 -1
  51. package/i18n/kazakh.js +1 -1
  52. package/i18n/kazakh.min.js +1 -1
  53. package/i18n/korean.js +1 -1
  54. package/i18n/korean.min.js +1 -1
  55. package/i18n/latvian.js +1 -1
  56. package/i18n/latvian.min.js +1 -1
  57. package/i18n/lithuanian.js +1 -1
  58. package/i18n/lithuanian.min.js +1 -1
  59. package/i18n/macedonian.js +1 -1
  60. package/i18n/macedonian.min.js +1 -1
  61. package/i18n/malay.js +1 -1
  62. package/i18n/malay.min.js +1 -1
  63. package/i18n/nl-BE.js +1 -1
  64. package/i18n/nl-BE.min.js +1 -1
  65. package/i18n/norwegian.js +1 -1
  66. package/i18n/norwegian.min.js +1 -1
  67. package/i18n/persian.js +1 -1
  68. package/i18n/persian.min.js +1 -1
  69. package/i18n/philippines.js +1 -1
  70. package/i18n/philippines.min.js +1 -1
  71. package/i18n/polish.js +1 -1
  72. package/i18n/polish.min.js +1 -1
  73. package/i18n/portuguese-br.js +1 -1
  74. package/i18n/portuguese-br.min.js +1 -1
  75. package/i18n/portuguese.js +1 -1
  76. package/i18n/portuguese.min.js +1 -1
  77. package/i18n/romanian.js +1 -1
  78. package/i18n/romanian.min.js +1 -1
  79. package/i18n/russian.js +1 -1
  80. package/i18n/russian.min.js +1 -1
  81. package/i18n/serbian.js +1 -1
  82. package/i18n/serbian.min.js +1 -1
  83. package/i18n/simplified-chinese.js +1 -1
  84. package/i18n/simplified-chinese.min.js +1 -1
  85. package/i18n/slovak.js +1 -1
  86. package/i18n/slovak.min.js +1 -1
  87. package/i18n/spanish.js +1 -1
  88. package/i18n/spanish.min.js +1 -1
  89. package/i18n/swahili.js +1 -1
  90. package/i18n/swahili.min.js +1 -1
  91. package/i18n/swedish.js +1 -1
  92. package/i18n/swedish.min.js +1 -1
  93. package/i18n/tajik.js +1 -1
  94. package/i18n/tajik.min.js +1 -1
  95. package/i18n/telugu.js +1 -1
  96. package/i18n/telugu.min.js +1 -1
  97. package/i18n/thai.js +1 -1
  98. package/i18n/thai.min.js +1 -1
  99. package/i18n/traditional-chinese.js +1 -1
  100. package/i18n/traditional-chinese.min.js +1 -1
  101. package/i18n/turkish.js +1 -1
  102. package/i18n/turkish.min.js +1 -1
  103. package/i18n/ukrainian.js +1 -1
  104. package/i18n/ukrainian.min.js +1 -1
  105. package/i18n/urdu.js +1 -1
  106. package/i18n/urdu.min.js +1 -1
  107. package/i18n/vietnamese.js +1 -1
  108. package/i18n/vietnamese.min.js +1 -1
  109. package/i18n/welsh.js +1 -1
  110. package/i18n/welsh.min.js +1 -1
  111. package/modern.css +1 -1
  112. package/modern.fontless.css +1 -1
  113. package/modern.fontless.min.css +1 -1
  114. package/modern.min.css +1 -1
  115. package/package.json +1 -1
  116. package/plugins/bootstrap-integration/index.js +1 -1
  117. package/plugins/bootstrap-integration/index.min.js +1 -1
  118. package/plugins/bootstrap-material-integration/index.js +1 -1
  119. package/plugins/bootstrap-material-integration/index.min.js +1 -1
  120. package/survey.core.js +219 -151
  121. package/survey.core.js.map +1 -1
  122. package/survey.core.min.js +3 -3
  123. package/survey.css +1 -1
  124. package/survey.i18n.js +1 -1
  125. package/survey.i18n.min.js +1 -1
  126. package/survey.min.css +1 -1
  127. package/themes/borderless-dark-panelless.js +1 -1
  128. package/themes/borderless-dark-panelless.min.js +1 -1
  129. package/themes/borderless-dark.js +1 -1
  130. package/themes/borderless-dark.min.js +1 -1
  131. package/themes/borderless-light-panelless..js +1 -1
  132. package/themes/borderless-light-panelless..min.js +1 -1
  133. package/themes/borderless-light.js +1 -1
  134. package/themes/borderless-light.min.js +1 -1
  135. package/themes/contrast-dark-panelless.js +1 -1
  136. package/themes/contrast-dark-panelless.min.js +1 -1
  137. package/themes/contrast-dark.js +1 -1
  138. package/themes/contrast-dark.min.js +1 -1
  139. package/themes/contrast-light-panelless.js +1 -1
  140. package/themes/contrast-light-panelless.min.js +1 -1
  141. package/themes/contrast-light.js +1 -1
  142. package/themes/contrast-light.min.js +1 -1
  143. package/themes/default-dark-panelless.js +1 -1
  144. package/themes/default-dark-panelless.min.js +1 -1
  145. package/themes/default-dark.js +1 -1
  146. package/themes/default-dark.min.js +1 -1
  147. package/themes/default-light-panelless.js +1 -1
  148. package/themes/default-light-panelless.min.js +1 -1
  149. package/themes/default-light.js +1 -1
  150. package/themes/default-light.min.js +1 -1
  151. package/themes/doubleborder-dark-panelless.js +1 -1
  152. package/themes/doubleborder-dark-panelless.min.js +1 -1
  153. package/themes/doubleborder-dark.js +1 -1
  154. package/themes/doubleborder-dark.min.js +1 -1
  155. package/themes/doubleborder-light-panelles.js +1 -1
  156. package/themes/doubleborder-light-panelles.min.js +1 -1
  157. package/themes/doubleborder-light.js +1 -1
  158. package/themes/doubleborder-light.min.js +1 -1
  159. package/themes/flat-dark-panelless.js +1 -1
  160. package/themes/flat-dark-panelless.min.js +1 -1
  161. package/themes/flat-dark.js +1 -1
  162. package/themes/flat-dark.min.js +1 -1
  163. package/themes/flat-light-panelless.js +1 -1
  164. package/themes/flat-light-panelless.min.js +1 -1
  165. package/themes/flat-light.js +1 -1
  166. package/themes/flat-light.min.js +1 -1
  167. package/themes/index.js +1 -1
  168. package/themes/index.min.js +1 -1
  169. package/themes/layered-dark-panelless.js +1 -1
  170. package/themes/layered-dark-panelless.min.js +1 -1
  171. package/themes/layered-dark.js +1 -1
  172. package/themes/layered-dark.min.js +1 -1
  173. package/themes/layered-light-panelless.js +1 -1
  174. package/themes/layered-light-panelless.min.js +1 -1
  175. package/themes/layered-light.js +1 -1
  176. package/themes/layered-light.min.js +1 -1
  177. package/themes/plain-dark-panelless.js +1 -1
  178. package/themes/plain-dark-panelless.min.js +1 -1
  179. package/themes/plain-dark.js +1 -1
  180. package/themes/plain-dark.min.js +1 -1
  181. package/themes/plain-light-panelless.js +1 -1
  182. package/themes/plain-light-panelless.min.js +1 -1
  183. package/themes/plain-light.js +1 -1
  184. package/themes/plain-light.min.js +1 -1
  185. package/themes/sharp-dark-panelless.js +1 -1
  186. package/themes/sharp-dark-panelless.min.js +1 -1
  187. package/themes/sharp-dark.js +1 -1
  188. package/themes/sharp-dark.min.js +1 -1
  189. package/themes/sharp-light-panelless.js +1 -1
  190. package/themes/sharp-light-panelless.min.js +1 -1
  191. package/themes/sharp-light.js +1 -1
  192. package/themes/sharp-light.min.js +1 -1
  193. package/themes/solid-dark-panelless.js +1 -1
  194. package/themes/solid-dark-panelless.min.js +1 -1
  195. package/themes/solid-dark.js +1 -1
  196. package/themes/solid-dark.min.js +1 -1
  197. package/themes/solid-light-panelless.js +1 -1
  198. package/themes/solid-light-panelless.min.js +1 -1
  199. package/themes/solid-light.js +1 -1
  200. package/themes/solid-light.min.js +1 -1
  201. package/themes/three-dimensional-dark-panelless.js +1 -1
  202. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  203. package/themes/three-dimensional-dark.js +1 -1
  204. package/themes/three-dimensional-dark.min.js +1 -1
  205. package/themes/three-dimensional-light-panelless.js +1 -1
  206. package/themes/three-dimensional-light-panelless.min.js +1 -1
  207. package/themes/three-dimensional-light.js +1 -1
  208. package/themes/three-dimensional-light.min.js +1 -1
  209. package/ts3.4/typings/packages/survey-core/entries/chunks/model.d.ts +1 -1
  210. package/ts3.4/typings/packages/survey-core/src/actions/container.d.ts +4 -1
  211. package/ts3.4/typings/packages/survey-core/src/list.d.ts +1 -0
  212. package/ts3.4/typings/packages/survey-core/src/page.d.ts +2 -2
  213. package/ts3.4/typings/packages/survey-core/src/panel.d.ts +3 -1
  214. package/ts3.4/typings/packages/survey-core/src/popup-dropdown-view-model.d.ts +2 -4
  215. package/ts3.4/typings/packages/survey-core/src/popup-utils.d.ts +1 -1
  216. package/ts3.4/typings/packages/survey-core/src/popup-view-model.d.ts +1 -1
  217. package/ts3.4/typings/packages/survey-core/src/popup.d.ts +4 -0
  218. package/ts3.4/typings/packages/survey-core/src/question_matrixdropdowncolumn.d.ts +2 -2
  219. package/ts3.4/typings/packages/survey-core/src/survey-events-api.d.ts +3 -3
  220. package/ts3.4/typings/packages/survey-core/src/survey.d.ts +3 -3
  221. package/ts3.4/typings/packages/survey-core/src/surveyStrings.d.ts +1 -0
  222. package/ts3.4/typings/packages/survey-core/src/utils/popup.d.ts +4 -1
  223. package/ts3.4/typings/packages/survey-core/src/utils/text-area.d.ts +1 -0
  224. package/typings/packages/survey-core/entries/chunks/model.d.ts +1 -1
  225. package/typings/packages/survey-core/src/actions/container.d.ts +4 -1
  226. package/typings/packages/survey-core/src/list.d.ts +1 -0
  227. package/typings/packages/survey-core/src/page.d.ts +2 -2
  228. package/typings/packages/survey-core/src/panel.d.ts +3 -1
  229. package/typings/packages/survey-core/src/popup-dropdown-view-model.d.ts +2 -4
  230. package/typings/packages/survey-core/src/popup-utils.d.ts +1 -1
  231. package/typings/packages/survey-core/src/popup-view-model.d.ts +1 -1
  232. package/typings/packages/survey-core/src/popup.d.ts +4 -0
  233. package/typings/packages/survey-core/src/question_matrixdropdowncolumn.d.ts +2 -2
  234. package/typings/packages/survey-core/src/survey-events-api.d.ts +3 -3
  235. package/typings/packages/survey-core/src/survey.d.ts +3 -3
  236. package/typings/packages/survey-core/src/surveyStrings.d.ts +1 -0
  237. package/typings/packages/survey-core/src/utils/popup.d.ts +4 -1
  238. package/typings/packages/survey-core/src/utils/text-area.d.ts +1 -0
package/survey.core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.12.10
2
+ * surveyjs - Survey JavaScript library v1.12.11
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
  */
@@ -1731,7 +1731,7 @@ module.exports = "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\
1731
1731
  /*!*******************************************!*\
1732
1732
  !*** ./src/entries/core.ts + 127 modules ***!
1733
1733
  \*******************************************/
1734
- /*! 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, 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, SvgBundleViewModel, svgBundle, 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 */
1734
+ /*! 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, 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, SvgBundleViewModel, svgBundle, 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 */
1735
1735
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1736
1736
 
1737
1737
  "use strict";
@@ -1892,6 +1892,7 @@ __webpack_require__.d(__webpack_exports__, "dxSurveyService", function() { retur
1892
1892
  __webpack_require__.d(__webpack_exports__, "englishStrings", function() { return /* reexport */ englishStrings; });
1893
1893
  __webpack_require__.d(__webpack_exports__, "surveyLocalization", function() { return /* reexport */ surveyLocalization; });
1894
1894
  __webpack_require__.d(__webpack_exports__, "surveyStrings", function() { return /* reexport */ surveyStrings; });
1895
+ __webpack_require__.d(__webpack_exports__, "getLocaleString", function() { return /* reexport */ getLocaleString; });
1895
1896
  __webpack_require__.d(__webpack_exports__, "QuestionCustomWidget", function() { return /* reexport */ QuestionCustomWidget; });
1896
1897
  __webpack_require__.d(__webpack_exports__, "CustomWidgetCollection", function() { return /* reexport */ questionCustomWidgets_CustomWidgetCollection; });
1897
1898
  __webpack_require__.d(__webpack_exports__, "QuestionCustomModel", function() { return /* reexport */ question_custom_QuestionCustomModel; });
@@ -2837,6 +2838,10 @@ var surveyLocalization = {
2837
2838
  },
2838
2839
  onGetExternalString: function (name, locale) { return undefined; }
2839
2840
  };
2841
+ function getLocaleString(strName, locale) {
2842
+ if (locale === void 0) { locale = null; }
2843
+ return surveyLocalization.getString(strName, locale);
2844
+ }
2840
2845
  var surveyStrings = englishStrings;
2841
2846
  surveyLocalization.locales["en"] = englishStrings;
2842
2847
  surveyLocalization.localeNames["en"] = "english";
@@ -2886,7 +2891,7 @@ function getLocStringValue(target, options, key) {
2886
2891
  return res;
2887
2892
  if (typeof options.localizable === "object" && options.localizable.defaultStr) {
2888
2893
  var loc = !!target.getLocale ? target.getLocale() : "";
2889
- return surveyLocalization.getString(options.localizable.defaultStr, loc);
2894
+ return getLocaleString(options.localizable.defaultStr, loc);
2890
2895
  }
2891
2896
  return "";
2892
2897
  }
@@ -4353,10 +4358,12 @@ var JsonMetadata = /** @class */ (function () {
4353
4358
  };
4354
4359
  JsonMetadata.prototype.generateSchemaProperty = function (prop, schemaDef, isRoot) {
4355
4360
  if (prop.isLocalizable) {
4356
- return { oneOf: [
4361
+ return {
4362
+ oneOf: [
4357
4363
  { "type": "string" },
4358
4364
  { "$ref": this.getChemeRefName("locstring", isRoot) }
4359
- ] };
4365
+ ]
4366
+ };
4360
4367
  }
4361
4368
  var propType = prop.schemaType();
4362
4369
  var refType = prop.schemaRef();
@@ -10594,7 +10601,7 @@ var base_Base = /** @class */ (function () {
10594
10601
  return !!locOwner ? locOwner.getLocale() : "";
10595
10602
  };
10596
10603
  Base.prototype.getLocalizationString = function (strName) {
10597
- return surveyLocalization.getString(strName, this.getLocale());
10604
+ return getLocaleString(strName, this.getLocale());
10598
10605
  };
10599
10606
  Base.prototype.getLocalizationFormatString = function (strName) {
10600
10607
  var args = [];
@@ -11392,24 +11399,45 @@ var container_ActionContainer = /** @class */ (function (_super) {
11392
11399
  ActionContainer.prototype.addAction = function (val, sortByVisibleIndex) {
11393
11400
  if (sortByVisibleIndex === void 0) { sortByVisibleIndex = true; }
11394
11401
  var res = this.createAction(val);
11395
- this.actions.push(res);
11396
- this.sortItems();
11402
+ if (sortByVisibleIndex && !this.isActionVisible(res))
11403
+ return res;
11404
+ var items = [].concat(this.actions, res);
11405
+ this.sortItems(items);
11406
+ this.actions = items;
11397
11407
  return res;
11398
11408
  };
11399
- ActionContainer.prototype.sortItems = function () {
11400
- this.actions = []
11401
- .concat(this.actions.filter(function (item) { return item.visibleIndex === undefined || item.visibleIndex >= 0; }))
11402
- .sort(function (firstItem, secondItem) {
11403
- return firstItem.visibleIndex - secondItem.visibleIndex;
11404
- });
11405
- };
11406
11409
  ActionContainer.prototype.setItems = function (items, sortByVisibleIndex) {
11407
11410
  var _this = this;
11408
11411
  if (sortByVisibleIndex === void 0) { sortByVisibleIndex = true; }
11409
- this.actions = items.map(function (item) { return _this.createAction(item); });
11412
+ var newActions = [];
11413
+ items.forEach(function (item) {
11414
+ if (!sortByVisibleIndex || _this.isActionVisible(item)) {
11415
+ newActions.push(_this.createAction(item));
11416
+ }
11417
+ });
11410
11418
  if (sortByVisibleIndex) {
11411
- this.sortItems();
11419
+ this.sortItems(newActions);
11420
+ }
11421
+ this.actions = newActions;
11422
+ };
11423
+ ActionContainer.prototype.sortItems = function (items) {
11424
+ if (this.hasSetVisibleIndex(items)) {
11425
+ items.sort(this.compareByVisibleIndex);
11426
+ }
11427
+ };
11428
+ ActionContainer.prototype.hasSetVisibleIndex = function (items) {
11429
+ for (var i = 0; i < items.length; i++) {
11430
+ var index = items[i].visibleIndex;
11431
+ if (index !== undefined && index >= 0)
11432
+ return true;
11412
11433
  }
11434
+ return false;
11435
+ };
11436
+ ActionContainer.prototype.compareByVisibleIndex = function (first, second) {
11437
+ return first.visibleIndex - second.visibleIndex;
11438
+ };
11439
+ ActionContainer.prototype.isActionVisible = function (item) {
11440
+ return item.visibleIndex >= 0 || item.visibleIndex === undefined;
11413
11441
  };
11414
11442
  ActionContainer.prototype.popupAfterShowCallback = function (itemValue) {
11415
11443
  };
@@ -11738,6 +11766,10 @@ var list_ListModel = /** @class */ (function (_super) {
11738
11766
  this.actions.push(this.loadingIndicator);
11739
11767
  }
11740
11768
  };
11769
+ ListModel.prototype.setSearchEnabled = function (newValue) {
11770
+ this.searchEnabled = newValue;
11771
+ this.showSearchClearButton = newValue;
11772
+ };
11741
11773
  ListModel.prototype.onSet = function () {
11742
11774
  this.showFilter = this.searchEnabled && (this.forceShowFilter || (this.actions || []).length > ListModel.MINELEMENTCOUNT);
11743
11775
  _super.prototype.onSet.call(this);
@@ -12067,6 +12099,9 @@ var popup_PopupModel = /** @class */ (function (_super) {
12067
12099
  return options.actions;
12068
12100
  };
12069
12101
  PopupModel.prototype.updateDisplayMode = function (menuType) {
12102
+ if (this.displayMode !== menuType) {
12103
+ this.setWidthByTarget = menuType === "dropdown";
12104
+ }
12070
12105
  switch (menuType) {
12071
12106
  case "dropdown": {
12072
12107
  this.displayMode = "popup";
@@ -12209,6 +12244,7 @@ function createDropdownActionModelAdvanced(actionOptions, listOptions, popupOpti
12209
12244
  }
12210
12245
  };
12211
12246
  var popupModel = createPopupModelWithListModel(listOptions, popupOptions);
12247
+ popupModel.getTargetCallback = getActionDropdownButtonTarget;
12212
12248
  var newActionOptions = Object.assign({}, actionOptions, {
12213
12249
  component: "sv-action-bar-item-dropdown",
12214
12250
  popupModel: popupModel,
@@ -12631,7 +12667,7 @@ var action_Action = /** @class */ (function (_super) {
12631
12667
  Action.prototype.locTooltipChanged = function () {
12632
12668
  if (!this.locTooltipName)
12633
12669
  return;
12634
- this.tooltip = surveyLocalization.getString(this.locTooltipName, this.locTitle.locale);
12670
+ this.tooltip = getLocaleString(this.locTooltipName, this.locTitle.locale);
12635
12671
  };
12636
12672
  //ILocalizableOwner
12637
12673
  Action.prototype.getLocale = function () { return this.owner ? this.owner.getLocale() : ""; };
@@ -12640,7 +12676,9 @@ var action_Action = /** @class */ (function (_super) {
12640
12676
  Action.prototype.getRenderer = function (name) { return this.owner ? this.owner.getRenderer(name) : null; };
12641
12677
  Action.prototype.getRendererContext = function (locStr) { return this.owner ? this.owner.getRendererContext(locStr) : locStr; };
12642
12678
  Action.prototype.setVisible = function (val) {
12643
- this._visible = val;
12679
+ if (this.visible !== val) {
12680
+ this._visible = val;
12681
+ }
12644
12682
  };
12645
12683
  Action.prototype.getVisible = function () {
12646
12684
  return this._visible;
@@ -12780,7 +12818,7 @@ var adaptive_container_AdaptiveActionContainer = /** @class */ (function (_super
12780
12818
  innerCss: "sv-dots__item",
12781
12819
  iconName: "icon-more",
12782
12820
  visible: false,
12783
- tooltip: surveyLocalization.getString("more"),
12821
+ tooltip: getLocaleString("more"),
12784
12822
  }, {
12785
12823
  items: [],
12786
12824
  allowSelection: false
@@ -12908,9 +12946,12 @@ var adaptive_container_AdaptiveActionContainer = /** @class */ (function (_super
12908
12946
  };
12909
12947
  AdaptiveActionContainer.prototype.setActionsMode = function (mode) {
12910
12948
  this.actions.forEach(function (action) {
12911
- if (mode == "small" && action.disableShrink)
12912
- return;
12913
- action.mode = mode;
12949
+ if (mode == "small" && action.disableShrink) {
12950
+ action.mode = "large";
12951
+ }
12952
+ else {
12953
+ action.mode = mode;
12954
+ }
12914
12955
  });
12915
12956
  };
12916
12957
  AdaptiveActionContainer.prototype.dispose = function () {
@@ -14522,6 +14563,7 @@ var survey_element_SurveyElement = /** @class */ (function (_super) {
14522
14563
  };
14523
14564
  SurveyElement.prototype.setPage = function (parent, newPage) {
14524
14565
  var oldPage = this.getPage(parent);
14566
+ this.prevSurvey = this.survey;
14525
14567
  //fix for the creator v1: https://github.com/surveyjs/survey-creator/issues/1744
14526
14568
  if (typeof newPage === "string") {
14527
14569
  var survey = this.getSurvey();
@@ -14537,6 +14579,7 @@ var survey_element_SurveyElement = /** @class */ (function (_super) {
14537
14579
  if (newPage) {
14538
14580
  newPage.addElement(this, -1);
14539
14581
  }
14582
+ this.prevSurvey = undefined;
14540
14583
  };
14541
14584
  SurveyElement.prototype.getSearchableLocKeys = function (keys) {
14542
14585
  keys.push("title");
@@ -15208,7 +15251,7 @@ var localizablestring_LocalizableString = /** @class */ (function () {
15208
15251
  };
15209
15252
  LocalizableString.prototype.getLocalizationStr = function () {
15210
15253
  var name = this.getLocalizationName();
15211
- return !!name ? surveyLocalization.getString(name, this.locale) : "";
15254
+ return !!name ? getLocaleString(name, this.locale) : "";
15212
15255
  };
15213
15256
  Object.defineProperty(LocalizableString.prototype, "hasHtml", {
15214
15257
  get: function () {
@@ -16257,9 +16300,9 @@ function showConfirmDialog(message, callback, applyTitle, locale, rootElement) {
16257
16300
  var toolbar = popupViewModel.footerToolbar;
16258
16301
  var applyBtn = toolbar.getActionById("apply");
16259
16302
  var cancelBtn = toolbar.getActionById("cancel");
16260
- cancelBtn.title = surveyLocalization.getString("cancel", locale);
16303
+ cancelBtn.title = getLocaleString("cancel", locale);
16261
16304
  cancelBtn.innerCss = "sv-popup__body-footer-item sv-popup__button sd-btn sd-btn--small";
16262
- applyBtn.title = applyTitle || surveyLocalization.getString("ok", locale);
16305
+ applyBtn.title = applyTitle || getLocaleString("ok", locale);
16263
16306
  applyBtn.innerCss = "sv-popup__body-footer-item sv-popup__button sv-popup__button--danger sd-btn sd-btn--small sd-btn--danger";
16264
16307
  configConfirmDialog(popupViewModel);
16265
16308
  return true;
@@ -17265,7 +17308,7 @@ var survey_error_SurveyError = /** @class */ (function () {
17265
17308
  return !!this.errorOwner ? this.errorOwner.getLocale() : "";
17266
17309
  };
17267
17310
  SurveyError.prototype.getLocalizationString = function (locStrName) {
17268
- return surveyLocalization.getString(locStrName, this.getLocale());
17311
+ return getLocaleString(locStrName, this.getLocale());
17269
17312
  };
17270
17313
  SurveyError.prototype.updateText = function () {
17271
17314
  if (this.onUpdateErrorTextCallback) {
@@ -17362,8 +17405,7 @@ var error_ExceedSizeError = /** @class */ (function (_super) {
17362
17405
  return "exceedsize";
17363
17406
  };
17364
17407
  ExceedSizeError.prototype.getDefaultText = function () {
17365
- return surveyLocalization
17366
- .getString("exceedMaxSize")["format"](this.getTextSize());
17408
+ return getLocaleString("exceedMaxSize")["format"](this.getTextSize());
17367
17409
  };
17368
17410
  ExceedSizeError.prototype.getTextSize = function () {
17369
17411
  var sizes = ["Bytes", "KB", "MB", "GB", "TB"];
@@ -17494,8 +17536,7 @@ var error_MinRowCountError = /** @class */ (function (_super) {
17494
17536
  return "minrowcounterror";
17495
17537
  };
17496
17538
  MinRowCountError.prototype.getDefaultText = function () {
17497
- return surveyLocalization
17498
- .getString("minRowCountError")["format"](this.minRowCount);
17539
+ return getLocaleString("minRowCountError")["format"](this.minRowCount);
17499
17540
  };
17500
17541
  return MinRowCountError;
17501
17542
  }(survey_error_SurveyError));
@@ -18456,6 +18497,9 @@ var text_area_TextAreaModel = /** @class */ (function () {
18456
18497
  this.updateElement();
18457
18498
  }
18458
18499
  };
18500
+ TextAreaModel.prototype.resetElement = function () {
18501
+ this.element = undefined;
18502
+ };
18459
18503
  TextAreaModel.prototype.getTextValue = function () {
18460
18504
  if (!!this.options.getTextValue)
18461
18505
  return this.options.getTextValue() || "";
@@ -18612,6 +18656,7 @@ var text_area_TextAreaModel = /** @class */ (function () {
18612
18656
  if (this.question) {
18613
18657
  this.question.unRegisterFunctionOnPropertyValueChanged(this.options.propertyName, "__textarea");
18614
18658
  }
18659
+ this.resetElement();
18615
18660
  };
18616
18661
  return TextAreaModel;
18617
18662
  }());
@@ -22624,7 +22669,9 @@ var itemvalue_ItemValue = /** @class */ (function (_super) {
22624
22669
  return isVisible && visible;
22625
22670
  };
22626
22671
  ItemValue.prototype.setVisible = function (val) {
22627
- this._visible = val;
22672
+ if (this.visible !== val) {
22673
+ this._visible = val;
22674
+ }
22628
22675
  };
22629
22676
  ItemValue.prototype.getLocTitle = function () {
22630
22677
  return this.locText;
@@ -25522,18 +25569,15 @@ var questionfactory_QuestionFactory = /** @class */ (function () {
25522
25569
  }
25523
25570
  Object.defineProperty(QuestionFactory, "DefaultChoices", {
25524
25571
  get: function () {
25525
- return [
25526
- surveyLocalization.getString("choices_Item") + "1",
25527
- surveyLocalization.getString("choices_Item") + "2",
25528
- surveyLocalization.getString("choices_Item") + "3",
25529
- ];
25572
+ var choice = getLocaleString("choices_Item");
25573
+ return [choice + "1", choice + "2", choice + "3"];
25530
25574
  },
25531
25575
  enumerable: false,
25532
25576
  configurable: true
25533
25577
  });
25534
25578
  Object.defineProperty(QuestionFactory, "DefaultColums", {
25535
25579
  get: function () {
25536
- var colName = surveyLocalization.getString("matrix_column") + " ";
25580
+ var colName = getLocaleString("matrix_column") + " ";
25537
25581
  return [colName + "1", colName + "2", colName + "3"];
25538
25582
  },
25539
25583
  enumerable: false,
@@ -25541,7 +25585,7 @@ var questionfactory_QuestionFactory = /** @class */ (function () {
25541
25585
  });
25542
25586
  Object.defineProperty(QuestionFactory, "DefaultRows", {
25543
25587
  get: function () {
25544
- var rowName = surveyLocalization.getString("matrix_row") + " ";
25588
+ var rowName = getLocaleString("matrix_row") + " ";
25545
25589
  return [rowName + "1", rowName + "2"];
25546
25590
  },
25547
25591
  enumerable: false,
@@ -25549,7 +25593,7 @@ var questionfactory_QuestionFactory = /** @class */ (function () {
25549
25593
  });
25550
25594
  Object.defineProperty(QuestionFactory, "DefaultMutlipleTextItems", {
25551
25595
  get: function () {
25552
- var itemName = surveyLocalization.getString("multipletext_itemname");
25596
+ var itemName = getLocaleString("multipletext_itemname");
25553
25597
  return [itemName + "1", itemName + "2"];
25554
25598
  },
25555
25599
  enumerable: false,
@@ -26249,26 +26293,18 @@ var matrixDropdownColumnTypes = {
26249
26293
  */
26250
26294
  var question_matrixdropdowncolumn_MatrixDropdownColumn = /** @class */ (function (_super) {
26251
26295
  question_matrixdropdowncolumn_extends(MatrixDropdownColumn, _super);
26252
- function MatrixDropdownColumn(name, title) {
26253
- if (title === void 0) { title = null; }
26296
+ function MatrixDropdownColumn(name, title, colOwner) {
26254
26297
  var _this = _super.call(this) || this;
26255
- _this.colOwnerValue = null;
26256
26298
  _this.indexValue = -1;
26257
26299
  _this._hasVisibleCell = true;
26258
26300
  _this.isColumnsVisibleIf = true;
26259
26301
  _this.previousChoicesId = undefined;
26302
+ _this.colOwnerValue = colOwner;
26260
26303
  _this.createLocalizableString("totalFormat", _this);
26261
26304
  _this.createLocalizableString("cellHint", _this);
26262
26305
  _this.registerPropertyChangedHandlers(["showInMultipleColumns"], function () { _this.doShowInMultipleColumnsChanged(); });
26263
26306
  _this.registerPropertyChangedHandlers(["visible"], function () { _this.doColumnVisibilityChanged(); });
26264
- _this.updateTemplateQuestion();
26265
- _this.name = name;
26266
- if (title) {
26267
- _this.title = title;
26268
- }
26269
- else {
26270
- _this.templateQuestion.locTitle.strChanged();
26271
- }
26307
+ _this.updateTemplateQuestion(undefined, name, title);
26272
26308
  return _this;
26273
26309
  }
26274
26310
  MatrixDropdownColumn.getColumnTypes = function () {
@@ -27070,7 +27106,7 @@ var question_matrixdropdowncolumn_MatrixDropdownColumn = /** @class */ (function
27070
27106
  return this.colOwner.getCellType();
27071
27107
  return settings.matrix.defaultCellType;
27072
27108
  };
27073
- MatrixDropdownColumn.prototype.updateTemplateQuestion = function (newCellType) {
27109
+ MatrixDropdownColumn.prototype.updateTemplateQuestion = function (newCellType, name, title) {
27074
27110
  var _this = this;
27075
27111
  var curCellType = this.getDefaultCellQuestionType(newCellType);
27076
27112
  var prevCellType = this.templateQuestion
@@ -27084,6 +27120,15 @@ var question_matrixdropdowncolumn_MatrixDropdownColumn = /** @class */ (function
27084
27120
  this.templateQuestionValue = this.createNewQuestion(curCellType);
27085
27121
  this.templateQuestion.locOwner = this;
27086
27122
  this.addProperties(curCellType);
27123
+ if (!!name) {
27124
+ this.name = name;
27125
+ }
27126
+ if (!!title) {
27127
+ this.title = title;
27128
+ }
27129
+ else {
27130
+ this.templateQuestion.locTitle.strChanged();
27131
+ }
27087
27132
  this.templateQuestion.onPropertyChanged.add(function (sender, options) {
27088
27133
  _this.propertyValueChanged(options.name, options.oldValue, options.newValue, options.arrayChanges, options.target);
27089
27134
  });
@@ -30426,8 +30471,7 @@ var question_matrixdropdownbase_QuestionMatrixDropdownModelBase = /** @class */
30426
30471
  configurable: true
30427
30472
  });
30428
30473
  QuestionMatrixDropdownModelBase.prototype.addColumn = function (name, title) {
30429
- if (title === void 0) { title = null; }
30430
- var column = new question_matrixdropdowncolumn_MatrixDropdownColumn(name, title);
30474
+ var column = new question_matrixdropdowncolumn_MatrixDropdownColumn(name, title, this);
30431
30475
  this.columns.push(column);
30432
30476
  return column;
30433
30477
  };
@@ -34709,7 +34753,7 @@ var dxSurveyService_dxSurveyService = /** @class */ (function () {
34709
34753
  if (clientId === void 0) { clientId = null; }
34710
34754
  if (isPartialCompleted === void 0) { isPartialCompleted = false; }
34711
34755
  if (!this.canSendResult(result)) {
34712
- onSendResult(false, surveyLocalization.getString("savingExceedSize", this.locale), undefined);
34756
+ onSendResult(false, getLocaleString("savingExceedSize", this.locale), undefined);
34713
34757
  }
34714
34758
  else {
34715
34759
  this.sendResultCore(postId, result, onSendResult, clientId, isPartialCompleted);
@@ -36342,7 +36386,7 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
36342
36386
  };
36343
36387
  Object.defineProperty(PanelModelBase.prototype, "hasTitle", {
36344
36388
  get: function () {
36345
- return ((this.canShowTitle() && (this.hasTextInTitle || this.locTitle.textOrHtml.length > 0)) ||
36389
+ return ((this.canShowTitle(this.survey) && (this.hasTextInTitle || this.locTitle.textOrHtml.length > 0)) ||
36346
36390
  (this.isDesignMode && !(settings.supportCreatorV2 && this.isPanel) && this.showTitle && settings.designMode.showEmptyTitles));
36347
36391
  },
36348
36392
  enumerable: false,
@@ -36367,7 +36411,7 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
36367
36411
  }
36368
36412
  };
36369
36413
  PanelModelBase.prototype.removeFromParent = function () { };
36370
- PanelModelBase.prototype.canShowTitle = function () { return true; };
36414
+ PanelModelBase.prototype.canShowTitle = function (survey) { return true; };
36371
36415
  Object.defineProperty(PanelModelBase.prototype, "_showDescription", {
36372
36416
  get: function () {
36373
36417
  if (!this.hasTitle && this.isDesignMode)
@@ -36952,7 +36996,7 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
36952
36996
  PanelModelBase.prototype.hasErrorsInPanels = function (rec) {
36953
36997
  var errors = [];
36954
36998
  this.hasRequiredError(rec, errors);
36955
- if (this.survey) {
36999
+ if (this.isPanel && this.survey) {
36956
37000
  var customError = this.survey.validatePanel(this);
36957
37001
  if (customError) {
36958
37002
  errors.push(customError);
@@ -37469,29 +37513,29 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
37469
37513
  }
37470
37514
  }
37471
37515
  };
37516
+ PanelModelBase.prototype.canFireAddRemoveNotifications = function (element) {
37517
+ return !!this.survey && element.prevSurvey !== this.survey;
37518
+ };
37472
37519
  PanelModelBase.prototype.onAddElement = function (element, index) {
37473
37520
  var _this = this;
37521
+ var survey = this.survey;
37522
+ var fireNotification = this.canFireAddRemoveNotifications(element);
37474
37523
  element.setSurveyImpl(this.surveyImpl);
37475
37524
  element.parent = this;
37476
37525
  this.markQuestionListDirty();
37477
37526
  if (this.canBuildRows()) {
37478
37527
  this.updateRowsOnElementAdded(element);
37479
37528
  }
37480
- if (element.isPanel) {
37481
- var p = element;
37482
- if (this.survey) {
37483
- this.survey.panelAdded(p, index, this, this.root);
37529
+ if (fireNotification) {
37530
+ if (element.isPanel) {
37531
+ survey.panelAdded(element, index, this, this.root);
37484
37532
  }
37485
- }
37486
- else {
37487
- if (this.survey) {
37488
- var q = element;
37489
- this.survey.questionAdded(q, index, this, this.root);
37533
+ else {
37534
+ survey.questionAdded(element, index, this, this.root);
37490
37535
  }
37491
37536
  }
37492
37537
  if (!!this.addElementCallback)
37493
37538
  this.addElementCallback(element);
37494
- var self = this;
37495
37539
  element.registerPropertyChangedHandlers(["visible", "isVisible"], function () {
37496
37540
  _this.onElementVisibilityChanged(element);
37497
37541
  }, this.id);
@@ -37513,7 +37557,7 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
37513
37557
  this.onElementVisibilityChanged(this);
37514
37558
  };
37515
37559
  PanelModelBase.prototype.onRemoveElementNotifySurvey = function (element) {
37516
- if (!this.survey)
37560
+ if (!this.canFireAddRemoveNotifications(element))
37517
37561
  return;
37518
37562
  if (!element.isPanel) {
37519
37563
  this.survey.questionRemoved(element);
@@ -38512,6 +38556,12 @@ var panel_PanelModel = /** @class */ (function (_super) {
38512
38556
  return;
38513
38557
  this.survey.cancelPreviewByPage(this);
38514
38558
  };
38559
+ PanelModel.prototype.canShowTitle = function (survey) {
38560
+ var page = this.originalPage;
38561
+ if (!!page)
38562
+ return page.canShowTitle(survey);
38563
+ return _super.prototype.canShowTitle.call(this, survey);
38564
+ };
38515
38565
  Object.defineProperty(PanelModel.prototype, "cssTitle", {
38516
38566
  get: function () {
38517
38567
  return this.getCssTitle(this.cssClasses.panel);
@@ -39011,8 +39061,8 @@ var page_PageModel = /** @class */ (function (_super) {
39011
39061
  PageModel.prototype.canShowPageNumber = function () {
39012
39062
  return this.survey && this.survey.showPageNumbers;
39013
39063
  };
39014
- PageModel.prototype.canShowTitle = function () {
39015
- return this.survey && this.survey.showPageTitles;
39064
+ PageModel.prototype.canShowTitle = function (survey) {
39065
+ return !survey || survey.showPageTitles;
39016
39066
  };
39017
39067
  PageModel.prototype.setTitleValue = function (val) {
39018
39068
  _super.prototype.setTitleValue.call(this, val);
@@ -40219,9 +40269,8 @@ var survey_SurveyModel = /** @class */ (function (_super) {
40219
40269
  */
40220
40270
  _this.onGetResult = _this.addEvent();
40221
40271
  /**
40222
- * An event that is raised when Survey Creator opens a dialog window for users to select files.
40223
- * @see onUploadFile
40224
- * @see uploadFiles
40272
+ * An event that is raised when a respondent opens a dialog window to select files.
40273
+ * @see chooseFiles
40225
40274
  */
40226
40275
  _this.onOpenFileChooser = _this.addEvent();
40227
40276
  /**
@@ -44797,9 +44846,6 @@ var survey_SurveyModel = /** @class */ (function (_super) {
44797
44846
  single.addPanel(panel);
44798
44847
  var json = new jsonobject_JsonObject().toJsonObject(page);
44799
44848
  new jsonobject_JsonObject().toObject(json, panel);
44800
- if (!this.showPageTitles) {
44801
- panel.title = "";
44802
- }
44803
44849
  }
44804
44850
  return single;
44805
44851
  };
@@ -45386,6 +45432,11 @@ var survey_SurveyModel = /** @class */ (function (_super) {
45386
45432
  this.rootElement = htmlElement;
45387
45433
  this.addScrollEventListener();
45388
45434
  };
45435
+ SurveyModel.prototype.beforeDestroySurveyElement = function () {
45436
+ this.destroyResizeObserver();
45437
+ this.removeScrollEventListener();
45438
+ this.rootElement = undefined;
45439
+ };
45389
45440
  SurveyModel.prototype.processResponsiveness = function (width, mobileWidth, height) {
45390
45441
  var isMobile = width < mobileWidth;
45391
45442
  var isMobileChanged = this.isMobile !== isMobile;
@@ -45765,7 +45816,13 @@ var survey_SurveyModel = /** @class */ (function (_super) {
45765
45816
  }, elementsToRenderBefore);
45766
45817
  }
45767
45818
  else {
45768
- survey_element_SurveyElement.ScrollElementToTop(options.elementId, scrollIfVisible, scrollIntoViewOptions, onScolledCallback);
45819
+ if (!elementPage_1 && !this.isSinglePage && !this.isDesignMode && this.rootElement) {
45820
+ var elementToScroll = this.rootElement.querySelector(classesToSelector(this.css.rootWrapper));
45821
+ survey_element_SurveyElement.ScrollElementToViewCore(elementToScroll, false, scrollIfVisible, scrollIntoViewOptions, onScolledCallback);
45822
+ }
45823
+ else {
45824
+ survey_element_SurveyElement.ScrollElementToTop(options.elementId, scrollIfVisible, scrollIntoViewOptions, onScolledCallback);
45825
+ }
45769
45826
  }
45770
45827
  }
45771
45828
  };
@@ -51237,7 +51294,7 @@ Serializer.addClass("selectbase", [
51237
51294
  {
51238
51295
  name: "choices:itemvalue[]", uniqueProperty: "value",
51239
51296
  baseValue: function () {
51240
- return surveyLocalization.getString("choices_Item");
51297
+ return getLocaleString("choices_Item");
51241
51298
  },
51242
51299
  dependsOn: "choicesFromQuestion",
51243
51300
  visibleIf: function (obj) {
@@ -51437,15 +51494,16 @@ var PopupUtils = /** @class */ (function () {
51437
51494
  }
51438
51495
  return { left: Math.round(currentLeft), top: Math.round(currentTop) };
51439
51496
  };
51440
- PopupUtils.getCorrectedVerticalDimensions = function (top, height, windowHeight, verticalPosition, canShrink) {
51497
+ PopupUtils.getCorrectedVerticalDimensions = function (top, height, windowHeight, verticalPosition, canShrink, margins) {
51441
51498
  if (canShrink === void 0) { canShrink = true; }
51499
+ if (margins === void 0) { margins = { top: 0, bottom: 0 }; }
51442
51500
  var result;
51443
51501
  var maxHeight = windowHeight - PopupUtils.bottomIndent;
51444
51502
  if (verticalPosition === "top") {
51445
51503
  result = { height: height, top: top };
51446
51504
  }
51447
- if (top < 0) {
51448
- result = { height: canShrink ? height + top : height, top: 0 };
51505
+ if (top < -margins.top) {
51506
+ result = { height: canShrink ? height + top : height, top: -margins.top };
51449
51507
  }
51450
51508
  else if (height + top > windowHeight) {
51451
51509
  var newHeight = Math.min(height, maxHeight - top);
@@ -51453,7 +51511,7 @@ var PopupUtils = /** @class */ (function () {
51453
51511
  }
51454
51512
  if (result) {
51455
51513
  result.height = Math.min(result.height, maxHeight);
51456
- result.top = Math.max(result.top, 0);
51514
+ result.top = Math.max(result.top, -margins.top);
51457
51515
  }
51458
51516
  return result;
51459
51517
  };
@@ -51937,7 +51995,7 @@ var popup_view_model_PopupBaseViewModel = /** @class */ (function (_super) {
51937
51995
  getElement(settings.environment.popupMountContainer).appendChild(container);
51938
51996
  }
51939
51997
  };
51940
- PopupBaseViewModel.prototype.setComponentElement = function (componentRoot, targetElement, areaElement) {
51998
+ PopupBaseViewModel.prototype.setComponentElement = function (componentRoot) {
51941
51999
  if (!!componentRoot) {
51942
52000
  this.containerElement = componentRoot;
51943
52001
  }
@@ -52024,10 +52082,8 @@ function calculateIsTablet(windowWidth, windowHeight) {
52024
52082
  }
52025
52083
  var popup_dropdown_view_model_PopupDropdownViewModel = /** @class */ (function (_super) {
52026
52084
  popup_dropdown_view_model_extends(PopupDropdownViewModel, _super);
52027
- function PopupDropdownViewModel(model, targetElement, areaElement) {
52085
+ function PopupDropdownViewModel(model) {
52028
52086
  var _this = _super.call(this, model) || this;
52029
- _this.targetElement = targetElement;
52030
- _this.areaElement = areaElement;
52031
52087
  _this.scrollEventCallBack = function (event) {
52032
52088
  if (_this.isOverlay && IsTouch) {
52033
52089
  event.stopPropagation();
@@ -52065,22 +52121,30 @@ var popup_dropdown_view_model_PopupDropdownViewModel = /** @class */ (function (
52065
52121
  this.isTablet = calculateIsTablet(windowWidth, windowHeight);
52066
52122
  };
52067
52123
  PopupDropdownViewModel.prototype.getAvailableAreaRect = function () {
52068
- if (this.areaElement) {
52069
- var areaRect = this.areaElement.getBoundingClientRect();
52124
+ var areaElement = this.model.getAreaCallback ? this.model.getAreaCallback(this.container) : undefined;
52125
+ if (areaElement) {
52126
+ var areaRect = areaElement.getBoundingClientRect();
52070
52127
  return new Rect(areaRect.x, areaRect.y, areaRect.width, areaRect.height);
52071
52128
  }
52072
52129
  return new Rect(0, 0, DomWindowHelper.getInnerWidth(), DomWindowHelper.getInnerHeight());
52073
52130
  };
52074
52131
  PopupDropdownViewModel.prototype.getTargetElementRect = function () {
52075
- var rect = this.targetElement.getBoundingClientRect();
52132
+ var componentRoot = this.container;
52133
+ var targetElement = this.model.getTargetCallback ? this.model.getTargetCallback(componentRoot) : undefined;
52134
+ if (!!componentRoot && !!componentRoot.parentElement && !this.isModal && !targetElement) {
52135
+ targetElement = componentRoot.parentElement;
52136
+ }
52137
+ if (!targetElement)
52138
+ return null;
52139
+ var rect = targetElement.getBoundingClientRect();
52076
52140
  var areaRect = this.getAvailableAreaRect();
52077
52141
  return new Rect(rect.left - areaRect.left, rect.top - areaRect.top, rect.width, rect.height);
52078
52142
  };
52079
52143
  PopupDropdownViewModel.prototype._updatePosition = function () {
52080
52144
  var _a, _b, _c;
52081
- if (!this.targetElement)
52082
- return;
52083
52145
  var targetElementRect = this.getTargetElementRect();
52146
+ if (!targetElementRect)
52147
+ return;
52084
52148
  var area = this.getAvailableAreaRect();
52085
52149
  var popupContainer = (_a = this.container) === null || _a === void 0 ? void 0 : _a.querySelector(this.containerSelector);
52086
52150
  if (!popupContainer)
@@ -52090,6 +52154,8 @@ var popup_dropdown_view_model_PopupDropdownViewModel = /** @class */ (function (
52090
52154
  var popupComputedStyle = DomDocumentHelper.getComputedStyle(popupContainer);
52091
52155
  var marginLeft = (parseFloat(popupComputedStyle.marginLeft) || 0);
52092
52156
  var marginRight = (parseFloat(popupComputedStyle.marginRight) || 0);
52157
+ var marginTop = (parseFloat(popupComputedStyle.marginTop) || 0);
52158
+ var marginBottom = (parseFloat(popupComputedStyle.marginBottom) || 0);
52093
52159
  var height = popupContainer.offsetHeight - scrollContent.offsetHeight + scrollContent.scrollHeight;
52094
52160
  var width = popupContainer.getBoundingClientRect().width;
52095
52161
  this.model.setWidthByTarget && (this.minWidth = targetElementRect.width + "px");
@@ -52104,7 +52170,7 @@ var popup_dropdown_view_model_PopupDropdownViewModel = /** @class */ (function (
52104
52170
  this.popupDirection = PopupUtils.calculatePopupDirection(verticalPosition, actualHorizontalPosition);
52105
52171
  var pos = PopupUtils.calculatePosition(targetElementRect, height, width + marginLeft + marginRight, verticalPosition, actualHorizontalPosition, this.model.positionMode);
52106
52172
  if (DomWindowHelper.isAvailable()) {
52107
- var newVerticalDimensions = PopupUtils.getCorrectedVerticalDimensions(pos.top, height, area.height, verticalPosition, this.model.canShrink);
52173
+ var newVerticalDimensions = PopupUtils.getCorrectedVerticalDimensions(pos.top, height, area.height, verticalPosition, this.model.canShrink, { top: marginTop, bottom: marginBottom });
52108
52174
  if (!!newVerticalDimensions) {
52109
52175
  this.height = newVerticalDimensions.height + "px";
52110
52176
  pos.top = newVerticalDimensions.top;
@@ -52166,17 +52232,11 @@ var popup_dropdown_view_model_PopupDropdownViewModel = /** @class */ (function (
52166
52232
  PopupDropdownViewModel.prototype.getPopupHeaderTemplate = function () {
52167
52233
  return "popup-pointer";
52168
52234
  };
52169
- PopupDropdownViewModel.prototype.setComponentElement = function (componentRoot, targetElement, areaElement) {
52235
+ PopupDropdownViewModel.prototype.setComponentElement = function (componentRoot) {
52170
52236
  _super.prototype.setComponentElement.call(this, componentRoot);
52171
- if (!!componentRoot && !!componentRoot.parentElement && !this.isModal) {
52172
- this.targetElement = targetElement || componentRoot.parentElement;
52173
- this.areaElement = areaElement;
52174
- }
52175
52237
  };
52176
52238
  PopupDropdownViewModel.prototype.resetComponentElement = function () {
52177
52239
  _super.prototype.resetComponentElement.call(this);
52178
- this.targetElement = undefined;
52179
- this.areaElement = undefined;
52180
52240
  };
52181
52241
  PopupDropdownViewModel.prototype.updateOnShowing = function () {
52182
52242
  var root = settings.environment.root;
@@ -52460,8 +52520,12 @@ var dropdownListModel_DropdownListModel = /** @class */ (function (_super) {
52460
52520
  if (option.isVisible) {
52461
52521
  _this.updatePopupFocusFirstInputSelector();
52462
52522
  var dropdownMenuOptions = _this.getDropdownMenuOptions();
52523
+ var prevMenuType = dropdownMenuOptions.menuType;
52463
52524
  _this.question.processOpenDropdownMenu(dropdownMenuOptions);
52464
- _this._popupModel.updateDisplayMode(dropdownMenuOptions.menuType);
52525
+ if (prevMenuType !== dropdownMenuOptions.menuType) {
52526
+ _this._popupModel.updateDisplayMode(dropdownMenuOptions.menuType);
52527
+ _this.listModel.setSearchEnabled(_this.searchEnabled && dropdownMenuOptions.menuType !== "dropdown");
52528
+ }
52465
52529
  if (!!_this.question.onOpenedCallBack) {
52466
52530
  _this.question.onOpenedCallBack();
52467
52531
  }
@@ -52765,8 +52829,7 @@ var dropdownListModel_DropdownListModel = /** @class */ (function (_super) {
52765
52829
  configurable: true
52766
52830
  });
52767
52831
  DropdownListModel.prototype.setSearchEnabled = function (newValue) {
52768
- this.listModel.searchEnabled = IsTouch;
52769
- this.listModel.showSearchClearButton = IsTouch;
52832
+ this.listModel.setSearchEnabled(IsTouch && newValue);
52770
52833
  this.searchEnabled = newValue;
52771
52834
  };
52772
52835
  DropdownListModel.prototype.setChoicesLazyLoadEnabled = function (newValue) {
@@ -52956,6 +53019,7 @@ var dropdownListModel_DropdownListModel = /** @class */ (function (_super) {
52956
53019
  if (!!this.popupModel) {
52957
53020
  this.popupModel.dispose();
52958
53021
  }
53022
+ this.htmlCleanerElement = undefined;
52959
53023
  };
52960
53024
  DropdownListModel.prototype.scrollToFocusedItem = function () {
52961
53025
  this.listModel.scrollToFocusedItem();
@@ -54382,13 +54446,13 @@ Serializer.addClass("matrix", [
54382
54446
  {
54383
54447
  name: "columns:itemvalue[]", uniqueProperty: "value",
54384
54448
  baseValue: function () {
54385
- return surveyLocalization.getString("matrix_column");
54449
+ return getLocaleString("matrix_column");
54386
54450
  },
54387
54451
  },
54388
54452
  {
54389
54453
  name: "rows:itemvalue[]", uniqueProperty: "value",
54390
54454
  baseValue: function () {
54391
- return surveyLocalization.getString("matrix_row");
54455
+ return getLocaleString("matrix_row");
54392
54456
  },
54393
54457
  },
54394
54458
  { name: "cells:cells", serializationProperty: "cells" },
@@ -54688,6 +54752,7 @@ var InputElementAdapter = /** @class */ (function () {
54688
54752
  };
54689
54753
  InputElementAdapter.prototype.dispose = function () {
54690
54754
  this.removeInputEventListener();
54755
+ this.inputElement = undefined;
54691
54756
  this.inputMaskInstance.onPropertyChanged.remove(this.inputMaskInstancePropertyChangedHandler);
54692
54757
  };
54693
54758
  return InputElementAdapter;
@@ -55140,6 +55205,8 @@ var question_text_QuestionTextModel = /** @class */ (function (_super) {
55140
55205
  });
55141
55206
  Object.defineProperty(QuestionTextModel.prototype, "inputValue", {
55142
55207
  get: function () {
55208
+ if (!this._inputValue && !this.maskTypeIsEmpty)
55209
+ return this.maskInstance.getMaskedValue("");
55143
55210
  return this._inputValue;
55144
55211
  },
55145
55212
  set: function (val) {
@@ -55438,6 +55505,7 @@ var question_text_QuestionTextModel = /** @class */ (function (_super) {
55438
55505
  };
55439
55506
  QuestionTextModel.prototype.beforeDestroyQuestionElement = function (el) {
55440
55507
  this.deleteMaskAdapter();
55508
+ this.input = undefined;
55441
55509
  };
55442
55510
  question_text_decorate([
55443
55511
  jsonobject_property({
@@ -60266,6 +60334,8 @@ questionfactory_QuestionFactory.Instance.registerQuestion("comment", function (n
60266
60334
 
60267
60335
  // CONCATENATED MODULE: ./packages/survey-core/src/utils/camera.ts
60268
60336
 
60337
+ var envStr = "environment";
60338
+ var userStr = "user";
60269
60339
  var camera_Camera = /** @class */ (function () {
60270
60340
  function Camera() {
60271
60341
  this.canFlipValue = undefined;
@@ -60277,10 +60347,14 @@ var camera_Camera = /** @class */ (function () {
60277
60347
  Camera.setCameraList = function (list) {
60278
60348
  var getDeviceType = function (device) {
60279
60349
  var lbl = device.label.toLocaleLowerCase();
60280
- if (lbl.indexOf("user") > -1)
60281
- return "user";
60282
- if (lbl.indexOf("enviroment") > -1)
60283
- return "enviroment";
60350
+ if (lbl.indexOf(userStr) > -1)
60351
+ return userStr;
60352
+ if (lbl.indexOf(envStr) > -1)
60353
+ return envStr;
60354
+ if (lbl.indexOf("front") > -1)
60355
+ return userStr;
60356
+ if (lbl.indexOf("back") > -1)
60357
+ return envStr;
60284
60358
  return "";
60285
60359
  };
60286
60360
  Camera.clear();
@@ -60293,13 +60367,13 @@ var camera_Camera = /** @class */ (function () {
60293
60367
  var lblA = getDeviceType(a);
60294
60368
  var lblB = getDeviceType(b);
60295
60369
  if (lblA !== lblB) {
60296
- if (lblA === "user")
60370
+ if (lblA === userStr)
60297
60371
  return -1;
60298
- if (lblB === "user")
60372
+ if (lblB === userStr)
60299
60373
  return 1;
60300
- if (lblA === "enviroment")
60374
+ if (lblA === envStr)
60301
60375
  return -1;
60302
- if (lblB === "enviroment")
60376
+ if (lblB === envStr)
60303
60377
  return 1;
60304
60378
  }
60305
60379
  }
@@ -60437,7 +60511,7 @@ var camera_Camera = /** @class */ (function () {
60437
60511
  if (!this.canFlip())
60438
60512
  return;
60439
60513
  if (Camera.canSwitchFacingMode) {
60440
- Camera.cameraFacingMode = Camera.cameraFacingMode === "user" ? "environment" : "user";
60514
+ Camera.cameraFacingMode = Camera.cameraFacingMode === userStr ? "environment" : userStr;
60441
60515
  }
60442
60516
  else if (Camera.cameraIndex >= Camera.cameraList.length - 1) {
60443
60517
  Camera.cameraIndex = 0;
@@ -60459,7 +60533,7 @@ var camera_Camera = /** @class */ (function () {
60459
60533
  Camera.setCameraList(list.length > 0 ? list : null);
60460
60534
  };
60461
60535
  Camera.cameraIndex = -1;
60462
- Camera.cameraFacingMode = "user";
60536
+ Camera.cameraFacingMode = userStr;
60463
60537
  Camera.canSwitchFacingMode = false;
60464
60538
  return Camera;
60465
60539
  }());
@@ -62391,7 +62465,7 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
62391
62465
  }
62392
62466
  else {
62393
62467
  for (var i = _this.rateValues.length; i < _this.rateCount; i++) {
62394
- _this.rateValues.push(new itemvalue_ItemValue(surveyLocalization.getString("choices_Item") + (i + 1)));
62468
+ _this.rateValues.push(new itemvalue_ItemValue(getLocaleString("choices_Item") + (i + 1)));
62395
62469
  }
62396
62470
  }
62397
62471
  }
@@ -63263,7 +63337,7 @@ Serializer.addClass("rating", [
63263
63337
  {
63264
63338
  name: "rateValues:itemvalue[]",
63265
63339
  baseValue: function () {
63266
- return surveyLocalization.getString("choices_Item");
63340
+ return getLocaleString("choices_Item");
63267
63341
  },
63268
63342
  category: "rateValues",
63269
63343
  visibleIf: function (obj) {
@@ -65315,6 +65389,7 @@ var question_signaturepad_decorate = (undefined && undefined.__decorate) || func
65315
65389
 
65316
65390
 
65317
65391
 
65392
+
65318
65393
  var defaultWidth = 300;
65319
65394
  var defaultHeight = 200;
65320
65395
  /**
@@ -65371,7 +65446,8 @@ var question_signaturepad_QuestionSignaturePadModel = /** @class */ (function (_
65371
65446
  };
65372
65447
  QuestionSignaturePadModel.prototype.afterRenderQuestionElement = function (el) {
65373
65448
  if (!!el) {
65374
- this.initSignaturePad(el);
65449
+ if (!this.isDesignMode)
65450
+ this.initSignaturePad(el);
65375
65451
  this.element = el;
65376
65452
  }
65377
65453
  _super.prototype.afterRenderQuestionElement.call(this, el);
@@ -65420,9 +65496,12 @@ var question_signaturepad_QuestionSignaturePadModel = /** @class */ (function (_
65420
65496
  img_1.src = url;
65421
65497
  img_1.onload = function () {
65422
65498
  if (!!_this.canvas) {
65423
- var ctx = _this.canvas.getContext("2d");
65499
+ var canvas = DomDocumentHelper.createElement("canvas");
65500
+ canvas.width = _this.containerWidth;
65501
+ canvas.height = _this.containerHeight;
65502
+ var ctx = canvas.getContext("2d");
65424
65503
  ctx.drawImage(img_1, 0, 0);
65425
- var dataURL = _this.canvas.toDataURL(_this.getFormat());
65504
+ var dataURL = canvas.toDataURL(_this.getFormat());
65426
65505
  _this.fromDataUrl(dataURL);
65427
65506
  }
65428
65507
  _this.isFileLoading = false;
@@ -70217,12 +70296,12 @@ function createPopupModalViewModel(options, rootElement) {
70217
70296
  popupViewModel.onVisibilityChanged.add(onVisibilityChangedCallback);
70218
70297
  return popupViewModel;
70219
70298
  }
70220
- function createPopupViewModel(model, targetElement) {
70299
+ function createPopupViewModel(model) {
70221
70300
  if (model.isModal) {
70222
70301
  return new PopupModalViewModel(model);
70223
70302
  }
70224
70303
  else {
70225
- return new popup_dropdown_view_model_PopupDropdownViewModel(model, targetElement);
70304
+ return new popup_dropdown_view_model_PopupDropdownViewModel(model);
70226
70305
  }
70227
70306
  }
70228
70307
 
@@ -71102,20 +71181,6 @@ function trimDatePart(lexem, data) {
71102
71181
  }
71103
71182
  return result;
71104
71183
  }
71105
- function getDefaultYearForValidation(minYear, maxYear) {
71106
- var defaultVal = 2000;
71107
- if (defaultVal > maxYear) {
71108
- defaultVal = parseInt(maxYear.toString().slice(0, maxYear.toString().length - 2)) * 100;
71109
- }
71110
- if (defaultVal < minYear) {
71111
- var middle = (maxYear - minYear) / 2 + minYear;
71112
- defaultVal = parseInt(middle.toString().slice(0, middle.toString().length - 1)) * 10;
71113
- }
71114
- if (defaultVal >= minYear && defaultVal <= maxYear) {
71115
- return defaultVal;
71116
- }
71117
- return minYear;
71118
- }
71119
71184
  function getDateTimeLexems(pattern) {
71120
71185
  var result = [];
71121
71186
  var prevLexemType;
@@ -71360,9 +71425,18 @@ var mask_datetime_InputMaskDateTime = /** @class */ (function (_super) {
71360
71425
  return dateTime.year >= parseInt(minYearPart) && dateTime.year <= parseInt(maxYearPart);
71361
71426
  };
71362
71427
  InputMaskDateTime.prototype.createIDateTimeCompositionWithDefaults = function (dateTime, isUpperLimit) {
71363
- var min = dateTime.min;
71364
- var max = dateTime.max;
71365
- var year = dateTime.year !== undefined ? dateTime.year : getDefaultYearForValidation(min.getFullYear(), max.getFullYear());
71428
+ var checkOnlyLeapYears = dateTime.day == 29 && dateTime.month == 2;
71429
+ var minYear = dateTime.min.getFullYear();
71430
+ var maxYear = dateTime.max.getFullYear();
71431
+ if (checkOnlyLeapYears) {
71432
+ minYear = Math.ceil(minYear / 4) * 4;
71433
+ maxYear = Math.floor(minYear / 4) * 4;
71434
+ if (minYear > maxYear) {
71435
+ minYear = undefined;
71436
+ maxYear = undefined;
71437
+ }
71438
+ }
71439
+ var year = dateTime.year !== undefined ? dateTime.year : isUpperLimit ? maxYear : minYear;
71366
71440
  var month = dateTime.month !== undefined ? dateTime.month : (isUpperLimit && this.hasDatePart ? 12 : 1);
71367
71441
  var day = dateTime.day !== undefined ? dateTime.day : (isUpperLimit && this.hasDatePart ? this.getMaxDateForMonth(year, month) : 1);
71368
71442
  var hour = dateTime.hour !== undefined ? dateTime.hour : (isUpperLimit ? 23 : 0);
@@ -71376,18 +71450,12 @@ var mask_datetime_InputMaskDateTime = /** @class */ (function (_super) {
71376
71450
  return [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month - 1];
71377
71451
  };
71378
71452
  InputMaskDateTime.prototype.isDateValid = function (dateTime) {
71379
- var min = dateTime.min;
71380
- var max = dateTime.max;
71381
- var year = dateTime.year !== undefined ? dateTime.year : getDefaultYearForValidation(min.getFullYear(), max.getFullYear());
71382
- var month = dateTime.month !== undefined ? dateTime.month : 1;
71383
- var day = dateTime.day !== undefined ? dateTime.day : 1;
71384
- var monthIndex = month - 1;
71385
71453
  var date = new Date(this.getISO_8601Format(this.createIDateTimeCompositionWithDefaults(dateTime, false)));
71386
71454
  var dateH = new Date(this.getISO_8601Format(this.createIDateTimeCompositionWithDefaults(dateTime, true)));
71387
71455
  return !isNaN(date) &&
71388
- date.getDate() === day &&
71389
- date.getMonth() === monthIndex &&
71390
- date.getFullYear() === year &&
71456
+ (date.getDate() === dateTime.day || dateTime.day === undefined) &&
71457
+ (date.getMonth() === dateTime.month - 1 || dateTime.month === undefined) &&
71458
+ (date.getFullYear() === dateTime.year || dateTime.year === undefined) &&
71391
71459
  dateH >= dateTime.min && date <= dateTime.max;
71392
71460
  };
71393
71461
  InputMaskDateTime.prototype.getPlaceholder = function (lexemLength, str, char) {
@@ -71443,7 +71511,7 @@ var mask_datetime_InputMaskDateTime = /** @class */ (function (_super) {
71443
71511
  return;
71444
71512
  var propertyName = newItem.lexem.type;
71445
71513
  var tempDateTime = mask_datetime_assign({}, dateTime);
71446
- tempDateTime[propertyName] = parseInt(data);
71514
+ tempDateTime[propertyName] = parseInt(this.parseTwoDigitYear(newItem));
71447
71515
  if (data.length === newItem.lexem.maxCount) {
71448
71516
  if (this.isDateValid12(tempDateTime)) {
71449
71517
  newItem.isCompleted = true;
@@ -71878,8 +71946,8 @@ Serializer.addClass("currencymask", [
71878
71946
 
71879
71947
  var Version;
71880
71948
  var ReleaseDate;
71881
- Version = "" + "1.12.10";
71882
- ReleaseDate = "" + "2024-11-13";
71949
+ Version = "" + "1.12.11";
71950
+ ReleaseDate = "" + "2024-11-20";
71883
71951
  function checkLibraryVersion(ver, libraryName) {
71884
71952
  if (Version != ver) {
71885
71953
  var str = "survey-core has version '" + Version + "' and " + libraryName