survey-core 1.12.12 → 1.12.13

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 (235) hide show
  1. package/defaultV2.css +45 -10
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +45 -10
  4. package/defaultV2.fontless.css.map +1 -1
  5. package/defaultV2.fontless.min.css +2 -2
  6. package/defaultV2.min.css +2 -2
  7. package/i18n/arabic.js +1 -1
  8. package/i18n/arabic.min.js +1 -1
  9. package/i18n/basque.js +1 -1
  10. package/i18n/basque.min.js +1 -1
  11. package/i18n/bulgarian.js +1 -1
  12. package/i18n/bulgarian.min.js +1 -1
  13. package/i18n/catalan.js +1 -1
  14. package/i18n/catalan.min.js +1 -1
  15. package/i18n/croatian.js +1 -1
  16. package/i18n/croatian.min.js +1 -1
  17. package/i18n/czech.js +1 -1
  18. package/i18n/czech.min.js +1 -1
  19. package/i18n/danish.js +1 -1
  20. package/i18n/danish.min.js +1 -1
  21. package/i18n/dutch.js +1 -1
  22. package/i18n/dutch.min.js +1 -1
  23. package/i18n/english.js +1 -1
  24. package/i18n/english.min.js +1 -1
  25. package/i18n/estonian.js +1 -1
  26. package/i18n/estonian.min.js +1 -1
  27. package/i18n/finnish.js +1 -1
  28. package/i18n/finnish.min.js +1 -1
  29. package/i18n/french.js +1 -1
  30. package/i18n/french.min.js +1 -1
  31. package/i18n/georgian.js +1 -1
  32. package/i18n/georgian.min.js +1 -1
  33. package/i18n/german.js +1 -1
  34. package/i18n/german.min.js +1 -1
  35. package/i18n/greek.js +1 -1
  36. package/i18n/greek.min.js +1 -1
  37. package/i18n/hebrew.js +1 -1
  38. package/i18n/hebrew.min.js +1 -1
  39. package/i18n/hindi.js +1 -1
  40. package/i18n/hindi.min.js +1 -1
  41. package/i18n/hungarian.js +1 -1
  42. package/i18n/hungarian.min.js +1 -1
  43. package/i18n/icelandic.js +1 -1
  44. package/i18n/icelandic.min.js +1 -1
  45. package/i18n/index.js +1 -1
  46. package/i18n/index.min.js +1 -1
  47. package/i18n/indonesian.js +1 -1
  48. package/i18n/indonesian.min.js +1 -1
  49. package/i18n/italian.js +1 -1
  50. package/i18n/italian.min.js +1 -1
  51. package/i18n/japanese.js +1 -1
  52. package/i18n/japanese.min.js +1 -1
  53. package/i18n/kazakh.js +1 -1
  54. package/i18n/kazakh.min.js +1 -1
  55. package/i18n/korean.js +1 -1
  56. package/i18n/korean.min.js +1 -1
  57. package/i18n/latvian.js +1 -1
  58. package/i18n/latvian.min.js +1 -1
  59. package/i18n/lithuanian.js +1 -1
  60. package/i18n/lithuanian.min.js +1 -1
  61. package/i18n/macedonian.js +1 -1
  62. package/i18n/macedonian.min.js +1 -1
  63. package/i18n/malay.js +1 -1
  64. package/i18n/malay.min.js +1 -1
  65. package/i18n/nl-BE.js +1 -1
  66. package/i18n/nl-BE.min.js +1 -1
  67. package/i18n/norwegian.js +1 -1
  68. package/i18n/norwegian.min.js +1 -1
  69. package/i18n/persian.js +1 -1
  70. package/i18n/persian.min.js +1 -1
  71. package/i18n/philippines.js +1 -1
  72. package/i18n/philippines.min.js +1 -1
  73. package/i18n/polish.js +1 -1
  74. package/i18n/polish.min.js +1 -1
  75. package/i18n/portuguese-br.js +1 -1
  76. package/i18n/portuguese-br.min.js +1 -1
  77. package/i18n/portuguese.js +1 -1
  78. package/i18n/portuguese.min.js +1 -1
  79. package/i18n/romanian.js +1 -1
  80. package/i18n/romanian.min.js +1 -1
  81. package/i18n/russian.js +1 -1
  82. package/i18n/russian.min.js +1 -1
  83. package/i18n/serbian.js +1 -1
  84. package/i18n/serbian.min.js +1 -1
  85. package/i18n/simplified-chinese.js +1 -1
  86. package/i18n/simplified-chinese.min.js +1 -1
  87. package/i18n/slovak.js +1 -1
  88. package/i18n/slovak.min.js +1 -1
  89. package/i18n/spanish.js +1 -1
  90. package/i18n/spanish.min.js +1 -1
  91. package/i18n/swahili.js +1 -1
  92. package/i18n/swahili.min.js +1 -1
  93. package/i18n/swedish.js +1 -1
  94. package/i18n/swedish.min.js +1 -1
  95. package/i18n/tajik.js +1 -1
  96. package/i18n/tajik.min.js +1 -1
  97. package/i18n/telugu.js +1 -1
  98. package/i18n/telugu.min.js +1 -1
  99. package/i18n/thai.js +1 -1
  100. package/i18n/thai.min.js +1 -1
  101. package/i18n/traditional-chinese.js +1 -1
  102. package/i18n/traditional-chinese.min.js +1 -1
  103. package/i18n/turkish.js +1 -1
  104. package/i18n/turkish.min.js +1 -1
  105. package/i18n/ukrainian.js +1 -1
  106. package/i18n/ukrainian.min.js +1 -1
  107. package/i18n/urdu.js +1 -1
  108. package/i18n/urdu.min.js +1 -1
  109. package/i18n/vietnamese.js +1 -1
  110. package/i18n/vietnamese.min.js +1 -1
  111. package/i18n/welsh.js +1 -1
  112. package/i18n/welsh.min.js +1 -1
  113. package/icons/iconsV1.js +1 -1
  114. package/icons/iconsV1.min.js +1 -1
  115. package/icons/iconsV2.js +1 -1
  116. package/icons/iconsV2.min.js +1 -1
  117. package/modern.css +16 -1
  118. package/modern.css.map +1 -1
  119. package/modern.fontless.css +16 -1
  120. package/modern.fontless.css.map +1 -1
  121. package/modern.fontless.min.css +2 -2
  122. package/modern.min.css +2 -2
  123. package/package.json +1 -1
  124. package/plugins/bootstrap-integration/index.js +1 -1
  125. package/plugins/bootstrap-integration/index.min.js +1 -1
  126. package/plugins/bootstrap-material-integration/index.js +1 -1
  127. package/plugins/bootstrap-material-integration/index.min.js +1 -1
  128. package/survey.core.js +80 -44
  129. package/survey.core.js.map +1 -1
  130. package/survey.core.min.js +3 -3
  131. package/survey.css +16 -1
  132. package/survey.css.map +1 -1
  133. package/survey.i18n.js +1 -1
  134. package/survey.i18n.min.js +1 -1
  135. package/survey.min.css +2 -2
  136. package/themes/borderless-dark-panelless.js +1 -1
  137. package/themes/borderless-dark-panelless.min.js +1 -1
  138. package/themes/borderless-dark.js +1 -1
  139. package/themes/borderless-dark.min.js +1 -1
  140. package/themes/borderless-light-panelless..js +1 -1
  141. package/themes/borderless-light-panelless..min.js +1 -1
  142. package/themes/borderless-light.js +1 -1
  143. package/themes/borderless-light.min.js +1 -1
  144. package/themes/contrast-dark-panelless.js +1 -1
  145. package/themes/contrast-dark-panelless.min.js +1 -1
  146. package/themes/contrast-dark.js +1 -1
  147. package/themes/contrast-dark.min.js +1 -1
  148. package/themes/contrast-light-panelless.js +1 -1
  149. package/themes/contrast-light-panelless.min.js +1 -1
  150. package/themes/contrast-light.js +1 -1
  151. package/themes/contrast-light.min.js +1 -1
  152. package/themes/default-dark-panelless.js +1 -1
  153. package/themes/default-dark-panelless.min.js +1 -1
  154. package/themes/default-dark.js +1 -1
  155. package/themes/default-dark.min.js +1 -1
  156. package/themes/default-light-panelless.js +1 -1
  157. package/themes/default-light-panelless.min.js +1 -1
  158. package/themes/default-light.js +1 -1
  159. package/themes/default-light.min.js +1 -1
  160. package/themes/doubleborder-dark-panelless.js +1 -1
  161. package/themes/doubleborder-dark-panelless.min.js +1 -1
  162. package/themes/doubleborder-dark.js +1 -1
  163. package/themes/doubleborder-dark.min.js +1 -1
  164. package/themes/doubleborder-light-panelles.js +1 -1
  165. package/themes/doubleborder-light-panelles.min.js +1 -1
  166. package/themes/doubleborder-light.js +1 -1
  167. package/themes/doubleborder-light.min.js +1 -1
  168. package/themes/flat-dark-panelless.js +1 -1
  169. package/themes/flat-dark-panelless.min.js +1 -1
  170. package/themes/flat-dark.js +1 -1
  171. package/themes/flat-dark.min.js +1 -1
  172. package/themes/flat-light-panelless.js +1 -1
  173. package/themes/flat-light-panelless.min.js +1 -1
  174. package/themes/flat-light.js +1 -1
  175. package/themes/flat-light.min.js +1 -1
  176. package/themes/index.js +1 -1
  177. package/themes/index.min.js +1 -1
  178. package/themes/layered-dark-panelless.js +1 -1
  179. package/themes/layered-dark-panelless.min.js +1 -1
  180. package/themes/layered-dark.js +1 -1
  181. package/themes/layered-dark.min.js +1 -1
  182. package/themes/layered-light-panelless.js +1 -1
  183. package/themes/layered-light-panelless.min.js +1 -1
  184. package/themes/layered-light.js +1 -1
  185. package/themes/layered-light.min.js +1 -1
  186. package/themes/plain-dark-panelless.js +1 -1
  187. package/themes/plain-dark-panelless.min.js +1 -1
  188. package/themes/plain-dark.js +1 -1
  189. package/themes/plain-dark.min.js +1 -1
  190. package/themes/plain-light-panelless.js +1 -1
  191. package/themes/plain-light-panelless.min.js +1 -1
  192. package/themes/plain-light.js +1 -1
  193. package/themes/plain-light.min.js +1 -1
  194. package/themes/sharp-dark-panelless.js +1 -1
  195. package/themes/sharp-dark-panelless.min.js +1 -1
  196. package/themes/sharp-dark.js +1 -1
  197. package/themes/sharp-dark.min.js +1 -1
  198. package/themes/sharp-light-panelless.js +1 -1
  199. package/themes/sharp-light-panelless.min.js +1 -1
  200. package/themes/sharp-light.js +1 -1
  201. package/themes/sharp-light.min.js +1 -1
  202. package/themes/solid-dark-panelless.js +1 -1
  203. package/themes/solid-dark-panelless.min.js +1 -1
  204. package/themes/solid-dark.js +1 -1
  205. package/themes/solid-dark.min.js +1 -1
  206. package/themes/solid-light-panelless.js +1 -1
  207. package/themes/solid-light-panelless.min.js +1 -1
  208. package/themes/solid-light.js +1 -1
  209. package/themes/solid-light.min.js +1 -1
  210. package/themes/three-dimensional-dark-panelless.js +1 -1
  211. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  212. package/themes/three-dimensional-dark.js +1 -1
  213. package/themes/three-dimensional-dark.min.js +1 -1
  214. package/themes/three-dimensional-light-panelless.js +1 -1
  215. package/themes/three-dimensional-light-panelless.min.js +1 -1
  216. package/themes/three-dimensional-light.js +1 -1
  217. package/themes/three-dimensional-light.min.js +1 -1
  218. package/ts3.4/typings/packages/survey-core/src/dropdownListModel.d.ts +1 -0
  219. package/ts3.4/typings/packages/survey-core/src/helpers.d.ts +1 -0
  220. package/ts3.4/typings/packages/survey-core/src/question.d.ts +1 -1
  221. package/ts3.4/typings/packages/survey-core/src/question_comment.d.ts +1 -0
  222. package/ts3.4/typings/packages/survey-core/src/question_matrixdropdownbase.d.ts +2 -2
  223. package/ts3.4/typings/packages/survey-core/src/question_paneldynamic.d.ts +3 -3
  224. package/ts3.4/typings/packages/survey-core/src/survey-element.d.ts +1 -0
  225. package/ts3.4/typings/packages/survey-core/src/survey.d.ts +1 -0
  226. package/ts3.4/typings/packages/survey-core/src/utils/text-area.d.ts +1 -1
  227. package/typings/packages/survey-core/src/dropdownListModel.d.ts +1 -0
  228. package/typings/packages/survey-core/src/helpers.d.ts +1 -0
  229. package/typings/packages/survey-core/src/question.d.ts +1 -1
  230. package/typings/packages/survey-core/src/question_comment.d.ts +1 -0
  231. package/typings/packages/survey-core/src/question_matrixdropdownbase.d.ts +2 -2
  232. package/typings/packages/survey-core/src/question_paneldynamic.d.ts +3 -3
  233. package/typings/packages/survey-core/src/survey-element.d.ts +1 -0
  234. package/typings/packages/survey-core/src/survey.d.ts +1 -0
  235. package/typings/packages/survey-core/src/utils/text-area.d.ts +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "survey-core",
