survey-core 1.9.111 → 1.9.112

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 (281) hide show
  1. package/defaultV2.css +18 -7
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +18 -7
  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 +256 -0
  8. package/i18n/arabic.js.map +1 -0
  9. package/i18n/arabic.min.js +6 -0
  10. package/i18n/basque.js +249 -0
  11. package/i18n/basque.js.map +1 -0
  12. package/i18n/basque.min.js +6 -0
  13. package/i18n/bulgarian.js +256 -0
  14. package/i18n/bulgarian.js.map +1 -0
  15. package/i18n/bulgarian.min.js +6 -0
  16. package/i18n/catalan.js +296 -0
  17. package/i18n/catalan.js.map +1 -0
  18. package/i18n/catalan.min.js +6 -0
  19. package/i18n/croatian.js +254 -0
  20. package/i18n/croatian.js.map +1 -0
  21. package/i18n/croatian.min.js +6 -0
  22. package/i18n/czech.js +256 -0
  23. package/i18n/czech.js.map +1 -0
  24. package/i18n/czech.min.js +6 -0
  25. package/i18n/danish.js +256 -0
  26. package/i18n/danish.js.map +1 -0
  27. package/i18n/danish.min.js +6 -0
  28. package/i18n/dutch.js +254 -0
  29. package/i18n/dutch.js.map +1 -0
  30. package/i18n/dutch.min.js +6 -0
  31. package/i18n/english.js +225 -0
  32. package/i18n/english.js.map +1 -0
  33. package/i18n/english.min.js +6 -0
  34. package/i18n/estonian.js +256 -0
  35. package/i18n/estonian.js.map +1 -0
  36. package/i18n/estonian.min.js +6 -0
  37. package/i18n/finnish.js +244 -0
  38. package/i18n/finnish.js.map +1 -0
  39. package/i18n/finnish.min.js +6 -0
  40. package/i18n/french.js +244 -0
  41. package/i18n/french.js.map +1 -0
  42. package/i18n/french.min.js +6 -0
  43. package/i18n/georgian.js +309 -0
  44. package/i18n/georgian.js.map +1 -0
  45. package/i18n/georgian.min.js +6 -0
  46. package/i18n/german.js +242 -0
  47. package/i18n/german.js.map +1 -0
  48. package/i18n/german.min.js +6 -0
  49. package/i18n/greek.js +241 -0
  50. package/i18n/greek.js.map +1 -0
  51. package/i18n/greek.min.js +6 -0
  52. package/i18n/hebrew.js +256 -0
  53. package/i18n/hebrew.js.map +1 -0
  54. package/i18n/hebrew.min.js +6 -0
  55. package/i18n/hindi.js +257 -0
  56. package/i18n/hindi.js.map +1 -0
  57. package/i18n/hindi.min.js +6 -0
  58. package/i18n/hungarian.js +255 -0
  59. package/i18n/hungarian.js.map +1 -0
  60. package/i18n/hungarian.min.js +6 -0
  61. package/i18n/icelandic.js +256 -0
  62. package/i18n/icelandic.js.map +1 -0
  63. package/i18n/icelandic.min.js +6 -0
  64. package/i18n/index.js +6871 -0
  65. package/i18n/index.js.map +1 -0
  66. package/i18n/index.min.js +6 -0
  67. package/i18n/indonesian.js +256 -0
  68. package/i18n/indonesian.js.map +1 -0
  69. package/i18n/indonesian.min.js +6 -0
  70. package/i18n/italian.js +244 -0
  71. package/i18n/italian.js.map +1 -0
  72. package/i18n/italian.min.js +6 -0
  73. package/i18n/japanese.js +256 -0
  74. package/i18n/japanese.js.map +1 -0
  75. package/i18n/japanese.min.js +6 -0
  76. package/i18n/kazakh.js +256 -0
  77. package/i18n/kazakh.js.map +1 -0
  78. package/i18n/kazakh.min.js +6 -0
  79. package/i18n/korean.js +243 -0
  80. package/i18n/korean.js.map +1 -0
  81. package/i18n/korean.min.js +6 -0
  82. package/i18n/latvian.js +244 -0
  83. package/i18n/latvian.js.map +1 -0
  84. package/i18n/latvian.min.js +6 -0
  85. package/i18n/lithuanian.js +256 -0
  86. package/i18n/lithuanian.js.map +1 -0
  87. package/i18n/lithuanian.min.js +6 -0
  88. package/i18n/macedonian.js +250 -0
  89. package/i18n/macedonian.js.map +1 -0
  90. package/i18n/macedonian.min.js +6 -0
  91. package/i18n/malay.js +246 -0
  92. package/i18n/malay.js.map +1 -0
  93. package/i18n/malay.min.js +6 -0
  94. package/i18n/nl-BE.js +279 -0
  95. package/i18n/nl-BE.js.map +1 -0
  96. package/i18n/nl-BE.min.js +6 -0
  97. package/i18n/norwegian.js +256 -0
  98. package/i18n/norwegian.js.map +1 -0
  99. package/i18n/norwegian.min.js +6 -0
  100. package/i18n/persian.js +256 -0
  101. package/i18n/persian.js.map +1 -0
  102. package/i18n/persian.min.js +6 -0
  103. package/i18n/polish.js +244 -0
  104. package/i18n/polish.js.map +1 -0
  105. package/i18n/polish.min.js +6 -0
  106. package/i18n/portuguese-br.js +306 -0
  107. package/i18n/portuguese-br.js.map +1 -0
  108. package/i18n/portuguese-br.min.js +6 -0
  109. package/i18n/portuguese.js +241 -0
  110. package/i18n/portuguese.js.map +1 -0
  111. package/i18n/portuguese.min.js +6 -0
  112. package/i18n/romanian.js +256 -0
  113. package/i18n/romanian.js.map +1 -0
  114. package/i18n/romanian.min.js +6 -0
  115. package/i18n/russian.js +244 -0
  116. package/i18n/russian.js.map +1 -0
  117. package/i18n/russian.min.js +6 -0
  118. package/i18n/serbian.js +251 -0
  119. package/i18n/serbian.js.map +1 -0
  120. package/i18n/serbian.min.js +6 -0
  121. package/i18n/simplified-chinese.js +250 -0
  122. package/i18n/simplified-chinese.js.map +1 -0
  123. package/i18n/simplified-chinese.min.js +6 -0
  124. package/i18n/slovak.js +246 -0
  125. package/i18n/slovak.js.map +1 -0
  126. package/i18n/slovak.min.js +6 -0
  127. package/i18n/spanish.js +244 -0
  128. package/i18n/spanish.js.map +1 -0
  129. package/i18n/spanish.min.js +6 -0
  130. package/i18n/swahili.js +256 -0
  131. package/i18n/swahili.js.map +1 -0
  132. package/i18n/swahili.min.js +6 -0
  133. package/i18n/swedish.js +244 -0
  134. package/i18n/swedish.js.map +1 -0
  135. package/i18n/swedish.min.js +6 -0
  136. package/i18n/tajik.js +225 -0
  137. package/i18n/tajik.js.map +1 -0
  138. package/i18n/tajik.min.js +6 -0
  139. package/i18n/telugu.js +257 -0
  140. package/i18n/telugu.js.map +1 -0
  141. package/i18n/telugu.min.js +6 -0
  142. package/i18n/thai.js +256 -0
  143. package/i18n/thai.js.map +1 -0
  144. package/i18n/thai.min.js +6 -0
  145. package/i18n/traditional-chinese.js +291 -0
  146. package/i18n/traditional-chinese.js.map +1 -0
  147. package/i18n/traditional-chinese.min.js +6 -0
  148. package/i18n/turkish.js +238 -0
  149. package/i18n/turkish.js.map +1 -0
  150. package/i18n/turkish.min.js +6 -0
  151. package/i18n/ukrainian.js +256 -0
  152. package/i18n/ukrainian.js.map +1 -0
  153. package/i18n/ukrainian.min.js +6 -0
  154. package/i18n/urdu.js +249 -0
  155. package/i18n/urdu.js.map +1 -0
  156. package/i18n/urdu.min.js +6 -0
  157. package/i18n/vietnamese.js +257 -0
  158. package/i18n/vietnamese.js.map +1 -0
  159. package/i18n/vietnamese.min.js +6 -0
  160. package/i18n/welsh.js +256 -0
  161. package/i18n/welsh.js.map +1 -0
  162. package/i18n/welsh.min.js +6 -0
  163. package/modern.css +11 -2
  164. package/modern.css.map +1 -1
  165. package/modern.fontless.css +11 -2
  166. package/modern.fontless.css.map +1 -1
  167. package/modern.fontless.min.css +2 -2
  168. package/modern.min.css +2 -2
  169. package/package.json +1 -1
  170. package/plugins/bootstrap-integration.js +1 -1
  171. package/plugins/bootstrap-integration.min.js +1 -1
  172. package/plugins/bootstrap-material-integration.js +1 -1
  173. package/plugins/bootstrap-material-integration.min.js +1 -1
  174. package/survey.core.js +248 -106
  175. package/survey.core.js.map +1 -1
  176. package/survey.core.min.js +3 -3
  177. package/survey.css +1 -1
  178. package/survey.css.map +1 -1
  179. package/survey.i18n.js +1 -1
  180. package/survey.i18n.min.js +2 -2
  181. package/survey.min.css +1 -1
  182. package/themes/borderless-dark-panelless.js +1 -1
  183. package/themes/borderless-dark-panelless.min.js +1 -1
  184. package/themes/borderless-dark.js +1 -1
  185. package/themes/borderless-dark.min.js +1 -1
  186. package/themes/borderless-light-panelless..js +1 -1
  187. package/themes/borderless-light-panelless..min.js +1 -1
  188. package/themes/borderless-light.js +1 -1
  189. package/themes/borderless-light.min.js +1 -1
  190. package/themes/contrast-dark-panelless.js +1 -1
  191. package/themes/contrast-dark-panelless.min.js +1 -1
  192. package/themes/contrast-dark.js +1 -1
  193. package/themes/contrast-dark.min.js +1 -1
  194. package/themes/contrast-light-panelless.js +1 -1
  195. package/themes/contrast-light-panelless.min.js +1 -1
  196. package/themes/contrast-light.js +1 -1
  197. package/themes/contrast-light.min.js +1 -1
  198. package/themes/default-dark-panelless.js +1 -1
  199. package/themes/default-dark-panelless.min.js +1 -1
  200. package/themes/default-dark.js +1 -1
  201. package/themes/default-dark.min.js +1 -1
  202. package/themes/default-light-panelless.js +1 -1
  203. package/themes/default-light-panelless.min.js +1 -1
  204. package/themes/default-light.js +1 -1
  205. package/themes/default-light.min.js +1 -1
  206. package/themes/doubleborder-dark-panelless.js +1 -1
  207. package/themes/doubleborder-dark-panelless.min.js +1 -1
  208. package/themes/doubleborder-dark.js +1 -1
  209. package/themes/doubleborder-dark.min.js +1 -1
  210. package/themes/doubleborder-light-panelles.js +1 -1
  211. package/themes/doubleborder-light-panelles.min.js +1 -1
  212. package/themes/doubleborder-light.js +1 -1
  213. package/themes/doubleborder-light.min.js +1 -1
  214. package/themes/flat-dark-panelless.js +1 -1
  215. package/themes/flat-dark-panelless.min.js +1 -1
  216. package/themes/flat-dark.js +1 -1
  217. package/themes/flat-dark.min.js +1 -1
  218. package/themes/flat-light-panelless.js +1 -1
  219. package/themes/flat-light-panelless.min.js +1 -1
  220. package/themes/flat-light.js +1 -1
  221. package/themes/flat-light.min.js +1 -1
  222. package/themes/index.js +1 -1
  223. package/themes/index.min.js +1 -1
  224. package/themes/layered-dark-panelless.js +1 -1
  225. package/themes/layered-dark-panelless.min.js +1 -1
  226. package/themes/layered-dark.js +1 -1
  227. package/themes/layered-dark.min.js +1 -1
  228. package/themes/layered-light-panelless.js +1 -1
  229. package/themes/layered-light-panelless.min.js +1 -1
  230. package/themes/layered-light.js +1 -1
  231. package/themes/layered-light.min.js +1 -1
  232. package/themes/plain-dark-panelless.js +1 -1
  233. package/themes/plain-dark-panelless.min.js +1 -1
  234. package/themes/plain-dark.js +1 -1
  235. package/themes/plain-dark.min.js +1 -1
  236. package/themes/plain-light-panelless.js +1 -1
  237. package/themes/plain-light-panelless.min.js +1 -1
  238. package/themes/plain-light.js +1 -1
  239. package/themes/plain-light.min.js +1 -1
  240. package/themes/sharp-dark-panelless.js +1 -1
  241. package/themes/sharp-dark-panelless.min.js +1 -1
  242. package/themes/sharp-dark.js +1 -1
  243. package/themes/sharp-dark.min.js +1 -1
  244. package/themes/sharp-light-panelless.js +1 -1
  245. package/themes/sharp-light-panelless.min.js +1 -1
  246. package/themes/sharp-light.js +1 -1
  247. package/themes/sharp-light.min.js +1 -1
  248. package/themes/solid-dark-panelless.js +1 -1
  249. package/themes/solid-dark-panelless.min.js +1 -1
  250. package/themes/solid-dark.js +1 -1
  251. package/themes/solid-dark.min.js +1 -1
  252. package/themes/solid-light-panelless.js +1 -1
  253. package/themes/solid-light-panelless.min.js +1 -1
  254. package/themes/solid-light.js +1 -1
  255. package/themes/solid-light.min.js +1 -1
  256. package/themes/three-dimensional-dark-panelless.js +1 -1
  257. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  258. package/themes/three-dimensional-dark.js +1 -1
  259. package/themes/three-dimensional-dark.min.js +1 -1
  260. package/themes/three-dimensional-light-panelless.js +1 -1
  261. package/themes/three-dimensional-light-panelless.min.js +1 -1
  262. package/themes/three-dimensional-light.js +1 -1
  263. package/themes/three-dimensional-light.min.js +1 -1
  264. package/ts3.4/typings/cover.d.ts +15 -11
  265. package/ts3.4/typings/notifier.d.ts +1 -0
  266. package/ts3.4/typings/question.d.ts +24 -2
  267. package/ts3.4/typings/question_expression.d.ts +0 -1
  268. package/ts3.4/typings/question_matrixdropdowncolumn.d.ts +2 -0
  269. package/ts3.4/typings/survey-element.d.ts +0 -1
  270. package/ts3.4/typings/survey-events-api.d.ts +4 -0
  271. package/ts3.4/typings/survey.d.ts +20 -5
  272. package/ts3.4/typings/themes.d.ts +53 -1
  273. package/typings/cover.d.ts +16 -11
  274. package/typings/notifier.d.ts +1 -0
  275. package/typings/question.d.ts +26 -2
  276. package/typings/question_expression.d.ts +0 -1
  277. package/typings/question_matrixdropdowncolumn.d.ts +4 -0
  278. package/typings/survey-element.d.ts +0 -1
  279. package/typings/survey-events-api.d.ts +4 -0
  280. package/typings/survey.d.ts +20 -5
  281. package/typings/themes.d.ts +53 -1
