survey-core 1.12.24 → 1.12.25

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 (234) hide show
  1. package/defaultV2.css +10 -2
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +10 -2
  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/burmese.js +1 -1
  14. package/i18n/burmese.min.js +1 -1
  15. package/i18n/catalan.js +1 -1
  16. package/i18n/catalan.min.js +1 -1
  17. package/i18n/croatian.js +1 -1
  18. package/i18n/croatian.min.js +1 -1
  19. package/i18n/czech.js +1 -1
  20. package/i18n/czech.min.js +1 -1
  21. package/i18n/danish.js +1 -1
  22. package/i18n/danish.min.js +1 -1
  23. package/i18n/dutch.js +1 -1
  24. package/i18n/dutch.min.js +1 -1
  25. package/i18n/english.js +1 -1
  26. package/i18n/english.min.js +1 -1
  27. package/i18n/estonian.js +1 -1
  28. package/i18n/estonian.min.js +1 -1
  29. package/i18n/finnish.js +1 -1
  30. package/i18n/finnish.min.js +1 -1
  31. package/i18n/french.js +1 -1
  32. package/i18n/french.min.js +1 -1
  33. package/i18n/georgian.js +1 -1
  34. package/i18n/georgian.min.js +1 -1
  35. package/i18n/german.js +1 -1
  36. package/i18n/german.min.js +1 -1
  37. package/i18n/greek.js +1 -1
  38. package/i18n/greek.min.js +1 -1
  39. package/i18n/hebrew.js +1 -1
  40. package/i18n/hebrew.min.js +1 -1
  41. package/i18n/hindi.js +1 -1
  42. package/i18n/hindi.min.js +1 -1
  43. package/i18n/hungarian.js +1 -1
  44. package/i18n/hungarian.min.js +1 -1
  45. package/i18n/icelandic.js +1 -1
  46. package/i18n/icelandic.min.js +1 -1
  47. package/i18n/index.js +1 -1
  48. package/i18n/index.min.js +1 -1
  49. package/i18n/indonesian.js +1 -1
  50. package/i18n/indonesian.min.js +1 -1
  51. package/i18n/italian.js +1 -1
  52. package/i18n/italian.min.js +1 -1
  53. package/i18n/japanese.js +1 -1
  54. package/i18n/japanese.min.js +1 -1
  55. package/i18n/kazakh.js +1 -1
  56. package/i18n/kazakh.min.js +1 -1
  57. package/i18n/korean.js +1 -1
  58. package/i18n/korean.min.js +1 -1
  59. package/i18n/latvian.js +1 -1
  60. package/i18n/latvian.min.js +1 -1
  61. package/i18n/lithuanian.js +1 -1
  62. package/i18n/lithuanian.min.js +1 -1
  63. package/i18n/macedonian.js +1 -1
  64. package/i18n/macedonian.min.js +1 -1
  65. package/i18n/malay.js +1 -1
  66. package/i18n/malay.min.js +1 -1
  67. package/i18n/nl-BE.js +1 -1
  68. package/i18n/nl-BE.min.js +1 -1
  69. package/i18n/norwegian.js +1 -1
  70. package/i18n/norwegian.min.js +1 -1
  71. package/i18n/persian.js +1 -1
  72. package/i18n/persian.min.js +1 -1
  73. package/i18n/philippines.js +1 -1
  74. package/i18n/philippines.min.js +1 -1
  75. package/i18n/polish.js +1 -1
  76. package/i18n/polish.min.js +1 -1
  77. package/i18n/portuguese-br.js +1 -1
  78. package/i18n/portuguese-br.min.js +1 -1
  79. package/i18n/portuguese.js +1 -1
  80. package/i18n/portuguese.min.js +1 -1
  81. package/i18n/romanian.js +1 -1
  82. package/i18n/romanian.min.js +1 -1
  83. package/i18n/russian.js +1 -1
  84. package/i18n/russian.min.js +1 -1
  85. package/i18n/serbian.js +1 -1
  86. package/i18n/serbian.min.js +1 -1
  87. package/i18n/simplified-chinese.js +1 -1
  88. package/i18n/simplified-chinese.min.js +1 -1
  89. package/i18n/slovak.js +1 -1
  90. package/i18n/slovak.min.js +1 -1
  91. package/i18n/slovenian.js +1 -1
  92. package/i18n/slovenian.min.js +1 -1
  93. package/i18n/spanish.js +1 -1
  94. package/i18n/spanish.min.js +1 -1
  95. package/i18n/swahili.js +1 -1
  96. package/i18n/swahili.min.js +1 -1
  97. package/i18n/swedish.js +1 -1
  98. package/i18n/swedish.min.js +1 -1
  99. package/i18n/tajik.js +1 -1
  100. package/i18n/tajik.min.js +1 -1
  101. package/i18n/telugu.js +1 -1
  102. package/i18n/telugu.min.js +1 -1
  103. package/i18n/thai.js +1 -1
  104. package/i18n/thai.min.js +1 -1
  105. package/i18n/traditional-chinese.js +1 -1
  106. package/i18n/traditional-chinese.min.js +1 -1
  107. package/i18n/turkish.js +1 -1
  108. package/i18n/turkish.min.js +1 -1
  109. package/i18n/ukrainian.js +1 -1
  110. package/i18n/ukrainian.min.js +1 -1
  111. package/i18n/urdu.js +1 -1
  112. package/i18n/urdu.min.js +1 -1
  113. package/i18n/vietnamese.js +1 -1
  114. package/i18n/vietnamese.min.js +1 -1
  115. package/i18n/welsh.js +1 -1
  116. package/i18n/welsh.min.js +1 -1
  117. package/icons/iconsV1.js +1 -1
  118. package/icons/iconsV1.min.js +1 -1
  119. package/icons/iconsV2.js +1 -1
  120. package/icons/iconsV2.min.js +1 -1
  121. package/modern.css +19 -3
  122. package/modern.css.map +1 -1
  123. package/modern.fontless.css +19 -3
  124. package/modern.fontless.css.map +1 -1
  125. package/modern.fontless.min.css +2 -2
  126. package/modern.min.css +2 -2
  127. package/package.json +1 -1
  128. package/plugins/bootstrap-integration/index.js +1 -1
  129. package/plugins/bootstrap-integration/index.min.js +1 -1
  130. package/plugins/bootstrap-material-integration/index.js +1 -1
  131. package/plugins/bootstrap-material-integration/index.min.js +1 -1
  132. package/survey.core.js +77 -55
  133. package/survey.core.js.map +1 -1
  134. package/survey.core.min.js +3 -3
  135. package/survey.css +1 -1
  136. package/survey.i18n.js +1 -1
  137. package/survey.i18n.min.js +1 -1
  138. package/survey.min.css +1 -1
  139. package/themes/borderless-dark-panelless.js +1 -1
  140. package/themes/borderless-dark-panelless.min.js +1 -1
  141. package/themes/borderless-dark.js +1 -1
  142. package/themes/borderless-dark.min.js +1 -1
  143. package/themes/borderless-light-panelless..js +1 -1
  144. package/themes/borderless-light-panelless..min.js +1 -1
  145. package/themes/borderless-light.js +1 -1
  146. package/themes/borderless-light.min.js +1 -1
  147. package/themes/contrast-dark-panelless.js +1 -1
  148. package/themes/contrast-dark-panelless.min.js +1 -1
  149. package/themes/contrast-dark.js +1 -1
  150. package/themes/contrast-dark.min.js +1 -1
  151. package/themes/contrast-light-panelless.js +1 -1
  152. package/themes/contrast-light-panelless.min.js +1 -1
  153. package/themes/contrast-light.js +1 -1
  154. package/themes/contrast-light.min.js +1 -1
  155. package/themes/default-dark-panelless.js +1 -1
  156. package/themes/default-dark-panelless.min.js +1 -1
  157. package/themes/default-dark.js +1 -1
  158. package/themes/default-dark.min.js +1 -1
  159. package/themes/default-light-panelless.js +1 -1
  160. package/themes/default-light-panelless.min.js +1 -1
  161. package/themes/default-light.js +1 -1
  162. package/themes/default-light.min.js +1 -1
  163. package/themes/doubleborder-dark-panelless.js +1 -1
  164. package/themes/doubleborder-dark-panelless.min.js +1 -1
  165. package/themes/doubleborder-dark.js +1 -1
  166. package/themes/doubleborder-dark.min.js +1 -1
  167. package/themes/doubleborder-light-panelles.js +1 -1
  168. package/themes/doubleborder-light-panelles.min.js +1 -1
  169. package/themes/doubleborder-light.js +1 -1
  170. package/themes/doubleborder-light.min.js +1 -1
  171. package/themes/flat-dark-panelless.js +1 -1
  172. package/themes/flat-dark-panelless.min.js +1 -1
  173. package/themes/flat-dark.js +1 -1
  174. package/themes/flat-dark.min.js +1 -1
  175. package/themes/flat-light-panelless.js +1 -1
  176. package/themes/flat-light-panelless.min.js +1 -1
  177. package/themes/flat-light.js +1 -1
  178. package/themes/flat-light.min.js +1 -1
  179. package/themes/index.js +1 -1
  180. package/themes/index.min.js +1 -1
  181. package/themes/layered-dark-panelless.js +1 -1
  182. package/themes/layered-dark-panelless.min.js +1 -1
  183. package/themes/layered-dark.js +1 -1
  184. package/themes/layered-dark.min.js +1 -1
  185. package/themes/layered-light-panelless.js +1 -1
  186. package/themes/layered-light-panelless.min.js +1 -1
  187. package/themes/layered-light.js +1 -1
  188. package/themes/layered-light.min.js +1 -1
  189. package/themes/plain-dark-panelless.js +1 -1
  190. package/themes/plain-dark-panelless.min.js +1 -1
  191. package/themes/plain-dark.js +1 -1
  192. package/themes/plain-dark.min.js +1 -1
  193. package/themes/plain-light-panelless.js +1 -1
  194. package/themes/plain-light-panelless.min.js +1 -1
  195. package/themes/plain-light.js +1 -1
  196. package/themes/plain-light.min.js +1 -1
  197. package/themes/sharp-dark-panelless.js +1 -1
  198. package/themes/sharp-dark-panelless.min.js +1 -1
  199. package/themes/sharp-dark.js +1 -1
  200. package/themes/sharp-dark.min.js +1 -1
  201. package/themes/sharp-light-panelless.js +1 -1
  202. package/themes/sharp-light-panelless.min.js +1 -1
  203. package/themes/sharp-light.js +1 -1
  204. package/themes/sharp-light.min.js +1 -1
  205. package/themes/solid-dark-panelless.js +1 -1
  206. package/themes/solid-dark-panelless.min.js +1 -1
  207. package/themes/solid-dark.js +1 -1
  208. package/themes/solid-dark.min.js +1 -1
  209. package/themes/solid-light-panelless.js +1 -1
  210. package/themes/solid-light-panelless.min.js +1 -1
  211. package/themes/solid-light.js +1 -1
  212. package/themes/solid-light.min.js +1 -1
  213. package/themes/three-dimensional-dark-panelless.js +1 -1
  214. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  215. package/themes/three-dimensional-dark.js +1 -1
  216. package/themes/three-dimensional-dark.min.js +1 -1
  217. package/themes/three-dimensional-light-panelless.js +1 -1
  218. package/themes/three-dimensional-light-panelless.min.js +1 -1
  219. package/themes/three-dimensional-light.js +1 -1
  220. package/themes/three-dimensional-light.min.js +1 -1
  221. package/ts3.4/typings/packages/survey-core/src/base.d.ts +1 -1
  222. package/ts3.4/typings/packages/survey-core/src/dragdrop/choices.d.ts +1 -1
  223. package/ts3.4/typings/packages/survey-core/src/helpers.d.ts +1 -0
  224. package/ts3.4/typings/packages/survey-core/src/mask/mask_numeric.d.ts +1 -1
  225. package/ts3.4/typings/packages/survey-core/src/question_baseselect.d.ts +1 -1
  226. package/ts3.4/typings/packages/survey-core/src/survey.d.ts +1 -0
  227. package/ts3.4/typings/packages/survey-core/src/trigger.d.ts +9 -1
  228. package/typings/packages/survey-core/src/base.d.ts +1 -1
  229. package/typings/packages/survey-core/src/dragdrop/choices.d.ts +1 -1
  230. package/typings/packages/survey-core/src/helpers.d.ts +1 -0
  231. package/typings/packages/survey-core/src/mask/mask_numeric.d.ts +1 -1
  232. package/typings/packages/survey-core/src/question_baseselect.d.ts +1 -1
  233. package/typings/packages/survey-core/src/survey.d.ts +1 -0
  234. package/typings/packages/survey-core/src/trigger.d.ts +9 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "survey-core",