3
- "version": "1.12.12",
3
+ "version": "1.12.13",
4
4
  "description": "survey.js is a JavaScript Survey Library. It is a modern way to add a survey to your website. It uses JSON for survey metadata and results.",
5
5
  "keywords": [
6
6
  "Survey",
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.12.12
2
+ * surveyjs - Survey JavaScript library v1.12.13
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.12.12
2
+ * surveyjs - Survey JavaScript library v1.12.13
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.12.12
2
+ * surveyjs - Survey JavaScript library v1.12.13
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.12.12
2
+ * surveyjs - Survey JavaScript library v1.12.13
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
package/survey.core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.12.12
2
+ * surveyjs - Survey JavaScript library v1.12.13
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -714,13 +714,16 @@ var helpers_Helpers = /** @class */ (function () {
714
714
  };
715
715
  Helpers.getNumberCore = function (value) {
716
716
  if (typeof value == "string") {
717
- if (!value.trim())
717
+ value = value.trim();
718
+ if (!value)
718
719
  return NaN;
719
720
  if (value.indexOf("0x") == 0) {
720
721
  if (value.length > 32)
721
722
  return NaN;
722
723
  return parseInt(value);
723
724
  }
725
+ if (value.length > 15 && Helpers.isDigitsOnly(value))
726
+ return NaN;
724
727
  if (Helpers.isStringHasOperator(value))
725
728
  return NaN;
726
729
  }
@@ -832,6 +835,15 @@ var helpers_Helpers = /** @class */ (function () {
832
835
  Helpers.isCharDigit = function (ch) {
833
836
  return ch >= "0" && ch <= "9";
834
837
  };
838
+ Helpers.isDigitsOnly = function (str) {
839
+ if (!str)
840
+ return false;
841
+ for (var i = 0; i < str.length; i++) {
842
+ if (!Helpers.isCharDigit(str[i]))
843
+ return false;
844
+ }
845
+ return true;
846
+ };
835
847
  Helpers.getNumberFromStr = function (str, index) {
836
848
  if (!this.isCharDigit(str[index]))
837
849
  return NaN;
@@ -1894,7 +1906,7 @@ var CustomPropertiesCollection = /** @class */ (function () {
1894
1906
  prop.serializationProperty &&
1895
1907
  obj.createCustomLocalizableObj) {
1896
1908
  var locStr = obj.createCustomLocalizableObj(prop.name);
1897
- locStr.defaultValue = prop.defaultValue;
1909
+ locStr.defaultValue = prop.getDefaultValue(obj);
1898
1910
  var locDesc = {
1899
1911
  get: function () {
1900
1912
  return obj.getLocalizableString(prop.name);
@@ -1912,7 +1924,6 @@ var CustomPropertiesCollection = /** @class */ (function () {
1912
1924
  Object.defineProperty(obj, prop.name, desc);
1913
1925
  }
1914
1926
  else {
1915
- var defaultValue = prop.defaultValue;
1916
1927
  var isArrayProp = prop.isArray || prop.type === "multiplevalues";
1917
1928
  if (typeof obj.createNewArray === "function") {
1918
1929
  if (Serializer.isDescendantOf(prop.className, "itemvalue")) {
@@ -1929,10 +1940,10 @@ var CustomPropertiesCollection = /** @class */ (function () {
1929
1940
  }
1930
1941
  }
1931
1942
  if (isArrayProp) {
1943
+ var defaultValue = prop.getDefaultValue(obj);
1932
1944
  if (Array.isArray(defaultValue)) {
1933
1945
  obj.setPropertyValue(prop.name, defaultValue);
1934
1946
  }
1935
- defaultValue = null;
1936
1947
  }
1937
1948
  }
1938
1949
  if (!!obj.getPropertyValue && !!obj.setPropertyValue) {
@@ -1941,7 +1952,7 @@ var CustomPropertiesCollection = /** @class */ (function () {
1941
1952
  if (!!prop.onGetValue) {
1942
1953
  return prop.onGetValue(obj);
1943
1954
  }
1944
- return obj.getPropertyValue(prop.name, defaultValue);
1955
+ return obj.getPropertyValue(prop.name, undefined);
1945
1956
  },
1946
1957
  set: function (v) {
1947
1958
  if (!!prop.onSetValue) {
@@ -8665,9 +8676,9 @@ var base_Base = /** @class */ (function () {
8665
8676
  var prop = this.getPropertyByName(name);
8666
8677
  if (!prop || prop.isCustom && this.isCreating)
8667
8678
  return undefined;
8668
- var dValue = prop.defaultValue;
8669
8679
  if (!!prop.defaultValueFunc)
8670
- return dValue;
8680
+ return prop.defaultValueFunc(this);
8681
+ var dValue = prop.getDefaultValue(this);
8671
8682
  if (!this.isPropertyEmpty(dValue) && !Array.isArray(dValue))
8672
8683
  return dValue;
8673
8684
  var locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;
@@ -12444,6 +12455,7 @@ var survey_element_SurveyElement = /** @class */ (function (_super) {
12444
12455
  SurveyElement.prototype.getTitleToolbar = function () {
12445
12456
  if (!this.titleToolbarValue) {
12446
12457
  this.titleToolbarValue = this.createActionContainer(true);
12458
+ this.titleToolbarValue.locOwner = this;
12447
12459
  this.titleToolbarValue.containerCss = (this.isPanel ? this.cssClasses.panel.titleBar : this.cssClasses.titleBar) || "sv-action-title-bar";
12448
12460
  this.titleToolbarValue.setItems(this.getTitleActions());
12449
12461
  }
@@ -12480,6 +12492,12 @@ var survey_element_SurveyElement = /** @class */ (function (_super) {
12480
12492
  }
12481
12493
  this.setPropertyValue("titleActions", actions);
12482
12494
  };
12495
+ SurveyElement.prototype.locStrsChanged = function () {
12496
+ _super.prototype.locStrsChanged.call(this);
12497
+ if (!!this.titleToolbarValue) {
12498
+ this.titleToolbarValue.locStrsChanged();
12499
+ }
12500
+ };
12483
12501
  Object.defineProperty(SurveyElement.prototype, "hasTitleActions", {
12484
12502
  get: function () {
12485
12503
  return this.getTitleActions().length > 0;
@@ -17676,10 +17694,8 @@ var question_Question = /** @class */ (function (_super) {
17676
17694
  this.triggersInfo.push(info);
17677
17695
  return info;
17678
17696
  };
17679
- Question.prototype.runTriggerInfo = function (info, name, value) {
17697
+ Question.prototype.runTriggerInfo = function (info, keys) {
17680
17698
  var expression = this[info.name];
17681
- var keys = {};
17682
- keys[name] = value;
17683
17699
  if (!expression || info.isRunning || !info.canRun()) {
17684
17700
  if (info.runSecondCheck(keys)) {
17685
17701
  info.doComplete();
@@ -17703,12 +17719,16 @@ var question_Question = /** @class */ (function (_super) {
17703
17719
  info.isRunning = true;
17704
17720
  info.runner.run(this.getDataFilteredValues(), this.getDataFilteredProperties());
17705
17721
  };
17706
- Question.prototype.runTriggers = function (name, value) {
17722
+ Question.prototype.runTriggers = function (name, value, keys) {
17707
17723
  var _this = this;
17708
17724
  if (this.isSettingQuestionValue || (this.parentQuestion && this.parentQuestion.getValueName() === name))
17709
17725
  return;
17726
+ if (!keys) {
17727
+ keys = {};
17728
+ keys[name] = value;
17729
+ }
17710
17730
  this.triggersInfo.forEach(function (info) {
17711
- _this.runTriggerInfo(info, name, value);
17731
+ _this.runTriggerInfo(info, keys);
17712
17732
  });
17713
17733
  };
17714
17734
  Question.prototype.runConditions = function () {
@@ -18350,8 +18370,8 @@ var question_Question = /** @class */ (function (_super) {
18350
18370
  };
18351
18371
  Question.prototype.getCssDescription = function (cssClasses) {
18352
18372
  return new CssClassBuilder()
18353
- .append(cssClasses.description, this.hasDescriptionUnderTitle)
18354
- .append(cssClasses.descriptionUnderInput, this.hasDescriptionUnderInput)
18373
+ .append(cssClasses.description)
18374
+ .append(cssClasses.descriptionUnderInput, this.getDescriptionLocation() == "underInput")
18355
18375
  .toString();
18356
18376
  };
18357
18377
  Question.prototype.showErrorOnCore = function (location) {
@@ -26404,7 +26424,7 @@ var question_matrixdropdownrendered_QuestionMatrixDropdownRenderedTable = /** @c
26404
26424
  return;
26405
26425
  this.headerRowValue = this.createRenderedRow(this.cssClasses);
26406
26426
  if (this.isRowsDragAndDrop) {
26407
- this.headerRow.cells.push(this.createHeaderCell(null, "action"));
26427
+ this.headerRow.cells.push(this.createHeaderCell(null, "action", this.cssClasses.actionsCellDrag));
26408
26428
  }
26409
26429
  if (this.hasActionCellInRows("start")) {
26410
26430
  this.headerRow.cells.push(this.createHeaderCell(null, "action"));
@@ -26952,22 +26972,23 @@ var question_matrixdropdownrendered_QuestionMatrixDropdownRenderedTable = /** @c
26952
26972
  return null;
26953
26973
  return choices;
26954
26974
  };
26955
- QuestionMatrixDropdownRenderedTable.prototype.setHeaderCellCssClasses = function (cell, cellType) {
26975
+ QuestionMatrixDropdownRenderedTable.prototype.setHeaderCellCssClasses = function (cell, cellType, classMod) {
26956
26976
  cell.className = new CssClassBuilder()
26957
26977
  .append(this.cssClasses.headerCell)
26958
26978
  .append(this.cssClasses.columnTitleCell, this.matrix.isColumnLayoutHorizontal)
26959
26979
  .append(this.cssClasses.emptyCell, !!cell.isEmpty)
26960
26980
  .append(this.cssClasses.cell + "--" + cellType, !!cellType)
26981
+ .append(classMod, !!classMod)
26961
26982
  .toString();
26962
26983
  };
26963
- QuestionMatrixDropdownRenderedTable.prototype.createHeaderCell = function (column, cellType) {
26984
+ QuestionMatrixDropdownRenderedTable.prototype.createHeaderCell = function (column, cellType, classMod) {
26964
26985
  if (cellType === void 0) { cellType = null; }
26965
26986
  var cell = !!column ? this.createTextCell(column.locTitle) : this.createEmptyCell();
26966
26987
  cell.column = column;
26967
26988
  this.setHeaderCell(column, cell);
26968
26989
  if (!cellType)
26969
26990
  cellType = (!!column && column.cellType !== "default") ? column.cellType : this.matrix.cellType;
26970
- this.setHeaderCellCssClasses(cell, cellType);
26991
+ this.setHeaderCellCssClasses(cell, cellType, classMod);
26971
26992
  return cell;
26972
26993
  };
26973
26994
  QuestionMatrixDropdownRenderedTable.prototype.setHeaderCell = function (column, cell) {
@@ -28603,9 +28624,9 @@ var question_matrixdropdownbase_QuestionMatrixDropdownModelBase = /** @class */
28603
28624
  counter < 3);
28604
28625
  this.updateVisibilityBasedOnRows();
28605
28626
  };
28606
- QuestionMatrixDropdownModelBase.prototype.runTriggers = function (name, value) {
28607
- _super.prototype.runTriggers.call(this, name, value);
28608
- this.runFuncForCellQuestions(function (q) { q.runTriggers(name, value); });
28627
+ QuestionMatrixDropdownModelBase.prototype.runTriggers = function (name, value, keys) {
28628
+ _super.prototype.runTriggers.call(this, name, value, keys);
28629
+ this.runFuncForCellQuestions(function (q) { q.runTriggers(name, value, keys); });
28609
28630
  };
28610
28631
  QuestionMatrixDropdownModelBase.prototype.updateElementVisibility = function () {
28611
28632
  _super.prototype.updateElementVisibility.call(this);
@@ -28840,7 +28861,7 @@ var question_matrixdropdownbase_QuestionMatrixDropdownModelBase = /** @class */
28840
28861
  /**
28841
28862
  * An error message displayed when users enter a duplicate value into a column that accepts only unique values (`isUnique` is set to `true` or `keyName` is specified).
28842
28863
  *
28843
- * A default value for this property is taken from a [localization dictionary](https://github.com/surveyjs/survey-library/tree/master/src/localization). Refer to the following help topic for more information: [Localization & Globalization](https://surveyjs.io/form-library/documentation/localization).
28864
+ * A default value for this property is taken from a [localization dictionary](https://github.com/surveyjs/survey-library/tree/01bd8abd0c574719956d4d579d48c8010cd389d4/packages/survey-core/src/localization). Refer to the following help topic for more information: [Localization & Globalization](https://surveyjs.io/form-library/documentation/localization).
28844
28865
  * @see isUniqueCaseSensitive
28845
28866
  */
28846
28867
  get: function () {
@@ -31103,7 +31124,7 @@ var question_matrixdynamic_QuestionMatrixDynamicModel = /** @class */ (function
31103
31124
  return true;
31104
31125
  };
31105
31126
  QuestionMatrixDynamicModel.prototype.onPointerDown = function (pointerDownEvent, row) {
31106
- if (!row || !this.isRowsDragAndDrop)
31127
+ if (!row || !this.isRowsDragAndDrop || this.isDesignMode)
31107
31128
  return;
31108
31129
  if (this.isBanStartDrag(pointerDownEvent))
31109
31130
  return;
@@ -32418,7 +32439,7 @@ var defaultV2Css = {
32418
32439
  requiredText: "sd-question__required-text",
32419
32440
  number: "sd-element__num",
32420
32441
  description: "sd-description sd-question__description",
32421
- descriptionUnderInput: "sd-description sd-question__description sd-question__description--under-input",
32442
+ descriptionUnderInput: "sd-question__description--under-input",
32422
32443
  comment: "sd-input sd-comment",
32423
32444
  other: "sd-input sd-comment",
32424
32445
  required: "sd-question--required",
@@ -44134,7 +44155,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
44134
44155
  }, elementsToRenderBefore);
44135
44156
  }
44136
44157
  else {
44137
- if (!elementPage_1 && !this.isSinglePage && !this.isDesignMode && this.rootElement) {
44158
+ if (element.isPage && !this.isSinglePage && !this.isDesignMode && this.rootElement) {
44138
44159
  var elementToScroll = this.rootElement.querySelector(classesToSelector(this.css.rootWrapper));
44139
44160
  survey_element_SurveyElement.ScrollElementToViewCore(elementToScroll, false, scrollIfVisible, scrollIntoViewOptions, onScolledCallback);
44140
44161
  }
@@ -44659,12 +44680,9 @@ var survey_SurveyModel = /** @class */ (function (_super) {
44659
44680
  var question = questions[i];
44660
44681
  this.checkQuestionErrorOnValueChanged(question);
44661
44682
  question.onSurveyValueChanged(newValue);
44662
- this.fireOnValueChanged(valueName, newValue, question);
44663
44683
  }
44664
44684
  }
44665
- else {
44666
- this.fireOnValueChanged(valueName, newValue, null);
44667
- }
44685
+ this.fireOnValueChanged(valueName, newValue, !!questionName ? this.getQuestionByName(questionName) : undefined);
44668
44686
  if (this.isDisposed)
44669
44687
  return;
44670
44688
  this.checkElementsBindings(valueName, newValue);
@@ -44838,11 +44856,17 @@ var survey_SurveyModel = /** @class */ (function (_super) {
44838
44856
  SurveyModel.prototype.runConditionOnValueChanged = function (name, value) {
44839
44857
  if (this.isRunningConditions) {
44840
44858
  this.conditionValues[name] = value;
44859
+ if (this.questionTriggersKeys) {
44860
+ this.questionTriggersKeys[name] = value;
44861
+ }
44841
44862
  this.isValueChangedOnRunningCondition = true;
44842
44863
  }
44843
44864
  else {
44865
+ this.questionTriggersKeys = {};
44866
+ this.questionTriggersKeys[name] = value;
44844
44867
  this.runConditions();
44845
44868
  this.runQuestionsTriggers(name, value);
44869
+ this.questionTriggersKeys = undefined;
44846
44870
  }
44847
44871
  };
44848
44872
  SurveyModel.prototype.runConditionsCore = function (properties) {
@@ -44859,10 +44883,13 @@ var survey_SurveyModel = /** @class */ (function (_super) {
44859
44883
  }
44860
44884
  };
44861
44885
  SurveyModel.prototype.runQuestionsTriggers = function (name, value) {
44886
+ var _this = this;
44862
44887
  if (this.isDisplayMode || this.isDesignMode)
44863
44888
  return;
44864
44889
  var questions = this.getAllQuestions();
44865
- questions.forEach(function (q) { return q.runTriggers(name, value); });
44890
+ questions.forEach(function (q) {
44891
+ q.runTriggers(name, value, _this.questionTriggersKeys);
44892
+ });
44866
44893
  };
44867
44894
  SurveyModel.prototype.checkIfNewPagesBecomeVisible = function (oldCurrentPageIndex) {
44868
44895
  var newCurrentPageIndex = this.pages.indexOf(this.currentPage);
@@ -50766,11 +50793,8 @@ var dropdownListModel_DropdownListModel = /** @class */ (function (_super) {
50766
50793
  var _this = this;
50767
50794
  var isUpdate = (this.itemsSettings.skip + 1) < this.itemsSettings.totalCount;
50768
50795
  if (!this.itemsSettings.skip || isUpdate) {
50796
+ this.resetTimer();
50769
50797
  if (!!this.filterString && settings.dropdownSearchDelay > 0) {
50770
- if (!!this.timer) {
50771
- clearTimeout(this.timer);
50772
- this.timer = undefined;
50773
- }
50774
50798
  this.timer = setTimeout(function () {
50775
50799
  _this.loadQuestionChoices(callbackAfterItemsLoaded);
50776
50800
  }, settings.dropdownSearchDelay);
@@ -50780,6 +50804,12 @@ var dropdownListModel_DropdownListModel = /** @class */ (function (_super) {
50780
50804
  }
50781
50805
  }
50782
50806
  };
50807
+ DropdownListModel.prototype.resetTimer = function () {
50808
+ if (!!this.timer) {
50809
+ clearTimeout(this.timer);
50810
+ this.timer = undefined;
50811
+ }
50812
+ };
50783
50813
  DropdownListModel.prototype.updatePopupFocusFirstInputSelector = function () {
50784
50814
  this._popupModel.focusFirstInputSelector = this.focusFirstInputSelector;
50785
50815
  };
@@ -58636,6 +58666,12 @@ var question_comment_QuestionCommentModel = /** @class */ (function (_super) {
58636
58666
  _super.prototype.setNewValue.call(this, newValue);
58637
58667
  };
58638
58668
  QuestionCommentModel.prototype.getValueSeparator = function () { return "\n"; };
58669
+ QuestionCommentModel.prototype.notifyStateChanged = function (prevState) {
58670
+ _super.prototype.notifyStateChanged.call(this, prevState);
58671
+ if (!this.isCollapsed) {
58672
+ this.textAreaModel.updateElement();
58673
+ }
58674
+ };
58639
58675
  Object.defineProperty(QuestionCommentModel.prototype, "className", {
58640
58676
  get: function () {
58641
58677
  return (this.cssClasses ? this.getControlClass() : "panel-comment-root") || undefined;
@@ -60554,7 +60590,7 @@ var question_radiogroup_QuestionRadiogroupModel = /** @class */ (function (_supe
60554
60590
  var actions = [];
60555
60591
  if (this.isDefaultV2Theme && !this.isDesignMode) {
60556
60592
  var clearAction = new action_Action({
60557
- title: this.clearButtonCaption,
60593
+ locTitleName: "clearCaption",
60558
60594
  id: "sv-clr-btn-" + this.id,
60559
60595
  action: function () { _this.clearValue(true); },
60560
60596
  innerCss: this.cssClasses.clearButton,
@@ -64801,7 +64837,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64801
64837
  /**
64802
64838
  * A placeholder for tab titles that applies when the [`templateTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle) expression doesn't produce a meaningful value.
64803
64839
  *
64804
- * Default value: `"New Panel"` (taken from a [localization dictionary](https://github.com/surveyjs/survey-library/tree/master/src/localization))
64840
+ * Default value: `"New Panel"` (taken from a [localization dictionary](https://github.com/surveyjs/survey-library/tree/01bd8abd0c574719956d4d579d48c8010cd389d4/packages/survey-core/src/localization))
64805
64841
  */
64806
64842
  get: function () {
64807
64843
  return this.locTabTitlePlaceholder.text;
@@ -65229,7 +65265,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
65229
65265
  /**
65230
65266
  * An error message displayed when users enter a duplicate value into a question that accepts only unique values (`isUnique` is set to `true` or `keyName` is specified).
65231
65267
  *
65232
- * A default value for this property is taken from a [localization dictionary](https://github.com/surveyjs/survey-library/tree/master/src/localization). Refer to the following help topic for more information: [Localization & Globalization](https://surveyjs.io/form-library/documentation/localization).
65268
+ * A default value for this property is taken from a [localization dictionary](https://github.com/surveyjs/survey-library/tree/01bd8abd0c574719956d4d579d48c8010cd389d4/packages/survey-core/src/localization). Refer to the following help topic for more information: [Localization & Globalization](https://surveyjs.io/form-library/documentation/localization).
65233
65269
  * @see keyName
65234
65270
  */
65235
65271
  get: function () {
@@ -66452,10 +66488,10 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
66452
66488
  _super.prototype.runCondition.call(this, values, properties);
66453
66489
  this.runPanelsCondition(this.panelsCore, values, properties);
66454
66490
  };
66455
- QuestionPanelDynamicModel.prototype.runTriggers = function (name, value) {
66456
- _super.prototype.runTriggers.call(this, name, value);
66491
+ QuestionPanelDynamicModel.prototype.runTriggers = function (name, value, keys) {
66492
+ _super.prototype.runTriggers.call(this, name, value, keys);
66457
66493
  this.visiblePanelsCore.forEach(function (p) {
66458
- p.questions.forEach(function (q) { return q.runTriggers(name, value); });
66494
+ p.questions.forEach(function (q) { return q.runTriggers(name, value, keys); });
66459
66495
  });
66460
66496
  };
66461
66497
  QuestionPanelDynamicModel.prototype.reRunCondition = function () {
@@ -68901,7 +68937,7 @@ var mask_base_InputMaskBase = /** @class */ (function (_super) {
68901
68937
  var properties = Serializer.getProperties(this.getType());
68902
68938
  properties.forEach(function (property) {
68903
68939
  var currentValue = json[property.name];
68904
- _this[property.name] = currentValue !== undefined ? currentValue : property.defaultValue;
68940
+ _this[property.name] = currentValue !== undefined ? currentValue : property.getDefaultValue(_this);
68905
68941
  });
68906
68942
  };
68907
68943
  InputMaskBase.prototype.getData = function () {
@@ -70282,8 +70318,8 @@ Serializer.addClass("currencymask", [
70282
70318
 
70283
70319
  var Version;
70284
70320
  var ReleaseDate;
70285
- Version = "" + "1.12.12";
70286
- ReleaseDate = "" + "2024-11-26";
70321
+ Version = "" + "1.12.13";
70322
+ ReleaseDate = "" + "2024-12-04";
70287
70323
  function checkLibraryVersion(ver, libraryName) {
70288
70324
  if (Version != ver) {
70289
70325
  var str = "survey-core has version '" + Version + "' and " + libraryName