package/survey.core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.111
2
+ * surveyjs - Survey JavaScript library v1.9.112
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
  */
@@ -3563,11 +3563,11 @@ var ChoicesRestful = /** @class */ (function (_super) {
3563
3563
  configurable: true
3564
3564
  });
3565
3565
  ChoicesRestful.prototype.clear = function () {
3566
- this.url = "";
3567
- this.path = "";
3568
- this.valueName = "";
3569
- this.titleName = "";
3570
- this.imageLinkName = "";
3566
+ this.url = undefined;
3567
+ this.path = undefined;
3568
+ this.valueName = undefined;
3569
+ this.titleName = undefined;
3570
+ this.imageLinkName = undefined;
3571
3571
  var properties = this.getCustomPropertiesNames();
3572
3572
  for (var i = 0; i < properties.length; i++) {
3573
3573
  if (this[properties[i]])
@@ -4503,12 +4503,12 @@ var CoverCell = /** @class */ (function () {
4503
4503
  enumerable: false,
4504
4504
  configurable: true
4505
4505
  });
4506
- Object.defineProperty(CoverCell.prototype, "textWidth", {
4506
+ Object.defineProperty(CoverCell.prototype, "textAreaWidth", {
4507
4507
  get: function () {
4508
- if (!this.cover.textWidth) {
4508
+ if (!this.cover.textAreaWidth) {
4509
4509
  return "";
4510
4510
  }
4511
- return "" + this.cover.textWidth + "px";
4511
+ return "" + this.cover.textAreaWidth + "px";
4512
4512
  },
4513
4513
  enumerable: false,
4514
4514
  configurable: true
@@ -4526,6 +4526,9 @@ var Cover = /** @class */ (function (_super) {
4526
4526
  ["top", "middle", "bottom"].forEach(function (positionY) {
4527
4527
  return ["left", "center", "right"].forEach(function (positionX) { return _this.cells.push(new CoverCell(_this, positionX, positionY)); });
4528
4528
  });
4529
+ _this.updateCoverClasses();
4530
+ _this.updateContentClasses();
4531
+ _this.updateBackgroundImageClasses();
4529
4532
  return _this;
4530
4533
  }
4531
4534
  Cover.prototype.calcBackgroundSize = function (backgroundImageFit) {
@@ -4537,8 +4540,29 @@ var Cover = /** @class */ (function (_super) {
4537
4540
  }
4538
4541
  return backgroundImageFit;
4539
4542
  };
4543
+ Cover.prototype.updateCoverClasses = function () {
4544
+ this.coverClasses = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__["CssClassBuilder"]()
4545
+ .append("sv-cover")
4546
+ .append("sv-conver__without-background", (!this.backgroundColor || this.backgroundColor === "trasparent") && !this.backgroundImage)
4547
+ .append("sv-conver__overlap", this.overlapEnabled)
4548
+ .toString();
4549
+ };
4550
+ Cover.prototype.updateContentClasses = function () {
4551
+ this.contentClasses = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__["CssClassBuilder"]()
4552
+ .append("sv-conver__content")
4553
+ .append("sv-conver__content--static", this.inheritWidthFrom === "survey" && !!this.survey && this.survey.calculateWidthMode() === "static")
4554
+ .append("sv-conver__content--responsive", this.inheritWidthFrom === "page" || (!!this.survey && this.survey.calculateWidthMode() === "responsive"))
4555
+ .toString();
4556
+ };
4557
+ Cover.prototype.updateBackgroundImageClasses = function () {
4558
+ this.backgroundImageClasses = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__["CssClassBuilder"]()
4559
+ .append("sv-cover__background-image")
4560
+ .append("sv-cover__background-image--contain", this.backgroundImageFit === "contain")
4561
+ .append("sv-cover__background-image--tile", this.backgroundImageFit === "tile")
4562
+ .toString();
4563
+ };
4540
4564
  Cover.prototype.fromTheme = function (theme) {
4541
- _super.prototype.fromJSON.call(this, theme.cover);
4565
+ _super.prototype.fromJSON.call(this, theme.header);
4542
4566
  if (!!theme.cssVariables) {
4543
4567
  this.backgroundColor = theme.cssVariables["--sjs-cover-backcolor"];
4544
4568
  }
@@ -4553,42 +4577,30 @@ var Cover = /** @class */ (function (_super) {
4553
4577
  enumerable: false,
4554
4578
  configurable: true
4555
4579
  });
4556
- Object.defineProperty(Cover.prototype, "renderedTextWidth", {
4557
- get: function () {
4558
- return this.textWidth ? this.textWidth + "px" : undefined;
4559
- },
4560
- enumerable: false,
4561
- configurable: true
4562
- });
4563
- Object.defineProperty(Cover.prototype, "coverClasses", {
4580
+ Object.defineProperty(Cover.prototype, "renderedtextAreaWidth", {
4564
4581
  get: function () {
4565
- return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__["CssClassBuilder"]()
4566
- .append("sv-cover")
4567
- .append("sv-conver__without-background", !this.backgroundColor && !this.backgroundImage)
4568
- .append("sv-conver__overlap", this.overlap)
4569
- .toString();
4582
+ return this.textAreaWidth ? this.textAreaWidth + "px" : undefined;
4570
4583
  },
4571
4584
  enumerable: false,
4572
4585
  configurable: true
4573
4586
  });
4574
- Object.defineProperty(Cover.prototype, "contentClasses", {
4587
+ Object.defineProperty(Cover.prototype, "survey", {
4575
4588
  get: function () {
4576
- return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__["CssClassBuilder"]()
4577
- .append("sv-conver__content")
4578
- .append("sv-conver__content--static", this.areaWidth === "survey" && this.survey.calculateWidthMode() === "static")
4579
- .append("sv-conver__content--responsive", this.areaWidth === "container" || this.survey.calculateWidthMode() === "responsive")
4580
- .toString();
4589
+ return this._survey;
4581
4590
  },
4582
- enumerable: false,
4583
- configurable: true
4584
- });
4585
- Object.defineProperty(Cover.prototype, "backgroundImageClasses", {
4586
- get: function () {
4587
- return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__["CssClassBuilder"]()
4588
- .append("sv-cover__background-image")
4589
- .append("sv-cover__background-image--contain", this.backgroundImageFit === "contain")
4590
- .append("sv-cover__background-image--tile", this.backgroundImageFit === "tile")
4591
- .toString();
4591
+ set: function (newValue) {
4592
+ var _this = this;
4593
+ if (this._survey === newValue)
4594
+ return;
4595
+ this._survey = newValue;
4596
+ if (!!newValue) {
4597
+ this.updateContentClasses();
4598
+ this._survey.onPropertyChanged.add(function (sender, options) {
4599
+ if (options.name == "widthMode") {
4600
+ _this.updateContentClasses();
4601
+ }
4602
+ });
4603
+ }
4592
4604
  },
4593
4605
  enumerable: false,
4594
4606
  configurable: true
@@ -4606,24 +4618,33 @@ var Cover = /** @class */ (function (_super) {
4606
4618
  enumerable: false,
4607
4619
  configurable: true
4608
4620
  });
4621
+ Cover.prototype.propertyValueChanged = function (name, oldValue, newValue) {
4622
+ _super.prototype.propertyValueChanged.call(this, name, oldValue, newValue);
4623
+ if (name === "backgroundColor" || name === "backgroundImage" || name === "overlapEnabled") {
4624
+ this.updateCoverClasses();
4625
+ }
4626
+ if (name === "inheritWidthFrom") {
4627
+ this.updateContentClasses();
4628
+ }
4629
+ if (name === "backgroundImageFit") {
4630
+ this.updateBackgroundImageClasses();
4631
+ }
4632
+ };
4609
4633
  __decorate([
4610
4634
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4611
4635
  ], Cover.prototype, "height", void 0);
4612
4636
  __decorate([
4613
4637
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4614
- ], Cover.prototype, "areaWidth", void 0);
4615
- __decorate([
4616
- Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4617
- ], Cover.prototype, "textWidth", void 0);
4638
+ ], Cover.prototype, "inheritWidthFrom", void 0);
4618
4639
  __decorate([
4619
4640
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4620
- ], Cover.prototype, "invertText", void 0);
4641
+ ], Cover.prototype, "textAreaWidth", void 0);
4621
4642
  __decorate([
4622
4643
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4623
- ], Cover.prototype, "glowText", void 0);
4644
+ ], Cover.prototype, "textGlowEnabled", void 0);
4624
4645
  __decorate([
4625
4646
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4626
- ], Cover.prototype, "overlap", void 0);
4647
+ ], Cover.prototype, "overlapEnabled", void 0);
4627
4648
  __decorate([
4628
4649
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4629
4650
  ], Cover.prototype, "backgroundColor", void 0);
@@ -4670,17 +4691,25 @@ var Cover = /** @class */ (function (_super) {
4670
4691
  __decorate([
4671
4692
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4672
4693
  ], Cover.prototype, "descriptionStyle", void 0);
4694
+ __decorate([
4695
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4696
+ ], Cover.prototype, "coverClasses", void 0);
4697
+ __decorate([
4698
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4699
+ ], Cover.prototype, "contentClasses", void 0);
4700
+ __decorate([
4701
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
4702
+ ], Cover.prototype, "backgroundImageClasses", void 0);
4673
4703
  return Cover;
4674
4704
  }(_base__WEBPACK_IMPORTED_MODULE_0__["Base"]));
4675
4705
 
4676
4706
  _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("cover", [
4677
4707
  { name: "height:number", minValue: 0, default: 256 },
4678
- { name: "areaWidth", default: "survey" },
4679
- { name: "textWidth:number", minValue: 0, default: 512 },
4680
- { name: "invertText:boolean" },
4681
- { name: "glowText:boolean" },
4682
- { name: "overlap:boolean" },
4683
- { name: "backgroundImage" },
4708
+ { name: "inheritWidthFrom", default: "survey" },
4709
+ { name: "textAreaWidth:number", minValue: 0, default: 512 },
4710
+ { name: "textGlowEnabled:boolean" },
4711
+ { name: "overlapEnabled:boolean" },
4712
+ { name: "backgroundImage:file" },
4684
4713
  { name: "backgroundImageOpacity:number", minValue: 0, maxValue: 1, default: 1 },
4685
4714
  { name: "backgroundImageFit", default: "cover", choices: ["cover", "fill", "contain"] },
4686
4715
  { name: "logoPositionX", default: "right" },
@@ -7691,7 +7720,7 @@ var DragDropRankingChoices = /** @class */ (function (_super) {
7691
7720
  DragDropRankingChoices.prototype.createDraggedElementShortcut = function (text, draggedElementNode, event) {
7692
7721
  var draggedElementShortcut = document.createElement("div");
7693
7722
  draggedElementShortcut.className = this.shortcutClass + " sv-ranking-shortcut";
7694
- draggedElementShortcut.style.cssText = " \n cursor: grabbing;\n position: absolute;\n z-index: 10000;\n border-radius: calc(12.5 * var(--sjs-base-unit, var(--base-unit, 8px)));\n min-width: 100px;\n box-shadow: var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1));\n background-color: var(--sjs-general-backcolor, var(--background, #fff));\n font-family: var(--font-family, 'Open Sans');\n ";
7723
+ draggedElementShortcut.style.cssText = " \n cursor: grabbing;\n position: absolute;\n z-index: 10000;\n border-radius: calc(12.5 * var(--sjs-base-unit, var(--base-unit, 8px)));\n min-width: 100px;\n max-width: 400px;\n box-shadow: var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1));\n background-color: var(--sjs-general-backcolor, var(--background, #fff));\n font-family: var(--font-family, 'Open Sans');\n ";
7695
7724
  var isDeepClone = true;
7696
7725
  var clone = draggedElementNode.cloneNode(isDeepClone);
7697
7726
  draggedElementShortcut.appendChild(clone);
@@ -8211,6 +8240,8 @@ var DropdownListModel = /** @class */ (function (_super) {
8211
8240
  };
8212
8241
  DropdownListModel.prototype.onSetFilterString = function () {
8213
8242
  var _this = this;
8243
+ if (!this.filterString && !this.popupModel.isVisible)
8244
+ return;
8214
8245
  if (!!this.filterString && !this.popupModel.isVisible) {
8215
8246
  this.popupModel.isVisible = true;
8216
8247
  }
@@ -8540,11 +8571,11 @@ var DropdownListModel = /** @class */ (function (_super) {
8540
8571
  this._popupModel.isVisible = true;
8541
8572
  return;
8542
8573
  }
8574
+ Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__["doKey2ClickBlur"])(event);
8575
+ this._popupModel.isVisible = false;
8543
8576
  this.resetFilterString();
8544
8577
  this.inputString = null;
8545
8578
  this.hintString = "";
8546
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__["doKey2ClickBlur"])(event);
8547
- this._popupModel.isVisible = false;
8548
8579
  event.stopPropagation();
8549
8580
  };
8550
8581
  DropdownListModel.prototype.onFocus = function (event) {
@@ -9534,8 +9565,8 @@ __webpack_require__.r(__webpack_exports__);
9534
9565
  //import "../../modern.scss";
9535
9566
  var Version;
9536
9567
  var ReleaseDate;
9537
- Version = "" + "1.9.111";
9538
- ReleaseDate = "" + "2023-10-04";
9568
+ Version = "" + "1.9.112";
9569
+ ReleaseDate = "" + "2023-10-10";
9539
9570
  function checkLibraryVersion(ver, libraryName) {
9540
9571
  if (Version != ver) {
9541
9572
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -20604,6 +20635,7 @@ var Notifier = /** @class */ (function (_super) {
20604
20635
  _this.timeout = _settings__WEBPACK_IMPORTED_MODULE_1__["settings"].notifications.lifetime;
20605
20636
  _this.timer = undefined;
20606
20637
  _this.actionsVisibility = {};
20638
+ _this.showActions = true;
20607
20639
  _this.actionBar = new _actions_container__WEBPACK_IMPORTED_MODULE_4__["ActionContainer"]();
20608
20640
  _this.actionBar.updateCallback = function (isResetInitialized) {
20609
20641
  _this.actionBar.actions.forEach(function (action) { return action.cssClasses = {}; });
@@ -20622,7 +20654,7 @@ var Notifier = /** @class */ (function (_super) {
20622
20654
  };
20623
20655
  Notifier.prototype.updateActionsVisibility = function (type) {
20624
20656
  var _this = this;
20625
- this.actionBar.actions.forEach(function (action) { return action.visible = (_this.actionsVisibility[action.id] === type); });
20657
+ this.actionBar.actions.forEach(function (action) { return action.visible = _this.showActions && (_this.actionsVisibility[action.id] === type); });
20626
20658
  };
20627
20659
  Notifier.prototype.notify = function (message, type, waitUserAction) {
20628
20660
  var _this = this;
@@ -24652,6 +24684,14 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
24652
24684
 
24653
24685
 
24654
24686
 
24687
+ var TriggerExpressionInfo = /** @class */ (function () {
24688
+ function TriggerExpressionInfo(name, canRun, doComplete) {
24689
+ this.name = name;
24690
+ this.canRun = canRun;
24691
+ this.doComplete = doComplete;
24692
+ }
24693
+ return TriggerExpressionInfo;
24694
+ }());
24655
24695
  /**
24656
24696
  * A base class for all questions.
24657
24697
  */
@@ -24675,6 +24715,7 @@ var Question = /** @class */ (function (_super) {
24675
24715
  * Indicates the previous ready state.
24676
24716
  */
24677
24717
  _this.onReadyChanged = _this.addEvent();
24718
+ _this.triggersInfo = [];
24678
24719
  _this.isRunningValidatorsValue = false;
24679
24720
  _this.isValueChangedInSurvey = false;
24680
24721
  _this.allowNotifyValueChanged = true;
@@ -24692,6 +24733,11 @@ var Question = /** @class */ (function (_super) {
24692
24733
  };
24693
24734
  _this.locTitle.storeDefaultText = true;
24694
24735
  _this.createLocalizableString("requiredErrorText", _this);
24736
+ _this.addTriggerInfo("resetValueIf", function () { return !_this.isEmpty(); }, function () {
24737
+ _this.clearValue();
24738
+ _this.updateValueWithDefaults();
24739
+ });
24740
+ _this.addTriggerInfo("setValueIf", function () { return true; }, function () { return _this.runSetValueExpression(); });
24695
24741
  _this.registerPropertyChangedHandlers(["width"], function () {
24696
24742
  _this.updateQuestionCss();
24697
24743
  if (!!_this.parent) {
@@ -24731,7 +24777,6 @@ var Question = /** @class */ (function (_super) {
24731
24777
  };
24732
24778
  Question.prototype.setIsMobile = function (val) {
24733
24779
  this.isMobile = val && (this.allowMobileInDesignMode() || !this.isDesignMode);
24734
- this.renderMinWidth = !val;
24735
24780
  };
24736
24781
  Question.prototype.createLocTitleProperty = function () {
24737
24782
  var _this = this;
@@ -25144,31 +25189,60 @@ var Question = /** @class */ (function (_super) {
25144
25189
  requiredAnsweredQuestionCount: !this.isEmpty() && this.isRequired ? 1 : 0,
25145
25190
  };
25146
25191
  };
25147
- Question.prototype.runTriggers = function (name, value) {
25192
+ Question.prototype.runSetValueExpression = function () {
25148
25193
  var _this = this;
25149
- if (this.isRunningResetValueIf || this.isReadOnly || !this.resetValueIf || this.isEmpty() || this.isSettingQuestionValue)
25150
- return;
25151
- if (this.parentQuestion && this.parentQuestion.getValueName() === name)
25194
+ if (!this.setValueExpression) {
25195
+ this.clearValue();
25196
+ }
25197
+ else {
25198
+ if (!this.setValueExpressionRunner) {
25199
+ this.setValueExpressionRunner = new _conditions__WEBPACK_IMPORTED_MODULE_6__["ExpressionRunner"](this.setValueExpression);
25200
+ this.setValueExpressionRunner.onRunComplete = function (res) {
25201
+ if (!_this.isTwoValueEquals(_this.value, res)) {
25202
+ _this.value = res;
25203
+ }
25204
+ };
25205
+ }
25206
+ else {
25207
+ this.setValueExpressionRunner.expression = this.setValueExpression;
25208
+ }
25209
+ this.setValueExpressionRunner.run(this.getDataFilteredValues(), this.getDataFilteredProperties());
25210
+ }
25211
+ };
25212
+ Question.prototype.addTriggerInfo = function (name, canRun, doComplete) {
25213
+ this.triggersInfo.push(new TriggerExpressionInfo(name, canRun, doComplete));
25214
+ };
25215
+ Question.prototype.runTriggerInfo = function (info, name, value) {
25216
+ var expression = this[info.name];
25217
+ if (!expression || info.isRunning || !info.canRun())
25152
25218
  return;
25153
- if (!this.resetValueIfExpression) {
25154
- this.resetValueIfExpression = new _conditions__WEBPACK_IMPORTED_MODULE_6__["ExpressionRunner"](this.resetValueIf);
25155
- this.resetValueIfExpression.onRunComplete = function (res) {
25156
- _this.isRunningResetValueIf = false;
25219
+ if (!info.runner) {
25220
+ info.runner = new _conditions__WEBPACK_IMPORTED_MODULE_6__["ExpressionRunner"](expression);
25221
+ info.runner.onRunComplete = function (res) {
25157
25222
  if (res === true) {
25158
- _this.clearValue();
25159
- _this.updateValueWithDefaults();
25223
+ info.doComplete();
25160
25224
  }
25225
+ info.isRunning = false;
25161
25226
  };
25162
25227
  }
25163
25228
  else {
25164
- this.resetValueIfExpression.expression = this.resetValueIf;
25229
+ info.runner.expression = expression;
25165
25230
  }
25166
25231
  var keys = {};
25167
25232
  keys[name] = value;
25168
- if (!new _conditionProcessValue__WEBPACK_IMPORTED_MODULE_13__["ProcessValue"]().isAnyKeyChanged(keys, this.resetValueIfExpression.getVariables()))
25233
+ if (!new _conditionProcessValue__WEBPACK_IMPORTED_MODULE_13__["ProcessValue"]().isAnyKeyChanged(keys, info.runner.getVariables()))
25234
+ return;
25235
+ info.isRunning = true;
25236
+ info.runner.run(this.getDataFilteredValues(), this.getDataFilteredProperties());
25237
+ };
25238
+ Question.prototype.runTriggers = function (name, value) {
25239
+ var _this = this;
25240
+ if (this.isReadOnly || this.isSettingQuestionValue ||
25241
+ (this.parentQuestion && this.parentQuestion.getValueName() === name))
25169
25242
  return;
25170
- this.isRunningResetValueIf = true;
25171
- this.resetValueIfExpression.run(this.getDataFilteredValues(), this.getDataFilteredProperties());
25243
+ this.triggersInfo.forEach(function (info) {
25244
+ _this.runTriggerInfo(info, name, value);
25245
+ });
25172
25246
  };
25173
25247
  Question.prototype.runConditions = function () {
25174
25248
  if (this.data && !this.isLoadingFromJson) {
@@ -26554,6 +26628,7 @@ var Question = /** @class */ (function (_super) {
26554
26628
  *
26555
26629
  * 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).
26556
26630
  * @see defaultValue
26631
+ * @see setValueExpression
26557
26632
  */
26558
26633
  get: function () {
26559
26634
  return this.getPropertyValue("defaultValueExpression");
@@ -26573,6 +26648,7 @@ var Question = /** @class */ (function (_super) {
26573
26648
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
26574
26649
  *
26575
26650
  * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
26651
+ * @see setValueIf
26576
26652
  */
26577
26653
  get: function () {
26578
26654
  return this.getPropertyValue("resetValueIf");
@@ -26583,6 +26659,41 @@ var Question = /** @class */ (function (_super) {
26583
26659
  enumerable: false,
26584
26660
  configurable: true
26585
26661
  });
26662
+ Object.defineProperty(Question.prototype, "setValueIf", {
26663
+ /**
26664
+ * A Boolean expression. If it evaluates to `true`, the question value is set to a value calculated using the [`setValueExpression`](#setValueExpression).
26665
+ *
26666
+ * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
26667
+ *
26668
+ * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
26669
+ * @see resetValueIf
26670
+ */
26671
+ get: function () {
26672
+ return this.getPropertyValue("setValueIf");
26673
+ },
26674
+ set: function (val) {
26675
+ this.setPropertyValue("setValueIf", val);
26676
+ },
26677
+ enumerable: false,
26678
+ configurable: true
26679
+ });
26680
+ Object.defineProperty(Question.prototype, "setValueExpression", {
26681
+ /**
26682
+ * An expression used to calculate the question value. Applies only when the [`setValueIf`](#setValueIf) expression evaluates to `true`.
26683
+ *
26684
+ * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
26685
+ * @see defaultValueExpression
26686
+ * @see resetValueIf
26687
+ */
26688
+ get: function () {
26689
+ return this.getPropertyValue("setValueExpression");
26690
+ },
26691
+ set: function (val) {
26692
+ this.setPropertyValue("setValueExpression", val);
26693
+ },
26694
+ enumerable: false,
26695
+ configurable: true
26696
+ });
26586
26697
  Object.defineProperty(Question.prototype, "resizeStyle", {
26587
26698
  get: function () {
26588
26699
  return this.allowResizeComment ? "both" : "none";
@@ -27700,10 +27811,9 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("question", [
27700
27811
  },
27701
27812
  { name: "valueName", onSettingValue: function (obj, val) { return makeNameValid(val); } },
27702
27813
  "enableIf:condition",
27703
- {
27704
- name: "resetValueIf:condition",
27705
- category: "logic"
27706
- },
27814
+ "resetValueIf:condition",
27815
+ "setValueIf:condition",
27816
+ { name: "setValueExpression:expression", visibleIf: function (obj) { return !!obj.setValueIf; } },
27707
27817
  "defaultValue:value",
27708
27818
  {
27709
27819
  name: "defaultValueExpression:expression",
@@ -33399,11 +33509,6 @@ var QuestionExpressionModel = /** @class */ (function (_super) {
33399
33509
  }
33400
33510
  return val.toString();
33401
33511
  };
33402
- QuestionExpressionModel.prototype.convertToCorrectValue = function (val) {
33403
- if (Array.isArray(val))
33404
- return val.join(", ");
33405
- return val;
33406
- };
33407
33512
  return QuestionExpressionModel;
33408
33513
  }(_question__WEBPACK_IMPORTED_MODULE_1__["Question"]));
33409
33514
 
@@ -35297,7 +35402,7 @@ function getCorrectImageLink(val) {
35297
35402
  return youtubeUrl + youtubeEmbed + "/" + id;
35298
35403
  }
35299
35404
  _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("image", [
35300
- { name: "imageLink", serializationProperty: "locImageLink" },
35405
+ { name: "imageLink:file", serializationProperty: "locImageLink" },
35301
35406
  { name: "altText", serializationProperty: "locAltText", alternativeName: "text", category: "general" },
35302
35407
  {
35303
35408
  name: "contentMode",
@@ -35874,7 +35979,7 @@ var QuestionImagePickerModel = /** @class */ (function (_super) {
35874
35979
  return QuestionImagePickerModel;
35875
35980
  }(_question_baseselect__WEBPACK_IMPORTED_MODULE_2__["QuestionCheckboxBase"]));
35876
35981
 
35877
- _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("imageitemvalue", [{ name: "imageLink", serializationProperty: "locImageLink" }], function (value) { return new ImageItemValue(value); }, "itemvalue");
35982
+ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("imageitemvalue", [{ name: "imageLink:file", serializationProperty: "locImageLink" }], function (value) { return new ImageItemValue(value); }, "itemvalue");
35878
35983
  _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("responsiveImageSize", [], undefined, "number");
35879
35984
  _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("imagepicker", [
35880
35985
  { name: "showOtherItem", visible: false },
@@ -39108,7 +39213,10 @@ var QuestionMatrixDropdownModelBase = /** @class */ (function (_super) {
39108
39213
  return false;
39109
39214
  };
39110
39215
  QuestionMatrixDropdownModelBase.prototype.addDuplicationError = function (question) {
39111
- question.addError(new _error__WEBPACK_IMPORTED_MODULE_10__["KeyDuplicationError"](this.keyDuplicationError, this));
39216
+ var keyError = question.errors.find(function (error) { return error.getErrorType() === "keyduplicationerror"; });
39217
+ if (!keyError) {
39218
+ question.addError(new _error__WEBPACK_IMPORTED_MODULE_10__["KeyDuplicationError"](this.keyDuplicationError, this));
39219
+ }
39112
39220
  };
39113
39221
  QuestionMatrixDropdownModelBase.prototype.getFirstQuestionToFocus = function (withError) {
39114
39222
  return this.getFirstCellQuestion(withError);
@@ -39940,6 +40048,26 @@ var MatrixDropdownColumn = /** @class */ (function (_super) {
39940
40048
  enumerable: false,
39941
40049
  configurable: true
39942
40050
  });
40051
+ Object.defineProperty(MatrixDropdownColumn.prototype, "setValueIf", {
40052
+ get: function () {
40053
+ return this.templateQuestion.setValueIf;
40054
+ },
40055
+ set: function (val) {
40056
+ this.templateQuestion.setValueIf = val;
40057
+ },
40058
+ enumerable: false,
40059
+ configurable: true
40060
+ });
40061
+ Object.defineProperty(MatrixDropdownColumn.prototype, "setValueExpession", {
40062
+ get: function () {
40063
+ return this.templateQuestion.setValueExpession;
40064
+ },
40065
+ set: function (val) {
40066
+ this.templateQuestion.setValueExpession = val;
40067
+ },
40068
+ enumerable: false,
40069
+ configurable: true
40070
+ });
39943
40071
  Object.defineProperty(MatrixDropdownColumn.prototype, "isUnique", {
39944
40072
  get: function () {
39945
40073
  return this.getPropertyValue("isUnique");
@@ -40391,12 +40519,12 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("matrixdropdownc
40391
40519
  "enableIf:condition",
40392
40520
  "requiredIf:condition",
40393
40521
  "resetValueIf:condition",
40522
+ "setValueIf:condition",
40523
+ { name: "setValueExpression:expression", visibleIf: function (obj) { return !!obj.setValueIf; } },
40394
40524
  {
40395
40525
  name: "showInMultipleColumns:boolean",
40396
40526
  dependsOn: "cellType",
40397
40527
  visibleIf: function (obj) {
40398
- if (!obj)
40399
- return false;
40400
40528
  return obj.isSupportMultipleColumns;
40401
40529
  },
40402
40530
  },
@@ -44646,10 +44774,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
44646
44774
  };
44647
44775
  QuestionPanelDynamicModel.prototype.setIsMobile = function (val) {
44648
44776
  _super.prototype.setIsMobile.call(this, val);
44649
- (this.panels || []).forEach(function (panel) { return panel.elements.forEach(function (element) {
44650
- if (element instanceof _question__WEBPACK_IMPORTED_MODULE_4__["Question"]) {
44651
- element.isMobile = val;
44652
- }
44777
+ (this.panels || []).forEach(function (panel) { return panel.getQuestions(true).forEach(function (question) {
44778
+ question.setIsMobile(val);
44653
44779
  }); });
44654
44780
  };
44655
44781
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "panelCount", {
@@ -48634,7 +48760,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("signaturepad",
48634
48760
  default: true,
48635
48761
  },
48636
48762
  {
48637
- name: "backgroundImage",
48763
+ name: "backgroundImage:file",
48638
48764
  category: "general",
48639
48765
  },
48640
48766
  {
@@ -52494,7 +52620,9 @@ var SurveyElement = /** @class */ (function (_super) {
52494
52620
  Object.defineProperty(SurveyElement.prototype, "rootStyle", {
52495
52621
  get: function () {
52496
52622
  var style = {};
52497
- var minWidth = this.renderMinWidth ? this.minWidth : "min(100%, " + this.minWidth + ")";
52623
+ var minWidth = this.minWidth;
52624
+ if (minWidth != "auto")
52625
+ minWidth = "min(100%, " + this.minWidth + ")";
52498
52626
  if (this.allowRootStyle && this.renderWidth) {
52499
52627
  // style["width"] = this.renderWidth;
52500
52628
  style["flexGrow"] = 1;
@@ -52604,9 +52732,6 @@ var SurveyElement = /** @class */ (function (_super) {
52604
52732
  __decorate([
52605
52733
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: true })
52606
52734
  ], SurveyElement.prototype, "allowRootStyle", void 0);
52607
- __decorate([
52608
- Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: true })
52609
- ], SurveyElement.prototype, "renderMinWidth", void 0);
52610
52735
  return SurveyElement;
52611
52736
  }(SurveyElementCore));
52612
52737
 
@@ -52792,6 +52917,10 @@ var SurveyModel = /** @class */ (function (_super) {
52792
52917
  _this.valuesHash = {};
52793
52918
  _this.variablesHash = {};
52794
52919
  _this.onThemeApplying = new _base__WEBPACK_IMPORTED_MODULE_2__["EventBase"]();
52920
+ /**
52921
+ * An event that is raised after a [theme](/form-library/documentation/manage-default-themes-and-styles) is [applied](#applyTheme) to the survey.
52922
+ * @see applyTheme
52923
+ */
52795
52924
  _this.onThemeApplied = new _base__WEBPACK_IMPORTED_MODULE_2__["EventBase"]();
52796
52925
  //#region Event declarations
52797
52926
  /**
@@ -53383,10 +53512,12 @@ var SurveyModel = /** @class */ (function (_super) {
53383
53512
  * For information on event handler parameters, refer to descriptions within the interface.
53384
53513
  *
53385
53514
  * [View Demo](https://surveyjs.io/form-library/examples/survey-titleactions/ (linkStyle))
53515
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
53386
53516
  */
53387
53517
  _this.onGetQuestionTitleActions = _this.addEvent();
53388
53518
  /**
53389
53519
  * An event that allows you to add, delete, or modify actions in a panel title.
53520
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
53390
53521
  */
53391
53522
  _this.onGetPanelTitleActions = _this.addEvent();
53392
53523
  /**
@@ -53395,10 +53526,12 @@ var SurveyModel = /** @class */ (function (_super) {
53395
53526
  * For information on event handler parameters, refer to descriptions within the interface.
53396
53527
  *
53397
53528
  * [View Demo](https://surveyjs.io/form-library/examples/modify-titles-of-survey-elements/ (linkStyle))
53529
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
53398
53530
  */
53399
53531
  _this.onGetPageTitleActions = _this.addEvent();
53400
53532
  /**
53401
53533
  * An event that allows you to add, delete, or modify actions in the footer of a [Panel](https://surveyjs.io/form-library/documentation/panelmodel).
53534
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
53402
53535
  */
53403
53536
  _this.onGetPanelFooterActions = _this.addEvent();
53404
53537
  /**
@@ -53407,7 +53540,7 @@ var SurveyModel = /** @class */ (function (_super) {
53407
53540
  * For information on event handler parameters, refer to descriptions within the interface.
53408
53541
  *
53409
53542
  * [View Demo](https://surveyjs.io/form-library/examples/employee-information-form/ (linkStyle))
53410
- * @see IAction
53543
+ * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
53411
53544
  */
53412
53545
  _this.onGetMatrixRowActions = _this.addEvent();
53413
53546
  /**
@@ -56443,10 +56576,12 @@ var SurveyModel = /** @class */ (function (_super) {
56443
56576
  }
56444
56577
  this.setPropertyValue("completedStateText", text);
56445
56578
  if (this.state === "completed" && this.showCompletedPage && !!this.completedState) {
56446
- this.notify(this.completedStateText, this.completedState);
56579
+ this.notify(this.completedStateText, this.completedState, true);
56447
56580
  }
56448
56581
  };
56449
- SurveyModel.prototype.notify = function (message, type) {
56582
+ SurveyModel.prototype.notify = function (message, type, showActions) {
56583
+ if (showActions === void 0) { showActions = false; }
56584
+ this.notifier.showActions = showActions;
56450
56585
  this.notifier.notify(message, type, type === "error");
56451
56586
  };
56452
56587
  /**
@@ -60586,12 +60721,19 @@ var SurveyModel = /** @class */ (function (_super) {
60586
60721
  SurveyModel.prototype.processPopupVisiblityChanged = function (question, popup, visible) {
60587
60722
  this.onPopupVisibleChanged.fire(this, { question: question, popup: popup, visible: visible });
60588
60723
  };
60724
+ /**
60725
+ * Applies a specified theme to the survey.
60726
+ *
60727
+ * [Themes & Styles](/form-library/documentation/manage-default-themes-and-styles (linkStyle))
60728
+ * @param theme An [`ITheme`](/form-library/documentation/api-reference/itheme) object with theme settings.
60729
+ * @see onThemeApplied
60730
+ */
60589
60731
  SurveyModel.prototype.applyTheme = function (theme) {
60590
60732
  var _this = this;
60591
60733
  if (!theme)
60592
60734
  return;
60593
60735
  Object.keys(theme).forEach(function (key) {
60594
- if (key === "cover") {
60736
+ if (key === "header") {
60595
60737
  _this.removeLayoutElement("cover");
60596
60738
  var newCoverModel = new _cover__WEBPACK_IMPORTED_MODULE_20__["Cover"]();
60597
60739
  newCoverModel.fromTheme(theme);
@@ -60684,8 +60826,8 @@ var SurveyModel = /** @class */ (function (_super) {
60684
60826
  __decorate([
60685
60827
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({
60686
60828
  onSet: function (newValue, target) {
60687
- if (newValue === "cover") {
60688
- var layoutElement = target.layoutElements.filter(function (a) { return a.id === newValue; })[0];
60829
+ if (newValue === "advanced") {
60830
+ var layoutElement = target.layoutElements.filter(function (a) { return a.id === "cover"; })[0];
60689
60831
  if (!layoutElement) {
60690
60832
  var cover = new _cover__WEBPACK_IMPORTED_MODULE_20__["Cover"]();
60691
60833
  cover.logoPositionX = target.logoPosition === "right" ? "right" : "left";
@@ -60708,7 +60850,7 @@ var SurveyModel = /** @class */ (function (_super) {
60708
60850
  }
60709
60851
  }
60710
60852
  })
60711
- ], SurveyModel.prototype, "titleView", void 0);
60853
+ ], SurveyModel.prototype, "headerView", void 0);
60712
60854
  __decorate([
60713
60855
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
60714
60856
  ], SurveyModel.prototype, "showBrandInfo", void 0);
@@ -60781,7 +60923,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
60781
60923
  serializationProperty: "locDescription",
60782
60924
  dependsOn: "locale",
60783
60925
  },
60784
- { name: "logo", serializationProperty: "locLogo" },
60926
+ { name: "logo:file", serializationProperty: "locLogo" },
60785
60927
  { name: "logoWidth", default: "300px", minValue: 0 },
60786
60928
  { name: "logoHeight", default: "200px", minValue: 0 },
60787
60929
  {
@@ -60997,8 +61139,8 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].addClass("survey", [
60997
61139
  },
60998
61140
  { name: "width", visibleIf: function (obj) { return obj.widthMode === "static"; } },
60999
61141
  { name: "fitToContainer:boolean", default: false },
61000
- { name: "titleView", default: "title", choices: ["title", "cover"], visible: false },
61001
- { name: "backgroundImage", visible: false },
61142
+ { name: "headerView", default: "basic", choices: ["basic", "advanced"], visible: false },
61143
+ { name: "backgroundImage:file", visible: false },
61002
61144
  { name: "backgroundImageFit", default: "cover", choices: ["auto", "contain", "cover"], visible: false },
61003
61145
  { name: "backgroundImageAttachment", default: "scroll", choices: ["scroll", "fixed"], visible: false },
61004
61146
  { name: "backgroundOpacity:number", minValue: 0, maxValue: 1, default: 1, visible: false },