3
- "version": "1.12.24",
3
+ "version": "1.12.25",
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.24
2
+ * surveyjs - Survey JavaScript library v1.12.25
3
3
  * Copyright (c) 2015-2025 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.24
2
+ * surveyjs - Survey JavaScript library v1.12.25
3
3
  * Copyright (c) 2015-2025 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.24
2
+ * surveyjs - Survey JavaScript library v1.12.25
3
3
  * Copyright (c) 2015-2025 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.24
2
+ * surveyjs - Survey JavaScript library v1.12.25
3
3
  * Copyright (c) 2015-2025 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.24
2
+ * surveyjs - Survey JavaScript library v1.12.25
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -145,7 +145,7 @@ __webpack_require__.d(__webpack_exports__, "CustomError", function() { return /*
145
145
  __webpack_require__.d(__webpack_exports__, "AnswerRequiredError", function() { return /* reexport */ AnswerRequiredError; });
146
146
  __webpack_require__.d(__webpack_exports__, "OneAnswerRequiredError", function() { return /* reexport */ OneAnswerRequiredError; });
147
147
  __webpack_require__.d(__webpack_exports__, "RequreNumericError", function() { return /* reexport */ RequreNumericError; });
148
- __webpack_require__.d(__webpack_exports__, "ExceedSizeError", function() { return /* reexport */ error_ExceedSizeError; });
148
+ __webpack_require__.d(__webpack_exports__, "ExceedSizeError", function() { return /* reexport */ ExceedSizeError; });
149
149
  __webpack_require__.d(__webpack_exports__, "LocalizableString", function() { return /* reexport */ localizablestring_LocalizableString; });
