survey-core 1.11.13 → 1.11.14

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 (241) hide show
  1. package/defaultV2.css +205 -206
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +205 -206
  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/philippines.js +1 -1
  73. package/i18n/philippines.min.js +1 -1
  74. package/i18n/polish.js +1 -1
  75. package/i18n/polish.min.js +1 -1
  76. package/i18n/portuguese-br.js +1 -1
  77. package/i18n/portuguese-br.min.js +1 -1
  78. package/i18n/portuguese.js +1 -1
  79. package/i18n/portuguese.min.js +1 -1
  80. package/i18n/romanian.js +1 -1
  81. package/i18n/romanian.min.js +1 -1
  82. package/i18n/russian.js +1 -1
  83. package/i18n/russian.min.js +1 -1
  84. package/i18n/serbian.js +1 -1
  85. package/i18n/serbian.min.js +1 -1
  86. package/i18n/simplified-chinese.js +1 -1
  87. package/i18n/simplified-chinese.min.js +1 -1
  88. package/i18n/slovak.js +1 -1
  89. package/i18n/slovak.min.js +1 -1
  90. package/i18n/spanish.js +1 -1
  91. package/i18n/spanish.min.js +1 -1
  92. package/i18n/swahili.js +1 -1
  93. package/i18n/swahili.min.js +1 -1
  94. package/i18n/swedish.js +1 -1
  95. package/i18n/swedish.min.js +1 -1
  96. package/i18n/tajik.js +1 -1
  97. package/i18n/tajik.min.js +1 -1
  98. package/i18n/telugu.js +1 -1
  99. package/i18n/telugu.min.js +1 -1
  100. package/i18n/thai.js +1 -1
  101. package/i18n/thai.min.js +1 -1
  102. package/i18n/traditional-chinese.js +1 -1
  103. package/i18n/traditional-chinese.min.js +1 -1
  104. package/i18n/turkish.js +1 -1
  105. package/i18n/turkish.min.js +1 -1
  106. package/i18n/ukrainian.js +1 -1
  107. package/i18n/ukrainian.min.js +1 -1
  108. package/i18n/urdu.js +1 -1
  109. package/i18n/urdu.min.js +1 -1
  110. package/i18n/vietnamese.js +1 -1
  111. package/i18n/vietnamese.min.js +1 -1
  112. package/i18n/welsh.js +1 -1
  113. package/i18n/welsh.min.js +1 -1
  114. package/modern.css +1 -1
  115. package/modern.fontless.css +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/index.js +1 -1
  120. package/plugins/bootstrap-integration/index.min.js +1 -1
  121. package/plugins/bootstrap-material-integration/index.js +1 -1
  122. package/plugins/bootstrap-material-integration/index.min.js +1 -1
  123. package/survey.core.js +207 -104
  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.i18n.js +1 -1
  128. package/survey.i18n.min.js +1 -1
  129. package/survey.min.css +1 -1
  130. package/themes/borderless-dark-panelless.js +1 -1
  131. package/themes/borderless-dark-panelless.min.js +1 -1
  132. package/themes/borderless-dark.js +1 -1
  133. package/themes/borderless-dark.min.js +1 -1
  134. package/themes/borderless-light-panelless..js +1 -1
  135. package/themes/borderless-light-panelless..min.js +1 -1
  136. package/themes/borderless-light.js +1 -1
  137. package/themes/borderless-light.min.js +1 -1
  138. package/themes/contrast-dark-panelless.js +1 -1
  139. package/themes/contrast-dark-panelless.min.js +1 -1
  140. package/themes/contrast-dark.js +1 -1
  141. package/themes/contrast-dark.min.js +1 -1
  142. package/themes/contrast-light-panelless.js +1 -1
  143. package/themes/contrast-light-panelless.min.js +1 -1
  144. package/themes/contrast-light.js +1 -1
  145. package/themes/contrast-light.min.js +1 -1
  146. package/themes/default-dark-panelless.js +1 -1
  147. package/themes/default-dark-panelless.min.js +1 -1
  148. package/themes/default-dark.js +1 -1
  149. package/themes/default-dark.min.js +1 -1
  150. package/themes/default-light-panelless.js +1 -1
  151. package/themes/default-light-panelless.min.js +1 -1
  152. package/themes/default-light.js +1 -1
  153. package/themes/default-light.min.js +1 -1
  154. package/themes/doubleborder-dark-panelless.js +1 -1
  155. package/themes/doubleborder-dark-panelless.min.js +1 -1
  156. package/themes/doubleborder-dark.js +1 -1
  157. package/themes/doubleborder-dark.min.js +1 -1
  158. package/themes/doubleborder-light-panelles.js +1 -1
  159. package/themes/doubleborder-light-panelles.min.js +1 -1
  160. package/themes/doubleborder-light.js +1 -1
  161. package/themes/doubleborder-light.min.js +1 -1
  162. package/themes/flat-dark-panelless.js +1 -1
  163. package/themes/flat-dark-panelless.min.js +1 -1
  164. package/themes/flat-dark.js +1 -1
  165. package/themes/flat-dark.min.js +1 -1
  166. package/themes/flat-light-panelless.js +1 -1
  167. package/themes/flat-light-panelless.min.js +1 -1
  168. package/themes/flat-light.js +1 -1
  169. package/themes/flat-light.min.js +1 -1
  170. package/themes/index.js +1 -1
  171. package/themes/index.min.js +1 -1
  172. package/themes/layered-dark-panelless.js +1 -1
  173. package/themes/layered-dark-panelless.min.js +1 -1
  174. package/themes/layered-dark.js +1 -1
  175. package/themes/layered-dark.min.js +1 -1
  176. package/themes/layered-light-panelless.js +1 -1
  177. package/themes/layered-light-panelless.min.js +1 -1
  178. package/themes/layered-light.js +1 -1
  179. package/themes/layered-light.min.js +1 -1
  180. package/themes/plain-dark-panelless.js +1 -1
  181. package/themes/plain-dark-panelless.min.js +1 -1
  182. package/themes/plain-dark.js +1 -1
  183. package/themes/plain-dark.min.js +1 -1
  184. package/themes/plain-light-panelless.js +1 -1
  185. package/themes/plain-light-panelless.min.js +1 -1
  186. package/themes/plain-light.js +1 -1
  187. package/themes/plain-light.min.js +1 -1
  188. package/themes/sharp-dark-panelless.js +1 -1
  189. package/themes/sharp-dark-panelless.min.js +1 -1
  190. package/themes/sharp-dark.js +1 -1
  191. package/themes/sharp-dark.min.js +1 -1
  192. package/themes/sharp-light-panelless.js +1 -1
  193. package/themes/sharp-light-panelless.min.js +1 -1
  194. package/themes/sharp-light.js +1 -1
  195. package/themes/sharp-light.min.js +1 -1
  196. package/themes/solid-dark-panelless.js +1 -1
  197. package/themes/solid-dark-panelless.min.js +1 -1
  198. package/themes/solid-dark.js +1 -1
  199. package/themes/solid-dark.min.js +1 -1
  200. package/themes/solid-light-panelless.js +1 -1
  201. package/themes/solid-light-panelless.min.js +1 -1
  202. package/themes/solid-light.js +1 -1
  203. package/themes/solid-light.min.js +1 -1
  204. package/themes/three-dimensional-dark-panelless.js +1 -1
  205. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  206. package/themes/three-dimensional-dark.js +1 -1
  207. package/themes/three-dimensional-dark.min.js +1 -1
  208. package/themes/three-dimensional-light-panelless.js +1 -1
  209. package/themes/three-dimensional-light-panelless.min.js +1 -1
  210. package/themes/three-dimensional-light.js +1 -1
  211. package/themes/three-dimensional-light.min.js +1 -1
  212. package/ts3.4/typings/packages/survey-core/src/actions/action.d.ts +1 -1
  213. package/ts3.4/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +1 -0
  214. package/ts3.4/typings/packages/survey-core/src/jsonobject.d.ts +1 -0
  215. package/ts3.4/typings/packages/survey-core/src/list.d.ts +1 -0
  216. package/ts3.4/typings/packages/survey-core/src/localization/english.d.ts +1 -0
  217. package/ts3.4/typings/packages/survey-core/src/martixBase.d.ts +11 -0
  218. package/ts3.4/typings/packages/survey-core/src/question.d.ts +6 -3
  219. package/ts3.4/typings/packages/survey-core/src/question_checkbox.d.ts +2 -0
  220. package/ts3.4/typings/packages/survey-core/src/question_matrixdropdownbase.d.ts +1 -0
  221. package/ts3.4/typings/packages/survey-core/src/question_paneldynamic.d.ts +12 -15
  222. package/ts3.4/typings/packages/survey-core/src/question_tagbox.d.ts +3 -0
  223. package/ts3.4/typings/packages/survey-core/src/settings.d.ts +1 -1
  224. package/ts3.4/typings/packages/survey-core/src/survey-events-api.d.ts +22 -12
  225. package/ts3.4/typings/packages/survey-core/src/survey.d.ts +11 -36
  226. package/ts3.4/typings/packages/survey-core/src/surveyStrings.d.ts +1 -0
  227. package/typings/packages/survey-core/src/actions/action.d.ts +1 -1
  228. package/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +1 -0
  229. package/typings/packages/survey-core/src/jsonobject.d.ts +1 -0
  230. package/typings/packages/survey-core/src/list.d.ts +1 -0
  231. package/typings/packages/survey-core/src/localization/english.d.ts +1 -0
  232. package/typings/packages/survey-core/src/martixBase.d.ts +12 -0
  233. package/typings/packages/survey-core/src/question.d.ts +7 -3
  234. package/typings/packages/survey-core/src/question_checkbox.d.ts +2 -0
  235. package/typings/packages/survey-core/src/question_matrixdropdownbase.d.ts +1 -0
  236. package/typings/packages/survey-core/src/question_paneldynamic.d.ts +12 -15
  237. package/typings/packages/survey-core/src/question_tagbox.d.ts +3 -0
  238. package/typings/packages/survey-core/src/settings.d.ts +1 -1
  239. package/typings/packages/survey-core/src/survey-events-api.d.ts +22 -12
  240. package/typings/packages/survey-core/src/survey.d.ts +11 -36
  241. package/typings/packages/survey-core/src/surveyStrings.d.ts +1 -0
