survey-core 1.9.125 → 1.9.127

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 (259) hide show
  1. package/defaultV2.css +144 -58
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +144 -58
  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/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 +70 -48
  112. package/modern.css.map +1 -1
  113. package/modern.fontless.css +70 -48
  114. package/modern.fontless.css.map +1 -1
  115. package/modern.fontless.min.css +2 -2
  116. package/modern.min.css +2 -2
  117. package/package.json +1 -1
  118. package/plugins/bootstrap-integration.js +1 -1
  119. package/plugins/bootstrap-integration.min.js +1 -1
  120. package/plugins/bootstrap-material-integration.js +1 -1
  121. package/plugins/bootstrap-material-integration.min.js +1 -1
  122. package/survey.core.js +614 -253
  123. package/survey.core.js.map +1 -1
  124. package/survey.core.min.js +3 -3
  125. package/survey.css +70 -48
  126. package/survey.css.map +1 -1
  127. package/survey.i18n.js +1 -1
  128. package/survey.i18n.min.js +1 -1
  129. package/survey.min.css +2 -2
  130. package/themes/borderless-dark-panelless.js +1 -1
  131. package/themes/borderless-dark-panelless.min.js +1 -1
  132. package/themes/borderless-dark.js +1 -1
  133. package/themes/borderless-dark.min.js +1 -1
  134. package/themes/borderless-light-panelless..js +1 -1
  135. package/themes/borderless-light-panelless..min.js +1 -1
  136. package/themes/borderless-light.js +1 -1
  137. package/themes/borderless-light.min.js +1 -1
  138. package/themes/contrast-dark-panelless.js +1 -1
  139. package/themes/contrast-dark-panelless.min.js +1 -1
  140. package/themes/contrast-dark.js +1 -1
  141. package/themes/contrast-dark.min.js +1 -1
  142. package/themes/contrast-light-panelless.js +1 -1
  143. package/themes/contrast-light-panelless.min.js +1 -1
  144. package/themes/contrast-light.js +1 -1
  145. package/themes/contrast-light.min.js +1 -1
  146. package/themes/default-dark-panelless.js +1 -1
  147. package/themes/default-dark-panelless.min.js +1 -1
  148. package/themes/default-dark.js +1 -1
  149. package/themes/default-dark.min.js +1 -1
  150. package/themes/default-light-panelless.js +1 -1
  151. package/themes/default-light-panelless.min.js +1 -1
  152. package/themes/default-light.js +1 -1
  153. package/themes/default-light.min.js +1 -1
  154. package/themes/doubleborder-dark-panelless.js +1 -1
  155. package/themes/doubleborder-dark-panelless.min.js +1 -1
  156. package/themes/doubleborder-dark.js +1 -1
  157. package/themes/doubleborder-dark.min.js +1 -1
  158. package/themes/doubleborder-light-panelles.js +1 -1
  159. package/themes/doubleborder-light-panelles.min.js +1 -1
  160. package/themes/doubleborder-light.js +1 -1
  161. package/themes/doubleborder-light.min.js +1 -1
  162. package/themes/flat-dark-panelless.js +1 -1
  163. package/themes/flat-dark-panelless.min.js +1 -1
  164. package/themes/flat-dark.js +1 -1
  165. package/themes/flat-dark.min.js +1 -1
  166. package/themes/flat-light-panelless.js +1 -1
  167. package/themes/flat-light-panelless.min.js +1 -1
  168. package/themes/flat-light.js +1 -1
  169. package/themes/flat-light.min.js +1 -1
  170. package/themes/index.js +1 -1
  171. package/themes/index.min.js +1 -1
  172. package/themes/layered-dark-panelless.js +1 -1
  173. package/themes/layered-dark-panelless.min.js +1 -1
  174. package/themes/layered-dark.js +1 -1
  175. package/themes/layered-dark.min.js +1 -1
  176. package/themes/layered-light-panelless.js +1 -1
  177. package/themes/layered-light-panelless.min.js +1 -1
  178. package/themes/layered-light.js +1 -1
  179. package/themes/layered-light.min.js +1 -1
  180. package/themes/plain-dark-panelless.js +1 -1
  181. package/themes/plain-dark-panelless.min.js +1 -1
  182. package/themes/plain-dark.js +1 -1
  183. package/themes/plain-dark.min.js +1 -1
  184. package/themes/plain-light-panelless.js +1 -1
  185. package/themes/plain-light-panelless.min.js +1 -1
  186. package/themes/plain-light.js +1 -1
  187. package/themes/plain-light.min.js +1 -1
  188. package/themes/sharp-dark-panelless.js +1 -1
  189. package/themes/sharp-dark-panelless.min.js +1 -1
  190. package/themes/sharp-dark.js +1 -1
  191. package/themes/sharp-dark.min.js +1 -1
  192. package/themes/sharp-light-panelless.js +1 -1
  193. package/themes/sharp-light-panelless.min.js +1 -1
  194. package/themes/sharp-light.js +1 -1
  195. package/themes/sharp-light.min.js +1 -1
  196. package/themes/solid-dark-panelless.js +1 -1
  197. package/themes/solid-dark-panelless.min.js +1 -1
  198. package/themes/solid-dark.js +1 -1
  199. package/themes/solid-dark.min.js +1 -1
  200. package/themes/solid-light-panelless.js +1 -1
  201. package/themes/solid-light-panelless.min.js +1 -1
  202. package/themes/solid-light.js +1 -1
  203. package/themes/solid-light.min.js +1 -1
  204. package/themes/three-dimensional-dark-panelless.js +1 -1
  205. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  206. package/themes/three-dimensional-dark.js +1 -1
  207. package/themes/three-dimensional-dark.min.js +1 -1
  208. package/themes/three-dimensional-light-panelless.js +1 -1
  209. package/themes/three-dimensional-light-panelless.min.js +1 -1
  210. package/themes/three-dimensional-light.js +1 -1
  211. package/themes/three-dimensional-light.min.js +1 -1
  212. package/ts3.4/typings/base-interfaces.d.ts +4 -0
  213. package/ts3.4/typings/base.d.ts +4 -2
  214. package/ts3.4/typings/defaultCss/cssmodern.d.ts +6 -1
  215. package/ts3.4/typings/defaultCss/cssstandard.d.ts +6 -1
  216. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +9 -1
  217. package/ts3.4/typings/helpers.d.ts +1 -0
  218. package/ts3.4/typings/jsonobject.d.ts +12 -4
  219. package/ts3.4/typings/popup-survey.d.ts +8 -2
  220. package/ts3.4/typings/question.d.ts +1 -0
  221. package/ts3.4/typings/question_baseselect.d.ts +2 -0
  222. package/ts3.4/typings/question_boolean.d.ts +2 -0
  223. package/ts3.4/typings/question_custom.d.ts +8 -0
  224. package/ts3.4/typings/question_matrix.d.ts +13 -1
  225. package/ts3.4/typings/question_matrixdropdowncolumn.d.ts +0 -1
  226. package/ts3.4/typings/question_paneldynamic.d.ts +7 -0
  227. package/ts3.4/typings/question_ranking.d.ts +3 -0
  228. package/ts3.4/typings/settings.d.ts +1 -1
  229. package/ts3.4/typings/survey-element.d.ts +2 -0
  230. package/ts3.4/typings/survey-error.d.ts +1 -1
  231. package/ts3.4/typings/survey.d.ts +3 -1
  232. package/ts3.4/typings/themes.d.ts +14 -0
  233. package/ts3.4/typings/trigger.d.ts +2 -0
  234. package/ts3.4/typings/utils/popup.d.ts +1 -4
  235. package/ts3.4/typings/utils/utils.d.ts +2 -2
  236. package/typings/base-interfaces.d.ts +4 -0
  237. package/typings/base.d.ts +4 -2
  238. package/typings/defaultCss/cssmodern.d.ts +6 -1
  239. package/typings/defaultCss/cssstandard.d.ts +6 -1
  240. package/typings/defaultCss/defaultV2Css.d.ts +9 -1
  241. package/typings/helpers.d.ts +1 -0
  242. package/typings/jsonobject.d.ts +12 -4
  243. package/typings/popup-survey.d.ts +8 -2
  244. package/typings/question.d.ts +1 -0
  245. package/typings/question_baseselect.d.ts +2 -0
  246. package/typings/question_boolean.d.ts +2 -0
  247. package/typings/question_custom.d.ts +8 -0
  248. package/typings/question_matrix.d.ts +13 -1
  249. package/typings/question_matrixdropdowncolumn.d.ts +0 -1
  250. package/typings/question_paneldynamic.d.ts +7 -0
  251. package/typings/question_ranking.d.ts +3 -0
  252. package/typings/settings.d.ts +1 -1
  253. package/typings/survey-element.d.ts +2 -0
  254. package/typings/survey-error.d.ts +1 -1
  255. package/typings/survey.d.ts +3 -1
  256. package/typings/themes.d.ts +14 -0
  257. package/typings/trigger.d.ts +2 -0
  258. package/typings/utils/popup.d.ts +1 -4
  259. package/typings/utils/utils.d.ts +2 -2
package/survey.core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.125
2
+ * surveyjs - Survey JavaScript library v1.9.127
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
  */
@@ -1900,6 +1900,20 @@ var Base = /** @class */ (function () {
1900
1900
  }
1901
1901
  return _helpers__WEBPACK_IMPORTED_MODULE_1__["Helpers"].isValueEmpty(value);
1902
1902
  };