150
150
  __webpack_require__.d(__webpack_exports__, "LocalizableStrings", function() { return /* reexport */ localizablestring_LocalizableStrings; });
151
151
  __webpack_require__.d(__webpack_exports__, "HtmlConditionItem", function() { return /* reexport */ HtmlConditionItem; });
@@ -526,6 +526,9 @@ var helpers_Helpers = /** @class */ (function () {
526
526
  }
527
527
  return !value && value !== 0 && value !== false;
528
528
  };
529
+ Helpers.isValueUndefined = function (value) {
530
+ return (value === undefined || value === null) || (typeof value === "number" && isNaN(value));
531
+ };
529
532
  Helpers.isArrayContainsEqual = function (x, y) {
530
533
  if (!Array.isArray(x) || !Array.isArray(y))
531
534
  return false;
@@ -8474,9 +8477,6 @@ var base_Base = /** @class */ (function () {
8474
8477
  return value.trim();
8475
8478
  return value;
8476
8479
  };
8477
- Base.prototype.isPropertyEmpty = function (value) {
8478
- return value !== "" && this.isValueEmpty(value);
8479
- };
8480
8480
  Base.createPropertiesHash = function () {
8481
8481
  return {};
8482
8482
  };
@@ -8687,11 +8687,11 @@ var base_Base = /** @class */ (function () {
8687
8687
  */
8688
8688
  Base.prototype.getPropertyValue = function (name, defaultValue, calcFunc) {
8689
8689
  var res = this.getPropertyValueWithoutDefault(name);
8690
- if (this.isPropertyEmpty(res)) {
8690
+ if (this.isValueUndefined(res)) {
8691
8691
  var locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;
8692
8692
  if (locStr)
8693
8693
  return locStr.text;
8694
- if (defaultValue !== null && defaultValue !== undefined)
8694
+ if (!this.isValueUndefined(defaultValue))
8695
8695
  return defaultValue;
8696
8696
  if (!!calcFunc) {
8697
8697
  var newVal = calcFunc();
@@ -8713,6 +8713,9 @@ var base_Base = /** @class */ (function () {
8713
8713
  }
8714
8714
  return res;
8715
8715
  };
8716
+ Base.prototype.isValueUndefined = function (value) {
8717
+ return helpers_Helpers.isValueUndefined(value);
8718
+ };
8716
8719
  Base.prototype.getDefaultPropertyValue = function (name) {
8717
8720
  var prop = this.getPropertyByName(name);
8718
8721
  if (!prop || prop.isCustom && this.isCreating)
@@ -8720,7 +8723,7 @@ var base_Base = /** @class */ (function () {
8720
8723
  if (!!prop.defaultValueFunc)
8721
8724
  return prop.defaultValueFunc(this);
8722
8725
  var dValue = prop.getDefaultValue(this);
8723
- if (!this.isPropertyEmpty(dValue) && !Array.isArray(dValue))
8726
+ if (!this.isValueUndefined(dValue) && !Array.isArray(dValue))
8724
8727
  return dValue;
8725
8728
  var locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;
8726
8729
  if (locStr && locStr.localizationName)
@@ -15866,7 +15869,6 @@ var error_extends = (undefined && undefined.__extends) || (function () {
15866
15869
  };
15867
15870
  })();
15868
15871
 
15869
-
15870
15872
  var AnswerRequiredError = /** @class */ (function (_super) {
15871
15873
  error_extends(AnswerRequiredError, _super);
15872
15874
  function AnswerRequiredError(text, errorOwner) {
@@ -15921,7 +15923,7 @@ var RequreNumericError = /** @class */ (function (_super) {
15921
15923
  return RequreNumericError;
15922
15924
  }(survey_error_SurveyError));
15923
15925
 
15924
- var error_ExceedSizeError = /** @class */ (function (_super) {
15926
+ var ExceedSizeError = /** @class */ (function (_super) {
15925
15927
  error_extends(ExceedSizeError, _super);
15926
15928
  function ExceedSizeError(maxSize, errorOwner) {
15927
15929
  if (errorOwner === void 0) { errorOwner = null; }
@@ -15934,7 +15936,7 @@ var error_ExceedSizeError = /** @class */ (function (_super) {
15934
15936
  return "exceedsize";
15935
15937
  };
15936
15938
  ExceedSizeError.prototype.getDefaultText = function () {
15937
- return getLocaleString("exceedMaxSize")["format"](this.getTextSize());
15939
+ return this.getLocalizationString("exceedMaxSize")["format"](this.getTextSize());
15938
15940
  };
15939
15941
  ExceedSizeError.prototype.getTextSize = function () {
15940
15942
  var sizes = ["Bytes", "KB", "MB", "GB", "TB"];
@@ -16053,7 +16055,7 @@ var EachRowUniqueError = /** @class */ (function (_super) {
16053
16055
  return EachRowUniqueError;
16054
16056
  }(survey_error_SurveyError));
16055
16057
 
16056
- var error_MinRowCountError = /** @class */ (function (_super) {
16058
+ var MinRowCountError = /** @class */ (function (_super) {
16057
16059
  error_extends(MinRowCountError, _super);
16058
16060
  function MinRowCountError(minRowCount, errorOwner) {
16059
16061
  if (errorOwner === void 0) { errorOwner = null; }
@@ -16065,7 +16067,7 @@ var error_MinRowCountError = /** @class */ (function (_super) {
16065
16067
  return "minrowcounterror";
16066
16068
  };
16067
16069
  MinRowCountError.prototype.getDefaultText = function () {
16068
- return getLocaleString("minRowCountError")["format"](this.minRowCount);
16070
+ return this.getLocalizationString("minRowCountError")["format"](this.minRowCount);
16069
16071
  };
16070
16072
  return MinRowCountError;
16071
16073
  }(survey_error_SurveyError));
@@ -32193,7 +32195,7 @@ var question_matrixdynamic_QuestionMatrixDynamicModel = /** @class */ (function
32193
32195
  QuestionMatrixDynamicModel.prototype.onCheckForErrors = function (errors, isOnValueChanged, fireCallback) {
32194
32196
  _super.prototype.onCheckForErrors.call(this, errors, isOnValueChanged, fireCallback);
32195
32197
  if (!isOnValueChanged && this.hasErrorInMinRows()) {
32196
- errors.push(new error_MinRowCountError(this.minRowCount, this));
32198
+ errors.push(new MinRowCountError(this.minRowCount, this));
32197
32199
  }
32198
32200
  };
32199
32201
  QuestionMatrixDynamicModel.prototype.hasErrorInMinRows = function () {
@@ -37737,11 +37739,13 @@ var page_PageModel = /** @class */ (function (_super) {
37737
37739
  });
37738
37740
  PageModel.prototype.getElementsForRows = function () {
37739
37741
  var _a;
37740
- var q = (_a = this.survey) === null || _a === void 0 ? void 0 : _a.currentSingleQuestion;
37741
- if (!!q) {
37742
- if (q.page === this)
37743
- return [q];
37744
- return [];
37742
+ if (!this.isStartPage) {
37743
+ var q = (_a = this.survey) === null || _a === void 0 ? void 0 : _a.currentSingleQuestion;
37744
+ if (!!q) {
37745
+ if (q.page === this)
37746
+ return [q];
37747
+ return [];
37748
+ }
37745
37749
  }
37746
37750
  return _super.prototype.getElementsForRows.call(this);
37747
37751
  };
@@ -42729,7 +42733,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
42729
42733
  if (goToFirstPage) {
42730
42734
  this.currentPage = this.firstVisiblePage;
42731
42735
  if (this.currentSingleQuestion) {
42732
- var questions = this.getAllQuestions(true);
42736
+ var questions = this.getSingleQuestions();
42733
42737
  this.currentSingleQuestion = questions.length > 0 ? questions[0] : undefined;
42734
42738
  }
42735
42739
  }
@@ -43038,10 +43042,13 @@ var survey_SurveyModel = /** @class */ (function (_super) {
43038
43042
  return this.nextPage();
43039
43043
  if (!q.validate(true))
43040
43044
  return false;
43041
- var questions = this.getAllQuestions(true);
43045
+ var questions = this.getSingleQuestions();
43042
43046
  var index = questions.indexOf(q);
43043
43047
  if (index < 0 || index === questions.length - 1)
43044
43048
  return false;
43049
+ var key = {};
43050
+ key[q.name] = q.value;
43051
+ this.checkTriggers(key, false, false, true, q.name);
43045
43052
  this.currentSingleQuestion = questions[index + 1];
43046
43053
  return true;
43047
43054
  };
@@ -43049,7 +43056,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
43049
43056
  var q = this.currentSingleQuestion;
43050
43057
  if (!q)
43051
43058
  return this.prevPage();
43052
- var questions = this.getAllQuestions(true);
43059
+ var questions = this.getSingleQuestions();
43053
43060
  var index = questions.indexOf(q);
43054
43061
  if (index === 0)
43055
43062
  return false;
@@ -43631,11 +43638,22 @@ var survey_SurveyModel = /** @class */ (function (_super) {
43631
43638
  });
43632
43639
  this.updateButtonsVisibility();
43633
43640
  };
43641
+ SurveyModel.prototype.getSingleQuestions = function () {
43642
+ var res = new Array();
43643
+ var pages = this.pages;
43644
+ for (var i = 0; i < pages.length; i++) {
43645
+ var p = pages[i];
43646
+ if (!p.isStartPage && p.isVisible) {
43647
+ p.addQuestionsToList(res, true);
43648
+ }
43649
+ }
43650
+ return res;
43651
+ };
43634
43652
  Object.defineProperty(SurveyModel.prototype, "currentSingleQuestion", {
43635
43653
  get: function () { return this.currentSingleQuestionValue; },
43636
43654
  set: function (val) {
43637
43655
  var oldVal = this.currentSingleQuestion;
43638
- if (val !== oldVal) {
43656
+ if (val !== oldVal && !this.isCompleted) {
43639
43657
  var options = !!val && !!oldVal ? this.createPageChangeEventOptions(val.page, oldVal.page, val, oldVal) : undefined;
43640
43658
  if (!!options && !this.currentPageChangingFromOptions(options))
43641
43659
  return;
@@ -43675,7 +43693,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
43675
43693
  this.updatePagesContainer();
43676
43694
  }
43677
43695
  if (this.isSingleVisibleQuestion) {
43678
- var questions = this.getAllQuestions(true);
43696
+ var questions = this.getSingleQuestions();
43679
43697
  if (questions.length > 0) {
43680
43698
  this.currentSingleQuestion = questions[0];
43681
43699
  }
@@ -43771,7 +43789,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
43771
43789
  var lVal = undefined;
43772
43790
  var q = this.currentSingleQuestion;
43773
43791
  if (!!q) {
43774
- var questions = this.getAllQuestions(true);
43792
+ var questions = this.getSingleQuestions();
43775
43793
  var index = questions.indexOf(q);
43776
43794
  if (index >= 0) {
43777
43795
  fVal = index === 0;
@@ -45273,8 +45291,9 @@ var survey_SurveyModel = /** @class */ (function (_super) {
45273
45291
  }
45274
45292
  return result;
45275
45293
  };
45276
- SurveyModel.prototype.checkTriggers = function (key, isOnNextPage, isOnComplete, name) {
45294
+ SurveyModel.prototype.checkTriggers = function (key, isOnNextPage, isOnComplete, isOnNavigation, name) {
45277
45295
  if (isOnComplete === void 0) { isOnComplete = false; }
45296
+ if (isOnNavigation === void 0) { isOnNavigation = false; }
45278
45297
  if (this.isCompleted || this.triggers.length == 0 || this.isDisplayMode)
45279
45298
  return;
45280
45299
  if (this.isTriggerIsRunning) {
@@ -45298,7 +45317,9 @@ var survey_SurveyModel = /** @class */ (function (_super) {
45298
45317
  var trigger = this.triggers[i];
45299
45318
  if (isQuestionInvalid && trigger.requireValidQuestion)
45300
45319
  continue;
45301
- trigger.checkExpression(isOnNextPage, isOnComplete, this.triggerKeys, this.triggerValues, properties);
45320
+ var options = { isOnNextPage: isOnNextPage, isOnComplete: isOnComplete, isOnNavigation: isOnNavigation,
45321
+ keys: this.triggerKeys, values: this.triggerValues, properties: properties };
45322
+ trigger.checkExpression(options);
45302
45323
  }
45303
45324
  if (prevCanBeCompleted !== this.canBeCompletedByTrigger) {
45304
45325
  this.updateButtonsVisibility();
@@ -45309,7 +45330,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
45309
45330
  var triggerKeys = {};
45310
45331
  triggerKeys[name] = { newValue: newValue, oldValue: oldValue };
45311
45332
  this.runConditionOnValueChanged(name, newValue);
45312
- this.checkTriggers(triggerKeys, false, false, name);
45333
+ this.checkTriggers(triggerKeys, false, false, false, name);
45313
45334
  };
45314
45335
  Object.defineProperty(SurveyModel.prototype, "hasRequiredValidQuestionTrigger", {
45315
45336
  get: function () {
@@ -50704,7 +50725,7 @@ var popup_view_model_PopupBaseViewModel = /** @class */ (function (_super) {
50704
50725
  this.footerToolbarValue.setItems(footerActions);
50705
50726
  };
50706
50727
  PopupBaseViewModel.prototype.resetDimensionsAndPositionStyleProperties = function () {
50707
- var nullableValue = "inherit";
50728
+ var nullableValue = "";
50708
50729
  this.top = nullableValue;
50709
50730
  this.left = nullableValue;
50710
50731
  this.height = nullableValue;
@@ -51704,7 +51725,7 @@ var dropdownListModel_DropdownListModel = /** @class */ (function (_super) {
51704
51725
  });
51705
51726
  Object.defineProperty(DropdownListModel.prototype, "showHintString", {
51706
51727
  get: function () {
51707
- return !!this.question.searchEnabled && this.hintStringLC && this.hintStringLC.indexOf(this.inputStringLC) >= 0 ||
51728
+ return !!this.question.searchEnabled && !!(this.hintStringLC || this.inputStringLC) ||
51708
51729
  !this.question.searchEnabled && this.hintStringLC && this.question.isEmpty();
51709
51730
  },
51710
51731
  enumerable: false,
@@ -51918,8 +51939,7 @@ var dropdownListModel_DropdownListModel = /** @class */ (function (_super) {
51918
51939
  };
51919
51940
  DropdownListModel.prototype.onBlur = function (event) {
51920
51941
  this.focused = false;
51921
- if (this.popupModel.isVisible && IsTouch) {
51922
- this._popupModel.show();
51942
+ if (this.popupModel.isVisible && this.popupModel.displayMode == "overlay") {
51923
51943
  return;
51924
51944
  }
51925
51945
  doKey2ClickBlur(event);
@@ -56682,7 +56702,6 @@ var question_checkbox_QuestionCheckboxModel = /** @class */ (function (_super) {
56682
56702
  QuestionCheckboxModel.prototype.getSelectAllEnabled = function () {
56683
56703
  if (!this.hasSelectAll)
56684
56704
  return true;
56685
- var items = this.activeChoices;
56686
56705
  var visCount = this.getVisibleEnableItems().length;
56687
56706
  var max = this.maxSelectedChoices;
56688
56707
  if (max > 0 && max < visCount)
@@ -56691,10 +56710,10 @@ var question_checkbox_QuestionCheckboxModel = /** @class */ (function (_super) {
56691
56710
  };
56692
56711
  QuestionCheckboxModel.prototype.getVisibleEnableItems = function () {
56693
56712
  var res = new Array();
56694
- var items = this.activeChoices;
56713
+ var items = this.visibleChoices;
56695
56714
  for (var i = 0; i < items.length; i++) {
56696
56715
  var item = items[i];
56697
- if (item.isEnabled && item.isVisible) {
56716
+ if (item.isEnabled && !this.isBuiltInChoice(item)) {
56698
56717
  res.push(item);
56699
56718
  }
56700
56719
  }
@@ -56978,7 +56997,7 @@ var question_checkbox_QuestionCheckboxModel = /** @class */ (function (_super) {
56978
56997
  return [_super.prototype.valueFromData.call(this, val)];
56979
56998
  var value = [];
56980
56999
  for (var i = 0; i < val.length; i++) {
56981
- var choiceitem = itemvalue_ItemValue.getItemByValue(this.activeChoices, val[i]);
57000
+ var choiceitem = itemvalue_ItemValue.getItemByValue(this.visibleChoices, val[i]);
56982
57001
  if (!!choiceitem) {
56983
57002
  value.push(choiceitem.value);
56984
57003
  }
@@ -57884,11 +57903,11 @@ var choices_DragDropChoices = /** @class */ (function (_super) {
57884
57903
  dragOverChoice = this.parentElement.choices.filter(function (choice) { return "" + choice.value == dataAttributeValue; })[0];
57885
57904
  return dragOverChoice;
57886
57905
  };
57887
- DragDropChoices.prototype.getVisibleChoices = function () {
57906
+ DragDropChoices.prototype.getChoices = function () {
57888
57907
  var parent = this.parentElement;
57889
57908
  if (parent.getType() === "ranking") {
57890
57909
  if (parent.selectToRankEnabled) {
57891
- return parent.visibleChoices;
57910
+ return parent.unRankingChoices;
57892
57911
  }
57893
57912
  else {
57894
57913
  return parent.rankingChoices;
@@ -57897,7 +57916,7 @@ var choices_DragDropChoices = /** @class */ (function (_super) {
57897
57916
  return parent.visibleChoices;
57898
57917
  };
57899
57918
  DragDropChoices.prototype.isDropTargetValid = function (dropTarget, dropTargetNode) {
57900
- var choices = this.getVisibleChoices();
57919
+ var choices = this.getChoices();
57901
57920
  if (this.parentElement.getType() !== "imagepicker") {
57902
57921
  var dropTargetIndex = choices.indexOf(this.dropTarget);
57903
57922
  var draggedElementIndex = choices.indexOf(this.draggedElement);
@@ -57924,7 +57943,7 @@ var choices_DragDropChoices = /** @class */ (function (_super) {
57924
57943
  };
57925
57944
  DragDropChoices.prototype.afterDragOver = function (dropTargetNode) {
57926
57945
  //if (this.isDropTargetDoesntChanged(this.isBottom)) return;
57927
- var choices = this.getVisibleChoices();
57946
+ var choices = this.getChoices();
57928
57947
  var dropTargetIndex = choices.indexOf(this.dropTarget);
57929
57948
  var draggedElementIndex = choices.indexOf(this.draggedElement);
57930
57949
  if (draggedElementIndex < dropTargetIndex && this.isBottom === true) {
@@ -57958,7 +57977,7 @@ var choices_DragDropChoices = /** @class */ (function (_super) {
57958
57977
  };
57959
57978
  DragDropChoices.prototype.doDrop = function () {
57960
57979
  var choices = this.parentElement.choices;
57961
- var filteredChoices = this.getVisibleChoices().filter(function (item) {
57980
+ var filteredChoices = this.getChoices().filter(function (item) {
57962
57981
  return choices.indexOf(item) !== -1;
57963
57982
  });
57964
57983
  var oldIndex = choices.indexOf(this.draggedElement);
@@ -58033,6 +58052,9 @@ var ranking_choices_DragDropRankingChoices = /** @class */ (function (_super) {
58033
58052
  }
58034
58053
  var node = _this.domAdapter.draggedElementShortcut.querySelector(".sv-ranking-item");
58035
58054
  node.style.cursor = "not-allowed";
58055
+ if (IsTouch) {
58056
+ _this.parentElement.updateRankingChoices(true);
58057
+ }
58036
58058
  };
58037
58059
  return _this;
58038
58060
  }
@@ -60608,7 +60630,7 @@ var question_file_QuestionFileModel = /** @class */ (function (_super) {
60608
60630
  var errorLength = this.errors ? this.errors.length : 0;
60609
60631
  (files || []).forEach(function (file) {
60610
60632
  if (_this.maxSize > 0 && file.size > _this.maxSize) {
60611
- _this.errors.push(new error_ExceedSizeError(_this.maxSize, _this));
60633
+ _this.errors.push(new ExceedSizeError(_this.maxSize, _this));
60612
60634
  }
60613
60635
  });
60614
60636
  return errorLength === this.errors.length;
@@ -68344,21 +68366,21 @@ var trigger_Trigger = /** @class */ (function (_super) {
68344
68366
  Trigger.prototype.canBeExecutedOnComplete = function () {
68345
68367
  return false;
68346
68368
  };
68347
- Trigger.prototype.checkExpression = function (isOnNextPage, isOnComplete, keys, values, properties) {
68348
- if (properties === void 0) { properties = null; }
68349
- this.isExecutingOnNextPage = isOnNextPage;
68350
- if (!this.canBeExecuted(isOnNextPage))
68369
+ Trigger.prototype.checkExpression = function (options) {
68370
+ this.isExecutingOnNextPage = options.isOnNextPage;
68371
+ this.isExecutingOnNavigation = options.isOnNavigation || options.isOnNextPage;
68372
+ if (!this.canBeExecuted(options.isOnNextPage))
68351
68373
  return;
68352
- if (isOnComplete && !this.canBeExecutedOnComplete())
68374
+ if (options.isOnComplete && !this.canBeExecutedOnComplete())
68353
68375
  return;
68354
- if (!this.isCheckRequired(keys))
68376
+ if (!this.isCheckRequired(options.keys))
68355
68377
  return;
68356
68378
  if (!!this.conditionRunner) {
68357
- this.perform(values, properties);
68379
+ this.perform(options.values, options.properties || null);
68358
68380
  }
68359
68381
  else {
68360
68382
  if (this.canSuccessOnEmptyExpression()) {
68361
- this.triggerResult(true, values, properties);
68383
+ this.triggerResult(true, options.values, options.properties || null);
68362
68384
  }
68363
68385
  }
68364
68386
  };
@@ -68556,7 +68578,7 @@ var trigger_SurveyTriggerComplete = /** @class */ (function (_super) {
68556
68578
  configurable: true
68557
68579
  });
68558
68580
  SurveyTriggerComplete.prototype.isRealExecution = function () {
68559
- return !settings.triggers.executeCompleteOnValueChanged === this.isExecutingOnNextPage;
68581
+ return !settings.triggers.executeCompleteOnValueChanged === this.isExecutingOnNavigation;
68560
68582
  };
68561
68583
  SurveyTriggerComplete.prototype.onSuccess = function (values, properties) {
68562
68584
  if (!this.owner)
@@ -70167,8 +70189,8 @@ var mask_numeric_InputMaskNumeric = /** @class */ (function (_super) {
70167
70189
  InputMaskNumeric.prototype.getType = function () {
70168
70190
  return "numericmask";
70169
70191
  };
70170
- InputMaskNumeric.prototype.isPropertyEmpty = function (value) {
70171
- return value === "" || value === undefined || value === null;
70192
+ InputMaskNumeric.prototype.isValueUndefined = function (value) {
70193
+ return value === "" || _super.prototype.isValueUndefined.call(this, value);
70172
70194
  };
70173
70195
  mask_numeric_decorate([
70174
70196
  jsonobject_property()
@@ -71029,9 +71051,9 @@ Serializer.addClass("currencymask", [
71029
71051
 
71030
71052
  var Version;
71031
71053
  var ReleaseDate;
71032
- Version = "" + "1.12.24";
71054
+ Version = "" + "1.12.25";
71033
71055
  settings.version = Version;
71034
- ReleaseDate = "" + "2025-02-19";
71056
+ ReleaseDate = "" + "2025-02-25";
71035
71057
  function checkLibraryVersion(ver, libraryName) {
71036
71058
  if (Version != ver) {
71037
71059
  var str = "survey-core has version '" + Version + "' and " + libraryName