survey-core 1.9.118 → 1.9.119

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/defaultV2.css +112 -39
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +112 -39
  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 +2 -1
  24. package/i18n/english.js.map +1 -1
  25. package/i18n/english.min.js +2 -2
  26. package/i18n/estonian.js +1 -1
  27. package/i18n/estonian.min.js +1 -1
  28. package/i18n/finnish.js +1 -1
  29. package/i18n/finnish.min.js +1 -1
  30. package/i18n/french.js +1 -1
  31. package/i18n/french.min.js +1 -1
  32. package/i18n/georgian.js +1 -1
  33. package/i18n/georgian.min.js +1 -1
  34. package/i18n/german.js +1 -1
  35. package/i18n/german.min.js +1 -1
  36. package/i18n/greek.js +1 -1
  37. package/i18n/greek.min.js +1 -1
  38. package/i18n/hebrew.js +1 -1
  39. package/i18n/hebrew.min.js +1 -1
  40. package/i18n/hindi.js +1 -1
  41. package/i18n/hindi.min.js +1 -1
  42. package/i18n/hungarian.js +1 -1
  43. package/i18n/hungarian.min.js +1 -1
  44. package/i18n/icelandic.js +1 -1
  45. package/i18n/icelandic.min.js +1 -1
  46. package/i18n/index.js +1 -1
  47. package/i18n/index.min.js +1 -1
  48. package/i18n/indonesian.js +1 -1
  49. package/i18n/indonesian.min.js +1 -1
  50. package/i18n/italian.js +1 -1
  51. package/i18n/italian.min.js +1 -1
  52. package/i18n/japanese.js +1 -1
  53. package/i18n/japanese.min.js +1 -1
  54. package/i18n/kazakh.js +1 -1
  55. package/i18n/kazakh.min.js +1 -1
  56. package/i18n/korean.js +1 -1
  57. package/i18n/korean.min.js +1 -1
  58. package/i18n/latvian.js +1 -1
  59. package/i18n/latvian.min.js +1 -1
  60. package/i18n/lithuanian.js +1 -1
  61. package/i18n/lithuanian.min.js +1 -1
  62. package/i18n/macedonian.js +1 -1
  63. package/i18n/macedonian.min.js +1 -1
  64. package/i18n/malay.js +1 -1
  65. package/i18n/malay.min.js +1 -1
  66. package/i18n/nl-BE.js +1 -1
  67. package/i18n/nl-BE.min.js +1 -1
  68. package/i18n/norwegian.js +1 -1
  69. package/i18n/norwegian.min.js +1 -1
  70. package/i18n/persian.js +1 -1
  71. package/i18n/persian.min.js +1 -1
  72. package/i18n/polish.js +1 -1
  73. package/i18n/polish.min.js +1 -1
  74. package/i18n/portuguese-br.js +1 -1
  75. package/i18n/portuguese-br.min.js +1 -1
  76. package/i18n/portuguese.js +1 -1
  77. package/i18n/portuguese.min.js +1 -1
  78. package/i18n/romanian.js +1 -1
  79. package/i18n/romanian.min.js +1 -1
  80. package/i18n/russian.js +1 -1
  81. package/i18n/russian.min.js +1 -1
  82. package/i18n/serbian.js +1 -1
  83. package/i18n/serbian.min.js +1 -1
  84. package/i18n/simplified-chinese.js +1 -1
  85. package/i18n/simplified-chinese.min.js +1 -1
  86. package/i18n/slovak.js +1 -1
  87. package/i18n/slovak.min.js +1 -1
  88. package/i18n/spanish.js +1 -1
  89. package/i18n/spanish.min.js +1 -1
  90. package/i18n/swahili.js +1 -1
  91. package/i18n/swahili.min.js +1 -1
  92. package/i18n/swedish.js +1 -1
  93. package/i18n/swedish.min.js +1 -1
  94. package/i18n/tajik.js +1 -1
  95. package/i18n/tajik.min.js +1 -1
  96. package/i18n/telugu.js +1 -1
  97. package/i18n/telugu.min.js +1 -1
  98. package/i18n/thai.js +1 -1
  99. package/i18n/thai.min.js +1 -1
  100. package/i18n/traditional-chinese.js +1 -1
  101. package/i18n/traditional-chinese.min.js +1 -1
  102. package/i18n/turkish.js +1 -1
  103. package/i18n/turkish.min.js +1 -1
  104. package/i18n/ukrainian.js +1 -1
  105. package/i18n/ukrainian.min.js +1 -1
  106. package/i18n/urdu.js +1 -1
  107. package/i18n/urdu.min.js +1 -1
  108. package/i18n/vietnamese.js +1 -1
  109. package/i18n/vietnamese.min.js +1 -1
  110. package/i18n/welsh.js +1 -1
  111. package/i18n/welsh.min.js +1 -1
  112. package/modern.css +1 -1
  113. package/modern.css.map +1 -1
  114. package/modern.fontless.css +1 -1
  115. package/modern.fontless.css.map +1 -1
  116. package/modern.fontless.min.css +1 -1
  117. package/modern.min.css +1 -1
  118. package/package.json +1 -1
  119. package/plugins/bootstrap-integration.js +1 -1
  120. package/plugins/bootstrap-integration.min.js +1 -1
  121. package/plugins/bootstrap-material-integration.js +1 -1
  122. package/plugins/bootstrap-material-integration.min.js +1 -1
  123. package/survey.core.js +208 -89
  124. package/survey.core.js.map +1 -1
  125. package/survey.core.min.js +3 -3
  126. package/survey.css +1 -1
  127. package/survey.css.map +1 -1
  128. package/survey.i18n.js +1 -1
  129. package/survey.i18n.min.js +1 -1
  130. package/survey.min.css +1 -1
  131. package/themes/borderless-dark-panelless.js +1 -1
  132. package/themes/borderless-dark-panelless.min.js +1 -1
  133. package/themes/borderless-dark.js +1 -1
  134. package/themes/borderless-dark.min.js +1 -1
  135. package/themes/borderless-light-panelless..js +1 -1
  136. package/themes/borderless-light-panelless..min.js +1 -1
  137. package/themes/borderless-light.js +1 -1
  138. package/themes/borderless-light.min.js +1 -1
  139. package/themes/contrast-dark-panelless.js +1 -1
  140. package/themes/contrast-dark-panelless.min.js +1 -1
  141. package/themes/contrast-dark.js +1 -1
  142. package/themes/contrast-dark.min.js +1 -1
  143. package/themes/contrast-light-panelless.js +1 -1
  144. package/themes/contrast-light-panelless.min.js +1 -1
  145. package/themes/contrast-light.js +1 -1
  146. package/themes/contrast-light.min.js +1 -1
  147. package/themes/default-dark-panelless.js +1 -1
  148. package/themes/default-dark-panelless.min.js +1 -1
  149. package/themes/default-dark.js +1 -1
  150. package/themes/default-dark.min.js +1 -1
  151. package/themes/default-light-panelless.js +1 -1
  152. package/themes/default-light-panelless.min.js +1 -1
  153. package/themes/default-light.js +1 -1
  154. package/themes/default-light.min.js +1 -1
  155. package/themes/doubleborder-dark-panelless.js +1 -1
  156. package/themes/doubleborder-dark-panelless.min.js +1 -1
  157. package/themes/doubleborder-dark.js +1 -1
  158. package/themes/doubleborder-dark.min.js +1 -1
  159. package/themes/doubleborder-light-panelles.js +1 -1
  160. package/themes/doubleborder-light-panelles.min.js +1 -1
  161. package/themes/doubleborder-light.js +1 -1
  162. package/themes/doubleborder-light.min.js +1 -1
  163. package/themes/flat-dark-panelless.js +1 -1
  164. package/themes/flat-dark-panelless.min.js +1 -1
  165. package/themes/flat-dark.js +1 -1
  166. package/themes/flat-dark.min.js +1 -1
  167. package/themes/flat-light-panelless.js +1 -1
  168. package/themes/flat-light-panelless.min.js +1 -1
  169. package/themes/flat-light.js +1 -1
  170. package/themes/flat-light.min.js +1 -1
  171. package/themes/index.js +1 -1
  172. package/themes/index.min.js +1 -1
  173. package/themes/layered-dark-panelless.js +1 -1
  174. package/themes/layered-dark-panelless.min.js +1 -1
  175. package/themes/layered-dark.js +1 -1
  176. package/themes/layered-dark.min.js +1 -1
  177. package/themes/layered-light-panelless.js +1 -1
  178. package/themes/layered-light-panelless.min.js +1 -1
  179. package/themes/layered-light.js +1 -1
  180. package/themes/layered-light.min.js +1 -1
  181. package/themes/plain-dark-panelless.js +1 -1
  182. package/themes/plain-dark-panelless.min.js +1 -1
  183. package/themes/plain-dark.js +1 -1
  184. package/themes/plain-dark.min.js +1 -1
  185. package/themes/plain-light-panelless.js +1 -1
  186. package/themes/plain-light-panelless.min.js +1 -1
  187. package/themes/plain-light.js +1 -1
  188. package/themes/plain-light.min.js +1 -1
  189. package/themes/sharp-dark-panelless.js +1 -1
  190. package/themes/sharp-dark-panelless.min.js +1 -1
  191. package/themes/sharp-dark.js +1 -1
  192. package/themes/sharp-dark.min.js +1 -1
  193. package/themes/sharp-light-panelless.js +1 -1
  194. package/themes/sharp-light-panelless.min.js +1 -1
  195. package/themes/sharp-light.js +1 -1
  196. package/themes/sharp-light.min.js +1 -1
  197. package/themes/solid-dark-panelless.js +1 -1
  198. package/themes/solid-dark-panelless.min.js +1 -1
  199. package/themes/solid-dark.js +1 -1
  200. package/themes/solid-dark.min.js +1 -1
  201. package/themes/solid-light-panelless.js +1 -1
  202. package/themes/solid-light-panelless.min.js +1 -1
  203. package/themes/solid-light.js +1 -1
  204. package/themes/solid-light.min.js +1 -1
  205. package/themes/three-dimensional-dark-panelless.js +1 -1
  206. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  207. package/themes/three-dimensional-dark.js +1 -1
  208. package/themes/three-dimensional-dark.min.js +1 -1
  209. package/themes/three-dimensional-light-panelless.js +1 -1
  210. package/themes/three-dimensional-light-panelless.min.js +1 -1
  211. package/themes/three-dimensional-light.js +1 -1
  212. package/themes/three-dimensional-light.min.js +1 -1
  213. package/ts3.4/typings/base-interfaces.d.ts +2 -1
  214. package/ts3.4/typings/conditionProcessValue.d.ts +1 -0
  215. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +8 -3
  216. package/ts3.4/typings/localization/english.d.ts +1 -0
  217. package/ts3.4/typings/page.d.ts +1 -0
  218. package/ts3.4/typings/panel.d.ts +4 -1
  219. package/ts3.4/typings/question.d.ts +2 -0
  220. package/ts3.4/typings/question_ranking.d.ts +6 -0
  221. package/ts3.4/typings/question_rating.d.ts +1 -0
  222. package/ts3.4/typings/survey-events-api.d.ts +2 -2
  223. package/ts3.4/typings/survey.d.ts +34 -10
  224. package/ts3.4/typings/surveyStrings.d.ts +1 -0
  225. package/ts3.4/typings/themes.d.ts +2 -2
  226. package/typings/base-interfaces.d.ts +2 -1
  227. package/typings/conditionProcessValue.d.ts +1 -0
  228. package/typings/defaultCss/defaultV2Css.d.ts +8 -3
  229. package/typings/localization/english.d.ts +1 -0
  230. package/typings/page.d.ts +1 -0
  231. package/typings/panel.d.ts +4 -1
  232. package/typings/question.d.ts +2 -0
  233. package/typings/question_ranking.d.ts +6 -0
  234. package/typings/question_rating.d.ts +1 -0
  235. package/typings/survey-events-api.d.ts +2 -2
  236. package/typings/survey.d.ts +35 -10
  237. package/typings/surveyStrings.d.ts +1 -0
  238. package/typings/themes.d.ts +2 -2