package/survey.core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.11.13
2
+ * surveyjs - Survey JavaScript library v1.11.14
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
  */
@@ -1829,6 +1829,7 @@ var englishStrings = {
1829
1829
  refuseItemText: "Refuse to answer",
1830
1830
  dontKnowItemText: "Don't know",
1831
1831
  selectAllItemText: "Select All",
1832
+ deselectAllItemText: "Deselect all",
1832
1833
  progressText: "Page {0} of {1}",
1833
1834
  indexText: "{0} of {1}",
1834
1835
  panelDynamicProgressText: "{0} of {1}",
@@ -3264,13 +3265,27 @@ var JsonMetadata = /** @class */ (function () {
3264
3265
  invalidNames = [];
3265
3266
  for (var i_1 = 0; i_1 < dynamicProps.length; i_1++) {
3266
3267
  var dProp = dynamicProps[i_1];
3267
- if (!hash[dProp.name] && invalidNames.indexOf(dProp.name) < 0) {
3268
+ if (invalidNames.indexOf(dProp.name) < 0 && this.canAddDybamicProp(dProp, hash[dProp.name])) {
3268
3269
  res.push(dProp);
3269
3270
  }
3270
3271
  }
3271
3272
  this.dynamicPropsCache[cacheType] = res;
3272
3273
  return res;
3273
3274
  };
3275
+ JsonMetadata.prototype.canAddDybamicProp = function (dProp, orgProp) {
3276
+ if (!orgProp)
3277
+ return true;
3278
+ if (dProp === orgProp)
3279
+ return false;
3280
+ var classInfo = dProp.classInfo;
3281
+ while (classInfo && classInfo.parentName) {
3282
+ dProp = this.findProperty(classInfo.parentName, dProp.name);
3283
+ if (dProp && dProp === orgProp)
3284
+ return true;
3285
+ classInfo = !!dProp ? dProp.classInfo : undefined;
3286
+ }
3287
+ return false;
3288
+ };
3274
3289
  JsonMetadata.prototype.hasOriginalProperty = function (obj, propName) {
3275
3290
  return !!this.getOriginalProperty(obj, propName);
3276
3291
  };
@@ -4735,16 +4750,16 @@ function dateFromFirstParameterOrToday(params) {
4735
4750
  }
4736
4751
  return date;
4737
4752
  }
4738
- function year(params) {
4753
+ function functionsfactory_year(params) {
4739
4754
  var date = dateFromFirstParameterOrToday(params);
4740
4755
  return date.getFullYear();
4741
4756
  }
4742
- functionsfactory_FunctionFactory.Instance.register("year", year);
4743
- function month(params) {
4757
+ functionsfactory_FunctionFactory.Instance.register("year", functionsfactory_year);
4758
+ function functionsfactory_month(params) {
4744
4759
  var date = dateFromFirstParameterOrToday(params);
4745
4760
  return date.getMonth() + 1;
4746
4761
  }
4747
- functionsfactory_FunctionFactory.Instance.register("month", month);
4762
+ functionsfactory_FunctionFactory.Instance.register("month", functionsfactory_month);
4748
4763
  function day(params) {
4749
4764
  var date = dateFromFirstParameterOrToday(params);
4750
4765
  return date.getDate();
@@ -4758,6 +4773,13 @@ functionsfactory_FunctionFactory.Instance.register("weekday", weekday);
4758
4773
  function getQuestionValueByContext(context, name) {
4759
4774
  if (!context || !name)
4760
4775
  return undefined;
4776
+ var q = context.question;
4777
+ while (q && q.parent) {
4778
+ var res = q.parent.getQuestionByName(name);
4779
+ if (!!res)
4780
+ return res;
4781
+ q = q.parentQuestion;
4782
+ }
4761
4783
  var keys = ["row", "panel", "survey"];
4762
4784
  for (var i = 0; i < keys.length; i++) {
4763
4785
  var ctx = context[keys[i]];
@@ -4769,15 +4791,31 @@ function getQuestionValueByContext(context, name) {
4769
4791
  }
4770
4792
  return null;
4771
4793
  }
4794
+ function getDisplayValueReturnResult(q, params) {
4795
+ if (params.length > 1 && !helpers_Helpers.isValueEmpty(params[1]))
4796
+ return q.getDisplayValue(true, params[1]);
4797
+ return q.displayValue;
4798
+ }
4772
4799
  function displayValue(params) {
4800
+ var _this = this;
4773
4801
  var q = getQuestionValueByContext(this, params[0]);
4774
4802
  if (!q)
4775
4803
  return "";
4776
- if (params.length > 1 && !helpers_Helpers.isValueEmpty(params[1]))
4777
- return q.getDisplayValue(true, params[1]);
4778
- return q.displayValue;
4804
+ if (q.isReady) {
4805
+ this.returnResult(getDisplayValueReturnResult(q, params));
4806
+ }
4807
+ else {
4808
+ var displayValueOnReadyChanged_1 = function (sender, options) {
4809
+ if (sender.isReady) {
4810
+ sender.onReadyChanged.remove(displayValueOnReadyChanged_1);
4811
+ _this.returnResult(getDisplayValueReturnResult(sender, params));
4812
+ }
4813
+ };
4814
+ q.onReadyChanged.add(displayValueOnReadyChanged_1);
4815
+ }
4816
+ return undefined;
4779
4817
  }
4780
- functionsfactory_FunctionFactory.Instance.register("displayValue", displayValue);
4818
+ functionsfactory_FunctionFactory.Instance.register("displayValue", displayValue, true);
4781
4819
  function propertyValue(params) {
4782
4820
  if (params.length !== 2 || !params[0] || !params[1])
4783
4821
  return undefined;
@@ -11080,6 +11118,9 @@ var list_ListModel = /** @class */ (function (_super) {
11080
11118
  list_decorate([
11081
11119
  jsonobject_property({ defaultValue: false })
11082
11120
  ], ListModel.prototype, "textWrapEnabled", void 0);
11121
+ list_decorate([
11122
+ jsonobject_property({ defaultValue: "sv-list-item-content" })
11123
+ ], ListModel.prototype, "itemComponent", void 0);
11083
11124
  return ListModel;
11084
11125
  }(container_ActionContainer));
11085
11126
 
@@ -11712,7 +11753,7 @@ var action_Action = /** @class */ (function (_super) {
11712
11753
  evt.stopPropagation();
11713
11754
  return true;
11714
11755
  };
11715
- Action.prototype.doMouseDown = function () {
11756
+ Action.prototype.doMouseDown = function (args) {
11716
11757
  this.isMouseDown = true;
11717
11758
  };
11718
11759
  Action.prototype.doFocus = function (args) {
@@ -15646,7 +15687,7 @@ var settings = {
15646
15687
  * Nested properties:
15647
15688
  *
15648
15689
  * - `lifetime`: `number`\
15649
- * Specifies a time period during which a notification is displayed; measured in milliseconds.
15690
+ * Specifies a time period during which a notification is displayed; measured in milliseconds. Default value: 2000.
15650
15691
  */
15651
15692
  notifications: {
15652
15693
  lifetime: 2000
@@ -17213,7 +17254,7 @@ var question_Question = /** @class */ (function (_super) {
17213
17254
  _this.registerFunctionOnPropertiesValueChanged(["no", "readOnly", "hasVisibleErrors", "containsErrors"], function () {
17214
17255
  _this.updateQuestionCss();
17215
17256
  });
17216
- _this.registerPropertyChangedHandlers(["isMobile"], function () { _this.onMobileChanged(); });
17257
+ _this.registerPropertyChangedHandlers(["_isMobile"], function () { _this.onMobileChanged(); });
17217
17258
  _this.registerPropertyChangedHandlers(["colSpan"], function () { var _a; (_a = _this.parent) === null || _a === void 0 ? void 0 : _a.updateColumns(); });
17218
17259
  return _this;
17219
17260
  }
@@ -17230,8 +17271,22 @@ var question_Question = /** @class */ (function (_super) {
17230
17271
  this.setIsMobile(this.survey._isMobile);
17231
17272
  };
17232
17273
  Question.prototype.setIsMobile = function (val) {
17233
- this.isMobile = val && (this.allowMobileInDesignMode() || !this.isDesignMode);
17274
+ var newVal = val && (this.allowMobileInDesignMode() || !this.isDesignMode);
17275
+ this.isMobile = newVal;
17276
+ };
17277
+ Question.prototype.getIsMobile = function () {
17278
+ return this._isMobile;
17234
17279
  };
17280
+ Object.defineProperty(Question.prototype, "isMobile", {
17281
+ get: function () {
17282
+ return this.getIsMobile();
17283
+ },
17284
+ set: function (val) {
17285
+ this._isMobile = val;
17286
+ },
17287
+ enumerable: false,
17288
+ configurable: true
17289
+ });
17235
17290
  Question.prototype.themeChanged = function (theme) { };
17236
17291
  Question.prototype.getDefaultTitle = function () { return this.name; };
17237
17292
  Question.prototype.createLocTitleProperty = function () {
@@ -18427,6 +18482,7 @@ var question_Question = /** @class */ (function (_super) {
18427
18482
  Question.prototype.getRootCss = function () {
18428
18483
  return new CssClassBuilder()
18429
18484
  .append(this.cssRoot)
18485
+ .append(this.cssClasses.mobile, this.isMobile)
18430
18486
  .append(this.cssClasses.readOnly, this.isReadOnlyStyle)
18431
18487
  .append(this.cssClasses.disabled, this.isDisabledStyle)
18432
18488
  .append(this.cssClasses.preview, this.isPreviewStyle)
@@ -19597,7 +19653,8 @@ var question_Question = /** @class */ (function (_super) {
19597
19653
  Object.defineProperty(Question.prototype, "validators", {
19598
19654
  /**
19599
19655
  * Question validators.
19600
- * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)
19656
+ *
19657
+ * [Data Validation](https://surveyjs.io/form-library/documentation/data-validation (linkStyle))
19601
19658
  */
19602
19659
  get: function () {
19603
19660
  return this.getPropertyValue("validators");
@@ -20370,7 +20427,7 @@ var question_Question = /** @class */ (function (_super) {
20370
20427
  Question.questionCounter = 100;
20371
20428
  question_decorate([
20372
20429
  jsonobject_property({ defaultValue: false })
20373
- ], Question.prototype, "isMobile", void 0);
20430
+ ], Question.prototype, "_isMobile", void 0);
20374
20431
  question_decorate([
20375
20432
  jsonobject_property()
20376
20433
  ], Question.prototype, "forceIsInputReadOnly", void 0);
@@ -22582,6 +22639,25 @@ var martixBase_QuestionMatrixBaseModel = /** @class */ (function (_super) {
22582
22639
  enumerable: false,
22583
22640
  configurable: true
22584
22641
  });
22642
+ Object.defineProperty(QuestionMatrixBaseModel.prototype, "displayMode", {
22643
+ get: function () {
22644
+ return this.getPropertyValue("displayMode");
22645
+ },
22646
+ /**
22647
+ * Specifies how to arrange matrix questions.
22648
+ *
22649
+ * Possible values:
22650
+ *
22651
+ * - `"table"` - Displays matrix questions in a table.
22652
+ * - `"list"` - Displays matrix questions one under another as a list.
22653
+ * - `"auto"` (default) - Uses the `"table"` mode if the survey has sufficient width to fit the table or the `"list"` mode otherwise.
22654
+ */
22655
+ set: function (val) {
22656
+ this.setPropertyValue("displayMode", val);
22657
+ },
22658
+ enumerable: false,
22659
+ configurable: true
22660
+ });
22585
22661
  //a11y
22586
22662
  QuestionMatrixBaseModel.prototype.getCellAriaLabel = function (rowTitle, columnTitle) {
22587
22663
  var row = (this.getLocalizationString("matrix_row") || "row").toLocaleLowerCase();
@@ -22595,6 +22671,12 @@ var martixBase_QuestionMatrixBaseModel = /** @class */ (function (_super) {
22595
22671
  enumerable: false,
22596
22672
  configurable: true
22597
22673
  });
22674
+ // EO a11y
22675
+ QuestionMatrixBaseModel.prototype.getIsMobile = function () {
22676
+ if (this.displayMode == "auto")
22677
+ return _super.prototype.getIsMobile.call(this);
22678
+ return this.displayMode === "list";
22679
+ };
22598
22680
  martixBase_decorate([
22599
22681
  jsonobject_property()
22600
22682
  ], QuestionMatrixBaseModel.prototype, "verticalAlign", void 0);
@@ -22615,7 +22697,13 @@ Serializer.addClass("matrixbase", [
22615
22697
  choices: ["top", "middle"],
22616
22698
  default: "middle",
22617
22699
  },
22618
- { name: "alternateRows:boolean", default: false }
22700
+ { name: "alternateRows:boolean", default: false },
22701
+ {
22702
+ name: "displayMode",
22703
+ default: "auto",
22704
+ choices: ["auto", "table", "list"],
22705
+ visible: false
22706
+ },
22619
22707
  ], undefined, "question");
22620
22708
 
22621
22709
  // CONCATENATED MODULE: ./packages/survey-core/src/textPreProcessor.ts
@@ -27919,12 +28007,10 @@ var question_matrixdropdownbase_QuestionMatrixDropdownModelBase = /** @class */
27919
28007
  "rowCount",
27920
28008
  "hasFooter",
27921
28009
  "detailPanelMode",
28010
+ "displayMode"
27922
28011
  ], function () {
27923
28012
  _this.resetRenderedTable();
27924
28013
  });
27925
- _this.registerPropertyChangedHandlers(["isMobile"], function () {
27926
- _this.resetRenderedTable();
27927
- });
27928
28014
  return _this;
27929
28015
  }
27930
28016
  Object.defineProperty(QuestionMatrixDropdownModelBase, "defaultCellType", {
@@ -29688,6 +29774,10 @@ var question_matrixdropdownbase_QuestionMatrixDropdownModelBase = /** @class */
29688
29774
  enumerable: false,
29689
29775
  configurable: true
29690
29776
  });
29777
+ QuestionMatrixDropdownModelBase.prototype.onMobileChanged = function () {
29778
+ _super.prototype.onMobileChanged.call(this);
29779
+ this.resetRenderedTable();
29780
+ };
29691
29781
  QuestionMatrixDropdownModelBase.prototype.getRootCss = function () {
29692
29782
  return new CssClassBuilder().append(_super.prototype.getRootCss.call(this)).append(this.cssClasses.rootScroll, this.horizontalScroll).toString();
29693
29783
  };
@@ -32099,6 +32189,7 @@ var defaultV2Css = {
32099
32189
  question: {
32100
32190
  contentFadeIn: "sd-element__content--fade-in",
32101
32191
  contentFadeOut: "sd-element__content--fade-out",
32192
+ mobile: "sd-question--mobile",
32102
32193
  fadeIn: "sd-element-wrapper--fade-in",
32103
32194
  fadeOut: "sd-element-wrapper--fade-out",
32104
32195
  mainRoot: "sd-element sd-question sd-row__question",
@@ -38475,6 +38566,10 @@ var survey_SurveyModel = /** @class */ (function (_super) {
38475
38566
  _this.isNavigationButtonPressed = false;
38476
38567
  _this.mouseDownPage = null;
38477
38568
  _this.isCalculatingProgressText = false;
38569
+ /**
38570
+ * An event that is raised when the survey's width or height is changed.
38571
+ */
38572
+ _this.onResize = new EventBase();
38478
38573
  _this.isCurrentPageRendering = true;
38479
38574
  _this.isCurrentPageRendered = undefined;
38480
38575
  _this.isTriggerIsRunning = false;
@@ -43144,7 +43239,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
43144
43239
  isProcessed_1 = false;
43145
43240
  }
43146
43241
  else {
43147
- isProcessed_1 = _this.processResponsiveness(observedElement.offsetWidth, mobileWidth_1);
43242
+ isProcessed_1 = _this.processResponsiveness(observedElement.offsetWidth, mobileWidth_1, observedElement.offsetHeight);
43148
43243
  }
43149
43244
  });
43150
43245
  });
@@ -43158,13 +43253,16 @@ var survey_SurveyModel = /** @class */ (function (_super) {
43158
43253
  this.rootElement = htmlElement;
43159
43254
  this.addScrollEventListener();
43160
43255
  };
43161
- SurveyModel.prototype.processResponsiveness = function (width, mobileWidth) {
43256
+ SurveyModel.prototype.processResponsiveness = function (width, mobileWidth, height) {
43162
43257
  var isMobile = width < mobileWidth;
43163
43258
  var isMobileChanged = this.isMobile !== isMobile;
43164
- if (isMobileChanged) {
43165
- this.setIsMobile(isMobile);
43166
- }
43259
+ this.setIsMobile(isMobile);
43167
43260
  this.layoutElements.forEach(function (layoutElement) { return layoutElement.processResponsiveness && layoutElement.processResponsiveness(width); });
43261
+ var options = {
43262
+ height: height,
43263
+ width: width,
43264
+ };
43265
+ this.onResize.fire(this, options);
43168
43266
  return isMobileChanged;
43169
43267
  };
43170
43268
  SurveyModel.prototype.triggerResponsiveness = function (hard) {
@@ -43573,36 +43671,6 @@ var survey_SurveyModel = /** @class */ (function (_super) {
43573
43671
  this.uploadFilesCore(name, files, callback);
43574
43672
  }
43575
43673
  };
43576
- /**
43577
- * Downloads a file from a server.
43578
- *
43579
- * The following code shows how to call this method:
43580
- *
43581
- * ```js
43582
- * const question = survey.getQuestionByName("myFileQuestion");
43583
- * survey.downloadFile(
43584
- * question,
43585
- * question.name,
43586
- * // Download the first uploaded file
43587
- * question.value[0],
43588
- * (status, data) => {
43589
- * if (status === "success") {
43590
- * // Use `data` to retrieve the file
43591
- * }
43592
- * if (status === "error") {
43593
- * // Handle error
43594
- * }
43595
- * }
43596
- * );
43597
- * ```
43598
- *
43599
- * @param question A [File Upload question instance](https://surveyjs.io/form-library/documentation/api-reference/file-model).
43600
- * @param questionName The File Upload question's [`name`](https://surveyjs.io/form-library/documentation/api-reference/file-model#name).
43601
- * @param fileValue An object from File Upload's [`value`](https://surveyjs.io/form-library/documentation/api-reference/file-model#value) array. This object contains metadata about the file you want to download.
43602
- * @param callback A callback function that allows you to get the download status (`"success"` or `"error"`) and the file identifier (URL, file name, etc.) that you can use to retrieve the file.
43603
- * @see onDownloadFile
43604
- * @see uploadFiles
43605
- */
43606
43674
  SurveyModel.prototype.downloadFile = function (question, questionName, fileValue, callback) {
43607
43675
  if (this.onDownloadFile.isEmpty) {
43608
43676
  !!callback && callback("skipped", fileValue.content || fileValue);
@@ -45388,6 +45456,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
45388
45456
  * A survey width in CSS values.
45389
45457
  *
45390
45458
  * Default value: `undefined` (the survey inherits the width from its container)
45459
+ * @see onResize
45391
45460
  */
45392
45461
  get: function () {
45393
45462
  return this.getPropertyValue("width");
@@ -47179,6 +47248,7 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
47179
47248
  QuestionSelectBase.prototype.clearValue = function (keepComment) {
47180
47249
  _super.prototype.clearValue.call(this, keepComment);
47181
47250
  this.prevOtherValue = undefined;
47251
+ this.selectedItemValues = undefined;
47182
47252
  };
47183
47253
  QuestionSelectBase.prototype.updateCommentFromSurvey = function (newValue) {
47184
47254
  _super.prototype.updateCommentFromSurvey.call(this, newValue);
@@ -52852,8 +52922,11 @@ var question_text_QuestionTextModel = /** @class */ (function (_super) {
52852
52922
  }
52853
52923
  if (this.inputType === "month") {
52854
52924
  var d = new Date(newValue);
52855
- var m = d.getMonth() + 1;
52856
- return d.getFullYear() + "-" + (m < 10 ? "0" : "") + m;
52925
+ var isUtc = d.toISOString().indexOf(newValue) == 0 && newValue.indexOf("T") == -1;
52926
+ var month = isUtc ? d.getUTCMonth() : d.getMonth();
52927
+ var year = isUtc ? d.getUTCFullYear() : d.getFullYear();
52928
+ var m = month + 1;
52929
+ return year + "-" + (m < 10 ? "0" : "") + m;
52857
52930
  }
52858
52931
  return newValue;
52859
52932
  };
@@ -54753,9 +54826,9 @@ var question_checkbox_QuestionCheckboxModel = /** @class */ (function (_super) {
54753
54826
  _this.isChangingValueOnClearIncorrect = false;
54754
54827
  _this.selectAllItemValue = new itemvalue_ItemValue("");
54755
54828
  _this.selectAllItemValue.id = "selectall";
54756
- var selectAllItemText = _this.createLocalizableString("selectAllText", _this.selectAllItem, true, "selectAllItemText");
54829
+ _this.selectAllItemText = _this.createLocalizableString("selectAllText", _this.selectAllItem, true, "selectAllItemText");
54757
54830
  _this.selectAllItem.locOwner = _this;
54758
- _this.selectAllItem.setLocText(selectAllItemText);
54831
+ _this.selectAllItem.setLocText(_this.selectAllItemText);
54759
54832
  _this.registerPropertyChangedHandlers(["showSelectAllItem", "selectAllText"], function () {
54760
54833
  _this.onVisibleChoicesChanged();
54761
54834
  });
@@ -54862,28 +54935,7 @@ var question_checkbox_QuestionCheckboxModel = /** @class */ (function (_super) {
54862
54935
  * @see showSelectAllItem
54863
54936
  */
54864
54937
  get: function () {
54865
- var noneItems = this.getNoneItems();
54866
- for (var i = 0; i < noneItems.length; i++) {
54867
- if (this.isItemSelected(noneItems[i]))
54868
- return false;
54869
- }
54870
- var items = this.getVisibleEnableItems();
54871
- if (items.length === 0)
54872
- return false;
54873
- var val = this.value;
54874
- if (!val || !Array.isArray(val) || val.length === 0)
54875
- return false;
54876
- if (val.length < items.length)
54877
- return false;
54878
- var rVal = [];
54879
- for (var i = 0; i < val.length; i++) {
54880
- rVal.push(this.getRealValue(val[i]));
54881
- }
54882
- for (var i = 0; i < items.length; i++) {
54883
- if (rVal.indexOf(items[i].value) < 0)
54884
- return false;
54885
- }
54886
- return true;
54938
+ return this.allElementsSelected();
54887
54939
  },
54888
54940
  set: function (val) {
54889
54941
  if (val) {
@@ -54899,6 +54951,30 @@ var question_checkbox_QuestionCheckboxModel = /** @class */ (function (_super) {
54899
54951
  QuestionCheckboxModel.prototype.toggleSelectAll = function () {
54900
54952
  this.isAllSelected = !this.isAllSelected;
54901
54953
  };
54954
+ QuestionCheckboxModel.prototype.allElementsSelected = function () {
54955
+ var noneItems = this.getNoneItems();
54956
+ for (var i = 0; i < noneItems.length; i++) {
54957
+ if (this.isItemSelected(noneItems[i]))
54958
+ return false;
54959
+ }
54960
+ var items = this.getVisibleEnableItems();
54961
+ if (items.length === 0)
54962
+ return false;
54963
+ var val = this.value;
54964
+ if (!val || !Array.isArray(val) || val.length === 0)
54965
+ return false;
54966
+ if (val.length < items.length)
54967
+ return false;
54968
+ var rVal = [];
54969
+ for (var i = 0; i < val.length; i++) {
54970
+ rVal.push(this.getRealValue(val[i]));
54971
+ }
54972
+ for (var i = 0; i < items.length; i++) {
54973
+ if (rVal.indexOf(items[i].value) < 0)
54974
+ return false;
54975
+ }
54976
+ return true;
54977
+ };
54902
54978
  /**
54903
54979
  * Selects all choice items, except "Other" and "None".
54904
54980
  *
@@ -55762,6 +55838,9 @@ var dropdownMultiSelectListModel_DropdownMultiSelectListModel = /** @class */ (f
55762
55838
  };
55763
55839
  DropdownMultiSelectListModel.prototype.selectAllItems = function () {
55764
55840
  this.question.toggleSelectAll();
55841
+ if (this.question.isAllSelected && this.question.hideSelectedItems) {
55842
+ this.popupModel.hide();
55843
+ }
55765
55844
  this.updateListState();
55766
55845
  };
55767
55846
  DropdownMultiSelectListModel.prototype.selectNoneItem = function () {
@@ -55892,6 +55971,7 @@ var question_tagbox_QuestionTagboxModel = /** @class */ (function (_super) {
55892
55971
  _this.createLocalizableString("placeholder", _this, false, true);
55893
55972
  _this.createLocalizableString("clearCaption", _this, false, true);
55894
55973
  _this.createLocalizableString("readOnlyText", _this, true);
55974
+ _this.deselectAllItemText = _this.createLocalizableString("deselectAllText", _this.selectAllItem, true, "deselectAllItemText");
55895
55975
  _this.registerPropertyChangedHandlers(["value", "renderAs", "showOtherItem", "otherText", "placeholder", "choices", "visibleChoices"], function () {
55896
55976
  _this.updateReadOnlyText();
55897
55977
  });
@@ -56081,6 +56161,14 @@ var question_tagbox_QuestionTagboxModel = /** @class */ (function (_super) {
56081
56161
  (_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onFocus(event);
56082
56162
  _super.prototype.onFocusCore.call(this, event);
56083
56163
  };
56164
+ QuestionTagboxModel.prototype.allElementsSelected = function () {
56165
+ var result = _super.prototype.allElementsSelected.call(this);
56166
+ this.updateSelectAllItemText(result);
56167
+ return result;
56168
+ };
56169
+ QuestionTagboxModel.prototype.updateSelectAllItemText = function (isAllSelected) {
56170
+ this.selectAllItem.setLocText(isAllSelected ? this.deselectAllItemText : this.selectAllItemText);
56171
+ };
56084
56172
  QuestionTagboxModel.prototype.dispose = function () {
56085
56173
  _super.prototype.dispose.call(this);
56086
56174
  if (!!this.dropdownListModel) {
@@ -59784,12 +59872,14 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
59784
59872
  return;
59785
59873
  if (QuestionRatingModel.colorsCalculated)
59786
59874
  return;
59875
+ function getColorFromProperty(varName) {
59876
+ var style = getComputedStyle(DomDocumentHelper.getDocumentElement());
59877
+ return style.getPropertyValue && style.getPropertyValue(varName);
59878
+ }
59787
59879
  function getRGBColor(colorName, varName) {
59788
59880
  var str = !!themeVariables && themeVariables[colorName];
59789
- if (!str) {
59790
- var style = getComputedStyle(DomDocumentHelper.getDocumentElement());
59791
- str = style.getPropertyValue && style.getPropertyValue(varName);
59792
- }
59881
+ if (!str)
59882
+ str = getColorFromProperty(varName);
59793
59883
  if (!str)
59794
59884
  return null;
59795
59885
  var canvasElement = DomDocumentHelper.createElement("canvas");
@@ -59797,6 +59887,9 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
59797
59887
  return null;
59798
59888
  var ctx = canvasElement.getContext("2d");
59799
59889
  ctx.fillStyle = str;
59890
+ if (ctx.fillStyle == "#000000") {
59891
+ ctx.fillStyle = getColorFromProperty(varName);
59892
+ }
59800
59893
  var newStr = ctx.fillStyle;
59801
59894
  if (newStr.startsWith("rgba")) {
59802
59895
  return newStr.substring(5, newStr.length - 1).split(",").map(function (c) { return +(c.trim()); });
@@ -62680,7 +62773,7 @@ var question_signaturepad_QuestionSignaturePadModel = /** @class */ (function (_
62680
62773
  };
62681
62774
  };
62682
62775
  QuestionSignaturePadModel.prototype.refreshCanvas = function () {
62683
- if (!this.canvas)
62776
+ if (!this.signaturePad || !this.canvas)
62684
62777
  return;
62685
62778
  if (!this.value) {
62686
62779
  this.canvas.getContext("2d").clearRect(0, 0, this.canvas.width * this.scale, this.canvas.height * this.scale);
@@ -63410,7 +63503,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
63410
63503
  _this.registerPropertyChangedHandlers(["panelsState"], function () {
63411
63504
  _this.setPanelsState();
63412
63505
  });
63413
- _this.registerPropertyChangedHandlers(["isMobile", "newPanelPosition", "displayMode", "showProgressBar"], function () {
63506
+ _this.registerPropertyChangedHandlers(["newPanelPosition", "displayMode", "showProgressBar"], function () {
63414
63507
  _this.updateFooterActions();
63415
63508
  });
63416
63509
  _this.registerPropertyChangedHandlers(["allowAddPanel"], function () { _this.updateNoEntriesTextDefaultLoc(); });
@@ -64805,12 +64898,11 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64805
64898
  return true;
64806
64899
  };
64807
64900
  /**
64808
- * Add a new dynamic panel based on the template Panel. It checks if canAddPanel returns true and then calls addPanel method.
64809
- * If a displayMode is different from "list" and the current panel has erros, then
64810
- * @see template
64901
+ * Adds a new panel based on the [template](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#template).
64902
+ *
64903
+ * Unlike the [`addPanel()`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#addPanel) method, `addPanelUI()` performs additional actions: checks whether a new panel [can be added](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#canAddPanel), expands and focuses the new panel, and runs animated effects.
64811
64904
  * @see panelCount
64812
64905
  * @see panels
64813
- * @see canAddPanel
64814
64906
  */
64815
64907
  QuestionPanelDynamicModel.prototype.addPanelUI = function () {
64816
64908
  if (!this.canAddPanel)
@@ -64894,13 +64986,11 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64894
64986
  }
64895
64987
  };
64896
64988
  /**
64897
- * Call removePanel function. Do nothing is canRemovePanel returns false. If confirmDelete set to true, it shows the confirmation dialog first.
64898
- * @param value a panel or panel index
64899
- * @see removePanel
64900
- * @see confirmDelete
64901
- * @see confirmDeleteText
64902
- * @see canRemovePanel
64989
+ * Deletes a panel from the [`panels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#panels) array.
64903
64990
  *
64991
+ * Unlike the [`removePanel()`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#removePanel) method, `removePanelUI()` performs additional actions: checks whether the panel [can be removed](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#canRemovePanel) and displays a confirmation dialog (if the [`confirmDelete`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#confirmDelete) property is enabled).
64992
+ * @param value A `PanelModel` instance or zero-based panel index.
64993
+ * @see addPanelUI
64904
64994
  */
64905
64995
  QuestionPanelDynamicModel.prototype.removePanelUI = function (value) {
64906
64996
  var _this = this;
@@ -64943,6 +65033,11 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
64943
65033
  return;
64944
65034
  this.currentIndex--;
64945
65035
  };
65036
+ /**
65037
+ * Deletes a panel from the [`panels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#panels) array.
65038
+ * @param value A `PanelModel` instance or zero-based panel index.
65039
+ * @see addPanel
65040
+ */
64946
65041
  QuestionPanelDynamicModel.prototype.removePanel = function (value) {
64947
65042
  var visIndex = this.getVisualPanelIndex(value);
64948
65043
  if (visIndex < 0 || visIndex >= this.visiblePanelCount)
@@ -65397,11 +65492,12 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
65397
65492
  for (var i = 0; i < panels.length; i++) {
65398
65493
  this.setOnCompleteAsyncInPanel(panels[i]);
65399
65494
  }
65400
- for (var i = 0; i < panels.length; i++) {
65401
- var pnlError = panels[i].hasErrors(fireCallback, !!rec && rec.focusOnFirstError, rec);
65402
- pnlError = this.isValueDuplicated(panels[i], keyValues, rec, fireCallback) || pnlError;
65403
- if (!this.isRenderModeList && pnlError && !res) {
65404
- this.currentIndex = i;
65495
+ var focusOnError = !!rec && rec.focusOnFirstError;
65496
+ for (var i_1 = 0; i_1 < panels.length; i_1++) {
65497
+ var pnlError = panels[i_1].hasErrors(fireCallback, focusOnError, rec);
65498
+ pnlError = this.isValueDuplicated(panels[i_1], keyValues, rec, fireCallback) || pnlError;
65499
+ if (!this.isRenderModeList && pnlError && !res && focusOnError) {
65500
+ this.currentIndex = i_1;
65405
65501
  }
65406
65502
  res = pnlError || res;
65407
65503
  }
@@ -65994,6 +66090,10 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
65994
66090
  }
65995
66091
  return classes;
65996
66092
  };
66093
+ QuestionPanelDynamicModel.prototype.onMobileChanged = function () {
66094
+ _super.prototype.onMobileChanged.call(this);
66095
+ this.updateFooterActions();
66096
+ };
65997
66097
  QuestionPanelDynamicModel.maxCheckCount = 3;
65998
66098
  question_paneldynamic_decorate([
65999
66099
  propertyArray({})
@@ -68403,6 +68503,9 @@ var mask_datetime_InputMaskDateTime = /** @class */ (function (_super) {
68403
68503
  var _this = this;
68404
68504
  var date = new Date(str);
68405
68505
  this.initInputDateTimeData();
68506
+ if (!this.hasTimePart) {
68507
+ date = new Date(str + "T00:00:00");
68508
+ }
68406
68509
  if (!this.hasDatePart) {
68407
68510
  date = new Date(this.defaultDate + str);
68408
68511
  }
@@ -69026,8 +69129,8 @@ Serializer.addClass("currencymask", [
69026
69129
 
69027
69130
  var Version;
69028
69131
  var ReleaseDate;
69029
- Version = "" + "1.11.13";
69030
- ReleaseDate = "" + "2024-08-27";
69132
+ Version = "" + "1.11.14";
69133
+ ReleaseDate = "" + "2024-09-04";
69031
69134
  function checkLibraryVersion(ver, libraryName) {
69032
69135
  if (Version != ver) {
69033
69136
  var str = "survey-core has version '" + Version + "' and " + libraryName