1903
+ Base.prototype.equals = function (obj) {
1904
+ if (!obj)
1905
+ return false;
1906
+ if (this.isDisposed || obj.isDisposed)
1907
+ return false;
1908
+ if (this.getType() != obj.getType())
1909
+ return false;
1910
+ return this.equalsCore(obj);
1911
+ };
1912
+ Base.prototype.equalsCore = function (obj) {
1913
+ if (this.name !== obj.name)
1914
+ return false;
1915
+ return _helpers__WEBPACK_IMPORTED_MODULE_1__["Helpers"].isTwoValueEquals(this.toJSON(), obj.toJSON(), false, true, false);
1916
+ };
1903
1917
  Base.prototype.trimValue = function (value) {
1904
1918
  if (!!value && (typeof value === "string" || value instanceof String))
1905
1919
  return value.trim();
@@ -2027,8 +2041,8 @@ var Base = /** @class */ (function () {
2027
2041
  * Returns a JSON object that corresponds to the current SurveyJS object.
2028
2042
  * @see fromJSON
2029
2043
  */
2030
- Base.prototype.toJSON = function () {
2031
- return new _jsonobject__WEBPACK_IMPORTED_MODULE_2__["JsonObject"]().toJsonObject(this);
2044
+ Base.prototype.toJSON = function (options) {
2045
+ return new _jsonobject__WEBPACK_IMPORTED_MODULE_2__["JsonObject"]().toJsonObject(this, options);
2032
2046
  };
2033
2047
  /**
2034
2048
  * Assigns a new configuration to the current SurveyJS object. This configuration is taken from a passed JSON object.
@@ -4875,14 +4889,19 @@ var modernCss = {
4875
4889
  },
4876
4890
  window: {
4877
4891
  root: "sv_window",
4892
+ rootCollapsedMod: "sv_window--collapsed",
4893
+ rootContent: "sv_window_root-content",
4878
4894
  body: "sv_window_content",
4879
4895
  header: {
4880
- root: "sv_window_title",
4881
- title: "",
4882
- button: "",
4896
+ root: "sv_window_header",
4897
+ titleCollapsed: "sv_window_header_title_collapsed",
4898
+ buttonsContainer: "sv_window_buttons_container",
4899
+ button: "sv_window_button",
4883
4900
  buttonExpanded: "",
4884
4901
  buttonCollapsed: "",
4885
- },
4902
+ collapseButton: "sv_window_button sv_window_button_collapse",
4903
+ closeButton: "sv_window_button sv_window_button_close"
4904
+ }
4886
4905
  },
4887
4906
  variables: {
4888
4907
  mobileWidth: "--sv-mobile-width",
@@ -5268,14 +5287,19 @@ var defaultStandardCss = {
5268
5287
  },
5269
5288
  window: {
5270
5289
  root: "sv_window",
5290
+ rootCollapsedMod: "sv_window--collapsed",
5291
+ rootContent: "sv_window_root-content",
5271
5292
  body: "sv_window_content",
5272
5293
  header: {
5273
- root: "sv_window_title",
5274
- title: "",
5275
- button: "",
5294
+ root: "sv_window_header",
5295
+ titleCollapsed: "sv_window_header_title_collapsed",
5296
+ buttonsContainer: "sv_window_buttons_container",
5297
+ button: "sv_window_button",
5276
5298
  buttonExpanded: "",
5277
5299
  buttonCollapsed: "",
5278
- },
5300
+ collapseButton: "sv_window_button sv_window_button_collapse",
5301
+ closeButton: "sv_window_button sv_window_button_close"
5302
+ }
5279
5303
  },
5280
5304
  variables: {
5281
5305
  mobileWidth: "--sv-mobile-width",
@@ -5496,6 +5520,7 @@ var defaultV2Css = {
5496
5520
  headerTop: "sd-question__header--location-top sd-element__header--location-top",
5497
5521
  headerBottom: "sd-question__header--location--bottom",
5498
5522
  content: "sd-question__content",
5523
+ contentSupportContainerQueries: "sd-question__content--support-container-queries",
5499
5524
  contentLeft: "sd-question__content--left",
5500
5525
  titleNumInline: "sd-element__title--num-inline",
5501
5526
  titleLeftRoot: "sd-question--left",
@@ -5649,6 +5674,7 @@ var defaultV2Css = {
5649
5674
  small: "sd-row__question--small",
5650
5675
  controlDisabled: "sd-input--disabled",
5651
5676
  constrolWithCharacterCounter: "sd-text__character-counter",
5677
+ characterCounterBig: "sd-text__character-counter--big",
5652
5678
  content: "sd-text__content sd-question__content",
5653
5679
  remainingCharacterCounter: "sd-remaining-character-counter",
5654
5680
  onError: "sd-input--error"
@@ -5737,6 +5763,7 @@ var defaultV2Css = {
5737
5763
  rowError: "sd-matrix__row--error",
5738
5764
  cell: "sd-table__cell sd-matrix__cell",
5739
5765
  row: "sd-table__row",
5766
+ rowDisabled: "sd-table__row-disabled",
5740
5767
  headerCell: "sd-table__cell sd-table__cell--header",
5741
5768
  rowTextCell: "sd-table__cell sd-matrix__cell sd-table__cell--row-text",
5742
5769
  label: "sd-item sd-radio sd-matrix__label",
@@ -5975,13 +6002,18 @@ var defaultV2Css = {
5975
6002
  },
5976
6003
  window: {
5977
6004
  root: "sv_window",
6005
+ rootCollapsedMod: "sv_window--collapsed",
6006
+ rootContent: "sv_window_root-content",
5978
6007
  body: "sv_window_content",
5979
6008
  header: {
5980
- root: "sv_window_title",
5981
- title: "",
6009
+ root: "sv_window_header",
6010
+ titleCollapsed: "sv_window_header_title_collapsed",
6011
+ buttonsContainer: "sv_window_buttons_container",
5982
6012
  button: "sv_window_button",
5983
6013
  buttonExpanded: "",
5984
- buttonCollapsed: ""
6014
+ buttonCollapsed: "",
6015
+ collapseButton: "sv_window_button sv_window_button_collapse",
6016
+ closeButton: "sv_window_button sv_window_button_close"
5985
6017
  }
5986
6018
  },
5987
6019
  ranking: {
@@ -7734,17 +7766,20 @@ var DragDropRankingSelectToRank = /** @class */ (function (_super) {
7734
7766
  var rankingChoices = questionModel.rankingChoices;
7735
7767
  var unRankingChoices = questionModel.unRankingChoices;
7736
7768
  var item = unRankingChoices[fromIndex];
7769
+ questionModel.isValueSetByUser = true;
7737
7770
  rankingChoices.splice(toIndex, 0, item);
7738
7771
  questionModel.setPropertyValue("rankingChoices", rankingChoices);
7739
7772
  };
7740
7773
  DragDropRankingSelectToRank.prototype.unselectFromRank = function (questionModel, fromIndex, toIndex) {
7741
7774
  var rankingChoices = questionModel.rankingChoices;
7775
+ questionModel.isValueSetByUser = true;
7742
7776
  rankingChoices.splice(fromIndex, 1);
7743
7777
  questionModel.setPropertyValue("rankingChoices", rankingChoices);
7744
7778
  };
7745
7779
  DragDropRankingSelectToRank.prototype.reorderRankedItem = function (questionModel, fromIndex, toIndex) {
7746
7780
  var rankingChoices = questionModel.rankingChoices;
7747
7781
  var item = rankingChoices[fromIndex];
7782
+ questionModel.isValueSetByUser = true;
7748
7783
  rankingChoices.splice(fromIndex, 1);
7749
7784
  rankingChoices.splice(toIndex, 0, item);
7750
7785
  questionModel.setPropertyValue("rankingChoices", rankingChoices);
@@ -9337,8 +9372,8 @@ __webpack_require__.r(__webpack_exports__);
9337
9372
  //import "../../modern.scss";
9338
9373
  var Version;
9339
9374
  var ReleaseDate;
9340
- Version = "" + "1.9.125";
9341
- ReleaseDate = "" + "2024-01-11";
9375
+ Version = "" + "1.9.127";
9376
+ ReleaseDate = "" + "2024-01-23";
9342
9377
  function checkLibraryVersion(ver, libraryName) {
9343
9378
  if (Version != ver) {
9344
9379
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -15789,21 +15824,11 @@ var Helpers = /** @class */ (function () {
15789
15824
  return x == y;
15790
15825
  if (!Helpers.isValueObject(x) || !Helpers.isValueObject(y))
15791
15826
  return false;
15792
- if (x["equals"])
15827
+ if (x["equals"] && y["equals"])
15793
15828
  return x.equals(y);
15794
- if (!!x.toJSON && !!y.toJSON && !!x.getType && !!y.getType) {
15795
- if (x.isDisposed || y.isDisposed)
15796
- return false;
15797
- if (x.getType() !== y.getType())
15798
- return false;
15799
- if (!!x.name && x.name !== y.name)
15800
- return false;
15801
- return this.isTwoValueEquals(x.toJSON(), y.toJSON(), ignoreOrder, caseSensitive, trimStrings);
15802
- }
15803
- if (Array.isArray(x) && Array.isArray(y))
15829
+ if (Array.isArray(x) && Array.isArray(y)) {
15804
15830
  return Helpers.isArraysEqual(x, y, ignoreOrder, caseSensitive, trimStrings);
15805
- if (!!x.equalsTo && y.equalsTo)
15806
- return x.equalsTo(y);
15831
+ }
15807
15832
  for (var p in x) {
15808
15833
  if (!x.hasOwnProperty(p))
15809
15834
  continue;
@@ -16079,6 +16104,27 @@ var Helpers = /** @class */ (function () {
16079
16104
  }
16080
16105
  return val;
16081
16106
  };
16107
+ Helpers.compareVerions = function (ver1, ver2) {
16108
+ if (!ver1 && !ver2)
16109
+ return 0;
16110
+ var ver1Ar = ver1.split(".");
16111
+ var ver2Ar = ver2.split(".");
16112
+ var len1 = ver1Ar.length;
16113
+ var len2 = ver2Ar.length;
16114
+ for (var i = 0; i < len1 && i < len2; i++) {
16115
+ var str1 = ver1Ar[i];
16116
+ var str2 = ver2Ar[i];
16117
+ if (str1.length === str2.length) {
16118
+ if (str1 !== str2) {
16119
+ return str1 < str2 ? -1 : 1;
16120
+ }
16121
+ }
16122
+ else {
16123
+ return str1.length < str2.length ? -1 : 1;
16124
+ }
16125
+ }
16126
+ return len1 === len2 ? 0 : (len1 < len2 ? -1 : 1);
16127
+ };
16082
16128
  return Helpers;
16083
16129
  }());
16084
16130
 
@@ -16135,10 +16181,12 @@ var map = {
16135
16181
  "./V2DragElement_16x16.svg": "./src/images/V2DragElement_16x16.svg",
16136
16182
  "./chevron.svg": "./src/images/chevron.svg",
16137
16183
  "./clear_16x16.svg": "./src/images/clear_16x16.svg",
16184
+ "./close_16x16.svg": "./src/images/close_16x16.svg",
16138
16185
  "./collapseDetail.svg": "./src/images/collapseDetail.svg",
16139
16186
  "./drag-n-drop.svg": "./src/images/drag-n-drop.svg",
16140
16187
  "./expandDetail.svg": "./src/images/expandDetail.svg",
16141
16188
  "./loading.svg": "./src/images/loading.svg",
16189
+ "./minimize_16x16.svg": "./src/images/minimize_16x16.svg",
16142
16190
  "./no-image.svg": "./src/images/no-image.svg",
16143
16191
  "./ranking-arrows.svg": "./src/images/ranking-arrows.svg",
16144
16192
  "./ranking-dash.svg": "./src/images/ranking-dash.svg",
@@ -16146,6 +16194,7 @@ var map = {
16146
16194
  "./rating-star-small-2.svg": "./src/images/rating-star-small-2.svg",
16147
16195
  "./rating-star-small.svg": "./src/images/rating-star-small.svg",
16148
16196
  "./rating-star.svg": "./src/images/rating-star.svg",
16197
+ "./restore_16x16.svg": "./src/images/restore_16x16.svg",
16149
16198
  "./search.svg": "./src/images/search.svg"
16150
16199
  };
16151
16200
 
@@ -16534,6 +16583,17 @@ module.exports = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\
16534
16583
 
16535
16584
  /***/ }),
16536
16585
 
16586
+ /***/ "./src/images/close_16x16.svg":
16587
+ /*!************************************!*\
16588
+ !*** ./src/images/close_16x16.svg ***!
16589
+ \************************************/
16590
+ /*! no static exports found */
16591
+ /***/ (function(module, exports) {
16592
+
16593
+ module.exports = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.43 8.0025L13.7 3.7225C14.09 3.3325 14.09 2.6925 13.7 2.2925C13.31 1.9025 12.67 1.9025 12.27 2.2925L7.99 6.5725L3.72 2.3025C3.33 1.9025 2.69 1.9025 2.3 2.3025C1.9 2.6925 1.9 3.3325 2.3 3.7225L6.58 8.0025L2.3 12.2825C1.91 12.6725 1.91 13.3125 2.3 13.7125C2.69 14.1025 3.33 14.1025 3.73 13.7125L8.01 9.4325L12.29 13.7125C12.68 14.1025 13.32 14.1025 13.72 13.7125C14.11 13.3225 14.11 12.6825 13.72 12.2825L9.44 8.0025H9.43Z\"></path></svg>"
16594
+
16595
+ /***/ }),
16596
+
16537
16597
  /***/ "./src/images/collapseDetail.svg":
16538
16598
  /*!***************************************!*\
16539
16599
  !*** ./src/images/collapseDetail.svg ***!
@@ -16578,6 +16638,17 @@ module.exports = "<svg viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3
16578
16638
 
16579
16639
  /***/ }),
16580
16640
 
16641
+ /***/ "./src/images/minimize_16x16.svg":
16642
+ /*!***************************************!*\
16643
+ !*** ./src/images/minimize_16x16.svg ***!
16644
+ \***************************************/
16645
+ /*! no static exports found */
16646
+ /***/ (function(module, exports) {
16647
+
16648
+ module.exports = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M13 9H3C2.45 9 2 8.55 2 8C2 7.45 2.45 7 3 7H13C13.55 7 14 7.45 14 8C14 8.55 13.55 9 13 9Z\"></path></svg>"
16649
+
16650
+ /***/ }),
16651
+
16581
16652
  /***/ "./src/images/no-image.svg":
16582
16653
  /*!*********************************!*\
16583
16654
  !*** ./src/images/no-image.svg ***!
@@ -16655,6 +16726,17 @@ module.exports = "<svg viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\
16655
16726
 
16656
16727
  /***/ }),
16657
16728
 
16729
+ /***/ "./src/images/restore_16x16.svg":
16730
+ /*!**************************************!*\
16731
+ !*** ./src/images/restore_16x16.svg ***!
16732
+ \**************************************/
16733
+ /*! no static exports found */
16734
+ /***/ (function(module, exports) {
16735
+
16736
+ module.exports = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 13H4C2.9 13 2 12.1 2 11V5C2 3.9 2.9 3 4 3H12C13.1 3 14 3.9 14 5V11C14 12.1 13.1 13 12 13ZM4 5V11H12V5H4Z\"></path></svg>"
16737
+
16738
+ /***/ }),
16739
+
16658
16740
  /***/ "./src/images/search.svg":
16659
16741
  /*!*******************************!*\
16660
16742
  !*** ./src/images/search.svg ***!
@@ -17817,6 +17899,21 @@ var JsonObjectProperty = /** @class */ (function () {
17817
17899
  enumerable: false,
17818
17900
  configurable: true
17819
17901
  });
17902
+ JsonObjectProperty.prototype.isAvailableInVersion = function (ver) {
17903
+ if (!!this.alternativeName)
17904
+ return true;
17905
+ return this.isAvailableInVersionCore(ver);
17906
+ };
17907
+ JsonObjectProperty.prototype.getSerializedName = function (ver) {
17908
+ if (!this.alternativeName)
17909
+ return this.name;
17910
+ return this.isAvailableInVersionCore(ver) ? this.name : this.alternativeName;
17911
+ };
17912
+ JsonObjectProperty.prototype.isAvailableInVersionCore = function (ver) {
17913
+ if (!ver || !this.version)
17914
+ return true;
17915
+ return _helpers__WEBPACK_IMPORTED_MODULE_2__["Helpers"].compareVerions(this.version, ver) <= 0;
17916
+ };
17820
17917
  Object.defineProperty(JsonObjectProperty.prototype, "isLocalizable", {
17821
17918
  get: function () {
17822
17919
  return this.isLocalizableValue != null ? this.isLocalizableValue : false;
@@ -17897,6 +17994,7 @@ var JsonObjectProperty = /** @class */ (function () {
17897
17994
  "className",
17898
17995
  "alternativeName",
17899
17996
  "layout",
17997
+ "version",
17900
17998
  "classNamePart",
17901
17999
  "baseClassName",
17902
18000
  "defaultValue",
@@ -18345,6 +18443,9 @@ var JsonMetadataClass = /** @class */ (function () {
18345
18443
  if (propInfo.layout) {
18346
18444
  prop.layout = propInfo.layout;
18347
18445
  }
18446
+ if (propInfo.version) {
18447
+ prop.version = propInfo.version;
18448
+ }
18348
18449
  if (propInfo.dependsOn) {
18349
18450
  this.addDependsOnProperties(prop, propInfo.dependsOn);
18350
18451
  }
@@ -18489,36 +18590,54 @@ var JsonMetadata = /** @class */ (function () {
18489
18590
  JsonMetadata.prototype.getPropertiesByObj = function (obj) {
18490
18591
  if (!obj || !obj.getType)
18491
18592
  return [];
18492
- var res = {};
18493
18593
  var props = this.getProperties(obj.getType());
18494
- for (var i = 0; i < props.length; i++) {
18495
- res[props[i].name] = props[i];
18496
- }
18497
- var dynamicProps = !!obj.getDynamicType
18498
- ? this.getProperties(obj.getDynamicType())
18499
- : null;
18500
- if (dynamicProps && dynamicProps.length > 0) {
18501
- for (var i = 0; i < dynamicProps.length; i++) {
18502
- var dProp = dynamicProps[i];
18503
- if (!!res[dProp.name])
18504
- continue;
18505
- res[dProp.name] = dProp;
18594
+ var dynamicProps = this.getDynamicPropertiesByObj(obj);
18595
+ return [].concat(props).concat(dynamicProps);
18596
+ };
18597
+ JsonMetadata.prototype.addDynamicPropertiesIntoObj = function (dest, src, props) {
18598
+ var _this = this;
18599
+ props.forEach(function (prop) {
18600
+ _this.addDynamicPropertyIntoObj(dest, src, prop.name, false);
18601
+ if (prop.serializationProperty) {
18602
+ _this.addDynamicPropertyIntoObj(dest, src, prop.serializationProperty, true);
18506
18603
  }
18604
+ if (prop.alternativeName) {
18605
+ _this.addDynamicPropertyIntoObj(dest, src, prop.alternativeName, false);
18606
+ }
18607
+ });
18608
+ };
18609
+ JsonMetadata.prototype.addDynamicPropertyIntoObj = function (dest, src, propName, isReadOnly) {
18610
+ var desc = {
18611
+ configurable: true,
18612
+ get: function () {
18613
+ return src[propName];
18614
+ },
18615
+ };
18616
+ if (!isReadOnly) {
18617
+ desc["set"] = function (v) {
18618
+ src[propName] = v;
18619
+ };
18507
18620
  }
18508
- return Object.keys(res).map(function (key) { return res[key]; });
18621
+ Object.defineProperty(dest, propName, desc);
18509
18622
  };
18510
18623
  JsonMetadata.prototype.getDynamicPropertiesByObj = function (obj, dynamicType) {
18511
18624
  if (dynamicType === void 0) { dynamicType = null; }
18512
- if (!obj || !obj.getType || (!obj.getDynamicType && !dynamicType))
18625
+ if (!obj || !obj.getType)
18626
+ return [];
18627
+ if (!!obj.getDynamicProperties)
18628
+ return obj.getDynamicProperties();
18629
+ if (!obj.getDynamicType && !dynamicType)
18513
18630
  return [];
18514
- var objType = obj.getType();
18515
18631
  var dType = !!dynamicType ? dynamicType : obj.getDynamicType();
18516
- if (!dType)
18632
+ return this.getDynamicPropertiesByTypes(obj.getType(), dType);
18633
+ };
18634
+ JsonMetadata.prototype.getDynamicPropertiesByTypes = function (objType, dynamicType, invalidNames) {
18635
+ if (!dynamicType)
18517
18636
  return [];
18518
- var cacheType = dType + "-" + objType;
18637
+ var cacheType = dynamicType + "-" + objType;
18519
18638
  if (this.dynamicPropsCache[cacheType])
18520
18639
  return this.dynamicPropsCache[cacheType];
18521
- var dynamicProps = this.getProperties(dType);
18640
+ var dynamicProps = this.getProperties(dynamicType);
18522
18641
  if (!dynamicProps || dynamicProps.length == 0)
18523
18642
  return [];
18524
18643
  var hash = {};
@@ -18527,9 +18646,11 @@ var JsonMetadata = /** @class */ (function () {
18527
18646
  hash[props[i].name] = props[i];
18528
18647
  }
18529
18648
  var res = [];
18530
- for (var i = 0; i < dynamicProps.length; i++) {
18531
- var dProp = dynamicProps[i];
18532
- if (!hash[dProp.name]) {
18649
+ if (!invalidNames)
18650
+ invalidNames = [];
18651
+ for (var i_1 = 0; i_1 < dynamicProps.length; i_1++) {
18652
+ var dProp = dynamicProps[i_1];
18653
+ if (!hash[dProp.name] && invalidNames.indexOf(dProp.name) < 0) {
18533
18654
  res.push(dProp);
18534
18655
  }
18535
18656
  }
@@ -19024,9 +19145,8 @@ var JsonObject = /** @class */ (function () {
19024
19145
  enumerable: false,
19025
19146
  configurable: true
19026
19147
  });
19027
- JsonObject.prototype.toJsonObject = function (obj, storeDefaults) {
19028
- if (storeDefaults === void 0) { storeDefaults = false; }
19029
- return this.toJsonObjectCore(obj, null, storeDefaults);
19148
+ JsonObject.prototype.toJsonObject = function (obj, options) {
19149
+ return this.toJsonObjectCore(obj, null, options);
19030
19150
  };
19031
19151
  JsonObject.prototype.toObject = function (jsonObj, obj, options) {
19032
19152
  this.toObjectCore(jsonObj, obj, options);
@@ -19075,8 +19195,7 @@ var JsonObject = /** @class */ (function () {
19075
19195
  obj.endLoadingFromJson();
19076
19196
  }
19077
19197
  };
19078
- JsonObject.prototype.toJsonObjectCore = function (obj, property, storeDefaults) {
19079
- if (storeDefaults === void 0) { storeDefaults = false; }
19198
+ JsonObject.prototype.toJsonObjectCore = function (obj, property, options) {
19080
19199
  if (!obj || !obj.getType)
19081
19200
  return obj;
19082
19201
  if (typeof obj.getData === "function")
@@ -19085,61 +19204,67 @@ var JsonObject = /** @class */ (function () {
19085
19204
  if (property != null && !property.className) {
19086
19205
  result[JsonObject.typePropertyName] = property.getObjType(obj.getType());
19087
19206
  }
19088
- this.propertiesToJson(obj, Serializer.getProperties(obj.getType()), result, storeDefaults);
19089
- this.propertiesToJson(obj, this.getDynamicProperties(obj), result, storeDefaults);
19207
+ var storeDefaults = options === true;
19208
+ if (!options || options === true) {
19209
+ options = {};
19210
+ }
19211
+ if (storeDefaults) {
19212
+ options.storeDefaults = storeDefaults;
19213
+ }
19214
+ this.propertiesToJson(obj, Serializer.getProperties(obj.getType()), result, options);
19215
+ this.propertiesToJson(obj, this.getDynamicProperties(obj), result, options);
19090
19216
  return result;
19091
19217
  };
19092
19218
  JsonObject.prototype.getDynamicProperties = function (obj) {
19093
19219
  return Serializer.getDynamicPropertiesByObj(obj);
19094
19220
  };
19095
- JsonObject.prototype.addDynamicProperties = function (obj, jsonObj, properties) {
19096
- if (!obj.getDynamicPropertyName)
19097
- return properties;
19098
- var dynamicPropName = obj.getDynamicPropertyName();
19099
- if (!dynamicPropName)
19100
- return properties;
19101
- if (jsonObj[dynamicPropName]) {
19102
- obj[dynamicPropName] = jsonObj[dynamicPropName];
19103
- }
19104
- var dynamicProperties = this.getDynamicProperties(obj);
19105
- var res = [];
19106
- for (var i = 0; i < properties.length; i++) {
19107
- res.push(properties[i]);
19108
- }
19109
- for (var i = 0; i < dynamicProperties.length; i++) {
19110
- res.push(dynamicProperties[i]);
19221
+ JsonObject.prototype.addDynamicProperties = function (obj, jsonObj, props) {
19222
+ if (!obj.getDynamicPropertyName && !obj.getDynamicProperties)
19223
+ return props;
19224
+ if (obj.getDynamicPropertyName) {
19225
+ var dynamicPropName = obj.getDynamicPropertyName();
19226
+ if (!dynamicPropName)
19227
+ return props;
19228
+ if (dynamicPropName && jsonObj[dynamicPropName]) {
19229
+ obj[dynamicPropName] = jsonObj[dynamicPropName];
19230
+ }
19111
19231
  }
19112
- return res;
19232
+ var dynamicProps = this.getDynamicProperties(obj);
19233
+ return dynamicProps.length === 0 ? props : [].concat(props).concat(dynamicProps);
19113
19234
  };
19114
- JsonObject.prototype.propertiesToJson = function (obj, properties, json, storeDefaults) {
19115
- if (storeDefaults === void 0) { storeDefaults = false; }
19235
+ JsonObject.prototype.propertiesToJson = function (obj, properties, json, options) {
19116
19236
  for (var i = 0; i < properties.length; i++) {
19117
- this.valueToJson(obj, json, properties[i], storeDefaults);
19237
+ this.valueToJson(obj, json, properties[i], options);
19118
19238
  }
19119
19239
  };
19120
- JsonObject.prototype.valueToJson = function (obj, result, property, storeDefaults) {
19121
- if (storeDefaults === void 0) { storeDefaults = false; }
19122
- if (property.isSerializable === false ||
19123
- (property.isLightSerializable === false && this.lightSerializing))
19240
+ JsonObject.prototype.valueToJson = function (obj, result, prop, options) {
19241
+ if (!options)
19242
+ options = {};
19243
+ if (prop.isSerializable === false || (prop.isLightSerializable === false && this.lightSerializing))
19244
+ return;
19245
+ if (options.version && !prop.isAvailableInVersion(options.version))
19124
19246
  return;
19125
- var value = property.getSerializableValue(obj);
19126
- if (!storeDefaults && property.isDefaultValueByObj(obj, value))
19247
+ var value = prop.getSerializableValue(obj);
19248
+ if (!options.storeDefaults && prop.isDefaultValueByObj(obj, value))
19127
19249
  return;
19128
19250
  if (this.isValueArray(value)) {
19129
19251
  var arrValue = [];
19130
19252
  for (var i = 0; i < value.length; i++) {
19131
- arrValue.push(this.toJsonObjectCore(value[i], property, storeDefaults));
19253
+ arrValue.push(this.toJsonObjectCore(value[i], prop, options));
19132
19254
  }
19133
19255
  value = arrValue.length > 0 ? arrValue : null;
19134
19256
  }
19135
19257
  else {
19136
- value = this.toJsonObjectCore(value, property, storeDefaults);
19258
+ value = this.toJsonObjectCore(value, prop, options);
19137
19259
  }
19260
+ if (value === undefined || value === null)
19261
+ return;
19262
+ var name = prop.getSerializedName(options.version);
19138
19263
  var hasValue = typeof obj["getPropertyValue"] === "function" &&
19139
- obj["getPropertyValue"](property.name, null) !== null;
19140
- if ((storeDefaults && hasValue) || !property.isDefaultValueByObj(obj, value)) {
19141
- if (!Serializer.onSerializingProperty || !Serializer.onSerializingProperty(obj, property, value, result)) {
19142
- result[property.name] = value;
19264
+ obj["getPropertyValue"](name, null) !== null;
19265
+ if ((options.storeDefaults && hasValue) || !prop.isDefaultValueByObj(obj, value)) {
19266
+ if (!Serializer.onSerializingProperty || !Serializer.onSerializingProperty(obj, prop, value, result)) {
19267
+ result[name] = this.removePosOnValueToJson(prop, value);
19143
19268
  }
19144
19269
  }
19145
19270
  };
@@ -19179,6 +19304,14 @@ var JsonObject = /** @class */ (function () {
19179
19304
  }
19180
19305
  }
19181
19306
  };
19307
+ JsonObject.prototype.removePosOnValueToJson = function (property, value) {
19308
+ if (!property.isCustom || !value)
19309
+ return value;
19310
+ if (!!value[JsonObject.positionPropertyName]) {
19311
+ delete value[JsonObject.positionPropertyName];
19312
+ }
19313
+ return value;
19314
+ };
19182
19315
  JsonObject.prototype.removePos = function (property, value) {
19183
19316
  if (!property || !property.type || property.type.indexOf("value") < 0)
19184
19317
  return;
@@ -23014,6 +23147,9 @@ var PanelModelBase = /** @class */ (function (_super) {
23014
23147
  else {
23015
23148
  this.elements.splice(index, 0, element);
23016
23149
  }
23150
+ if (this.wasRendered) {
23151
+ element.onFirstRendering();
23152
+ }
23017
23153
  return true;
23018
23154
  };
23019
23155
  PanelModelBase.prototype.insertElementAfter = function (element, after) {
@@ -23831,8 +23967,8 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
23831
23967
  this.popupDirection = _utils_popup__WEBPACK_IMPORTED_MODULE_1__["PopupUtils"].calculatePopupDirection(verticalPosition, actualHorizontalPosition);
23832
23968
  var pos = _utils_popup__WEBPACK_IMPORTED_MODULE_1__["PopupUtils"].calculatePosition(targetElementRect, height, width + marginLeft + marginRight, verticalPosition, actualHorizontalPosition, this.showHeader, this.model.positionMode);
23833
23969
  if (!!window) {
23834
- var newVerticalDimensions = _utils_popup__WEBPACK_IMPORTED_MODULE_1__["PopupUtils"].getCorrectedVerticalDimensions(pos.top, height, window.innerHeight);
23835
- if (!!newVerticalDimensions.height) {
23970
+ var newVerticalDimensions = _utils_popup__WEBPACK_IMPORTED_MODULE_1__["PopupUtils"].getCorrectedVerticalDimensions(pos.top, height, window.innerHeight, verticalPosition);
23971
+ if (!!newVerticalDimensions) {
23836
23972
  this.height = newVerticalDimensions.height + "px";
23837
23973
  pos.top = newVerticalDimensions.top;
23838
23974
  }
@@ -24158,7 +24294,7 @@ var PopupSurveyModel = /** @class */ (function (_super) {
24158
24294
  else {
24159
24295
  _this.surveyValue = _this.createSurvey(jsonObj);
24160
24296
  }
24161
- _this.surveyValue.showTitle = false;
24297
+ //this.surveyValue.showTitle = false;
24162
24298
  if ("undefined" !== typeof document) {
24163
24299
  _this.windowElement = document.createElement("div");
24164
24300
  }
@@ -24242,6 +24378,13 @@ var PopupSurveyModel = /** @class */ (function (_super) {
24242
24378
  enumerable: false,
24243
24379
  configurable: true
24244
24380
  });
24381
+ Object.defineProperty(PopupSurveyModel.prototype, "isCollapsed", {
24382
+ get: function () {
24383
+ return !this.isExpanded;
24384
+ },
24385
+ enumerable: false,
24386
+ configurable: true
24387
+ });
24245
24388
  PopupSurveyModel.prototype.onExpandedChanged = function () {
24246
24389
  if (!!this.expandedChangedCallback) {
24247
24390
  this.expandedChangedCallback();
@@ -24263,11 +24406,22 @@ var PopupSurveyModel = /** @class */ (function (_super) {
24263
24406
  });
24264
24407
  Object.defineProperty(PopupSurveyModel.prototype, "locTitle", {
24265
24408
  get: function () {
24409
+ if (this.survey.locTitle.isEmpty)
24410
+ return null;
24266
24411
  return this.survey.locTitle;
24267
24412
  },
24268
24413
  enumerable: false,
24269
24414
  configurable: true
24270
24415
  });
24416
+ Object.defineProperty(PopupSurveyModel.prototype, "locDescription", {
24417
+ get: function () {
24418
+ if (this.survey.locTitle.isEmpty)
24419
+ return null;
24420
+ return this.survey.locDescription;
24421
+ },
24422
+ enumerable: false,
24423
+ configurable: true
24424
+ });
24271
24425
  /**
24272
24426
  * Expands the pop-up window.
24273
24427
  *
@@ -24325,7 +24479,24 @@ var PopupSurveyModel = /** @class */ (function (_super) {
24325
24479
  });
24326
24480
  Object.defineProperty(PopupSurveyModel.prototype, "cssRoot", {
24327
24481
  get: function () {
24328
- return this.getPropertyValue("cssRoot", "");
24482
+ var result = this.getPropertyValue("cssRoot", "");
24483
+ if (this.isCollapsed)
24484
+ result += " " + this.getPropertyValue("cssRootCollapsedMod", "");
24485
+ return result;
24486
+ },
24487
+ enumerable: false,
24488
+ configurable: true
24489
+ });
24490
+ Object.defineProperty(PopupSurveyModel.prototype, "cssRootCollapsedMod", {
24491
+ get: function () {
24492
+ return this.getPropertyValue("cssRootCollapsedMod");
24493
+ },
24494
+ enumerable: false,
24495
+ configurable: true
24496
+ });
24497
+ Object.defineProperty(PopupSurveyModel.prototype, "cssRootContent", {
24498
+ get: function () {
24499
+ return this.getPropertyValue("cssRootContent");
24329
24500
  },
24330
24501
  enumerable: false,
24331
24502
  configurable: true
@@ -24344,16 +24515,30 @@ var PopupSurveyModel = /** @class */ (function (_super) {
24344
24515
  enumerable: false,
24345
24516
  configurable: true
24346
24517
  });
24347
- Object.defineProperty(PopupSurveyModel.prototype, "cssHeaderTitle", {
24518
+ Object.defineProperty(PopupSurveyModel.prototype, "cssHeaderTitleCollapsed", {
24519
+ get: function () {
24520
+ return this.getPropertyValue("cssHeaderTitleCollapsed", "");
24521
+ },
24522
+ enumerable: false,
24523
+ configurable: true
24524
+ });
24525
+ Object.defineProperty(PopupSurveyModel.prototype, "cssHeaderButtonsContainer", {
24526
+ get: function () {
24527
+ return this.getPropertyValue("cssHeaderButtonsContainer", "");
24528
+ },
24529
+ enumerable: false,
24530
+ configurable: true
24531
+ });
24532
+ Object.defineProperty(PopupSurveyModel.prototype, "cssHeaderCollapseButton", {
24348
24533
  get: function () {
24349
- return this.getPropertyValue("cssHeaderTitle", "");
24534
+ return this.getPropertyValue("cssHeaderCollapseButton", "");
24350
24535
  },
24351
24536
  enumerable: false,
24352
24537
  configurable: true
24353
24538
  });
24354
- Object.defineProperty(PopupSurveyModel.prototype, "cssHeaderButton", {
24539
+ Object.defineProperty(PopupSurveyModel.prototype, "cssHeaderCloseButton", {
24355
24540
  get: function () {
24356
- return this.getPropertyValue("cssHeaderButton", "");
24541
+ return this.getPropertyValue("cssHeaderCloseButton", "");
24357
24542
  },
24358
24543
  enumerable: false,
24359
24544
  configurable: true
@@ -24373,13 +24558,17 @@ var PopupSurveyModel = /** @class */ (function (_super) {
24373
24558
  return;
24374
24559
  var cssWindow = this.css.window;
24375
24560
  this.setPropertyValue("cssRoot", cssWindow.root);
24561
+ this.setPropertyValue("cssRootCollapsedMod", cssWindow.rootCollapsedMod);
24562
+ this.setPropertyValue("cssRootContent", cssWindow.rootContent);
24376
24563
  this.setPropertyValue("cssBody", cssWindow.body);
24377
24564
  var cssHeader = cssWindow.header;
24378
24565
  if (!cssHeader)
24379
24566
  return;
24380
24567
  this.setPropertyValue("cssHeaderRoot", cssHeader.root);
24381
- this.setPropertyValue("cssHeaderTitle", cssHeader.title);
24382
- this.setPropertyValue("cssHeaderButton", cssHeader.button);
24568
+ this.setPropertyValue("cssHeaderTitleCollapsed", cssHeader.titleCollapsed);
24569
+ this.setPropertyValue("cssHeaderButtonsContainer", cssHeader.buttonsContainer);
24570
+ this.setPropertyValue("cssHeaderCollapseButton", cssHeader.collapseButton);
24571
+ this.setPropertyValue("cssHeaderCloseButton", cssHeader.closeButton);
24383
24572
  this.updateCssButton();
24384
24573
  };
24385
24574
  PopupSurveyModel.prototype.updateCssButton = function () {
@@ -26253,6 +26442,9 @@ var Question = /** @class */ (function (_super) {
26253
26442
  .append(cssClasses.headerBottom, this.hasTitleOnBottom)
26254
26443
  .toString();
26255
26444
  };
26445
+ Question.prototype.supportContainerQueries = function () {
26446
+ return false;
26447
+ };
26256
26448
  Object.defineProperty(Question.prototype, "cssContent", {
26257
26449
  get: function () {
26258
26450
  this.ensureElementCss();
@@ -26267,6 +26459,7 @@ var Question = /** @class */ (function (_super) {
26267
26459
  Question.prototype.getCssContent = function (cssClasses) {
26268
26460
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__["CssClassBuilder"]()
26269
26461
  .append(cssClasses.content)
26462
+ .append(cssClasses.contentSupportContainerQueries, this.supportContainerQueries())
26270
26463
  .append(cssClasses.contentLeft, this.hasTitleOnLeft)
26271
26464
  .toString();
26272
26465
  };
@@ -30057,7 +30250,6 @@ var QuestionSelectBase = /** @class */ (function (_super) {
30057
30250
  if (this.isValueEmpty(this.cachedValueForUrlRequests)) {
30058
30251
  this.cachedValueForUrlRequests = this.value;
30059
30252
  }
30060
- this.isFirstLoadChoicesFromUrl = false;
30061
30253
  var cachedValues = this.createCachedValueForUrlRequests(this.cachedValueForUrlRequests, checkCachedValuesOnExisting);
30062
30254
  if (array && (array.length > 0 || this.choicesByUrl.allowEmptyResponse)) {
30063
30255
  newChoices = new Array();
@@ -30068,6 +30260,20 @@ var QuestionSelectBase = /** @class */ (function (_super) {
30068
30260
  newChoices[i].locOwner = this;
30069
30261
  }
30070
30262
  }
30263
+ this.setChoicesFromUrl(newChoices, errors, cachedValues);
30264
+ };
30265
+ QuestionSelectBase.prototype.canAvoidSettChoicesFromUrl = function (newChoices) {
30266
+ if (this.isFirstLoadChoicesFromUrl)
30267
+ return false;
30268
+ var chocesAreEmpty = !newChoices || Array.isArray(newChoices) && newChoices.length === 0;
30269
+ if (chocesAreEmpty && !this.isEmpty())
30270
+ return false;
30271
+ return _helpers__WEBPACK_IMPORTED_MODULE_8__["Helpers"].isTwoValueEquals(this.choicesFromUrl, newChoices);
30272
+ };
30273
+ QuestionSelectBase.prototype.setChoicesFromUrl = function (newChoices, errors, cachedValues) {
30274
+ if (this.canAvoidSettChoicesFromUrl(newChoices))
30275
+ return;
30276
+ this.isFirstLoadChoicesFromUrl = false;
30071
30277
  this.choicesFromUrl = newChoices;
30072
30278
  this.filterItems();
30073
30279
  this.onVisibleChoicesChanged();
@@ -31110,6 +31316,21 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
31110
31316
  QuestionBooleanModel.prototype.createActionContainer = function (allowAdaptiveActions) {
31111
31317
  return _super.prototype.createActionContainer.call(this, this.renderAs !== "checkbox");
31112
31318
  };
31319
+ Object.defineProperty(QuestionBooleanModel.prototype, "isNewA11yStructure", {
31320
+ //a11y
31321
+ get: function () {
31322
+ return true;
31323
+ },
31324
+ enumerable: false,
31325
+ configurable: true
31326
+ });
31327
+ Object.defineProperty(QuestionBooleanModel.prototype, "a11y_input_ariaRole", {
31328
+ get: function () {
31329
+ return "switch";
31330
+ },
31331
+ enumerable: false,
31332
+ configurable: true
31333
+ });
31113
31334
  __decorate([
31114
31335
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
31115
31336
  ], QuestionBooleanModel.prototype, "booleanValueRendered", void 0);
@@ -31989,9 +32210,12 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
31989
32210
  var res = [];
31990
32211
  var visItems = this.visibleChoices;
31991
32212
  for (var i = 0; i < visItems.length; i++) {
32213
+ var item = visItems[i];
32214
+ if (item === this.selectAllItem)
32215
+ continue;
31992
32216
  var val = visItems[i].value;
31993
32217
  if (_helpers__WEBPACK_IMPORTED_MODULE_3__["Helpers"].isTwoValueEquals(val, this.invisibleOldValues[val])) {
31994
- if (!this.isItemSelected(visItems[i])) {
32218
+ if (!this.isItemSelected(item)) {
31995
32219
  res.push(val);
31996
32220
  }
31997
32221
  delete this.invisibleOldValues[val];
@@ -32522,6 +32746,35 @@ var ComponentQuestionJSON = /** @class */ (function () {
32522
32746
  enumerable: false,
32523
32747
  configurable: true
32524
32748
  });
32749
+ ComponentQuestionJSON.prototype.getDynamicProperties = function () {
32750
+ if (!Array.isArray(this.dynamicProperties)) {
32751
+ }
32752
+ this.dynamicProperties = this.calcDynamicProperties();
32753
+ return this.dynamicProperties;
32754
+ };
32755
+ ComponentQuestionJSON.prototype.calcDynamicProperties = function () {
32756
+ var baseProps = this.json.inheritBaseProps;
32757
+ if (!baseProps || !this.json.questionJSON)
32758
+ return [];
32759
+ var type = this.json.questionJSON.type;
32760
+ if (!type)
32761
+ return [];
32762
+ if (Array.isArray(baseProps)) {
32763
+ var props_1 = [];
32764
+ baseProps.forEach(function (name) {
32765
+ var prop = _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].findProperty(type, name);
32766
+ if (prop) {
32767
+ props_1.push(prop);
32768
+ }
32769
+ });
32770
+ return props_1;
32771
+ }
32772
+ var invalidNames = [];
32773
+ for (var key in this.json.questionJSON) {
32774
+ invalidNames.push(key);
32775
+ }
32776
+ return _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].getDynamicPropertiesByTypes(this.name, type, invalidNames);
32777
+ };
32525
32778
  return ComponentQuestionJSON;
32526
32779
  }());
32527
32780
 
@@ -32863,8 +33116,15 @@ var QuestionCustomModel = /** @class */ (function (_super) {
32863
33116
  QuestionCustomModel.prototype.getTemplate = function () {
32864
33117
  return "custom";
32865
33118
  };
33119
+ QuestionCustomModel.prototype.getDynamicProperties = function () {
33120
+ return this.customQuestion.getDynamicProperties() || [];
33121
+ };
33122
+ QuestionCustomModel.prototype.getDynamicType = function () {
33123
+ return this.questionWrapper ? this.questionWrapper.getType() : "question";
33124
+ };
32866
33125
  QuestionCustomModel.prototype.createWrapper = function () {
32867
33126
  this.questionWrapper = this.createQuestion();
33127
+ this.createDynamicProperties(this.questionWrapper);
32868
33128
  };
32869
33129
  QuestionCustomModel.prototype.getElement = function () {
32870
33130
  return this.contentQuestion;
@@ -33039,6 +33299,14 @@ var QuestionCustomModel = /** @class */ (function (_super) {
33039
33299
  }
33040
33300
  this.isSettingValueChanged = false;
33041
33301
  };
33302
+ QuestionCustomModel.prototype.createDynamicProperties = function (el) {
33303
+ if (!el)
33304
+ return;
33305
+ var props = this.getDynamicProperties();
33306
+ if (Array.isArray(props)) {
33307
+ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addDynamicPropertiesIntoObj(this, el, props);
33308
+ }
33309
+ };
33042
33310
  QuestionCustomModel.prototype.initElement = function (el) {
33043
33311
  var _this = this;
33044
33312
  _super.prototype.initElement.call(this, el);
@@ -33535,7 +33803,7 @@ var QuestionDropdownModel = /** @class */ (function (_super) {
33535
33803
  }
33536
33804
  };
33537
33805
  QuestionDropdownModel.prototype.supportGoNextPageAutomatic = function () {
33538
- return true;
33806
+ return !this.isOtherSelected;
33539
33807
  };
33540
33808
  QuestionDropdownModel.prototype.getChoices = function () {
33541
33809
  var items = _super.prototype.getChoices.call(this);
@@ -34400,6 +34668,9 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_2__["Serializer"].addClass("expression", [
34400
34668
  return getCurrecyCodes();
34401
34669
  },
34402
34670
  default: "USD",
34671
+ visibleIf: function (obj) {
34672
+ return obj.displayStyle === "currency";
34673
+ }
34403
34674
  },
34404
34675
  { name: "maximumFractionDigits:number", default: -1 },
34405
34676
  { name: "minimumFractionDigits:number", default: -1 },
@@ -34673,7 +34944,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
34673
34944
  };
34674
34945
  _this.doClean = function () {
34675
34946
  if (_this.needConfirmRemoveFile) {
34676
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["confirmActionAsync"])(_this.confirmRemoveAllMessage, function () { _this.clearFilesCore(); });
34947
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["confirmActionAsync"])(_this.confirmRemoveAllMessage, function () { _this.clearFilesCore(); }, undefined, _this.getLocale());
34677
34948
  return;
34678
34949
  }
34679
34950
  _this.clearFilesCore();
@@ -35563,7 +35834,7 @@ var QuestionFileModel = /** @class */ (function (_super) {
35563
35834
  QuestionFileModel.prototype.doRemoveFile = function (data) {
35564
35835
  var _this = this;
35565
35836
  if (this.needConfirmRemoveFile) {
35566
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["confirmActionAsync"])(this.getConfirmRemoveMessage(data.name), function () { _this.removeFileCore(data); });
35837
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_6__["confirmActionAsync"])(this.getConfirmRemoveMessage(data.name), function () { _this.removeFileCore(data); }, undefined, this.getLocale());
35567
35838
  return;
35568
35839
  }
35569
35840
  this.removeFileCore(data);
@@ -36854,8 +37125,8 @@ var MatrixRowModel = /** @class */ (function (_super) {
36854
37125
  __extends(MatrixRowModel, _super);
36855
37126
  function MatrixRowModel(item, fullName, data, value) {
36856
37127
  var _this = _super.call(this) || this;
36857
- _this.fullName = fullName;
36858
37128
  _this.item = item;
37129
+ _this.fullName = fullName;
36859
37130
  _this.data = data;
36860
37131
  _this.value = value;
36861
37132
  _this.cellClick = function (column) {
@@ -36893,8 +37164,24 @@ var MatrixRowModel = /** @class */ (function (_super) {
36893
37164
  return this.getPropertyValue("value");
36894
37165
  },
36895
37166
  set: function (val) {
36896
- val = this.data.getCorrectedRowValue(val);
36897
- this.setPropertyValue("value", val);
37167
+ if (!this.isReadOnly) {
37168
+ this.setValueDirectly(this.data.getCorrectedRowValue(val));
37169
+ }
37170
+ },
37171
+ enumerable: false,
37172
+ configurable: true
37173
+ });
37174
+ MatrixRowModel.prototype.setValueDirectly = function (val) {
37175
+ this.setPropertyValue("value", val);
37176
+ };
37177
+ Object.defineProperty(MatrixRowModel.prototype, "isReadOnly", {
37178
+ get: function () { return !this.item.enabled || this.data.isInputReadOnly; },
37179
+ enumerable: false,
37180
+ configurable: true
37181
+ });
37182
+ Object.defineProperty(MatrixRowModel.prototype, "rowTextClasses", {
37183
+ get: function () {
37184
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_11__["CssClassBuilder"]().append(this.data.cssClasses.rowTextCell).toString();
36898
37185
  },
36899
37186
  enumerable: false,
36900
37187
  configurable: true
@@ -36904,6 +37191,7 @@ var MatrixRowModel = /** @class */ (function (_super) {
36904
37191
  var cssClasses = this.data.cssClasses;
36905
37192
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_11__["CssClassBuilder"]().append(cssClasses.row)
36906
37193
  .append(cssClasses.rowError, this.data.hasErrorInRow(this))
37194
+ .append(cssClasses.rowDisabled, this.isReadOnly)
36907
37195
  .toString();
36908
37196
  },
36909
37197
  enumerable: false,
@@ -37263,6 +37551,10 @@ var QuestionMatrixModel = /** @class */ (function (_super) {
37263
37551
  }
37264
37552
  return res;
37265
37553
  };
37554
+ QuestionMatrixModel.prototype.runItemsCondition = function (values, properties) {
37555
+ _itemvalue__WEBPACK_IMPORTED_MODULE_1__["ItemValue"].runEnabledConditionsForItems(this.rows, undefined, values, properties);
37556
+ return _super.prototype.runItemsCondition.call(this, values, properties);
37557
+ };
37266
37558
  QuestionMatrixModel.prototype.getVisibleRows = function () {
37267
37559
  var result = new Array();
37268
37560
  var val = this.value;
@@ -37304,6 +37596,11 @@ var QuestionMatrixModel = /** @class */ (function (_super) {
37304
37596
  configurable: true
37305
37597
  });
37306
37598
  Object.defineProperty(QuestionMatrixModel.prototype, "cells", {
37599
+ /**
37600
+ * An array of matrix cells. Use this array to get or set cell values.
37601
+ *
37602
+ * [View Demo](https://surveyjs.io/form-library/examples/questiontype-matrix-rubric/ (linkStyle))
37603
+ */
37307
37604
  get: function () {
37308
37605
  return this.cellsValue;
37309
37606
  },
@@ -37426,7 +37723,7 @@ var QuestionMatrixModel = /** @class */ (function (_super) {
37426
37723
  if (!val)
37427
37724
  val = {};
37428
37725
  if (this.rows.length == 0) {
37429
- this.generatedVisibleRows[0].value = val;
37726
+ this.generatedVisibleRows[0].setValueDirectly(val);
37430
37727
  }
37431
37728
  else {
37432
37729
  for (var i = 0; i < this.generatedVisibleRows.length; i++) {
@@ -37434,7 +37731,7 @@ var QuestionMatrixModel = /** @class */ (function (_super) {
37434
37731
  var rowVal = val[row.name];
37435
37732
  if (this.isValueEmpty(rowVal))
37436
37733
  rowVal = null;
37437
- this.generatedVisibleRows[i].value = rowVal;
37734
+ this.generatedVisibleRows[i].setValueDirectly(rowVal);
37438
37735
  }
37439
37736
  }
37440
37737
  this.updateIsAnswered();
@@ -41512,32 +41809,8 @@ var MatrixDropdownColumn = /** @class */ (function (_super) {
41512
41809
  }
41513
41810
  };
41514
41811
  MatrixDropdownColumn.prototype.addProperties = function (curCellType) {
41515
- var question = this.templateQuestion;
41516
- var properties = this.getProperties(curCellType);
41517
- for (var i = 0; i < properties.length; i++) {
41518
- var prop = properties[i];
41519
- this.addProperty(question, prop.name, false);
41520
- if (prop.serializationProperty) {
41521
- this.addProperty(question, prop.serializationProperty, true);
41522
- }
41523
- if (prop.alternativeName) {
41524
- this.addProperty(question, prop.alternativeName, false);
41525
- }
41526
- }
41527
- };
41528
- MatrixDropdownColumn.prototype.addProperty = function (question, propName, isReadOnly) {
41529
- var desc = {
41530
- configurable: true,
41531
- get: function () {
41532
- return question[propName];
41533
- },
41534
- };
41535
- if (!isReadOnly) {
41536
- desc["set"] = function (v) {
41537
- question[propName] = v;
41538
- };
41539
- }
41540
- Object.defineProperty(this, propName, desc);
41812
+ var props = this.getProperties(curCellType);
41813
+ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addDynamicPropertiesIntoObj(this, this.templateQuestion, props);
41541
41814
  };
41542
41815
  return MatrixDropdownColumn;
41543
41816
  }(_base__WEBPACK_IMPORTED_MODULE_1__["Base"]));
@@ -43482,7 +43755,7 @@ var QuestionMatrixDynamicModel = /** @class */ (function (_super) {
43482
43755
  confirmDelete = this.isRequireConfirmOnRowDelete(index);
43483
43756
  }
43484
43757
  if (confirmDelete) {
43485
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["confirmActionAsync"])(this.confirmDeleteText, function () { _this.removeRowAsync(index, row); });
43758
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__["confirmActionAsync"])(this.confirmDeleteText, function () { _this.removeRowAsync(index, row); }, undefined, this.getLocale());
43486
43759
  return;
43487
43760
  }
43488
43761
  this.removeRowAsync(index, row);
@@ -45373,8 +45646,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
45373
45646
  configurable: true
45374
45647
  });
45375
45648
  QuestionPanelDynamicModel.prototype.getFirstQuestionToFocus = function (withError) {
45376
- for (var i = 0; i < this.visiblePanels.length; i++) {
45377
- var res = this.visiblePanels[i].getFirstQuestionToFocus(withError);
45649
+ for (var i = 0; i < this.visiblePanelsCore.length; i++) {
45650
+ var res = this.visiblePanelsCore[i].getFirstQuestionToFocus(withError);
45378
45651
  if (!!res)
45379
45652
  return res;
45380
45653
  }
@@ -45406,12 +45679,12 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
45406
45679
  }
45407
45680
  };
45408
45681
  QuestionPanelDynamicModel.prototype.onTemplateElementPropertyChanged = function (element, options) {
45409
- if (this.isLoadingFromJson || this.useTemplatePanel || this.panels.length == 0)
45682
+ if (this.isLoadingFromJson || this.useTemplatePanel || this.panelsCore.length == 0)
45410
45683
  return;
45411
45684
  var property = _jsonobject__WEBPACK_IMPORTED_MODULE_5__["Serializer"].findProperty(element.getType(), options.name);
45412
45685
  if (!property)
45413
45686
  return;
45414
- var panels = this.panels;
45687
+ var panels = this.panelsCore;
45415
45688
  for (var i = 0; i < panels.length; i++) {
45416
45689
  var question = panels[i].getQuestionByName(element.name);
45417
45690
  if (!!question && question[options.name] !== options.newValue) {
@@ -45430,7 +45703,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
45430
45703
  return "paneldynamic";
45431
45704
  };
45432
45705
  QuestionPanelDynamicModel.prototype.clearOnDeletingContainer = function () {
45433
- this.panels.forEach(function (panel) {
45706
+ this.panelsCore.forEach(function (panel) {
45434
45707
  panel.clearOnDeletingContainer();
45435
45708
  });
45436
45709
  };
@@ -45586,8 +45859,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
45586
45859
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "items", {
45587
45860
  get: function () {
45588
45861
  var res = [];
45589
- for (var i = 0; i < this.panels.length; i++) {
45590
- res.push(this.panels[i].data);
45862
+ for (var i = 0; i < this.panelsCore.length; i++) {
45863
+ res.push(this.panelsCore[i].data);
45591
45864
  }
45592
45865
  return res;
45593
45866
  },
@@ -45602,7 +45875,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
45602
45875
  * @see panelCount
45603
45876
  */
45604
45877
  get: function () {
45605
- return this.getPropertyValue("panels");
45878
+ this.buildPanelsFirstTime(this.canBuildPanels);
45879
+ return this.panelsCore;
45606
45880
  },
45607
45881
  enumerable: false,
45608
45882
  configurable: true
@@ -45612,6 +45886,21 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
45612
45886
  * An array of currently visible panels ([`PanelModel`](https://surveyjs.io/form-library/documentation/api-reference/panel-model) objects).
45613
45887
  * @see templateVisibleIf
45614
45888
  */
45889
+ get: function () {
45890
+ this.buildPanelsFirstTime(this.canBuildPanels);
45891
+ return this.visiblePanelsCore;
45892
+ },
45893
+ enumerable: false,
45894
+ configurable: true
45895
+ });
45896
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "panelsCore", {
45897
+ get: function () {
45898
+ return this.getPropertyValue("panels");
45899
+ },
45900
+ enumerable: false,
45901
+ configurable: true
45902
+ });
45903
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "visiblePanelsCore", {
45615
45904
  get: function () {
45616
45905
  return this.getPropertyValue("visiblePanels");
45617
45906
  },
@@ -45623,14 +45912,14 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
45623
45912
  if (!panel.visible)
45624
45913
  return;
45625
45914
  var index = 0;
45626
- var panels = this.panels;
45915
+ var panels = this.panelsCore;
45627
45916
  for (var i = 0; i < panels.length; i++) {
45628
45917
  if (panels[i] === panel)
45629
45918
  break;
45630
45919
  if (panels[i].visible)
45631
45920
  index++;
45632
45921
  }
45633
- this.visiblePanels.splice(index, 0, panel);
45922
+ this.visiblePanelsCore.splice(index, 0, panel);
45634
45923
  this.addTabFromToolbar(panel, index);
45635
45924
  if (!this.currentPanel) {
45636
45925
  this.currentPanel = panel;
@@ -45639,14 +45928,14 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
45639
45928
  QuestionPanelDynamicModel.prototype.onPanelRemoved = function (panel) {
45640
45929
  var index = this.onPanelRemovedCore(panel);
45641
45930
  if (this.currentPanel === panel) {
45642
- var visPanels = this.visiblePanels;
45931
+ var visPanels = this.visiblePanelsCore;
45643
45932
  if (index >= visPanels.length)
45644
45933
  index = visPanels.length - 1;
45645
45934
  this.currentPanel = index >= 0 ? visPanels[index] : null;
45646
45935
  }
45647
45936
  };
45648
45937
  QuestionPanelDynamicModel.prototype.onPanelRemovedCore = function (panel) {
45649
- var visPanels = this.visiblePanels;
45938
+ var visPanels = this.visiblePanelsCore;
45650
45939
  var index = visPanels.indexOf(panel);
45651
45940
  if (index > -1) {
45652
45941
  visPanels.splice(index, 1);
@@ -45669,14 +45958,14 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
45669
45958
  return -1;
45670
45959
  if (this.useTemplatePanel)
45671
45960
  return 0;
45672
- return this.visiblePanels.indexOf(this.currentPanel);
45961
+ return this.visiblePanelsCore.indexOf(this.currentPanel);
45673
45962
  },
45674
45963
  set: function (val) {
45675
45964
  if (val < 0 || this.visiblePanelCount < 1)
45676
45965
  return;
45677
45966
  if (val >= this.visiblePanelCount)
45678
45967
  val = this.visiblePanelCount - 1;
45679
- this.currentPanel = this.visiblePanels[val];
45968
+ this.currentPanel = this.visiblePanelsCore[val];
45680
45969
  },
45681
45970
  enumerable: false,
45682
45971
  configurable: true
@@ -45698,7 +45987,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
45698
45987
  return null;
45699
45988
  var res = this.getPropertyValue("currentPanel", null);
45700
45989
  if (!res && this.visiblePanelCount > 0) {
45701
- res = this.visiblePanels[0];
45990
+ res = this.visiblePanelsCore[0];
45702
45991
  this.currentPanel = res;
45703
45992
  }
45704
45993
  return res;
@@ -45707,7 +45996,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
45707
45996
  if (this.isRenderModeList || this.useTemplatePanel)
45708
45997
  return;
45709
45998
  var curPanel = this.getPropertyValue("currentPanel");
45710
- var index = !!val ? this.visiblePanels.indexOf(val) : -1;
45999
+ var index = !!val ? this.visiblePanelsCore.indexOf(val) : -1;
45711
46000
  if (!!val && index < 0 || val === curPanel)
45712
46001
  return;
45713
46002
  if (curPanel) {
@@ -45734,7 +46023,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
45734
46023
  this.currentPanel.onHidingContent();
45735
46024
  }
45736
46025
  else {
45737
- this.visiblePanels.forEach(function (panel) { return panel.onHidingContent(); });
46026
+ this.visiblePanelsCore.forEach(function (panel) { return panel.onHidingContent(); });
45738
46027
  }
45739
46028
  };
45740
46029
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "confirmDelete", {
@@ -45991,13 +46280,13 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
45991
46280
  };
45992
46281
  QuestionPanelDynamicModel.prototype.setIsMobile = function (val) {
45993
46282
  _super.prototype.setIsMobile.call(this, val);
45994
- (this.panels || []).forEach(function (panel) { return panel.getQuestions(true).forEach(function (question) {
46283
+ (this.panelsCore || []).forEach(function (panel) { return panel.getQuestions(true).forEach(function (question) {
45995
46284
  question.setIsMobile(val);
45996
46285
  }); });
45997
46286
  };
45998
46287
  QuestionPanelDynamicModel.prototype.themeChanged = function (theme) {
45999
46288
  _super.prototype.themeChanged.call(this, theme);
46000
- (this.panels || []).forEach(function (panel) {
46289
+ (this.panelsCore || []).forEach(function (panel) {
46001
46290
  return panel.getQuestions(true).forEach(function (question) {
46002
46291
  question.themeChanged(theme);
46003
46292
  });
@@ -46010,24 +46299,24 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46010
46299
  * @see maxPanelCount
46011
46300
  */
46012
46301
  get: function () {
46013
- return this.isLoadingFromJson || this.useTemplatePanel
46302
+ return !this.canBuildPanels || this.wasNotRenderedInSurvey
46014
46303
  ? this.getPropertyValue("panelCount")
46015
- : this.panels.length;
46304
+ : this.panelsCore.length;
46016
46305
  },
46017
46306
  set: function (val) {
46018
46307
  if (val < 0)
46019
46308
  return;
46020
- if (this.isLoadingFromJson || this.useTemplatePanel) {
46309
+ if (!this.canBuildPanels || this.wasNotRenderedInSurvey) {
46021
46310
  this.setPropertyValue("panelCount", val);
46022
46311
  return;
46023
46312
  }
46024
- if (val == this.panels.length || this.useTemplatePanel)
46313
+ if (val == this.panelsCore.length || this.useTemplatePanel)
46025
46314
  return;
46026
46315
  this.updateBindings("panelCount", val);
46027
46316
  this.prepareValueForPanelCreating();
46028
46317
  for (var i = this.panelCount; i < val; i++) {
46029
46318
  var panel = this.createNewPanel();
46030
- this.panels.push(panel);
46319
+ this.panelsCore.push(panel);
46031
46320
  if (this.renderMode == "list" && this.panelsState != "default") {
46032
46321
  if (this.panelsState === "expand") {
46033
46322
  panel.expand();
@@ -46039,9 +46328,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46039
46328
  }
46040
46329
  }
46041
46330
  }
46042
- var removedPanels = [];
46043
46331
  if (val < this.panelCount) {
46044
- removedPanels = this.panels.splice(val, this.panelCount - val);
46332
+ this.panelsCore.splice(val, this.panelCount - val);
46045
46333
  }
46046
46334
  this.setValueAfterPanelsCreating();
46047
46335
  this.setValueBasedOnPanelCount();
@@ -46089,8 +46377,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46089
46377
  : new QuestionPanelDynamicTemplateSurveyImpl(this));
46090
46378
  };
46091
46379
  QuestionPanelDynamicModel.prototype.setPanelsSurveyImpl = function () {
46092
- for (var i = 0; i < this.panels.length; i++) {
46093
- var panel = this.panels[i];
46380
+ for (var i = 0; i < this.panelsCore.length; i++) {
46381
+ var panel = this.panelsCore[i];
46094
46382
  if (panel == this.template)
46095
46383
  continue;
46096
46384
  panel.setSurveyImpl(panel.data);
@@ -46099,12 +46387,12 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46099
46387
  QuestionPanelDynamicModel.prototype.setPanelsState = function () {
46100
46388
  if (this.useTemplatePanel || this.renderMode != "list" || !this.templateTitle)
46101
46389
  return;
46102
- for (var i = 0; i < this.panels.length; i++) {
46390
+ for (var i = 0; i < this.panelsCore.length; i++) {
46103
46391
  var state = this.panelsState;
46104
46392
  if (state === "firstExpanded") {
46105
46393
  state = i === 0 ? "expanded" : "collapsed";
46106
46394
  }
46107
- this.panels[i].state = state;
46395
+ this.panelsCore[i].state = state;
46108
46396
  }
46109
46397
  };
46110
46398
  QuestionPanelDynamicModel.prototype.setValueBasedOnPanelCount = function () {
@@ -46388,8 +46676,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46388
46676
  if (!this.isVisible)
46389
46677
  return 0;
46390
46678
  var startIndex = this.showQuestionNumbers == "onSurvey" ? value : 0;
46391
- for (var i = 0; i < this.visiblePanels.length; i++) {
46392
- var counter = this.setPanelVisibleIndex(this.visiblePanels[i], startIndex, this.showQuestionNumbers != "off");
46679
+ for (var i = 0; i < this.visiblePanelsCore.length; i++) {
46680
+ var counter = this.setPanelVisibleIndex(this.visiblePanelsCore[i], startIndex, this.showQuestionNumbers != "off");
46393
46681
  if (this.showQuestionNumbers == "onSurvey") {
46394
46682
  startIndex += counter;
46395
46683
  }
@@ -46475,7 +46763,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46475
46763
  panels.push(this.createNewPanel());
46476
46764
  }
46477
46765
  }
46478
- (_a = this.panels).splice.apply(_a, __spreadArray([0, this.panels.length], panels));
46766
+ (_a = this.panelsCore).splice.apply(_a, __spreadArray([0, this.panelsCore.length], panels));
46479
46767
  this.setValueAfterPanelsCreating();
46480
46768
  this.setPanelsState();
46481
46769
  this.reRunCondition();
@@ -46547,7 +46835,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46547
46835
  return true;
46548
46836
  };
46549
46837
  QuestionPanelDynamicModel.prototype.getProgressInfo = function () {
46550
- return _survey_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElement"].getProgressInfoByElements(this.visiblePanels, this.isRequired);
46838
+ return _survey_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElement"].getProgressInfoByElements(this.visiblePanelsCore, this.isRequired);
46551
46839
  };
46552
46840
  QuestionPanelDynamicModel.prototype.isRowEmpty = function (val) {
46553
46841
  for (var prop in val) {
@@ -46597,7 +46885,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46597
46885
  }
46598
46886
  if (this.survey)
46599
46887
  this.survey.dynamicPanelAdded(this);
46600
- return this.panels[index];
46888
+ return this.panelsCore[index];
46601
46889
  };
46602
46890
  QuestionPanelDynamicModel.prototype.updateValueOnAddingPanel = function (prevIndex, index) {
46603
46891
  this.panelCount++;
@@ -46647,7 +46935,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46647
46935
  if (!this.canRemovePanel)
46648
46936
  return;
46649
46937
  if (this.isRequireConfirmOnDelete(value)) {
46650
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_9__["confirmActionAsync"])(this.confirmDeleteText, function () { _this.removePanel(value); });
46938
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_9__["confirmActionAsync"])(this.confirmDeleteText, function () { _this.removePanel(value); }, undefined, this.getLocale());
46651
46939
  }
46652
46940
  else {
46653
46941
  this.removePanel(value);
@@ -46659,7 +46947,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46659
46947
  var index = this.getVisualPanelIndex(val);
46660
46948
  if (index < 0 || index >= this.visiblePanelCount)
46661
46949
  return false;
46662
- var panelValue = this.visiblePanels[index].getValue();
46950
+ var panelValue = this.visiblePanelsCore[index].getValue();
46663
46951
  return !this.isValueEmpty(panelValue) &&
46664
46952
  (this.isValueEmpty(this.defaultPanelValue) || !this.isTwoValueEquals(panelValue, this.defaultPanelValue));
46665
46953
  };
@@ -46693,13 +46981,13 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46693
46981
  var visIndex = this.getVisualPanelIndex(value);
46694
46982
  if (visIndex < 0 || visIndex >= this.visiblePanelCount)
46695
46983
  return;
46696
- var panel = this.visiblePanels[visIndex];
46697
- var index = this.panels.indexOf(panel);
46984
+ var panel = this.visiblePanelsCore[visIndex];
46985
+ var index = this.panelsCore.indexOf(panel);
46698
46986
  if (index < 0)
46699
46987
  return;
46700
46988
  if (this.survey && !this.survey.dynamicPanelRemoving(this, index, panel))
46701
46989
  return;
46702
- this.panels.splice(index, 1);
46990
+ this.panelsCore.splice(index, 1);
46703
46991
  this.updateBindings("panelCount", this.panelCount);
46704
46992
  var value = this.value;
46705
46993
  if (!value || !Array.isArray(value) || index >= value.length)
@@ -46716,7 +47004,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46716
47004
  QuestionPanelDynamicModel.prototype.getVisualPanelIndex = function (val) {
46717
47005
  if (_helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].isNumber(val))
46718
47006
  return val;
46719
- var visPanels = this.visiblePanels;
47007
+ var visPanels = this.visiblePanelsCore;
46720
47008
  for (var i = 0; i < visPanels.length; i++) {
46721
47009
  if (visPanels[i] === val || visPanels[i].data === val)
46722
47010
  return i;
@@ -46724,15 +47012,15 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46724
47012
  return -1;
46725
47013
  };
46726
47014
  QuestionPanelDynamicModel.prototype.getPanelIndexById = function (id) {
46727
- for (var i = 0; i < this.panels.length; i++) {
46728
- if (this.panels[i].id === id)
47015
+ for (var i = 0; i < this.panelsCore.length; i++) {
47016
+ if (this.panelsCore[i].id === id)
46729
47017
  return i;
46730
47018
  }
46731
47019
  return -1;
46732
47020
  };
46733
47021
  QuestionPanelDynamicModel.prototype.locStrsChanged = function () {
46734
47022
  _super.prototype.locStrsChanged.call(this);
46735
- var panels = this.panels;
47023
+ var panels = this.panelsCore;
46736
47024
  for (var i = 0; i < panels.length; i++) {
46737
47025
  panels[i].locStrsChanged();
46738
47026
  }
@@ -46741,23 +47029,23 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46741
47029
  }
46742
47030
  };
46743
47031
  QuestionPanelDynamicModel.prototype.clearIncorrectValues = function () {
46744
- for (var i = 0; i < this.panels.length; i++) {
47032
+ for (var i = 0; i < this.panelsCore.length; i++) {
46745
47033
  this.clearIncorrectValuesInPanel(i);
46746
47034
  }
46747
47035
  };
46748
47036
  QuestionPanelDynamicModel.prototype.clearErrors = function () {
46749
47037
  _super.prototype.clearErrors.call(this);
46750
- for (var i = 0; i < this.panels.length; i++) {
46751
- this.panels[i].clearErrors();
47038
+ for (var i = 0; i < this.panelsCore.length; i++) {
47039
+ this.panelsCore[i].clearErrors();
46752
47040
  }
46753
47041
  };
46754
47042
  QuestionPanelDynamicModel.prototype.getQuestionFromArray = function (name, index) {
46755
- if (index >= this.panelCount)
47043
+ if (index < 0 || index >= this.panelsCore.length)
46756
47044
  return null;
46757
- return this.panels[index].getQuestionByName(name);
47045
+ return this.panelsCore[index].getQuestionByName(name);
46758
47046
  };
46759
47047
  QuestionPanelDynamicModel.prototype.clearIncorrectValuesInPanel = function (index) {
46760
- var panel = this.panels[index];
47048
+ var panel = this.panelsCore[index];
46761
47049
  panel.clearIncorrectValues();
46762
47050
  var val = this.value;
46763
47051
  var values = !!val && index < val.length ? val[index] : null;
@@ -46831,7 +47119,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46831
47119
  }
46832
47120
  };
46833
47121
  QuestionPanelDynamicModel.prototype.collectNestedQuestionsCore = function (questions, visibleOnly) {
46834
- var panels = visibleOnly ? this.visiblePanels : this.panels;
47122
+ var panels = visibleOnly ? this.visiblePanelsCore : this.panelsCore;
46835
47123
  if (!Array.isArray(panels))
46836
47124
  return;
46837
47125
  panels.forEach(function (panel) {
@@ -46857,8 +47145,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46857
47145
  QuestionPanelDynamicModel.prototype.onReadOnlyChanged = function () {
46858
47146
  var readOnly = this.isReadOnly;
46859
47147
  this.template.readOnly = readOnly;
46860
- for (var i = 0; i < this.panels.length; i++) {
46861
- this.panels[i].readOnly = readOnly;
47148
+ for (var i = 0; i < this.panelsCore.length; i++) {
47149
+ this.panelsCore[i].readOnly = readOnly;
46862
47150
  }
46863
47151
  this.updateNoEntriesTextDefaultLoc();
46864
47152
  this.updateFooterActions();
@@ -46874,6 +47162,17 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46874
47162
  QuestionPanelDynamicModel.prototype.onSurveyLoad = function () {
46875
47163
  this.template.readOnly = this.isReadOnly;
46876
47164
  this.template.onSurveyLoad();
47165
+ this.buildPanelsFirstTime();
47166
+ _super.prototype.onSurveyLoad.call(this);
47167
+ };
47168
+ QuestionPanelDynamicModel.prototype.buildPanelsFirstTime = function (force) {
47169
+ if (force === void 0) { force = false; }
47170
+ if (this.hasPanelBuildFirstTime)
47171
+ return;
47172
+ if (!force && this.wasNotRenderedInSurvey)
47173
+ return;
47174
+ this.hasPanelBuildFirstTime = true;
47175
+ this.isBuildingPanelsFirstTime = true;
46877
47176
  if (this.getPropertyValue("panelCount") > 0) {
46878
47177
  this.panelCount = this.getPropertyValue("panelCount");
46879
47178
  }
@@ -46893,28 +47192,43 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46893
47192
  this.updateNoEntriesTextDefaultLoc();
46894
47193
  }
46895
47194
  this.updateFooterActions();
46896
- _super.prototype.onSurveyLoad.call(this);
47195
+ this.isBuildingPanelsFirstTime = false;
46897
47196
  };
47197
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "wasNotRenderedInSurvey", {
47198
+ get: function () {
47199
+ return !this.hasPanelBuildFirstTime && !this.wasRendered && !!this.survey;
47200
+ },
47201
+ enumerable: false,
47202
+ configurable: true
47203
+ });
47204
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "canBuildPanels", {
47205
+ get: function () {
47206
+ return !this.isLoadingFromJson && !this.useTemplatePanel;
47207
+ },
47208
+ enumerable: false,
47209
+ configurable: true
47210
+ });
46898
47211
  QuestionPanelDynamicModel.prototype.onFirstRendering = function () {
47212
+ _super.prototype.onFirstRendering.call(this);
47213
+ this.buildPanelsFirstTime();
46899
47214
  this.template.onFirstRendering();
46900
- for (var i = 0; i < this.panels.length; i++) {
46901
- this.panels[i].onFirstRendering();
47215
+ for (var i = 0; i < this.panelsCore.length; i++) {
47216
+ this.panelsCore[i].onFirstRendering();
46902
47217
  }
46903
- _super.prototype.onFirstRendering.call(this);
46904
47218
  };
46905
47219
  QuestionPanelDynamicModel.prototype.localeChanged = function () {
46906
47220
  _super.prototype.localeChanged.call(this);
46907
- for (var i = 0; i < this.panels.length; i++) {
46908
- this.panels[i].localeChanged();
47221
+ for (var i = 0; i < this.panelsCore.length; i++) {
47222
+ this.panelsCore[i].localeChanged();
46909
47223
  }
46910
47224
  };
46911
47225
  QuestionPanelDynamicModel.prototype.runCondition = function (values, properties) {
46912
47226
  _super.prototype.runCondition.call(this, values, properties);
46913
- this.runPanelsCondition(this.panels, values, properties);
47227
+ this.runPanelsCondition(this.panelsCore, values, properties);
46914
47228
  };
46915
47229
  QuestionPanelDynamicModel.prototype.runTriggers = function (name, value) {
46916
47230
  _super.prototype.runTriggers.call(this, name, value);
46917
- this.visiblePanels.forEach(function (p) {
47231
+ this.visiblePanelsCore.forEach(function (p) {
46918
47232
  p.questions.forEach(function (q) { return q.runTriggers(name, value); });
46919
47233
  });
46920
47234
  };
@@ -46948,18 +47262,18 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46948
47262
  };
46949
47263
  QuestionPanelDynamicModel.prototype.onAnyValueChanged = function (name, questionName) {
46950
47264
  _super.prototype.onAnyValueChanged.call(this, name, questionName);
46951
- for (var i = 0; i < this.panels.length; i++) {
46952
- this.panels[i].onAnyValueChanged(name, questionName);
46953
- this.panels[i].onAnyValueChanged(QuestionPanelDynamicItem.ItemVariableName, "");
47265
+ for (var i = 0; i < this.panelsCore.length; i++) {
47266
+ this.panelsCore[i].onAnyValueChanged(name, questionName);
47267
+ this.panelsCore[i].onAnyValueChanged(QuestionPanelDynamicItem.ItemVariableName, "");
46954
47268
  }
46955
47269
  };
46956
47270
  QuestionPanelDynamicModel.prototype.hasKeysDuplicated = function (fireCallback, rec) {
46957
47271
  if (rec === void 0) { rec = null; }
46958
47272
  var keyValues = [];
46959
47273
  var res;
46960
- for (var i = 0; i < this.panels.length; i++) {
47274
+ for (var i = 0; i < this.panelsCore.length; i++) {
46961
47275
  res =
46962
- this.isValueDuplicated(this.panels[i], keyValues, rec, fireCallback) ||
47276
+ this.isValueDuplicated(this.panelsCore[i], keyValues, rec, fireCallback) ||
46963
47277
  res;
46964
47278
  }
46965
47279
  return res;
@@ -46976,7 +47290,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46976
47290
  QuestionPanelDynamicModel.prototype.hasErrors = function (fireCallback, rec) {
46977
47291
  if (fireCallback === void 0) { fireCallback = true; }
46978
47292
  if (rec === void 0) { rec = null; }
46979
- if (this.isValueChangingInternally)
47293
+ if (this.isValueChangingInternally || this.isBuildingPanelsFirstTime)
46980
47294
  return false;
46981
47295
  var res = false;
46982
47296
  if (!!this.changingValueQuestion) {
@@ -46993,7 +47307,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
46993
47307
  var res = _super.prototype.getContainsErrors.call(this);
46994
47308
  if (res)
46995
47309
  return res;
46996
- var panels = this.panels;
47310
+ var panels = this.panelsCore;
46997
47311
  for (var i = 0; i < panels.length; i++) {
46998
47312
  if (panels[i].containsErrors)
46999
47313
  return true;
@@ -47003,7 +47317,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
47003
47317
  QuestionPanelDynamicModel.prototype.getIsAnswered = function () {
47004
47318
  if (!_super.prototype.getIsAnswered.call(this))
47005
47319
  return false;
47006
- var panels = this.visiblePanels;
47320
+ var panels = this.visiblePanelsCore;
47007
47321
  for (var i = 0; i < panels.length; i++) {
47008
47322
  var visibleQuestions = [];
47009
47323
  panels[i].addQuestionsToList(visibleQuestions, true);
@@ -47029,8 +47343,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
47029
47343
  _super.prototype.clearValueIfInvisible.call(this, reason);
47030
47344
  };
47031
47345
  QuestionPanelDynamicModel.prototype.clearValueInPanelsIfInvisible = function (reason) {
47032
- for (var i = 0; i < this.panels.length; i++) {
47033
- var questions = this.panels[i].questions;
47346
+ for (var i = 0; i < this.panelsCore.length; i++) {
47347
+ var questions = this.panelsCore[i].questions;
47034
47348
  this.isSetPanelItemData = {};
47035
47349
  for (var j = 0; j < questions.length; j++) {
47036
47350
  var q = questions[j];
@@ -47043,8 +47357,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
47043
47357
  QuestionPanelDynamicModel.prototype.getIsRunningValidators = function () {
47044
47358
  if (_super.prototype.getIsRunningValidators.call(this))
47045
47359
  return true;
47046
- for (var i = 0; i < this.panels.length; i++) {
47047
- var questions = this.panels[i].questions;
47360
+ for (var i = 0; i < this.panelsCore.length; i++) {
47361
+ var questions = this.panelsCore[i].questions;
47048
47362
  for (var j = 0; j < questions.length; j++) {
47049
47363
  if (questions[j].isRunningValidators)
47050
47364
  return true;
@@ -47054,7 +47368,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
47054
47368
  };
47055
47369
  QuestionPanelDynamicModel.prototype.getAllErrors = function () {
47056
47370
  var result = _super.prototype.getAllErrors.call(this);
47057
- var panels = this.visiblePanels;
47371
+ var panels = this.visiblePanelsCore;
47058
47372
  for (var i = 0; i < panels.length; i++) {
47059
47373
  var questions = panels[i].questions;
47060
47374
  for (var j = 0; j < questions.length; j++) {
@@ -47070,7 +47384,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
47070
47384
  var values = this.getUnbindValue(value);
47071
47385
  if (!values || !Array.isArray(values))
47072
47386
  return values;
47073
- for (var i = 0; i < this.panels.length && i < values.length; i++) {
47387
+ for (var i = 0; i < this.panelsCore.length && i < values.length; i++) {
47074
47388
  var val = values[i];
47075
47389
  if (!val)
47076
47390
  continue;
@@ -47081,7 +47395,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
47081
47395
  QuestionPanelDynamicModel.prototype.getPanelDisplayValue = function (panelIndex, val, keysAsText) {
47082
47396
  if (!val)
47083
47397
  return val;
47084
- var panel = this.panels[panelIndex];
47398
+ var panel = this.panelsCore[panelIndex];
47085
47399
  var keys = Object.keys(val);
47086
47400
  for (var i = 0; i < keys.length; i++) {
47087
47401
  var key = keys[i];
@@ -47102,7 +47416,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
47102
47416
  };
47103
47417
  QuestionPanelDynamicModel.prototype.hasErrorInPanels = function (fireCallback, rec) {
47104
47418
  var res = false;
47105
- var panels = this.visiblePanels;
47419
+ var panels = this.visiblePanelsCore;
47106
47420
  var keyValues = [];
47107
47421
  for (var i = 0; i < panels.length; i++) {
47108
47422
  this.setOnCompleteAsyncInPanel(panels[i]);
@@ -47235,8 +47549,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
47235
47549
  return;
47236
47550
  _super.prototype.setQuestionValue.call(this, newValue, false);
47237
47551
  this.setPanelCountBasedOnValue();
47238
- for (var i = 0; i < this.panels.length; i++) {
47239
- this.panelUpdateValueFromSurvey(this.panels[i]);
47552
+ for (var i = 0; i < this.panelsCore.length; i++) {
47553
+ this.panelUpdateValueFromSurvey(this.panelsCore[i]);
47240
47554
  }
47241
47555
  this.updateIsAnswered();
47242
47556
  };
@@ -47244,8 +47558,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
47244
47558
  if (newValue === undefined && this.isAllPanelsEmpty())
47245
47559
  return;
47246
47560
  _super.prototype.onSurveyValueChanged.call(this, newValue);
47247
- for (var i = 0; i < this.panels.length; i++) {
47248
- this.panelSurveyValueChanged(this.panels[i]);
47561
+ for (var i = 0; i < this.panelsCore.length; i++) {
47562
+ this.panelSurveyValueChanged(this.panelsCore[i]);
47249
47563
  }
47250
47564
  if (newValue === undefined) {
47251
47565
  this.setValueBasedOnPanelCount();
@@ -47253,8 +47567,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
47253
47567
  this.updateIsReady();
47254
47568
  };
47255
47569
  QuestionPanelDynamicModel.prototype.isAllPanelsEmpty = function () {
47256
- for (var i = 0; i < this.panels.length; i++) {
47257
- if (!_helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].isValueEmpty(this.panels[i].getValue()))
47570
+ for (var i = 0; i < this.panelsCore.length; i++) {
47571
+ if (!_helpers__WEBPACK_IMPORTED_MODULE_0__["Helpers"].isValueEmpty(this.panelsCore[i].getValue()))
47258
47572
  return false;
47259
47573
  }
47260
47574
  return true;
@@ -47293,7 +47607,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
47293
47607
  return res > -1 ? res : this.items.length;
47294
47608
  };
47295
47609
  QuestionPanelDynamicModel.prototype.getVisibleItemIndex = function (item) {
47296
- var visPanels = this.visiblePanels;
47610
+ var visPanels = this.visiblePanelsCore;
47297
47611
  for (var i = 0; i < visPanels.length; i++) {
47298
47612
  if (visPanels[i].data === item)
47299
47613
  return i;
@@ -47341,8 +47655,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
47341
47655
  else {
47342
47656
  delete qValue[index][name];
47343
47657
  }
47344
- if (index >= 0 && index < this.panels.length) {
47345
- this.changingValueQuestion = this.panels[index].getQuestionByValueName(name);
47658
+ if (index >= 0 && index < this.panelsCore.length) {
47659
+ this.changingValueQuestion = this.panelsCore[index].getQuestionByValueName(name);
47346
47660
  }
47347
47661
  this.value = qValue;
47348
47662
  this.changingValueQuestion = null;
@@ -47396,8 +47710,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
47396
47710
  };
47397
47711
  QuestionPanelDynamicModel.prototype.updateElementCss = function (reNew) {
47398
47712
  _super.prototype.updateElementCss.call(this, reNew);
47399
- for (var i = 0; i < this.panels.length; i++) {
47400
- var el = this.panels[i];
47713
+ for (var i = 0; i < this.panelsCore.length; i++) {
47714
+ var el = this.panelsCore[i];
47401
47715
  el.updateElementCss(reNew);
47402
47716
  }
47403
47717
  };
@@ -47621,7 +47935,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
47621
47935
  return;
47622
47936
  if (this.currentIndex < 0 || this.currentIndex >= this.visiblePanelCount)
47623
47937
  return;
47624
- var panel = this.visiblePanels[this.currentIndex];
47938
+ var panel = this.visiblePanelsCore[this.currentIndex];
47625
47939
  this.additionalTitleToolbar.renderedActions.forEach(function (action) {
47626
47940
  var isActive = action.id === panel.id;
47627
47941
  action.pressed = isActive;
@@ -47637,9 +47951,9 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
47637
47951
  if (!this.isRenderModeTab)
47638
47952
  return;
47639
47953
  var items = [];
47640
- var visPanels = this.visiblePanels;
47954
+ var visPanels = this.visiblePanelsCore;
47641
47955
  var _loop_1 = function (i) {
47642
- this_1.visiblePanels.forEach(function (panel) { return items.push(_this.createTabByPanel(visPanels[i], i)); });
47956
+ this_1.visiblePanelsCore.forEach(function (panel) { return items.push(_this.createTabByPanel(visPanels[i], i)); });
47643
47957
  };
47644
47958
  var this_1 = this;
47645
47959
  for (var i = 0; i < visPanels.length; i++) {
@@ -47882,7 +48196,7 @@ var QuestionRadiogroupModel = /** @class */ (function (_super) {
47882
48196
  configurable: true
47883
48197
  });
47884
48198
  QuestionRadiogroupModel.prototype.supportGoNextPageAutomatic = function () {
47885
- return this.isMouseDown === true;
48199
+ return this.isMouseDown === true && !this.isOtherSelected;
47886
48200
  };
47887
48201
  QuestionRadiogroupModel.prototype.setNewComment = function (newValue) {
47888
48202
  this.isMouseDown = true;
@@ -48010,8 +48324,11 @@ var QuestionRankingModel = /** @class */ (function (_super) {
48010
48324
  _this.domNode = null;
48011
48325
  _this.onVisibleChoicesChanged = function () {
48012
48326
  _super.prototype.onVisibleChoicesChanged.call(_this);
48327
+ if (_this.carryForwardStartUnranked && !_this.isValueSetByUser && !_this.selectToRankEnabled) {
48328
+ _this.value = [];
48329
+ }
48013
48330
  // ranking question with only one choice doesn't make sense
48014
- if (_this.visibleChoices.length === 1) {
48331
+ if (_this.visibleChoices.length === 1 && !_this.selectToRankEnabled) {
48015
48332
  _this.value = [];
48016
48333
  _this.value.push(_this.visibleChoices[0].value);
48017
48334
  _this.updateRankingChoices();
@@ -48084,12 +48401,14 @@ var QuestionRankingModel = /** @class */ (function (_super) {
48084
48401
  itemsNodes[index].focus();
48085
48402
  }
48086
48403
  };
48404
+ _this.isValueSetByUser = false;
48087
48405
  _this.setValue = function () {
48088
48406
  var value = [];
48089
48407
  _this.rankingChoices.forEach(function (choice) {
48090
48408
  value.push(choice.value);
48091
48409
  });
48092
48410
  _this.value = value;
48411
+ _this.isValueSetByUser = true;
48093
48412
  };
48094
48413
  _this.createNewArray("rankingChoices");
48095
48414
  _this.registerFunctionOnPropertyValueChanged("selectToRankEnabled", function () {
@@ -48110,6 +48429,9 @@ var QuestionRankingModel = /** @class */ (function (_super) {
48110
48429
  return undefined;
48111
48430
  return 0;
48112
48431
  };
48432
+ QuestionRankingModel.prototype.supportContainerQueries = function () {
48433
+ return this.selectToRankEnabled;
48434
+ };
48113
48435
  Object.defineProperty(QuestionRankingModel.prototype, "rootClass", {
48114
48436
  get: function () {
48115
48437
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_6__["CssClassBuilder"]()
@@ -48519,6 +48841,9 @@ var QuestionRankingModel = /** @class */ (function (_super) {
48519
48841
  __decorate([
48520
48842
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_3__["property"])({ defaultValue: null })
48521
48843
  ], QuestionRankingModel.prototype, "dropTargetNodeMove", void 0);
48844
+ __decorate([
48845
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_3__["property"])({ defaultValue: true })
48846
+ ], QuestionRankingModel.prototype, "carryForwardStartUnranked", void 0);
48522
48847
  __decorate([
48523
48848
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_3__["property"])({ localizable: { defaultStr: "selectToRankEmptyRankedAreaText" } })
48524
48849
  ], QuestionRankingModel.prototype, "selectToRankEmptyRankedAreaText", void 0);
@@ -51140,8 +51465,10 @@ var QuestionTextModel = /** @class */ (function (_super) {
51140
51465
  return !this.isReadOnly && this.inputType !== "range";
51141
51466
  };
51142
51467
  QuestionTextModel.prototype.getControlCssClassBuilder = function () {
51468
+ var maxLength = this.getMaxLength();
51143
51469
  return _super.prototype.getControlCssClassBuilder.call(this)
51144
- .append(this.cssClasses.constrolWithCharacterCounter, !!this.getMaxLength());
51470
+ .append(this.cssClasses.constrolWithCharacterCounter, !!maxLength)
51471
+ .append(this.cssClasses.characterCounterBig, maxLength > 99);
51145
51472
  };
51146
51473
  QuestionTextModel.prototype.isReadOnlyRenderDiv = function () {
51147
51474
  return this.isReadOnly && _settings__WEBPACK_IMPORTED_MODULE_6__["settings"].readOnly.textRenderMode === "div";
@@ -52325,8 +52652,8 @@ var settings = {
52325
52652
  * @param message A message to be displayed in the confirm dialog window.
52326
52653
  * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.
52327
52654
  */
52328
- confirmActionAsync: function (message, callback, applyTitle) {
52329
- return Object(_utils_utils__WEBPACK_IMPORTED_MODULE_0__["showConfirmDialog"])(message, callback, applyTitle);
52655
+ confirmActionAsync: function (message, callback, applyTitle, locale) {
52656
+ return Object(_utils_utils__WEBPACK_IMPORTED_MODULE_0__["showConfirmDialog"])(message, callback, applyTitle, locale);
52330
52657
  },
52331
52658
  /**
52332
52659
  * A minimum width value for all survey elements.
@@ -53784,7 +54111,13 @@ var SurveyElement = /** @class */ (function (_super) {
53784
54111
  });
53785
54112
  SurveyElement.prototype.updateCustomWidgets = function () { };
53786
54113
  SurveyElement.prototype.onSurveyLoad = function () { };
54114
+ Object.defineProperty(SurveyElement.prototype, "wasRendered", {
54115
+ get: function () { return !!this.wasRenderedValue; },
54116
+ enumerable: false,
54117
+ configurable: true
54118
+ });
53787
54119
  SurveyElement.prototype.onFirstRendering = function () {
54120
+ this.wasRenderedValue = true;
53788
54121
  this.ensureCssClassesValue();
53789
54122
  };
53790
54123
  SurveyElement.prototype.endLoadingFromJson = function () {
@@ -54264,7 +54597,7 @@ var SurveyError = /** @class */ (function () {
54264
54597
  this.visible = true;
54265
54598
  this.onUpdateErrorTextCallback = undefined;
54266
54599
  }
54267
- SurveyError.prototype.equalsTo = function (error) {
54600
+ SurveyError.prototype.equals = function (error) {
54268
54601
  if (!error || !error.getErrorType)
54269
54602
  return false;
54270
54603
  if (this.getErrorType() !== error.getErrorType())
@@ -54364,6 +54697,7 @@ __webpack_require__.r(__webpack_exports__);
54364
54697
  /* harmony import */ var _header__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./header */ "./src/header.ts");
54365
54698
  /* harmony import */ var _surveytimer__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./surveytimer */ "./src/surveytimer.ts");
54366
54699
  /* harmony import */ var _surveyTaskManager__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./surveyTaskManager */ "./src/surveyTaskManager.ts");
54700
+ /* harmony import */ var _surveyToc__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./surveyToc */ "./src/surveyToc.ts");
54367
54701
  var __extends = (undefined && undefined.__extends) || (function () {
54368
54702
  var extendStatics = function (d, b) {
54369
54703
  extendStatics = Object.setPrototypeOf ||
@@ -54406,6 +54740,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
54406
54740
 
54407
54741
 
54408
54742
 
54743
+
54409
54744
 
54410
54745
 
54411
54746
  /**
@@ -55279,8 +55614,8 @@ var SurveyModel = /** @class */ (function (_super) {
55279
55614
  });
55280
55615
  _this.addLayoutElement({
55281
55616
  id: "toc-navigation",
55282
- component: "sv-progress-toc",
55283
- data: _this
55617
+ component: "sv-navigation-toc",
55618
+ data: new _surveyToc__WEBPACK_IMPORTED_MODULE_23__["TOCModel"](_this)
55284
55619
  });
55285
55620
  _this.layoutElements.push({
55286
55621
  id: "navigationbuttons",
@@ -56325,6 +56660,8 @@ var SurveyModel = /** @class */ (function (_super) {
56325
56660
  return this.locale;
56326
56661
  };
56327
56662
  SurveyModel.prototype.locStrsChanged = function () {
56663
+ if (this.isClearingUnsedValues)
56664
+ return;
56328
56665
  _super.prototype.locStrsChanged.call(this);
56329
56666
  if (!this.currentPage)
56330
56667
  return;
@@ -57879,11 +58216,11 @@ var SurveyModel = /** @class */ (function (_super) {
57879
58216
  if (this.isDesignMode)
57880
58217
  return false;
57881
58218
  var index = this.visiblePages.indexOf(page);
57882
- if (index < 0)
58219
+ if (index < 0 || index >= this.visiblePageCount)
57883
58220
  return false;
57884
58221
  if (index === this.currentPageNo)
57885
58222
  return false;
57886
- if (index < this.currentPageNo) {
58223
+ if (index < this.currentPageNo || this.isValidateOnComplete) {
57887
58224
  this.currentPageNo = index;
57888
58225
  return true;
57889
58226
  }
@@ -60000,7 +60337,7 @@ var SurveyModel = /** @class */ (function (_super) {
60000
60337
  }
60001
60338
  };
60002
60339
  /**
60003
- * Uploads a file to server.
60340
+ * Uploads files to a server.
60004
60341
  *
60005
60342
  * The following code shows how to call this method:
60006
60343
  *
@@ -61097,11 +61434,13 @@ var SurveyModel = /** @class */ (function (_super) {
61097
61434
  return name.substring(0, pos);
61098
61435
  };
61099
61436
  SurveyModel.prototype.clearUnusedValues = function () {
61437
+ this.isClearingUnsedValues = true;
61100
61438
  var questions = this.getAllQuestions();
61101
61439
  for (var i = 0; i < questions.length; i++) {
61102
61440
  questions[i].clearUnusedValues();
61103
61441
  }
61104
61442
  this.clearInvisibleQuestionValues();
61443
+ this.isClearingUnsedValues = false;
61105
61444
  };
61106
61445
  SurveyModel.prototype.hasVisibleQuestionByValueName = function (valueName) {
61107
61446
  var questions = this.getQuestionsByValueName(valueName);
@@ -62288,8 +62627,12 @@ var SurveyModel = /** @class */ (function (_super) {
62288
62627
  this.layoutElements.push(layoutElement);
62289
62628
  return existingLayoutElement;
62290
62629
  };
62291
- SurveyModel.prototype.removeLayoutElement = function (layoutElementId) {
62630
+ SurveyModel.prototype.findLayoutElement = function (layoutElementId) {
62292
62631
  var layoutElement = this.layoutElements.filter(function (a) { return a.id === layoutElementId; })[0];
62632
+ return layoutElement;
62633
+ };
62634
+ SurveyModel.prototype.removeLayoutElement = function (layoutElementId) {
62635
+ var layoutElement = this.findLayoutElement(layoutElementId);
62293
62636
  if (!!layoutElement) {
62294
62637
  var layoutElementIndex = this.layoutElements.indexOf(layoutElement);
62295
62638
  this.layoutElements.splice(layoutElementIndex, 1);
@@ -62313,7 +62656,7 @@ var SurveyModel = /** @class */ (function (_super) {
62313
62656
  }
62314
62657
  }
62315
62658
  else if (this.state === "running" && isStrCiEqual(layoutElement.id, "progress-" + this.progressBarType)) {
62316
- var headerLayoutElement = this.layoutElements.filter(function (a) { return a.id === "advanced-header"; })[0];
62659
+ var headerLayoutElement = this.findLayoutElement("advanced-header");
62317
62660
  var advHeader = headerLayoutElement && headerLayoutElement.data;
62318
62661
  var isBelowHeader = !advHeader || advHeader.hasBackground;
62319
62662
  if (container === "header" && !isBelowHeader) {
@@ -62415,6 +62758,14 @@ var SurveyModel = /** @class */ (function (_super) {
62415
62758
  this.removeScrollEventListener();
62416
62759
  this.destroyResizeObserver();
62417
62760
  this.rootElement = undefined;
62761
+ if (this.layoutElements) {
62762
+ for (var i = 0; i < this.layoutElements.length; i++) {
62763
+ if (!!this.layoutElements[i].data && this.layoutElements[i].data !== this && this.layoutElements[i].data.dispose) {
62764
+ this.layoutElements[i].data.dispose();
62765
+ }
62766
+ }
62767
+ this.layoutElements.splice(0, this.layoutElements.length);
62768
+ }
62418
62769
  _super.prototype.dispose.call(this);
62419
62770
  this.editingObj = null;
62420
62771
  if (!this.pages)
@@ -62480,7 +62831,7 @@ var SurveyModel = /** @class */ (function (_super) {
62480
62831
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({
62481
62832
  onSet: function (newValue, target) {
62482
62833
  if (newValue === "advanced") {
62483
- var layoutElement = target.layoutElements.filter(function (a) { return a.id === "advanced-header"; })[0];
62834
+ var layoutElement = target.findLayoutElement("advanced-header");
62484
62835
  if (!layoutElement) {
62485
62836
  var advHeader = new _header__WEBPACK_IMPORTED_MODULE_20__["Cover"]();
62486
62837
  advHeader.logoPositionX = target.logoPosition === "right" ? "right" : "left";
@@ -62716,7 +63067,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
62716
63067
  {
62717
63068
  name: "checkErrorsMode",
62718
63069
  default: "onNextPage",
62719
- choices: ["onNextPage", "onValueChanged", "onValueChanging", "onComplete"],
63070
+ choices: ["onNextPage", "onValueChanged", "onComplete"],
62720
63071
  },
62721
63072
  {
62722
63073
  name: "textUpdateMode",
@@ -63336,12 +63687,12 @@ function createTOCListModel(survey, onAction) {
63336
63687
  if (!!item.action()) {
63337
63688
  listModel.selectedItem = item;
63338
63689
  }
63339
- }, true, items.filter(function (i) { return i.id === survey.currentPage.name; })[0] || items.filter(function (i) { return i.id === pagesSource[0].name; })[0]);
63690
+ }, true, items.filter(function (i) { return !!survey.currentPage && i.id === survey.currentPage.name; })[0] || items.filter(function (i) { return i.id === pagesSource[0].name; })[0]);
63340
63691
  listModel.allowSelection = false;
63341
63692
  listModel.locOwner = survey;
63342
63693
  listModel.searchEnabled = false;
63343
63694
  survey.onCurrentPageChanged.add(function (s, o) {
63344
- listModel.selectedItem = items.filter(function (i) { return i.id === survey.currentPage.name; })[0];
63695
+ listModel.selectedItem = items.filter(function (i) { return !!survey.currentPage && i.id === survey.currentPage.name; })[0];
63345
63696
  });
63346
63697
  return listModel;
63347
63698
  }
@@ -63946,6 +64297,13 @@ var Trigger = /** @class */ (function (_super) {
63946
64297
  }
63947
64298
  return res;
63948
64299
  };
64300
+ Object.defineProperty(Trigger.prototype, "isInternal", {
64301
+ get: function () {
64302
+ return this.isGhost === true;
64303
+ },
64304
+ enumerable: false,
64305
+ configurable: true
64306
+ });
63949
64307
  Object.defineProperty(Trigger.prototype, "operator", {
63950
64308
  get: function () {
63951
64309
  return this.getPropertyValue("operator", "equal");
@@ -64882,8 +65240,11 @@ var PopupUtils = /** @class */ (function () {
64882
65240
  }
64883
65241
  return { left: Math.round(currentLeft), top: Math.round(currentTop) };
64884
65242
  };
64885
- PopupUtils.getCorrectedVerticalDimensions = function (top, height, windowHeight) {
64886
- var result = { height: height, top: top };
65243
+ PopupUtils.getCorrectedVerticalDimensions = function (top, height, windowHeight, verticalPosition) {
65244
+ var result;
65245
+ if (verticalPosition === "top") {
65246
+ result = { height: height, top: top };
65247
+ }
64887
65248
  if (top < 0) {
64888
65249
  result = { height: height + top, top: 0 };
64889
65250
  }
@@ -65261,7 +65622,7 @@ function confirmAction(message) {
65261
65622
  return _settings__WEBPACK_IMPORTED_MODULE_1__["settings"].confirmActionFunc(message);
65262
65623
  return confirm(message);
65263
65624
  }
65264
- function confirmActionAsync(message, funcOnYes, funcOnNo) {
65625
+ function confirmActionAsync(message, funcOnYes, funcOnNo, locale) {
65265
65626
  var callbackFunc = function (res) {
65266
65627
  if (res)
65267
65628
  funcOnYes();
@@ -65269,7 +65630,7 @@ function confirmActionAsync(message, funcOnYes, funcOnNo) {
65269
65630
  funcOnNo();
65270
65631
  };
65271
65632
  if (!!_settings__WEBPACK_IMPORTED_MODULE_1__["settings"] && !!_settings__WEBPACK_IMPORTED_MODULE_1__["settings"].confirmActionAsync) {
65272
- if (_settings__WEBPACK_IMPORTED_MODULE_1__["settings"].confirmActionAsync(message, callbackFunc))
65633
+ if (_settings__WEBPACK_IMPORTED_MODULE_1__["settings"].confirmActionAsync(message, callbackFunc, undefined, locale))
65273
65634
  return;
65274
65635
  }
65275
65636
  callbackFunc(confirmAction(message));
@@ -65376,7 +65737,7 @@ function scrollElementByChildId(id) {
65376
65737
  return;
65377
65738
  var scrollableEl = findScrollableParent(el);
65378
65739
  if (!!scrollableEl) {
65379
- scrollableEl.dispatchEvent(new CustomEvent("scroll"));
65740
+ setTimeout(function () { return scrollableEl.dispatchEvent(new CustomEvent("scroll")); }, 10);
65380
65741
  }
65381
65742
  }
65382
65743
  function navigateToUrl(url) {
@@ -65618,7 +65979,7 @@ var Logger = /** @class */ (function () {
65618
65979
  return Logger;
65619
65980
  }());
65620
65981
 
65621
- function showConfirmDialog(message, callback, applyTitle) {
65982
+ function showConfirmDialog(message, callback, applyTitle, locale) {
65622
65983
  var locStr = new _localizablestring__WEBPACK_IMPORTED_MODULE_0__["LocalizableString"](undefined);
65623
65984
  var popupViewModel = _settings__WEBPACK_IMPORTED_MODULE_1__["settings"].showDialog({
65624
65985
  componentName: "sv-string-viewer",
@@ -65639,9 +66000,9 @@ function showConfirmDialog(message, callback, applyTitle) {
65639
66000
  var toolbar = popupViewModel.footerToolbar;
65640
66001
  var applyBtn = toolbar.getActionById("apply");
65641
66002
  var cancelBtn = toolbar.getActionById("cancel");
65642
- cancelBtn.title = _surveyStrings__WEBPACK_IMPORTED_MODULE_2__["surveyLocalization"].getString("cancel");
66003
+ cancelBtn.title = _surveyStrings__WEBPACK_IMPORTED_MODULE_2__["surveyLocalization"].getString("cancel", locale);
65643
66004
  cancelBtn.innerCss = "sv-popup__body-footer-item sv-popup__button sd-btn sd-btn--small";
65644
- applyBtn.title = applyTitle || _surveyStrings__WEBPACK_IMPORTED_MODULE_2__["surveyLocalization"].getString("ok");
66005
+ applyBtn.title = applyTitle || _surveyStrings__WEBPACK_IMPORTED_MODULE_2__["surveyLocalization"].getString("ok", locale);
65645
66006
  applyBtn.innerCss = "sv-popup__body-footer-item sv-popup__button sv-popup__button--danger sd-btn sd-btn--small sd-btn--danger";
65646
66007
  popupViewModel.width = "452px";
65647
66008
  return true;