package/survey.core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.118
2
+ * surveyjs - Survey JavaScript library v1.9.119
3
3
  * Copyright (c) 2015-2023 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -2137,7 +2137,7 @@ var Base = /** @class */ (function () {
2137
2137
  Base.prototype.resetPropertyValue = function (name) {
2138
2138
  var locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;
2139
2139
  if (locStr) {
2140
- locStr.clearLocale();
2140
+ locStr.clear();
2141
2141
  }
2142
2142
  else {
2143
2143
  this.setPropertyValue(name, undefined);
@@ -3969,7 +3969,20 @@ var ProcessValue = /** @class */ (function () {
3969
3969
  return res;
3970
3970
  };
3971
3971
  ProcessValue.prototype.getNonNestedObject = function (obj, text, createPath) {
3972
- var curName = this.getFirstPropertyName(text, obj, createPath);
3972
+ var checkedKeys = new Array();
3973
+ var len = 0;
3974
+ var res = this.getNonNestedObjectCore(obj, text, createPath, checkedKeys);
3975
+ while (!res && len < checkedKeys.length) {
3976
+ len = checkedKeys.length;
3977
+ res = this.getNonNestedObjectCore(obj, text, createPath, checkedKeys);
3978
+ }
3979
+ return res;
3980
+ };
3981
+ ProcessValue.prototype.getNonNestedObjectCore = function (obj, text, createPath, checkedKeys) {
3982
+ var curName = this.getFirstPropertyName(text, obj, createPath, checkedKeys);
3983
+ if (!!curName) {
3984
+ checkedKeys.push(curName);
3985
+ }
3973
3986
  var path = !!curName ? [curName] : null;
3974
3987
  while (text != curName && !!obj) {
3975
3988
  var isArray = text[0] == "[";
@@ -3992,7 +4005,7 @@ var ProcessValue = /** @class */ (function () {
3992
4005
  if (!!text && text[0] == ".") {
3993
4006
  text = text.substring(1);
3994
4007
  }
3995
- curName = this.getFirstPropertyName(text, obj, createPath);
4008
+ curName = this.getFirstPropertyName(text, obj, createPath, checkedKeys);
3996
4009
  if (!!curName) {
3997
4010
  path.push(curName);
3998
4011
  }
@@ -4014,8 +4027,9 @@ var ProcessValue = /** @class */ (function () {
4014
4027
  return null;
4015
4028
  return { value: curValue[index], text: text, index: index };
4016
4029
  };
4017
- ProcessValue.prototype.getFirstPropertyName = function (name, obj, createProp) {
4030
+ ProcessValue.prototype.getFirstPropertyName = function (name, obj, createProp, checkedKeys) {
4018
4031
  if (createProp === void 0) { createProp = false; }
4032
+ if (checkedKeys === void 0) { checkedKeys = undefined; }
4019
4033
  if (!name)
4020
4034
  return name;
4021
4035
  if (!obj)
@@ -4026,6 +4040,8 @@ var ProcessValue = /** @class */ (function () {
4026
4040
  var A = nameInLow[0];
4027
4041
  var a = A.toUpperCase();
4028
4042
  for (var key in obj) {
4043
+ if (Array.isArray(checkedKeys) && checkedKeys.indexOf(key) > -1)
4044
+ continue;
4029
4045
  var first = key[0];
4030
4046
  if (first === a || first === A) {
4031
4047
  var keyName = key.toLowerCase();
@@ -5365,7 +5381,8 @@ var defaultV2Css = {
5365
5381
  nested: "sd-element--nested sd-element--nested-with-borders",
5366
5382
  invisible: "sd-element--invisible",
5367
5383
  navigationButton: "",
5368
- compact: "sd-element--with-frame sd-element--compact"
5384
+ compact: "sd-element--with-frame sd-element--compact",
5385
+ errorsContainer: "sd-panel__errbox sd-element__erbox sd-element__erbox--above-element"
5369
5386
  },
5370
5387
  paneldynamic: {
5371
5388
  mainRoot: "sd-element sd-question sd-question--paneldynamic sd-element--complex sd-question--complex sd-row__question",
@@ -5431,7 +5448,8 @@ var defaultV2Css = {
5431
5448
  root: "sd-page sd-body__page",
5432
5449
  emptyHeaderRoot: "sd-page__empty-header",
5433
5450
  title: "sd-title sd-page__title",
5434
- description: "sd-description sd-page__description"
5451
+ description: "sd-description sd-page__description",
5452
+ errorsContainer: "sd-page__errbox"
5435
5453
  },
5436
5454
  pageTitle: "sd-title sd-page__title",
5437
5455
  pageDescription: "sd-description sd-page__description",
@@ -5486,6 +5504,9 @@ var defaultV2Css = {
5486
5504
  invisible: "sd-element--invisible",
5487
5505
  composite: "sd-element--complex",
5488
5506
  disabled: "sd-question--disabled",
5507
+ errorsContainer: "sd-element__erbox sd-question__erbox",
5508
+ errorsContainerTop: "sd-element__erbox--above-element sd-question__erbox--above-question",
5509
+ errorsContainerBottom: "sd-question__erbox--below-question"
5489
5510
  },
5490
5511
  image: {
5491
5512
  mainRoot: "sd-question sd-question--image",
@@ -5502,14 +5523,11 @@ var defaultV2Css = {
5502
5523
  withFrame: ""
5503
5524
  },
5504
5525
  error: {
5505
- root: "sd-question__erbox",
5526
+ root: "sd-error",
5506
5527
  icon: "",
5507
5528
  item: "",
5508
- outsideQuestion: "sd-question__erbox--outside-question",
5509
- aboveQuestion: "sd-question__erbox--above-question",
5510
- belowQuestion: "sd-question__erbox--below-question",
5511
- locationTop: "sd-question__erbox--location--top",
5512
- locationBottom: "sd-question__erbox--location--bottom"
5529
+ locationTop: "",
5530
+ locationBottom: ""
5513
5531
  },
5514
5532
  checkbox: {
5515
5533
  root: "sd-selectbase",
@@ -5728,6 +5746,8 @@ var defaultV2Css = {
5728
5746
  rowHasEndActions: "sd-table__row--has-end-actions",
5729
5747
  headerCell: "sd-table__cell sd-table__cell--header",
5730
5748
  rowTextCell: "sd-table__cell sd-table__cell--row-text",
5749
+ footerCell: "sd-table__cell sd-table__cell--footer",
5750
+ footerTotalCell: "sd-table__cell sd-table__cell--footer-total",
5731
5751
  columnTitleCell: "sd-table__cell--column-title",
5732
5752
  cellRequiredText: "sd-question__required-text",
5733
5753
  detailButton: "sd-table__cell--detail-button",
@@ -5763,6 +5783,7 @@ var defaultV2Css = {
5763
5783
  itemCell: "sd-table__cell--item",
5764
5784
  headerCell: "sd-table__cell sd-table__cell--header",
5765
5785
  rowTextCell: "sd-table__cell sd-table__cell--row-text",
5786
+ footerCell: "sd-table__cell sd-table__cell--footer",
5766
5787
  columnTitleCell: "sd-table__cell--column-title",
5767
5788
  cellRequiredText: "sd-question__required-text",
5768
5789
  button: "sd-action sd-matrixdynamic__btn",
@@ -9287,8 +9308,8 @@ __webpack_require__.r(__webpack_exports__);
9287
9308
  //import "../../modern.scss";
9288
9309
  var Version;
9289
9310
  var ReleaseDate;
9290
- Version = "" + "1.9.118";
9291
- ReleaseDate = "" + "2023-11-21";
9311
+ Version = "" + "1.9.119";
9312
+ ReleaseDate = "" + "2023-11-28";
9292
9313
  function checkLibraryVersion(ver, libraryName) {
9293
9314
  if (Version != ver) {
9294
9315
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -15545,7 +15566,7 @@ var Cover = /** @class */ (function (_super) {
15545
15566
 
15546
15567
  _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("cover", [
15547
15568
  { name: "height:number", minValue: 0, default: 256 },
15548
- { name: "inheritWidthFrom", default: "survey" },
15569
+ { name: "inheritWidthFrom", default: "container" },
15549
15570
  { name: "textAreaWidth:number", minValue: 0, default: 512 },
15550
15571
  { name: "textGlowEnabled:boolean" },
15551
15572
  { name: "overlapEnabled:boolean" },
@@ -20256,6 +20277,7 @@ var englishStrings = {
20256
20277
  urlRequestError: "The request returned error '{0}'. {1}",
20257
20278
  urlGetChoicesError: "The request returned empty data or the 'path' property is incorrect",
20258
20279
  exceedMaxSize: "The file size should not exceed {0}.",
20280
+ noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.",
20259
20281
  otherRequiredError: "Response required: enter another value.",
20260
20282
  uploadingFile: "Your file is uploading. Please wait several seconds and try again.",
20261
20283
  loadingFile: "Loading...",
@@ -21143,8 +21165,9 @@ var PageModel = /** @class */ (function (_super) {
21143
21165
  configurable: true
21144
21166
  });
21145
21167
  PageModel.prototype.calcCssClasses = function (css) {
21146
- var classes = { page: {}, pageTitle: "", pageDescription: "", row: "", rowMultiple: "", pageRow: "", rowCompact: "" };
21168
+ var classes = { page: {}, error: {}, pageTitle: "", pageDescription: "", row: "", rowMultiple: "", pageRow: "", rowCompact: "" };
21147
21169
  this.copyCssClasses(classes.page, css.page);
21170
+ this.copyCssClasses(classes.error, css.error);
21148
21171
  if (!!css.pageTitle) {
21149
21172
  classes.pageTitle = css.pageTitle;
21150
21173
  }
@@ -21192,6 +21215,11 @@ var PageModel = /** @class */ (function (_super) {
21192
21215
  enumerable: false,
21193
21216
  configurable: true
21194
21217
  });
21218
+ PageModel.prototype.getCssError = function (cssClasses) {
21219
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__["CssClassBuilder"]()
21220
+ .append(_super.prototype.getCssError.call(this, cssClasses))
21221
+ .append(cssClasses.page.errorsContainer).toString();
21222
+ };
21195
21223
  Object.defineProperty(PageModel.prototype, "navigationButtonsVisibility", {
21196
21224
  /**
21197
21225
  * Set this property to "hide" to make "Prev", "Next" and "Complete" buttons are invisible for this page. Set this property to "show" to make these buttons visible, even if survey showNavigationButtons property is false.
@@ -21688,7 +21716,7 @@ var PanelModelBase = /** @class */ (function (_super) {
21688
21716
  Object.defineProperty(PanelModelBase.prototype, "hasTitle", {
21689
21717
  get: function () {
21690
21718
  return ((this.canShowTitle() && this.locTitle.textOrHtml.length > 0) ||
21691
- (this.showTitle && this.isDesignMode && _settings__WEBPACK_IMPORTED_MODULE_7__["settings"].designMode.showEmptyTitles));
21719
+ (this.isDesignMode && (this.showTitle && _settings__WEBPACK_IMPORTED_MODULE_7__["settings"].designMode.showEmptyTitles)));
21692
21720
  },
21693
21721
  enumerable: false,
21694
21722
  configurable: true
@@ -23036,6 +23064,16 @@ var PanelModelBase = /** @class */ (function (_super) {
23036
23064
  enumerable: false,
23037
23065
  configurable: true
23038
23066
  });
23067
+ Object.defineProperty(PanelModelBase.prototype, "cssError", {
23068
+ get: function () {
23069
+ return this.getCssError(this.cssClasses);
23070
+ },
23071
+ enumerable: false,
23072
+ configurable: true
23073
+ });
23074
+ PanelModelBase.prototype.getCssError = function (cssClasses) {
23075
+ return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_9__["CssClassBuilder"]().append(cssClasses.error.root).toString();
23076
+ };
23039
23077
  PanelModelBase.prototype.dispose = function () {
23040
23078
  _super.prototype.dispose.call(this);
23041
23079
  if (this.rows) {
@@ -23234,11 +23272,17 @@ var PanelModel = /** @class */ (function (_super) {
23234
23272
  PanelModel.prototype.setNo = function (visibleIndex) {
23235
23273
  this.setPropertyValue("no", _helpers__WEBPACK_IMPORTED_MODULE_1__["Helpers"].getNumberByIndex(this.visibleIndex, this.getStartIndex()));
23236
23274
  };
23275
+ PanelModel.prototype.notifyStateChanged = function () {
23276
+ if (!this.isLoadingFromJson) {
23277
+ this.locTitle.strChanged();
23278
+ }
23279
+ _super.prototype.notifyStateChanged.call(this);
23280
+ };
23237
23281
  PanelModel.prototype.createLocTitleProperty = function () {
23238
23282
  var _this = this;
23239
23283
  var locTitleValue = _super.prototype.createLocTitleProperty.call(this);
23240
23284
  locTitleValue.onGetTextCallback = function (text) {
23241
- if (!text && (_this.isExpanded || _this.isCollapsed)) {
23285
+ if (!text && (_this.state !== "default")) {
23242
23286
  text = _this.name;
23243
23287
  }
23244
23288
  return text;
@@ -23411,26 +23455,17 @@ var PanelModel = /** @class */ (function (_super) {
23411
23455
  enumerable: false,
23412
23456
  configurable: true
23413
23457
  });
23414
- Object.defineProperty(PanelModel.prototype, "cssError", {
23415
- get: function () {
23416
- return this.getCssError(this.cssClasses);
23417
- },
23418
- enumerable: false,
23419
- configurable: true
23420
- });
23421
23458
  Object.defineProperty(PanelModel.prototype, "showErrorsAbovePanel", {
23422
23459
  get: function () {
23423
- return this.isDefaultV2Theme;
23460
+ return this.isDefaultV2Theme && !this.showPanelAsPage;
23424
23461
  },
23425
23462
  enumerable: false,
23426
23463
  configurable: true
23427
23464
  });
23428
23465
  PanelModel.prototype.getCssError = function (cssClasses) {
23429
- var isDefaultV2Theme = this.isDefaultV2Theme;
23430
23466
  var builder = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_9__["CssClassBuilder"]()
23431
- .append(this.cssClasses.error.root)
23432
- .append(this.cssClasses.error.outsideQuestion, isDefaultV2Theme)
23433
- .append(this.cssClasses.error.aboveQuestion, isDefaultV2Theme);
23467
+ .append(_super.prototype.getCssError.call(this, cssClasses))
23468
+ .append(cssClasses.panel.errorsContainer);
23434
23469
  return builder.append("panel-error-root", builder.isEmpty()).toString();
23435
23470
  };
23436
23471
  PanelModel.prototype.onVisibleChanged = function () {
@@ -23451,16 +23486,23 @@ var PanelModel = /** @class */ (function (_super) {
23451
23486
  this.survey.whenPanelFocusIn(this);
23452
23487
  };
23453
23488
  PanelModel.prototype.getHasFrameV2 = function () {
23454
- return _super.prototype.getHasFrameV2.call(this) && (!this.originalPage || this.survey.isShowingPreview);
23489
+ return _super.prototype.getHasFrameV2.call(this) && !this.showPanelAsPage;
23455
23490
  };
23456
23491
  PanelModel.prototype.getIsNested = function () {
23457
23492
  return _super.prototype.getIsNested.call(this) && this.parent !== undefined;
23458
23493
  };
23494
+ Object.defineProperty(PanelModel.prototype, "showPanelAsPage", {
23495
+ get: function () {
23496
+ return !!this.originalPage && !this.survey.isShowingPreview;
23497
+ },
23498
+ enumerable: false,
23499
+ configurable: true
23500
+ });
23459
23501
  PanelModel.prototype.getCssRoot = function (cssClasses) {
23460
23502
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_9__["CssClassBuilder"]()
23461
23503
  .append(_super.prototype.getCssRoot.call(this, cssClasses))
23462
23504
  .append(cssClasses.container)
23463
- .append(cssClasses.asPage, !!this.originalPage && !this.survey.isShowingPreview)
23505
+ .append(cssClasses.asPage, this.showPanelAsPage)
23464
23506
  .append(cssClasses.invisible, !this.isDesignMode && this.areInvisibleElementsShowing && !this.visible)
23465
23507
  .toString();
23466
23508
  };
@@ -26183,9 +26225,9 @@ var Question = /** @class */ (function (_super) {
26183
26225
  Question.prototype.getCssError = function (cssClasses) {
26184
26226
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__["CssClassBuilder"]()
26185
26227
  .append(cssClasses.error.root)
26186
- .append(cssClasses.error.outsideQuestion, this.showErrorsBelowQuestion || this.showErrorsAboveQuestion)
26187
- .append(cssClasses.error.belowQuestion, this.showErrorsBelowQuestion)
26188
- .append(cssClasses.error.aboveQuestion, this.showErrorsAboveQuestion)
26228
+ .append(cssClasses.errorsContainer, this.showErrorsBelowQuestion || this.showErrorsAboveQuestion)
26229
+ .append(cssClasses.errorsContainerTop, this.showErrorsAboveQuestion)
26230
+ .append(cssClasses.errorsContainerBottom, this.showErrorsBelowQuestion)
26189
26231
  .append(cssClasses.error.locationTop, this.showErrorOnTop)
26190
26232
  .append(cssClasses.error.locationBottom, this.showErrorOnBottom)
26191
26233
  .toString();
@@ -26912,6 +26954,8 @@ var Question = /** @class */ (function (_super) {
26912
26954
  * - `{row.other_question_name}` (to access questions inside the same dynamic matrix or multi-column dropdown)
26913
26955
  *
26914
26956
  * An expression can also include built-in and custom functions for advanced calculations. For example, if the `defaultValue` should be today's date, set the `defaultValueExpression` to `"today()"`, and the corresponding built-in function will be executed each time the survey is loaded. Refer to the following help topic for more information: [Built-In Functions](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#built-in-functions).
26957
+ *
26958
+ * [View Demo](https://surveyjs.io/form-library/examples/specify-default-question-value-dynamically (linkStyle))
26915
26959
  * @see defaultValue
26916
26960
  * @see setValueExpression
26917
26961
  */
@@ -27617,7 +27661,7 @@ var Question = /** @class */ (function (_super) {
27617
27661
  });
27618
27662
  }
27619
27663
  else {
27620
- this.updateValueFromSurveyCore(newValue, isEmpty);
27664
+ this.updateValueFromSurveyCore(newValue, this.data !== this.getSurvey());
27621
27665
  }
27622
27666
  this.updateDependedQuestions();
27623
27667
  this.updateIsAnswered();
@@ -34917,14 +34961,22 @@ var QuestionFileModel = /** @class */ (function (_super) {
34917
34961
  }
34918
34962
  else {
34919
34963
  if (_this.survey) {
34920
- _this.survey.uploadFiles(_this, _this.name, files, function (status, data) {
34921
- if (status === "error") {
34922
- _this.errors.push(new _error__WEBPACK_IMPORTED_MODULE_4__["UploadingFileError"](data, _this));
34923
- _this.stateChanged("error");
34924
- _this.stateChanged("loaded");
34964
+ _this.survey.uploadFiles(_this, _this.name, files, function (arg1, arg2) {
34965
+ if (Array.isArray(arg1)) {
34966
+ _this.value = (_this.value || []).concat(arg1.map(function (r) {
34967
+ return {
34968
+ name: r.file.name,
34969
+ type: r.file.type,
34970
+ content: r.content,
34971
+ };
34972
+ }));
34973
+ if (Array.isArray(arg2)) {
34974
+ arg2.forEach(function (error) { return _this.errors.push(new _error__WEBPACK_IMPORTED_MODULE_4__["UploadingFileError"](error, _this)); });
34975
+ _this.stateChanged("error");
34976
+ }
34925
34977
  }
34926
- if (status === "success") {
34927
- _this.value = (_this.value || []).concat(data.map(function (r) {
34978
+ if (arg1 === "success" && Array.isArray(arg2)) {
34979
+ _this.value = (_this.value || []).concat(arg2.map(function (r) {
34928
34980
  return {
34929
34981
  name: r.file.name,
34930
34982
  type: r.file.type,
@@ -34932,6 +34984,16 @@ var QuestionFileModel = /** @class */ (function (_super) {
34932
34984
  };
34933
34985
  }));
34934
34986
  }
34987
+ if (arg1 === "error") {
34988
+ if (typeof (arg2) === "string") {
34989
+ _this.errors.push(new _error__WEBPACK_IMPORTED_MODULE_4__["UploadingFileError"](arg2, _this));
34990
+ }
34991
+ if (Array.isArray(arg2) && arg2.length > 0) {
34992
+ arg2.forEach(function (error) { return _this.errors.push(new _error__WEBPACK_IMPORTED_MODULE_4__["UploadingFileError"](error, _this)); });
34993
+ }
34994
+ _this.stateChanged("error");
34995
+ }
34996
+ _this.stateChanged("loaded");
34935
34997
  });
34936
34998
  }
34937
34999
  }
@@ -39938,6 +40000,7 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
39938
40000
  this.onCreateDetailPanelCallback(row, panel);
39939
40001
  }
39940
40002
  panel.questions.forEach(function (q) { return q.setParentQuestion(_this); });
40003
+ panel.onSurveyLoad();
39941
40004
  return panel;
39942
40005
  };
39943
40006
  QuestionMatrixDropdownModelBase.prototype.getSharedQuestionByName = function (columnName, row) {
@@ -41633,7 +41696,10 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
41633
41696
  this.footerRow.cells.push(this.createHeaderCell(null, "action"));
41634
41697
  }
41635
41698
  if (this.matrix.hasRowText) {
41636
- this.footerRow.cells.push(this.createTextCell(this.matrix.getFooterText()));
41699
+ var cell_1 = this.createTextCell(this.matrix.getFooterText());
41700
+ cell_1.className = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]().append(cell_1.className)
41701
+ .append(this.cssClasses.footerTotalCell).toString();
41702
+ this.footerRow.cells.push(cell_1);
41637
41703
  }
41638
41704
  var cells = this.matrix.visibleTotalRow.cells;
41639
41705
  for (var i = 0; i < cells.length; i++) {
@@ -41648,6 +41714,8 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
41648
41714
  if (cell.column) {
41649
41715
  this.setHeaderCellWidth(cell.column, editCell);
41650
41716
  }
41717
+ editCell.className = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]().append(editCell.className)
41718
+ .append(this.cssClasses.footerCell).toString();
41651
41719
  this.footerRow.cells.push(editCell);
41652
41720
  }
41653
41721
  }
@@ -48001,6 +48069,15 @@ var RenderedRatingItem = /** @class */ (function (_super) {
48001
48069
  return RenderedRatingItem;
48002
48070
  }(_base__WEBPACK_IMPORTED_MODULE_7__["Base"]));
48003
48071
 
48072
+ var RatingItemValue = /** @class */ (function (_super) {
48073
+ __extends(RatingItemValue, _super);
48074
+ function RatingItemValue(value, description) {
48075
+ var _this = _super.call(this, value) || this;
48076
+ _this.description = description;
48077
+ return _this;
48078
+ }
48079
+ return RatingItemValue;
48080
+ }(_itemvalue__WEBPACK_IMPORTED_MODULE_0__["ItemValue"]));
48004
48081
  /**
48005
48082
  * A class that describes the Rating Scale question type.
48006
48083
  *
@@ -48295,18 +48372,7 @@ var QuestionRatingModel = /** @class */ (function (_super) {
48295
48372
  rateValues = this.rateValues;
48296
48373
  }
48297
48374
  else {
48298
- var res = [];
48299
- var value = this.rateMin;
48300
- var step = this.rateStep;
48301
- while (value <= this.rateMax &&
48302
- res.length < _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].ratingMaximumRateValueCount) {
48303
- var item = new _itemvalue__WEBPACK_IMPORTED_MODULE_0__["ItemValue"](value);
48304
- item.locOwner = this;
48305
- item.ownerPropertyName = "rateValues";
48306
- res.push(item);
48307
- value = this.correctValue(value + step, step);
48308
- }
48309
- rateValues = res;
48375
+ rateValues = this.createRateValues();
48310
48376
  }
48311
48377
  if (this.rateType == "smileys" && rateValues.length > 10)
48312
48378
  rateValues = rateValues.slice(0, 10);
@@ -48323,6 +48389,27 @@ var QuestionRatingModel = /** @class */ (function (_super) {
48323
48389
  return renderedItem;
48324
48390
  });
48325
48391
  };
48392
+ QuestionRatingModel.prototype.createRateValues = function () {
48393
+ var res = [];
48394
+ var value = this.rateMin;
48395
+ var step = this.rateStep;
48396
+ while (value <= this.rateMax &&
48397
+ res.length < _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].ratingMaximumRateValueCount) {
48398
+ var description = void 0;
48399
+ if (value === this.rateMin) {
48400
+ description = this.minRateDescription && this.locMinRateDescription;
48401
+ }
48402
+ if (value === this.rateMax || res.length === _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].ratingMaximumRateValueCount) {
48403
+ description = this.maxRateDescription && this.locMaxRateDescription;
48404
+ }
48405
+ var item = new RatingItemValue(value, description);
48406
+ item.locOwner = this;
48407
+ item.ownerPropertyName = "rateValues";
48408
+ res.push(item);
48409
+ value = this.correctValue(value + step, step);
48410
+ }
48411
+ return res;
48412
+ };
48326
48413
  QuestionRatingModel.prototype.correctValue = function (value, step) {
48327
48414
  if (!value)
48328
48415
  return value;
@@ -48445,7 +48532,7 @@ var QuestionRatingModel = /** @class */ (function (_super) {
48445
48532
  });
48446
48533
  QuestionRatingModel.prototype.getDefaultItemComponent = function () {
48447
48534
  if (this.renderAs == "dropdown")
48448
- return "";
48535
+ return "sv-rating-dropdown-item";
48449
48536
  if (this.isStar)
48450
48537
  return "sv-rating-item-star";
48451
48538
  if (this.isSmiley)
@@ -54301,7 +54388,8 @@ var SurveyModel = /** @class */ (function (_super) {
54301
54388
  * Specifies whether to hide validation errors thrown by the Required validation in the UI.
54302
54389
  *
54303
54390
  * [Built-In Client-Side Validators](https://surveyjs.io/form-library/documentation/data-validation#built-in-client-side-validators (linkStyle))
54304
- * @see ignoreValidation
54391
+ * @see validationEnabled
54392
+ * @see validationAllowSwitchPages
54305
54393
  */
54306
54394
  _this.hideRequiredErrors = false;
54307
54395
  //#endregion
@@ -54310,15 +54398,27 @@ var SurveyModel = /** @class */ (function (_super) {
54310
54398
  _this._isCompact = false;
54311
54399
  _this._isDesignMode = false;
54312
54400
  /**
54313
- * Specifies whether to skip validation when you switch between pages or complete the survey programmatically or when users do that in the UI.
54401
+ * Specifies whether data validation is enabled.
54314
54402
  *
54315
- * Default value: `false`
54403
+ * Default value: `true`
54404
+ * @see checkErrorsMode
54316
54405
  * @see hideRequiredErrors
54317
- * @see nextPage
54318
- * @see isPrevPage
54319
- * @see completeLastPage
54320
54406
  */
54321
- _this.ignoreValidation = false;
54407
+ _this.validationEnabled = true;
54408
+ /**
54409
+ * Specifies whether respondents can switch the current page even if it contains validation errors.
54410
+ *
54411
+ * Default value: `false`
54412
+ * @see checkErrorsMode
54413
+ */
54414
+ _this.validationAllowSwitchPages = false;
54415
+ /**
54416
+ * Specifies whether respondents can end a survey with validation errors.
54417
+ *
54418
+ * Default value: `false`
54419
+ * @see checkErrorsMode
54420
+ */
54421
+ _this.validationAllowComplete = false;
54322
54422
  _this.isNavigationButtonPressed = false;
54323
54423
  _this.mouseDownPage = null;
54324
54424
  _this.isCalculatingProgressText = false;
@@ -54752,6 +54852,17 @@ var SurveyModel = /** @class */ (function (_super) {
54752
54852
  enumerable: false,
54753
54853
  configurable: true
54754
54854
  });
54855
+ SurveyModel.prototype.insertAdvancedHeader = function (advHeader) {
54856
+ advHeader.survey = this;
54857
+ this.layoutElements.push({
54858
+ id: "advanced-header",
54859
+ container: "header",
54860
+ component: "sv-header",
54861
+ index: -100,
54862
+ data: advHeader,
54863
+ processResponsiveness: function (width) { return advHeader.processResponsiveness(width); }
54864
+ });
54865
+ };
54755
54866
  SurveyModel.prototype.getNavigationCss = function (main, btn) {
54756
54867
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_18__["CssClassBuilder"]().append(main)
54757
54868
  .append(btn).toString();
@@ -55286,6 +55397,10 @@ var SurveyModel = /** @class */ (function (_super) {
55286
55397
  * - `"onComplete"` - Triggers validation when a user clicks the Complete button. If previous pages contain errors, the survey switches to the page with the first error.
55287
55398
  *
55288
55399
  * Refer to the following help topic for more information: [Data Validation](https://surveyjs.io/form-library/documentation/data-validation).
55400
+ * @see validationEnabled
55401
+ * @see validationAllowSwitchPages
55402
+ * @see validationAllowComplete
55403
+ * @see validate
55289
55404
  */
55290
55405
  get: function () {
55291
55406
  return this.getPropertyValue("checkErrorsMode");
@@ -57616,6 +57731,15 @@ var SurveyModel = /** @class */ (function (_super) {
57616
57731
  return;
57617
57732
  document.cookie = this.cookieName + "=;";
57618
57733
  };
57734
+ Object.defineProperty(SurveyModel.prototype, "ignoreValidation", {
57735
+ /**
57736
+ * This property is obsolete. Use the [`validationEnabled`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#validationEnabled) property instead.
57737
+ */
57738
+ get: function () { return !this.validationEnabled; },
57739
+ set: function (val) { this.validationEnabled = !val; },
57740
+ enumerable: false,
57741
+ configurable: true
57742
+ });
57619
57743
  /**
57620
57744
  * Switches the survey to the next page.
57621
57745
  *
@@ -57632,19 +57756,20 @@ var SurveyModel = /** @class */ (function (_super) {
57632
57756
  };
57633
57757
  SurveyModel.prototype.hasErrorsOnNavigate = function (doComplete) {
57634
57758
  var _this = this;
57635
- if (this.ignoreValidation || !this.isEditMode)
57759
+ if (!this.isEditMode || this.ignoreValidation)
57636
57760
  return false;
57761
+ var skipValidation = doComplete && this.validationAllowComplete || !doComplete && this.validationAllowSwitchPages;
57637
57762
  var func = function (hasErrors) {
57638
- if (!hasErrors) {
57763
+ if (!hasErrors || skipValidation) {
57639
57764
  _this.doCurrentPageCompleteCore(doComplete);
57640
57765
  }
57641
57766
  };
57642
57767
  if (this.isValidateOnComplete) {
57643
57768
  if (!this.isLastPage)
57644
57769
  return false;
57645
- return this.validate(true, true, func) !== true;
57770
+ return this.validate(true, true, func) !== true && !skipValidation;
57646
57771
  }
57647
- return this.validateCurrentPage(func) !== true;
57772
+ return this.validateCurrentPage(func) !== true && !skipValidation;
57648
57773
  };
57649
57774
  SurveyModel.prototype.checkForAsyncQuestionValidation = function (questions, func) {
57650
57775
  var _this = this;
@@ -59004,7 +59129,7 @@ var SurveyModel = /** @class */ (function (_super) {
59004
59129
  });
59005
59130
  Object.defineProperty(SurveyModel.prototype, "isValidateOnComplete", {
59006
59131
  get: function () {
59007
- return this.checkErrorsMode === "onComplete";
59132
+ return this.checkErrorsMode === "onComplete" || this.validationAllowSwitchPages && !this.validationAllowComplete;
59008
59133
  },
59009
59134
  enumerable: false,
59010
59135
  configurable: true
@@ -59155,13 +59280,13 @@ var SurveyModel = /** @class */ (function (_super) {
59155
59280
  * @param question A [File Upload question instance](https://surveyjs.io/form-library/documentation/api-reference/file-model).
59156
59281
  * @param name The File Upload question's [`name`](https://surveyjs.io/form-library/documentation/api-reference/file-model#name).
59157
59282
  * @param files An array of JavaScript <a href="https://developer.mozilla.org/en-US/docs/Web/API/File" target="_blank">File</a> objects that represent files to upload.
59158
- * @param callback A callback function that allows you to get the upload status (`"success"` or `"error"`) and file data.
59283
+ * @param callback A callback function that allows you to access successfully uploaded files as the first argument. If any files fail to upload, the second argument contains an array of error messages.
59159
59284
  * @see onUploadFiles
59160
59285
  * @see downloadFile
59161
59286
  */
59162
59287
  SurveyModel.prototype.uploadFiles = function (question, name, files, callback) {
59163
59288
  if (this.onUploadFiles.isEmpty) {
59164
- callback("error", files);
59289
+ callback("error", this.getLocString("noUploadFilesHandler"));
59165
59290
  }
59166
59291
  else {
59167
59292
  this.onUploadFiles.fire(this, {
@@ -61287,6 +61412,11 @@ var SurveyModel = /** @class */ (function (_super) {
61287
61412
  SurveyModel.prototype.stopMovingQuestion = function () {
61288
61413
  this.isMovingQuestion = false;
61289
61414
  };
61415
+ Object.defineProperty(SurveyModel.prototype, "isQuestionDragging", {
61416
+ get: function () { return this.isMovingQuestion; },
61417
+ enumerable: false,
61418
+ configurable: true
61419
+ });
61290
61420
  /**
61291
61421
  * Focuses a question with a specified name. Switches the current page if needed.
61292
61422
  * @param name A question name.
@@ -61475,6 +61605,7 @@ var SurveyModel = /** @class */ (function (_super) {
61475
61605
  }
61476
61606
  }
61477
61607
  }
61608
+ containerLayoutElements.sort(function (a, b) { return (a.index || 0) - (b.index || 0); });
61478
61609
  return containerLayoutElements;
61479
61610
  };
61480
61611
  SurveyModel.prototype.processPopupVisiblityChanged = function (question, popup, visible) {
@@ -61493,15 +61624,10 @@ var SurveyModel = /** @class */ (function (_super) {
61493
61624
  Object.keys(theme).forEach(function (key) {
61494
61625
  if (key === "header") {
61495
61626
  _this.removeLayoutElement("advanced-header");
61496
- var advHeader_1 = new _header__WEBPACK_IMPORTED_MODULE_20__["Cover"]();
61497
- advHeader_1.fromTheme(theme);
61498
- _this.layoutElements.push({
61499
- id: "advanced-header",
61500
- container: "header",
61501
- component: "sv-header",
61502
- data: advHeader_1,
61503
- processResponsiveness: function (width) { return advHeader_1.processResponsiveness(width); }
61504
- });
61627
+ var advHeader = new _header__WEBPACK_IMPORTED_MODULE_20__["Cover"]();
61628
+ advHeader.fromTheme(theme);
61629
+ _this.insertAdvancedHeader(advHeader);
61630
+ _this.headerView = "advanced";
61505
61631
  }
61506
61632
  if (key === "isPanelless") {
61507
61633
  _this.isCompact = theme[key];
@@ -61598,14 +61724,7 @@ var SurveyModel = /** @class */ (function (_super) {
61598
61724
  advHeader.titlePositionY = "middle";
61599
61725
  advHeader.descriptionPositionX = target.logoPosition === "right" ? "left" : "right";
61600
61726
  advHeader.descriptionPositionY = "middle";
61601
- advHeader.survey = target;
61602
- target.layoutElements.unshift({
61603
- id: "advanced-header",
61604
- container: "header",
61605
- component: "sv-header",
61606
- data: advHeader,
61607
- processResponsiveness: function (width) { return advHeader.processResponsiveness(width); }
61608
- });
61727
+ target.insertAdvancedHeader(advHeader);
61609
61728
  }
61610
61729
  }
61611
61730
  else {