survey-core 1.9.139 → 1.10.1

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 (301) hide show
  1. package/defaultV2.css +295 -52
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +295 -52
  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 +5 -2
  8. package/i18n/arabic.js.map +1 -1
  9. package/i18n/arabic.min.js +2 -2
  10. package/i18n/basque.js +5 -2
  11. package/i18n/basque.js.map +1 -1
  12. package/i18n/basque.min.js +2 -2
  13. package/i18n/bulgarian.js +5 -2
  14. package/i18n/bulgarian.js.map +1 -1
  15. package/i18n/bulgarian.min.js +2 -2
  16. package/i18n/catalan.js +5 -2
  17. package/i18n/catalan.js.map +1 -1
  18. package/i18n/catalan.min.js +2 -2
  19. package/i18n/croatian.js +5 -2
  20. package/i18n/croatian.js.map +1 -1
  21. package/i18n/croatian.min.js +2 -2
  22. package/i18n/czech.js +5 -2
  23. package/i18n/czech.js.map +1 -1
  24. package/i18n/czech.min.js +2 -2
  25. package/i18n/danish.js +5 -2
  26. package/i18n/danish.js.map +1 -1
  27. package/i18n/danish.min.js +2 -2
  28. package/i18n/dutch.js +5 -2
  29. package/i18n/dutch.js.map +1 -1
  30. package/i18n/dutch.min.js +2 -2
  31. package/i18n/english.js +2 -1
  32. package/i18n/english.js.map +1 -1
  33. package/i18n/english.min.js +2 -2
  34. package/i18n/estonian.js +5 -2
  35. package/i18n/estonian.js.map +1 -1
  36. package/i18n/estonian.min.js +2 -2
  37. package/i18n/finnish.js +5 -2
  38. package/i18n/finnish.js.map +1 -1
  39. package/i18n/finnish.min.js +2 -2
  40. package/i18n/french.js +5 -2
  41. package/i18n/french.js.map +1 -1
  42. package/i18n/french.min.js +2 -2
  43. package/i18n/georgian.js +5 -2
  44. package/i18n/georgian.js.map +1 -1
  45. package/i18n/georgian.min.js +2 -2
  46. package/i18n/german.js +5 -1
  47. package/i18n/german.js.map +1 -1
  48. package/i18n/german.min.js +2 -2
  49. package/i18n/greek.js +5 -2
  50. package/i18n/greek.js.map +1 -1
  51. package/i18n/greek.min.js +2 -2
  52. package/i18n/hebrew.js +5 -1
  53. package/i18n/hebrew.js.map +1 -1
  54. package/i18n/hebrew.min.js +2 -2
  55. package/i18n/hindi.js +5 -2
  56. package/i18n/hindi.js.map +1 -1
  57. package/i18n/hindi.min.js +2 -2
  58. package/i18n/hungarian.js +5 -2
  59. package/i18n/hungarian.js.map +1 -1
  60. package/i18n/hungarian.min.js +2 -2
  61. package/i18n/icelandic.js +5 -2
  62. package/i18n/icelandic.js.map +1 -1
  63. package/i18n/icelandic.min.js +2 -2
  64. package/i18n/index.js +189 -46
  65. package/i18n/index.js.map +1 -1
  66. package/i18n/index.min.js +2 -2
  67. package/i18n/indonesian.js +5 -2
  68. package/i18n/indonesian.js.map +1 -1
  69. package/i18n/indonesian.min.js +2 -2
  70. package/i18n/italian.js +5 -2
  71. package/i18n/italian.js.map +1 -1
  72. package/i18n/italian.min.js +2 -2
  73. package/i18n/japanese.js +5 -2
  74. package/i18n/japanese.js.map +1 -1
  75. package/i18n/japanese.min.js +2 -2
  76. package/i18n/kazakh.js +5 -2
  77. package/i18n/kazakh.js.map +1 -1
  78. package/i18n/kazakh.min.js +2 -2
  79. package/i18n/korean.js +5 -2
  80. package/i18n/korean.js.map +1 -1
  81. package/i18n/korean.min.js +2 -2
  82. package/i18n/latvian.js +5 -2
  83. package/i18n/latvian.js.map +1 -1
  84. package/i18n/latvian.min.js +2 -2
  85. package/i18n/lithuanian.js +5 -2
  86. package/i18n/lithuanian.js.map +1 -1
  87. package/i18n/lithuanian.min.js +2 -2
  88. package/i18n/macedonian.js +5 -2
  89. package/i18n/macedonian.js.map +1 -1
  90. package/i18n/macedonian.min.js +2 -2
  91. package/i18n/malay.js +5 -2
  92. package/i18n/malay.js.map +1 -1
  93. package/i18n/malay.min.js +2 -2
  94. package/i18n/nl-BE.js +5 -2
  95. package/i18n/nl-BE.js.map +1 -1
  96. package/i18n/nl-BE.min.js +2 -2
  97. package/i18n/norwegian.js +5 -2
  98. package/i18n/norwegian.js.map +1 -1
  99. package/i18n/norwegian.min.js +2 -2
  100. package/i18n/persian.js +5 -2
  101. package/i18n/persian.js.map +1 -1
  102. package/i18n/persian.min.js +2 -2
  103. package/i18n/polish.js +5 -2
  104. package/i18n/polish.js.map +1 -1
  105. package/i18n/polish.min.js +2 -2
  106. package/i18n/portuguese-br.js +5 -2
  107. package/i18n/portuguese-br.js.map +1 -1
  108. package/i18n/portuguese-br.min.js +2 -2
  109. package/i18n/portuguese.js +5 -2
  110. package/i18n/portuguese.js.map +1 -1
  111. package/i18n/portuguese.min.js +2 -2
  112. package/i18n/romanian.js +5 -2
  113. package/i18n/romanian.js.map +1 -1
  114. package/i18n/romanian.min.js +2 -2
  115. package/i18n/russian.js +5 -2
  116. package/i18n/russian.js.map +1 -1
  117. package/i18n/russian.min.js +2 -2
  118. package/i18n/serbian.js +5 -2
  119. package/i18n/serbian.js.map +1 -1
  120. package/i18n/serbian.min.js +2 -2
  121. package/i18n/simplified-chinese.js +5 -2
  122. package/i18n/simplified-chinese.js.map +1 -1
  123. package/i18n/simplified-chinese.min.js +2 -2
  124. package/i18n/slovak.js +5 -2
  125. package/i18n/slovak.js.map +1 -1
  126. package/i18n/slovak.min.js +2 -2
  127. package/i18n/spanish.js +5 -2
  128. package/i18n/spanish.js.map +1 -1
  129. package/i18n/spanish.min.js +2 -2
  130. package/i18n/swahili.js +5 -2
  131. package/i18n/swahili.js.map +1 -1
  132. package/i18n/swahili.min.js +2 -2
  133. package/i18n/swedish.js +5 -2
  134. package/i18n/swedish.js.map +1 -1
  135. package/i18n/swedish.min.js +2 -2
  136. package/i18n/tajik.js +1 -1
  137. package/i18n/tajik.min.js +1 -1
  138. package/i18n/telugu.js +5 -2
  139. package/i18n/telugu.js.map +1 -1
  140. package/i18n/telugu.min.js +2 -2
  141. package/i18n/thai.js +5 -2
  142. package/i18n/thai.js.map +1 -1
  143. package/i18n/thai.min.js +2 -2
  144. package/i18n/traditional-chinese.js +5 -2
  145. package/i18n/traditional-chinese.js.map +1 -1
  146. package/i18n/traditional-chinese.min.js +2 -2
  147. package/i18n/turkish.js +5 -2
  148. package/i18n/turkish.js.map +1 -1
  149. package/i18n/turkish.min.js +2 -2
  150. package/i18n/ukrainian.js +5 -2
  151. package/i18n/ukrainian.js.map +1 -1
  152. package/i18n/ukrainian.min.js +2 -2
  153. package/i18n/urdu.js +5 -2
  154. package/i18n/urdu.js.map +1 -1
  155. package/i18n/urdu.min.js +2 -2
  156. package/i18n/vietnamese.js +5 -2
  157. package/i18n/vietnamese.js.map +1 -1
  158. package/i18n/vietnamese.min.js +2 -2
  159. package/i18n/welsh.js +5 -2
  160. package/i18n/welsh.js.map +1 -1
  161. package/i18n/welsh.min.js +2 -2
  162. package/modern.css +2 -1
  163. package/modern.css.map +1 -1
  164. package/modern.fontless.css +2 -1
  165. package/modern.fontless.css.map +1 -1
  166. package/modern.fontless.min.css +2 -2
  167. package/modern.min.css +2 -2
  168. package/package.json +1 -1
  169. package/plugins/bootstrap-integration.js +1 -1
  170. package/plugins/bootstrap-integration.min.js +1 -1
  171. package/plugins/bootstrap-material-integration.js +1 -1
  172. package/plugins/bootstrap-material-integration.min.js +1 -1
  173. package/survey.core.js +575 -183
  174. package/survey.core.js.map +1 -1
  175. package/survey.core.min.js +3 -3
  176. package/survey.css +1 -1
  177. package/survey.css.map +1 -1
  178. package/survey.i18n.js +189 -46
  179. package/survey.i18n.js.map +1 -1
  180. package/survey.i18n.min.js +2 -2
  181. package/survey.min.css +1 -1
  182. package/themes/borderless-dark-panelless.js +1 -1
  183. package/themes/borderless-dark-panelless.min.js +1 -1
  184. package/themes/borderless-dark.js +1 -1
  185. package/themes/borderless-dark.min.js +1 -1
  186. package/themes/borderless-light-panelless..js +1 -1
  187. package/themes/borderless-light-panelless..min.js +1 -1
  188. package/themes/borderless-light.js +1 -1
  189. package/themes/borderless-light.min.js +1 -1
  190. package/themes/contrast-dark-panelless.js +1 -1
  191. package/themes/contrast-dark-panelless.min.js +1 -1
  192. package/themes/contrast-dark.js +1 -1
  193. package/themes/contrast-dark.min.js +1 -1
  194. package/themes/contrast-light-panelless.js +1 -1
  195. package/themes/contrast-light-panelless.min.js +1 -1
  196. package/themes/contrast-light.js +1 -1
  197. package/themes/contrast-light.min.js +1 -1
  198. package/themes/default-dark-panelless.js +1 -1
  199. package/themes/default-dark-panelless.min.js +1 -1
  200. package/themes/default-dark.js +1 -1
  201. package/themes/default-dark.min.js +1 -1
  202. package/themes/default-light-panelless.js +1 -1
  203. package/themes/default-light-panelless.min.js +1 -1
  204. package/themes/default-light.js +1 -1
  205. package/themes/default-light.min.js +1 -1
  206. package/themes/doubleborder-dark-panelless.js +1 -1
  207. package/themes/doubleborder-dark-panelless.min.js +1 -1
  208. package/themes/doubleborder-dark.js +1 -1
  209. package/themes/doubleborder-dark.min.js +1 -1
  210. package/themes/doubleborder-light-panelles.js +1 -1
  211. package/themes/doubleborder-light-panelles.min.js +1 -1
  212. package/themes/doubleborder-light.js +1 -1
  213. package/themes/doubleborder-light.min.js +1 -1
  214. package/themes/flat-dark-panelless.js +1 -1
  215. package/themes/flat-dark-panelless.min.js +1 -1
  216. package/themes/flat-dark.js +1 -1
  217. package/themes/flat-dark.min.js +1 -1
  218. package/themes/flat-light-panelless.js +1 -1
  219. package/themes/flat-light-panelless.min.js +1 -1
  220. package/themes/flat-light.js +1 -1
  221. package/themes/flat-light.min.js +1 -1
  222. package/themes/index.js +1 -1
  223. package/themes/index.min.js +1 -1
  224. package/themes/layered-dark-panelless.js +1 -1
  225. package/themes/layered-dark-panelless.min.js +1 -1
  226. package/themes/layered-dark.js +1 -1
  227. package/themes/layered-dark.min.js +1 -1
  228. package/themes/layered-light-panelless.js +1 -1
  229. package/themes/layered-light-panelless.min.js +1 -1
  230. package/themes/layered-light.js +1 -1
  231. package/themes/layered-light.min.js +1 -1
  232. package/themes/plain-dark-panelless.js +1 -1
  233. package/themes/plain-dark-panelless.min.js +1 -1
  234. package/themes/plain-dark.js +1 -1
  235. package/themes/plain-dark.min.js +1 -1
  236. package/themes/plain-light-panelless.js +1 -1
  237. package/themes/plain-light-panelless.min.js +1 -1
  238. package/themes/plain-light.js +1 -1
  239. package/themes/plain-light.min.js +1 -1
  240. package/themes/sharp-dark-panelless.js +1 -1
  241. package/themes/sharp-dark-panelless.min.js +1 -1
  242. package/themes/sharp-dark.js +1 -1
  243. package/themes/sharp-dark.min.js +1 -1
  244. package/themes/sharp-light-panelless.js +1 -1
  245. package/themes/sharp-light-panelless.min.js +1 -1
  246. package/themes/sharp-light.js +1 -1
  247. package/themes/sharp-light.min.js +1 -1
  248. package/themes/solid-dark-panelless.js +1 -1
  249. package/themes/solid-dark-panelless.min.js +1 -1
  250. package/themes/solid-dark.js +1 -1
  251. package/themes/solid-dark.min.js +1 -1
  252. package/themes/solid-light-panelless.js +1 -1
  253. package/themes/solid-light-panelless.min.js +1 -1
  254. package/themes/solid-light.js +1 -1
  255. package/themes/solid-light.min.js +1 -1
  256. package/themes/three-dimensional-dark-panelless.js +1 -1
  257. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  258. package/themes/three-dimensional-dark.js +1 -1
  259. package/themes/three-dimensional-dark.min.js +1 -1
  260. package/themes/three-dimensional-light-panelless.js +1 -1
  261. package/themes/three-dimensional-light-panelless.min.js +1 -1
  262. package/themes/three-dimensional-light.js +1 -1
  263. package/themes/three-dimensional-light.min.js +1 -1
  264. package/ts3.4/typings/base.d.ts +5 -0
  265. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +8 -0
  266. package/ts3.4/typings/dxSurveyService.d.ts +5 -1
  267. package/ts3.4/typings/localization/english.d.ts +1 -0
  268. package/ts3.4/typings/mask/mask_base.d.ts +1 -0
  269. package/ts3.4/typings/mask/mask_numeric.d.ts +3 -2
  270. package/ts3.4/typings/mask/mask_utils.d.ts +1 -0
  271. package/ts3.4/typings/panel.d.ts +1 -0
  272. package/ts3.4/typings/popup-view-model.d.ts +2 -0
  273. package/ts3.4/typings/question.d.ts +1 -0
  274. package/ts3.4/typings/question_checkbox.d.ts +1 -0
  275. package/ts3.4/typings/question_matrixdropdownrendered.d.ts +10 -0
  276. package/ts3.4/typings/question_paneldynamic.d.ts +17 -0
  277. package/ts3.4/typings/question_ranking.d.ts +6 -1
  278. package/ts3.4/typings/question_rating.d.ts +1 -0
  279. package/ts3.4/typings/survey-element.d.ts +4 -3
  280. package/ts3.4/typings/surveyStrings.d.ts +1 -0
  281. package/ts3.4/typings/trigger.d.ts +2 -1
  282. package/ts3.4/typings/utils/animation.d.ts +26 -10
  283. package/typings/base.d.ts +5 -0
  284. package/typings/defaultCss/defaultV2Css.d.ts +8 -0
  285. package/typings/dxSurveyService.d.ts +5 -1
  286. package/typings/localization/english.d.ts +1 -0
  287. package/typings/mask/mask_base.d.ts +1 -0
  288. package/typings/mask/mask_numeric.d.ts +3 -2
  289. package/typings/mask/mask_utils.d.ts +1 -0
  290. package/typings/panel.d.ts +1 -0
  291. package/typings/popup-view-model.d.ts +2 -0
  292. package/typings/question.d.ts +1 -0
  293. package/typings/question_checkbox.d.ts +1 -0
  294. package/typings/question_matrixdropdownrendered.d.ts +11 -0
  295. package/typings/question_paneldynamic.d.ts +16 -0
  296. package/typings/question_ranking.d.ts +6 -1
  297. package/typings/question_rating.d.ts +1 -0
  298. package/typings/survey-element.d.ts +4 -4
  299. package/typings/surveyStrings.d.ts +1 -0
  300. package/typings/trigger.d.ts +2 -1
  301. package/typings/utils/animation.d.ts +18 -10
package/survey.core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.139
2
+ * surveyjs - Survey JavaScript library v1.10.1
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
  */
@@ -1867,6 +1867,7 @@ var Base = /** @class */ (function () {
1867
1867
  */
1868
1868
  this.onItemValuePropertyChanged = this.addEvent();
1869
1869
  this.isCreating = true;
1870
+ this.animationAllowedLock = 0;
1870
1871
  this.bindingsValue = new Bindings(this);
1871
1872
  _jsonobject__WEBPACK_IMPORTED_MODULE_2__["CustomPropertiesCollection"].createProperties(this);
1872
1873
  this.onBaseCreating();
@@ -2787,6 +2788,22 @@ var Base = /** @class */ (function () {
2787
2788
  if (includeHidden === void 0) { includeHidden = false; }
2788
2789
  return [];
2789
2790
  };
2791
+ Object.defineProperty(Base.prototype, "animationAllowed", {
2792
+ get: function () {
2793
+ return this.getIsAnimationAllowed();
2794
+ },
2795
+ enumerable: false,
2796
+ configurable: true
2797
+ });
2798
+ Base.prototype.getIsAnimationAllowed = function () {
2799
+ return _settings__WEBPACK_IMPORTED_MODULE_3__["settings"].animationEnabled && this.animationAllowedLock >= 0 && !this.isLoadingFromJson && !this.isDisposed;
2800
+ };
2801
+ Base.prototype.blockAnimations = function () {
2802
+ this.animationAllowedLock--;
2803
+ };
2804
+ Base.prototype.releaseAnimations = function () {
2805
+ this.animationAllowedLock++;
2806
+ };
2790
2807
  Base.currentDependencis = undefined;
2791
2808
  return Base;
2792
2809
  }());
@@ -5503,7 +5520,11 @@ var defaultV2Css = {
5503
5520
  footer: "sd-paneldynamic__footer",
5504
5521
  panelFooter: "sd-paneldynamic__panel-footer",
5505
5522
  footerButtonsContainer: "sd-paneldynamic__buttons-container",
5523
+ panelsContainer: "sd-paneldynamic__panels-container",
5506
5524
  panelWrapperInRow: "sd-paneldynamic__panel-wrapper--in-row",
5525
+ panelWrapperFadeIn: "sd-paneldynamic__panel-wrapper--fade-in",
5526
+ panelWrapperFadeOut: "sd-paneldynamic__panel-wrapper--fade-out",
5527
+ panelWrapperList: "sd-paneldynamic__panel-wrapper--list",
5507
5528
  progressBtnIcon: "icon-progressbuttonv2",
5508
5529
  noEntriesPlaceholder: "sd-paneldynamic__placeholder sd-question__placeholder",
5509
5530
  compact: "sd-element--with-frame sd-element--compact",
@@ -5890,6 +5911,8 @@ var defaultV2Css = {
5890
5911
  errorsCellBottom: "sd-table__cell--error-bottom",
5891
5912
  itemCell: "sd-table__cell--item",
5892
5913
  row: "sd-table__row",
5914
+ rowFadeIn: "sd-table__row--fade-in",
5915
+ rowFadeOut: "sd-table__row--fade-out",
5893
5916
  expandedRow: "sd-table__row--expanded",
5894
5917
  rowHasPanel: "sd-table__row--has-panel",
5895
5918
  rowHasEndActions: "sd-table__row--has-end-actions",
@@ -5928,6 +5951,8 @@ var defaultV2Css = {
5928
5951
  content: "sd-matrixdynamic__content sd-question__content",
5929
5952
  cell: "sd-table__cell",
5930
5953
  row: "sd-table__row",
5954
+ rowFadeIn: "sd-table__row--fade-in",
5955
+ rowFadeOut: "sd-table__row--fade-out",
5931
5956
  rowHasPanel: "sd-table__row--has-panel",
5932
5957
  rowHasEndActions: "sd-table__row--has-end-actions",
5933
5958
  expandedRow: "sd-table__row--expanded",
@@ -8954,7 +8979,11 @@ var DropdownMultiSelectListModel = /** @class */ (function (_super) {
8954
8979
  __webpack_require__.r(__webpack_exports__);
8955
8980
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dxSurveyService", function() { return dxSurveyService; });
8956
8981
  /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./settings */ "./src/settings.ts");
8982
+ /* harmony import */ var _surveyStrings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./surveyStrings */ "./src/surveyStrings.ts");
8957
8983
 
8984
+
8985
+ var surveyIOSite = "surveyjs.io";
8986
+ var surveyIOMaxPostSize = 65536;
8958
8987
  /**
8959
8988
  * The class contains methods to work with api.surveyjs.io service.
8960
8989
  */
@@ -8973,7 +9002,7 @@ var dxSurveyService = /** @class */ (function () {
8973
9002
  });
8974
9003
  dxSurveyService.prototype.loadSurvey = function (surveyId, onLoad) {
8975
9004
  var xhr = new XMLHttpRequest();
8976
- xhr.open("GET", dxSurveyService.serviceUrl + "/getSurvey?surveyId=" + surveyId);
9005
+ xhr.open("GET", this.serviceUrl + "/getSurvey?surveyId=" + surveyId);
8977
9006
  xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
8978
9007
  xhr.onload = function () {
8979
9008
  var result = JSON.parse(xhr.response);
@@ -8983,7 +9012,7 @@ var dxSurveyService = /** @class */ (function () {
8983
9012
  };
8984
9013
  dxSurveyService.prototype.getSurveyJsonAndIsCompleted = function (surveyId, clientId, onLoad) {
8985
9014
  var xhr = new XMLHttpRequest();
8986
- xhr.open("GET", dxSurveyService.serviceUrl +
9015
+ xhr.open("GET", this.serviceUrl +
8987
9016
  "/getSurveyAndIsCompleted?surveyId=" +
8988
9017
  surveyId +
8989
9018
  "&clientId=" +
@@ -8997,11 +9026,34 @@ var dxSurveyService = /** @class */ (function () {
8997
9026
  };
8998
9027
  xhr.send();
8999
9028
  };
9029
+ dxSurveyService.prototype.canSendResult = function (result) {
9030
+ if (!this.isSurveJSIOService)
9031
+ return true;
9032
+ var str = JSON.stringify(result);
9033
+ return str.length < surveyIOMaxPostSize;
9034
+ };
9035
+ Object.defineProperty(dxSurveyService.prototype, "isSurveJSIOService", {
9036
+ get: function () {
9037
+ return this.serviceUrl.indexOf(surveyIOSite) >= 0;
9038
+ },
9039
+ enumerable: false,
9040
+ configurable: true
9041
+ });
9000
9042
  dxSurveyService.prototype.sendResult = function (postId, result, onSendResult, clientId, isPartialCompleted) {
9043
+ if (clientId === void 0) { clientId = null; }
9044
+ if (isPartialCompleted === void 0) { isPartialCompleted = false; }
9045
+ if (!this.canSendResult(result)) {
9046
+ onSendResult(false, _surveyStrings__WEBPACK_IMPORTED_MODULE_1__["surveyLocalization"].getString("savingExceedSize", this.locale), undefined);
9047
+ }
9048
+ else {
9049
+ this.sendResultCore(postId, result, onSendResult, clientId, isPartialCompleted);
9050
+ }
9051
+ };
9052
+ dxSurveyService.prototype.sendResultCore = function (postId, result, onSendResult, clientId, isPartialCompleted) {
9001
9053
  if (clientId === void 0) { clientId = null; }
9002
9054
  if (isPartialCompleted === void 0) { isPartialCompleted = false; }
9003
9055
  var xhr = new XMLHttpRequest();
9004
- xhr.open("POST", dxSurveyService.serviceUrl + "/post/");
9056
+ xhr.open("POST", this.serviceUrl + "/post/");
9005
9057
  xhr.setRequestHeader("Content-Type", "application/json; charset=utf-8");
9006
9058
  var data = { postId: postId, surveyResult: JSON.stringify(result) };
9007
9059
  if (clientId)
@@ -9009,7 +9061,6 @@ var dxSurveyService = /** @class */ (function () {
9009
9061
  if (isPartialCompleted)
9010
9062
  data["isPartialCompleted"] = true;
9011
9063
  var dataStringify = JSON.stringify(data);
9012
- var self = this;
9013
9064
  xhr.onload = xhr.onerror = function () {
9014
9065
  if (!onSendResult)
9015
9066
  return;
@@ -9024,7 +9075,7 @@ var dxSurveyService = /** @class */ (function () {
9024
9075
  return;
9025
9076
  onSendFile(xhr.status == 200, JSON.parse(xhr.response));
9026
9077
  };
9027
- xhr.open("POST", dxSurveyService.serviceUrl + "/upload/", true);
9078
+ xhr.open("POST", this.serviceUrl + "/upload/", true);
9028
9079
  var formData = new FormData();
9029
9080
  formData.append("file", file);
9030
9081
  formData.append("postId", postId);
@@ -9033,7 +9084,7 @@ var dxSurveyService = /** @class */ (function () {
9033
9084
  dxSurveyService.prototype.getResult = function (resultId, name, onGetResult) {
9034
9085
  var xhr = new XMLHttpRequest();
9035
9086
  var data = "resultId=" + resultId + "&name=" + name;
9036
- xhr.open("GET", dxSurveyService.serviceUrl + "/getResult?" + data);
9087
+ xhr.open("GET", this.serviceUrl + "/getResult?" + data);
9037
9088
  xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
9038
9089
  var self = this;
9039
9090
  xhr.onload = function () {
@@ -9054,7 +9105,7 @@ var dxSurveyService = /** @class */ (function () {
9054
9105
  dxSurveyService.prototype.isCompleted = function (resultId, clientId, onIsCompleted) {
9055
9106
  var xhr = new XMLHttpRequest();
9056
9107
  var data = "resultId=" + resultId + "&clientId=" + clientId;
9057
- xhr.open("GET", dxSurveyService.serviceUrl + "/isCompleted?" + data);
9108
+ xhr.open("GET", this.serviceUrl + "/isCompleted?" + data);
9058
9109
  xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
9059
9110
  var self = this;
9060
9111
  xhr.onload = function () {
@@ -9066,6 +9117,13 @@ var dxSurveyService = /** @class */ (function () {
9066
9117
  };
9067
9118
  xhr.send();
9068
9119
  };
9120
+ Object.defineProperty(dxSurveyService.prototype, "serviceUrl", {
9121
+ get: function () {
9122
+ return dxSurveyService.serviceUrl || "";
9123
+ },
9124
+ enumerable: false,
9125
+ configurable: true
9126
+ });
9069
9127
  return dxSurveyService;
9070
9128
  }());
9071
9129
 
@@ -9636,8 +9694,8 @@ __webpack_require__.r(__webpack_exports__);
9636
9694
 
9637
9695
  var Version;
9638
9696
  var ReleaseDate;
9639
- Version = "" + "1.9.139";
9640
- ReleaseDate = "" + "2024-04-16";
9697
+ Version = "" + "1.10.1";
9698
+ ReleaseDate = "" + "2024-04-25";
9641
9699
  function checkLibraryVersion(ver, libraryName) {
9642
9700
  if (Version != ver) {
9643
9701
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -9818,7 +9876,7 @@ function checkPrefix(prefix) {
9818
9876
  /*!**************************************!*\
9819
9877
  !*** ./src/entries/core-wo-model.ts ***!
9820
9878
  \**************************************/
9821
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationBoolean, AnimationGroup, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper */
9879
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper */
9822
9880
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9823
9881
 
9824
9882
  "use strict";
@@ -10270,10 +10328,14 @@ __webpack_require__.r(__webpack_exports__);
10270
10328
 
10271
10329
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationGroupUtils", function() { return _utils_animation__WEBPACK_IMPORTED_MODULE_8__["AnimationGroupUtils"]; });
10272
10330
 
10331
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationProperty", function() { return _utils_animation__WEBPACK_IMPORTED_MODULE_8__["AnimationProperty"]; });
10332
+
10273
10333
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationBoolean", function() { return _utils_animation__WEBPACK_IMPORTED_MODULE_8__["AnimationBoolean"]; });
10274
10334
 
10275
10335
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationGroup", function() { return _utils_animation__WEBPACK_IMPORTED_MODULE_8__["AnimationGroup"]; });
10276
10336
 
10337
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationTab", function() { return _utils_animation__WEBPACK_IMPORTED_MODULE_8__["AnimationTab"]; });
10338
+
10277
10339
  /* harmony import */ var _actions_adaptive_container__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../actions/adaptive-container */ "./src/actions/adaptive-container.ts");
10278
10340
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AdaptiveActionContainer", function() { return _actions_adaptive_container__WEBPACK_IMPORTED_MODULE_9__["AdaptiveActionContainer"]; });
10279
10341
 
@@ -10309,7 +10371,7 @@ __webpack_require__.r(__webpack_exports__);
10309
10371
  /*!*****************************!*\
10310
10372
  !*** ./src/entries/core.ts ***!
10311
10373
  \*****************************/
10312
- /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationBoolean, AnimationGroup, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model */
10374
+ /*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, ProgressButtons, ProgressButtonsResponsivityManager, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model */
10313
10375
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10314
10376
 
10315
10377
  "use strict";
@@ -10753,10 +10815,14 @@ __webpack_require__.r(__webpack_exports__);
10753
10815
 
10754
10816
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationGroupUtils", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["AnimationGroupUtils"]; });
10755
10817
 
10818
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationProperty", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["AnimationProperty"]; });
10819
+
10756
10820
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationBoolean", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["AnimationBoolean"]; });
10757
10821
 
10758
10822
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationGroup", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["AnimationGroup"]; });
10759
10823
 
10824
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationTab", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["AnimationTab"]; });
10825
+
10760
10826
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AdaptiveActionContainer", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["AdaptiveActionContainer"]; });
10761
10827
 
10762
10828
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "defaultActionBarCss", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["defaultActionBarCss"]; });
@@ -21140,6 +21206,7 @@ var englishStrings = {
21140
21206
  savingData: "The results are being saved on the server...",
21141
21207
  savingDataError: "An error occurred and we could not save the results.",
21142
21208
  savingDataSuccess: "The results were saved successfully!",
21209
+ savingExceedSize: "Your response exceeds 64KB. Please reduce the size of your file(s) and try again or contact a survey owner.",
21143
21210
  saveAgainButton: "Try again",
21144
21211
  timerMin: "min",
21145
21212
  timerSec: "sec",
@@ -21773,17 +21840,12 @@ var InputMaskBase = /** @class */ (function (_super) {
21773
21840
  });
21774
21841
  return res;
21775
21842
  };
21776
- // public get maskedInputValue(): string {
21777
- // return this.input.value;
21778
- // }
21779
- // public get unmaskedInputValue(): string {
21780
- // return this.getUnmaskedValue(this.input.value, true);
21781
- // }
21782
21843
  InputMaskBase.prototype.processInput = function (args) {
21783
21844
  return { value: args.prevValue, caretPosition: args.selectionEnd, cancelPreventDefault: false };
21784
21845
  };
21785
21846
  InputMaskBase.prototype.getUnmaskedValue = function (src) { return src; };
21786
21847
  InputMaskBase.prototype.getMaskedValue = function (src) { return src; };
21848
+ InputMaskBase.prototype.getTextAlignment = function () { return "auto"; };
21787
21849
  __decorate([
21788
21850
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
21789
21851
  ], InputMaskBase.prototype, "saveMaskedValue", void 0);
@@ -22823,9 +22885,6 @@ var InputMaskNumeric = /** @class */ (function (_super) {
22823
22885
  InputMaskNumeric.prototype.parseNumber = function (src) {
22824
22886
  var result = { integralPart: "", fractionalPart: "", hasDecimalSeparator: false, isNegative: false };
22825
22887
  var input = (src === undefined || src === null) ? "" : src.toString();
22826
- if (typeof src === "number") {
22827
- input = src.toString().replace(".", this.decimalSeparator);
22828
- }
22829
22888
  var minusCharCount = 0;
22830
22889
  for (var inputIndex = 0; inputIndex < input.length; inputIndex++) {
22831
22890
  var currentChar = input[inputIndex];
@@ -22865,8 +22924,7 @@ var InputMaskNumeric = /** @class */ (function (_super) {
22865
22924
  };
22866
22925
  InputMaskNumeric.prototype.getNumberMaskedValue = function (src, matchWholeMask) {
22867
22926
  if (matchWholeMask === void 0) { matchWholeMask = false; }
22868
- var input = (src === undefined || src === null) ? "" : src;
22869
- var parsedNumber = this.parseNumber(input);
22927
+ var parsedNumber = this.parseNumber(src);
22870
22928
  if (!this.validateNumber(parsedNumber, matchWholeMask)) {
22871
22929
  return null;
22872
22930
  }
@@ -22877,8 +22935,13 @@ var InputMaskNumeric = /** @class */ (function (_super) {
22877
22935
  var parsedNumber = this.parseNumber(str);
22878
22936
  return this.convertNumber(parsedNumber);
22879
22937
  };
22938
+ InputMaskNumeric.prototype.getTextAlignment = function () {
22939
+ return "right";
22940
+ };
22880
22941
  InputMaskNumeric.prototype.getMaskedValue = function (src) {
22881
- return this.getNumberMaskedValue(src, true);
22942
+ var input = (src === undefined || src === null) ? "" : src.toString();
22943
+ input = input.replace(".", this.decimalSeparator);
22944
+ return this.getNumberMaskedValue(input, true);
22882
22945
  };
22883
22946
  InputMaskNumeric.prototype.getUnmaskedValue = function (src) {
22884
22947
  return this.getNumberUnmaskedValue(src);
@@ -23962,6 +24025,10 @@ var QuestionRowModel = /** @class */ (function (_super) {
23962
24025
  enumerable: false,
23963
24026
  configurable: true
23964
24027
  });
24028
+ QuestionRowModel.prototype.getIsAnimationAllowed = function () {
24029
+ var _a;
24030
+ return _super.prototype.getIsAnimationAllowed.call(this) && this.visible && ((_a = this.panel) === null || _a === void 0 ? void 0 : _a.animationAllowed);
24031
+ };
23965
24032
  QuestionRowModel.prototype.getVisibleElementsAnimationOptions = function () {
23966
24033
  var _this = this;
23967
24034
  var beforeRunAnimation = function (el) {
@@ -23969,7 +24036,7 @@ var QuestionRowModel = /** @class */ (function (_super) {
23969
24036
  el.style.setProperty("--animation-width", Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__["getElementWidth"])(el) + "px");
23970
24037
  };
23971
24038
  return {
23972
- isAnimationEnabled: function () { var _a; return _settings__WEBPACK_IMPORTED_MODULE_7__["settings"].animationEnabled && ((_a = _this.panel) === null || _a === void 0 ? void 0 : _a.animationAllowed) && _this.visible; },
24039
+ isAnimationEnabled: function () { return _this.animationAllowed; },
23973
24040
  getAnimatedElement: function (element) { return element.getWrapperElement(); },
23974
24041
  getLeaveOptions: function (element) {
23975
24042
  var surveyElement = element;
@@ -24118,7 +24185,7 @@ var QuestionRowModel = /** @class */ (function (_super) {
24118
24185
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_9__["CssClassBuilder"]()
24119
24186
  .append(this.panel.cssClasses.row)
24120
24187
  .append(this.panel.cssClasses.rowCompact, this.panel["isCompact"])
24121
- .append(this.panel.cssClasses.pageRow, this.panel.isPage || (!!this.panel.originalPage))
24188
+ .append(this.panel.cssClasses.pageRow, this.panel.isPage || this.panel.showPanelAsPage)
24122
24189
  .append(this.panel.cssClasses.rowMultiple, this.visibleElements.length > 1)
24123
24190
  .toString();
24124
24191
  };
@@ -24182,7 +24249,7 @@ var PanelModelBase = /** @class */ (function (_super) {
24182
24249
  el.style.setProperty("--animation-height", el.offsetHeight + "px");
24183
24250
  };
24184
24251
  return {
24185
- isAnimationEnabled: function () { return _settings__WEBPACK_IMPORTED_MODULE_7__["settings"].animationEnabled && _this.animationAllowed; },
24252
+ isAnimationEnabled: function () { return _this.animationAllowed; },
24186
24253
  getAnimatedElement: function (row) { return row.getRootElement(); },
24187
24254
  getLeaveOptions: function (_) {
24188
24255
  return { cssClass: _this.cssClasses.rowFadeOut,
@@ -24219,14 +24286,14 @@ var PanelModelBase = /** @class */ (function (_super) {
24219
24286
  return "panelbase";
24220
24287
  };
24221
24288
  PanelModelBase.prototype.setSurveyImpl = function (value, isLight) {
24222
- this.animationAllowed = false;
24289
+ this.blockAnimations();
24223
24290
  _super.prototype.setSurveyImpl.call(this, value, isLight);
24224
24291
  if (this.isDesignMode)
24225
24292
  this.onVisibleChanged();
24226
24293
  for (var i = 0; i < this.elements.length; i++) {
24227
24294
  this.elements[i].setSurveyImpl(value, isLight);
24228
24295
  }
24229
- this.animationAllowed = true;
24296
+ this.releaseAnimations();
24230
24297
  };
24231
24298
  PanelModelBase.prototype.endLoadingFromJson = function () {
24232
24299
  _super.prototype.endLoadingFromJson.call(this);
@@ -25041,13 +25108,13 @@ var PanelModelBase = /** @class */ (function (_super) {
25041
25108
  return new QuestionRowModel(this);
25042
25109
  };
25043
25110
  PanelModelBase.prototype.onSurveyLoad = function () {
25044
- this.animationAllowed = false;
25111
+ this.blockAnimations();
25045
25112
  _super.prototype.onSurveyLoad.call(this);
25046
25113
  for (var i = 0; i < this.elements.length; i++) {
25047
25114
  this.elements[i].onSurveyLoad();
25048
25115
  }
25049
25116
  this.onElementVisibilityChanged(this);
25050
- this.animationAllowed = true;
25117
+ this.releaseAnimations();
25051
25118
  };
25052
25119
  PanelModelBase.prototype.onFirstRendering = function () {
25053
25120
  _super.prototype.onFirstRendering.call(this);
@@ -25081,9 +25148,9 @@ var PanelModelBase = /** @class */ (function (_super) {
25081
25148
  PanelModelBase.prototype.onRowsChanged = function () {
25082
25149
  if (this.isLoadingFromJson)
25083
25150
  return;
25084
- this.animationAllowed = false;
25151
+ this.blockAnimations();
25085
25152
  this.setArrayPropertyDirectly("rows", this.buildRows());
25086
- this.animationAllowed = true;
25153
+ this.releaseAnimations();
25087
25154
  };
25088
25155
  PanelModelBase.prototype.blockRowsUpdates = function () {
25089
25156
  this.locCountRowUpdates++;
@@ -26471,6 +26538,7 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
26471
26538
  this.resizeEventCallback();
26472
26539
  }
26473
26540
  _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__["DomWindowHelper"].addEventListener("scroll", this.scrollEventCallBack);
26541
+ this._isPositionSetValue = true;
26474
26542
  };
26475
26543
  Object.defineProperty(PopupDropdownViewModel.prototype, "shouldCreateResizeCallback", {
26476
26544
  get: function () {
@@ -27211,6 +27279,7 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
27211
27279
  if (!val) {
27212
27280
  _this.updateOnHiding();
27213
27281
  _this.updateIsVisible(val);
27282
+ _this._isPositionSetValue = false;
27214
27283
  }
27215
27284
  else {
27216
27285
  _this.updateIsVisible(val);
@@ -27221,6 +27290,7 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
27221
27290
  _this.onModelIsVisibleChangedCallback = function () {
27222
27291
  _this.isVisible = _this.model.isVisible;
27223
27292
  };
27293
+ _this._isPositionSetValue = false;
27224
27294
  _this.model = model;
27225
27295
  _this.locale = _this.model.locale;
27226
27296
  return _this;
@@ -27458,12 +27528,20 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
27458
27528
  this.focusContainer();
27459
27529
  }
27460
27530
  };
27531
+ Object.defineProperty(PopupBaseViewModel.prototype, "isPositionSet", {
27532
+ get: function () {
27533
+ return this._isPositionSetValue;
27534
+ },
27535
+ enumerable: false,
27536
+ configurable: true
27537
+ });
27461
27538
  PopupBaseViewModel.prototype.updateOnShowing = function () {
27462
27539
  this.prevActiveElement = _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root.activeElement;
27463
27540
  if (this.isOverlay) {
27464
27541
  this.resetDimensionsAndPositionStyleProperties();
27465
27542
  }
27466
27543
  this.switchFocus();
27544
+ this._isPositionSetValue = true;
27467
27545
  };
27468
27546
  PopupBaseViewModel.prototype.updateOnHiding = function () {
27469
27547
  if (this.isFocusedContent && this.prevActiveElement) {
@@ -28636,8 +28714,7 @@ var Question = /** @class */ (function (_super) {
28636
28714
  };
28637
28715
  Question.prototype.runTriggers = function (name, value) {
28638
28716
  var _this = this;
28639
- if (this.isReadOnly || this.isSettingQuestionValue ||
28640
- (this.parentQuestion && this.parentQuestion.getValueName() === name))
28717
+ if (this.isSettingQuestionValue || (this.parentQuestion && this.parentQuestion.getValueName() === name))
28641
28718
  return;
28642
28719
  this.triggersInfo.forEach(function (info) {
28643
28720
  _this.runTriggerInfo(info, name, value);
@@ -29855,6 +29932,7 @@ var Question = /** @class */ (function (_super) {
29855
29932
  configurable: true
29856
29933
  });
29857
29934
  Question.prototype.getFilteredValue = function () { return this.value; };
29935
+ Question.prototype.getFilteredName = function () { return this.getValueName(); };
29858
29936
  Object.defineProperty(Question.prototype, "valueForSurvey", {
29859
29937
  get: function () {
29860
29938
  if (!!this.valueToDataCallback) {
@@ -30457,7 +30535,7 @@ var Question = /** @class */ (function (_super) {
30457
30535
  };
30458
30536
  Question.prototype.addConditionObjectsByContext = function (objects, context) {
30459
30537
  objects.push({
30460
- name: this.getValueName(),
30538
+ name: this.getFilteredName(),
30461
30539
  text: this.processedTitle,
30462
30540
  question: this,
30463
30541
  });
@@ -33499,17 +33577,19 @@ var QuestionSelectBase = /** @class */ (function (_super) {
33499
33577
  .append(this.cssClasses.itemInline, !this.hasColumns && this.colCount === 0)
33500
33578
  .append("sv-q-col-" + this.getCurrentColCount(), !this.hasColumns && this.colCount !== 0)
33501
33579
  .append(this.cssClasses.itemOnError, this.hasCssError());
33502
- var isDisabled = this.isReadOnly || !item.isEnabled;
33580
+ var readOnlyStyles = this.getIsDisableAndReadOnlyStyles(!item.isEnabled);
33581
+ var isReadOnly = readOnlyStyles[0];
33582
+ var isDisabled = readOnlyStyles[1];
33503
33583
  var isChecked = this.isItemSelected(item) ||
33504
33584
  (this.isOtherSelected && this.otherItem.value === item.value);
33505
33585
  var allowHover = !isDisabled && !isChecked && !(!!this.survey && this.survey.isDesignMode);
33506
33586
  var isNone = item === this.noneItem;
33507
- options.isDisabled = isDisabled;
33587
+ options.isDisabled = isDisabled || isReadOnly;
33508
33588
  options.isChecked = isChecked;
33509
33589
  options.isNone = isNone;
33510
33590
  return builder
33511
- .append(this.cssClasses.itemDisabled, this.isDisabledStyle)
33512
- .append(this.cssClasses.itemReadOnly, this.isReadOnlyStyle)
33591
+ .append(this.cssClasses.itemDisabled, isDisabled)
33592
+ .append(this.cssClasses.itemReadOnly, isReadOnly)
33513
33593
  .append(this.cssClasses.itemPreview, this.isPreviewStyle)
33514
33594
  .append(this.cssClasses.itemChecked, isChecked)
33515
33595
  .append(this.cssClasses.itemHover, allowHover)
@@ -35006,6 +35086,13 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
35006
35086
  enumerable: false,
35007
35087
  configurable: true
35008
35088
  });
35089
+ QuestionCheckboxModel.prototype.getFilteredName = function () {
35090
+ var res = _super.prototype.getFilteredName.call(this);
35091
+ if (this.hasFilteredValue) {
35092
+ res += "-unwrapped";
35093
+ }
35094
+ return res;
35095
+ };
35009
35096
  QuestionCheckboxModel.prototype.getFilteredValue = function () {
35010
35097
  if (this.hasFilteredValue)
35011
35098
  return this.renderedValue;
@@ -45225,6 +45312,7 @@ __webpack_require__.r(__webpack_exports__);
45225
45312
  /* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/cssClassBuilder */ "./src/utils/cssClassBuilder.ts");
45226
45313
  /* harmony import */ var _actions_container__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./actions/container */ "./src/actions/container.ts");
45227
45314
  /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./settings */ "./src/settings.ts");
45315
+ /* harmony import */ var _utils_animation__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/animation */ "./src/utils/animation.ts");
45228
45316
  var __extends = (undefined && undefined.__extends) || (function () {
45229
45317
  var extendStatics = function (d, b) {
45230
45318
  extendStatics = Object.setPrototypeOf ||
@@ -45259,6 +45347,7 @@ var __spreadArray = (undefined && undefined.__spreadArray) || function (to, from
45259
45347
 
45260
45348
 
45261
45349
 
45350
+
45262
45351
  var QuestionMatrixDropdownRenderedCell = /** @class */ (function () {
45263
45352
  function QuestionMatrixDropdownRenderedCell() {
45264
45353
  this.minWidth = "";
@@ -45483,6 +45572,12 @@ var QuestionMatrixDropdownRenderedRow = /** @class */ (function (_super) {
45483
45572
  enumerable: false,
45484
45573
  configurable: true
45485
45574
  });
45575
+ QuestionMatrixDropdownRenderedRow.prototype.setRootElement = function (val) {
45576
+ this.rootElement = val;
45577
+ };
45578
+ QuestionMatrixDropdownRenderedRow.prototype.getRootElement = function () {
45579
+ return this.rootElement;
45580
+ };
45486
45581
  QuestionMatrixDropdownRenderedRow.counter = 1;
45487
45582
  __decorate([
45488
45583
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: false })
@@ -45541,10 +45636,53 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
45541
45636
  var _this = _super.call(this) || this;
45542
45637
  _this.matrix = matrix;
45543
45638
  _this.renderedRowsChangedCallback = function () { };
45639
+ _this._renderedRows = [];
45640
+ _this.renderedRowsAnimation = new _utils_animation__WEBPACK_IMPORTED_MODULE_8__["AnimationGroup"](_this.getRenderedRowsAnimationOptions(), function (val) {
45641
+ _this._renderedRows = val;
45642
+ _this.renderedRowsChangedCallback();
45643
+ }, function () { return _this._renderedRows; });
45544
45644
  _this.hasActionCellInRowsValues = {};
45545
45645
  _this.build();
45546
45646
  return _this;
45547
45647
  }
45648
+ QuestionMatrixDropdownRenderedTable.prototype.getIsAnimationAllowed = function () {
45649
+ return _super.prototype.getIsAnimationAllowed.call(this) && this.matrix.animationAllowed;
45650
+ };
45651
+ QuestionMatrixDropdownRenderedTable.prototype.getRenderedRowsAnimationOptions = function () {
45652
+ var _this = this;
45653
+ var beforeAnimationRun = function (el) {
45654
+ el.querySelectorAll(":scope > td > *").forEach(function (el) {
45655
+ el.style.setProperty("--animation-height", el.offsetHeight + "px");
45656
+ });
45657
+ };
45658
+ return {
45659
+ isAnimationEnabled: function () {
45660
+ return _this.animationAllowed;
45661
+ },
45662
+ getAnimatedElement: function (el) {
45663
+ return el.getRootElement();
45664
+ },
45665
+ getLeaveOptions: function () {
45666
+ return { cssClass: _this.cssClasses.rowFadeOut, onBeforeRunAnimation: beforeAnimationRun };
45667
+ },
45668
+ getEnterOptions: function () {
45669
+ return { cssClass: _this.cssClasses.rowFadeIn, onBeforeRunAnimation: beforeAnimationRun };
45670
+ }
45671
+ };
45672
+ };
45673
+ QuestionMatrixDropdownRenderedTable.prototype.updateRenderedRows = function () {
45674
+ this.renderedRows = this.rows;
45675
+ };
45676
+ Object.defineProperty(QuestionMatrixDropdownRenderedTable.prototype, "renderedRows", {
45677
+ get: function () {
45678
+ return this._renderedRows;
45679
+ },
45680
+ set: function (val) {
45681
+ this.renderedRowsAnimation.sync(val);
45682
+ },
45683
+ enumerable: false,
45684
+ configurable: true
45685
+ });
45548
45686
  Object.defineProperty(QuestionMatrixDropdownRenderedTable.prototype, "showTable", {
45549
45687
  get: function () {
45550
45688
  return this.getPropertyValue("showTable", true);
@@ -45859,10 +45997,12 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
45859
45997
  }
45860
45998
  };
45861
45999
  QuestionMatrixDropdownRenderedTable.prototype.buildRows = function () {
46000
+ this.blockAnimations();
45862
46001
  var rows = this.matrix.isColumnLayoutHorizontal
45863
46002
  ? this.buildHorizontalRows()
45864
46003
  : this.buildVerticalRows();
45865
46004
  this.rows = rows;
46005
+ this.releaseAnimations();
45866
46006
  };
45867
46007
  QuestionMatrixDropdownRenderedTable.prototype.hasActionCellInRows = function (location) {
45868
46008
  if (this.hasActionCellInRowsValues[location] === undefined) {
@@ -46380,9 +46520,16 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
46380
46520
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["propertyArray"])({
46381
46521
  onPush: function (_, i, target) {
46382
46522
  target.renderedRowsChangedCallback();
46523
+ target.updateRenderedRows();
46383
46524
  },
46525
+ onRemove: function (_, i, target) {
46526
+ target.updateRenderedRows();
46527
+ }
46384
46528
  })
46385
46529
  ], QuestionMatrixDropdownRenderedTable.prototype, "rows", void 0);
46530
+ __decorate([
46531
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["propertyArray"])()
46532
+ ], QuestionMatrixDropdownRenderedTable.prototype, "_renderedRows", void 0);
46386
46533
  return QuestionMatrixDropdownRenderedTable;
46387
46534
  }(_base__WEBPACK_IMPORTED_MODULE_1__["Base"]));
46388
46535
 
@@ -48780,6 +48927,7 @@ __webpack_require__.r(__webpack_exports__);
48780
48927
  /* harmony import */ var _actions_action__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./actions/action */ "./src/actions/action.ts");
48781
48928
  /* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./base */ "./src/base.ts");
48782
48929
  /* harmony import */ var _actions_adaptive_container__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./actions/adaptive-container */ "./src/actions/adaptive-container.ts");
48930
+ /* harmony import */ var _utils_animation__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./utils/animation */ "./src/utils/animation.ts");
48783
48931
  var __extends = (undefined && undefined.__extends) || (function () {
48784
48932
  var extendStatics = function (d, b) {
48785
48933
  extendStatics = Object.setPrototypeOf ||
@@ -48820,6 +48968,7 @@ var __spreadArray = (undefined && undefined.__spreadArray) || function (to, from
48820
48968
 
48821
48969
 
48822
48970
 
48971
+
48823
48972
  var QuestionPanelDynamicItemTextProcessor = /** @class */ (function (_super) {
48824
48973
  __extends(QuestionPanelDynamicItemTextProcessor, _super);
48825
48974
  function QuestionPanelDynamicItemTextProcessor(data, panelItem, variableName) {
@@ -49043,6 +49192,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49043
49192
  __extends(QuestionPanelDynamicModel, _super);
49044
49193
  function QuestionPanelDynamicModel(name) {
49045
49194
  var _this = _super.call(this, name) || this;
49195
+ _this._renderedPanels = [];
49196
+ _this.isPanelsAnimationRunning = false;
49046
49197
  _this.isAddingNewPanels = false;
49047
49198
  _this.isSetPanelItemData = {};
49048
49199
  _this.createNewArray("panels", function (panel) { _this.onPanelAdded(panel); }, function (panel) { _this.onPanelRemoved(panel); });
@@ -49368,6 +49519,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49368
49519
  if (!this.currentPanel) {
49369
49520
  this.currentPanel = panel;
49370
49521
  }
49522
+ this.updateRenderedPanels();
49371
49523
  };
49372
49524
  QuestionPanelDynamicModel.prototype.onPanelRemoved = function (panel) {
49373
49525
  var index = this.onPanelRemovedCore(panel);
@@ -49377,6 +49529,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49377
49529
  index = visPanels.length - 1;
49378
49530
  this.currentPanel = index >= 0 ? visPanels[index] : null;
49379
49531
  }
49532
+ this.updateRenderedPanels();
49380
49533
  };
49381
49534
  QuestionPanelDynamicModel.prototype.onPanelRemovedCore = function (panel) {
49382
49535
  var visPanels = this.visiblePanelsCore;
@@ -49447,6 +49600,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49447
49600
  curPanel.onHidingContent();
49448
49601
  }
49449
49602
  this.setPropertyValue("currentPanel", val);
49603
+ this.updateRenderedPanels();
49450
49604
  this.updateFooterActions();
49451
49605
  this.updateTabToolbarItemsPressedState();
49452
49606
  this.fireCallback(this.currentIndexChangedCallback);
@@ -49461,6 +49615,123 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49461
49615
  enumerable: false,
49462
49616
  configurable: true
49463
49617
  });
49618
+ QuestionPanelDynamicModel.prototype.updateRenderedPanels = function () {
49619
+ if (this.isRenderModeList) {
49620
+ this.renderedPanels = [].concat(this.visiblePanels);
49621
+ }
49622
+ else if (this.currentPanel) {
49623
+ this.renderedPanels = [this.currentPanel];
49624
+ }
49625
+ else {
49626
+ this.renderedPanels = [];
49627
+ }
49628
+ };
49629
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "renderedPanels", {
49630
+ get: function () {
49631
+ return this._renderedPanels;
49632
+ },
49633
+ set: function (val) {
49634
+ if (this.renderedPanels.length == 0 || val.length == 0) {
49635
+ this.blockAnimations();
49636
+ this.panelsAnimation.sync(val);
49637
+ this.releaseAnimations();
49638
+ }
49639
+ else {
49640
+ this.isPanelsAnimationRunning = true;
49641
+ this.panelsAnimation.sync(val);
49642
+ }
49643
+ },
49644
+ enumerable: false,
49645
+ configurable: true
49646
+ });
49647
+ QuestionPanelDynamicModel.prototype.getPanelsAnimationOptions = function () {
49648
+ var _this = this;
49649
+ var getDirection = function () {
49650
+ if (_this.isRenderModeList)
49651
+ return "";
49652
+ var leavingPanel = _this.renderedPanels.filter(function (el) { return el !== _this.currentPanel; })[0];
49653
+ var leavingPanelIndex = _this.visiblePanels.indexOf(leavingPanel);
49654
+ if (leavingPanelIndex < 0)
49655
+ leavingPanelIndex = _this.removedPanelIndex;
49656
+ return leavingPanelIndex > _this.currentIndex ? "-right" : "-left";
49657
+ };
49658
+ return {
49659
+ getAnimatedElement: function (panel) {
49660
+ var _a, _b;
49661
+ if (panel && _this.cssContent) {
49662
+ var contentSelector = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_9__["classesToSelector"])(_this.cssContent);
49663
+ return (_b = (_a = _this.getWrapperElement()) === null || _a === void 0 ? void 0 : _a.querySelector(":scope " + contentSelector + " #" + panel.id)) === null || _b === void 0 ? void 0 : _b.parentElement;
49664
+ }
49665
+ },
49666
+ getEnterOptions: function () {
49667
+ var cssClass = _this.cssClasses.panelWrapperFadeIn ? "" + _this.cssClasses.panelWrapperFadeIn + getDirection() : "";
49668
+ return {
49669
+ onBeforeRunAnimation: function (el) {
49670
+ var _a;
49671
+ if (_this.focusNewPanelCallback) {
49672
+ var scolledElement = _this.isRenderModeList ? el : el.parentElement;
49673
+ _survey_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElement"].ScrollElementToViewCore(scolledElement, false, false, { behavior: "smooth" });
49674
+ }
49675
+ if (!_this.isRenderModeList) {
49676
+ (_a = el.parentElement) === null || _a === void 0 ? void 0 : _a.style.setProperty("--animation-height-to", el.offsetHeight + "px");
49677
+ }
49678
+ else {
49679
+ el.style.setProperty("--animation-height", el.offsetHeight + "px");
49680
+ }
49681
+ },
49682
+ cssClass: cssClass
49683
+ };
49684
+ },
49685
+ getLeaveOptions: function () {
49686
+ var cssClass = _this.cssClasses.panelWrapperFadeOut ? "" + _this.cssClasses.panelWrapperFadeOut + getDirection() : "";
49687
+ return {
49688
+ onBeforeRunAnimation: function (el) {
49689
+ var _a;
49690
+ if (!_this.isRenderModeList) {
49691
+ (_a = el.parentElement) === null || _a === void 0 ? void 0 : _a.style.setProperty("--animation-height-from", el.offsetHeight + "px");
49692
+ }
49693
+ else {
49694
+ el.style.setProperty("--animation-height", el.offsetHeight + "px");
49695
+ }
49696
+ },
49697
+ cssClass: cssClass
49698
+ };
49699
+ },
49700
+ isAnimationEnabled: function () {
49701
+ return _this.animationAllowed && !!_this.getWrapperElement();
49702
+ },
49703
+ };
49704
+ };
49705
+ QuestionPanelDynamicModel.prototype.disablePanelsAnimations = function () {
49706
+ this.panelsCore.forEach(function (panel) {
49707
+ panel.blockAnimations();
49708
+ });
49709
+ };
49710
+ QuestionPanelDynamicModel.prototype.enablePanelsAnimations = function () {
49711
+ this.panelsCore.forEach(function (panel) {
49712
+ panel.releaseAnimations();
49713
+ });
49714
+ };
49715
+ QuestionPanelDynamicModel.prototype.updatePanelsAnimation = function () {
49716
+ var _this = this;
49717
+ this._panelsAnimations = new (this.isRenderModeList ? _utils_animation__WEBPACK_IMPORTED_MODULE_14__["AnimationGroup"] : _utils_animation__WEBPACK_IMPORTED_MODULE_14__["AnimationTab"])(this.getPanelsAnimationOptions(), function (val, isTempUpdate) {
49718
+ _this._renderedPanels = val;
49719
+ if (!isTempUpdate) {
49720
+ _this.isPanelsAnimationRunning = false;
49721
+ _this.focusNewPanel();
49722
+ }
49723
+ }, function () { return _this._renderedPanels; });
49724
+ };
49725
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "panelsAnimation", {
49726
+ get: function () {
49727
+ if (!this._panelsAnimations) {
49728
+ this.updatePanelsAnimation();
49729
+ }
49730
+ return this._panelsAnimations;
49731
+ },
49732
+ enumerable: false,
49733
+ configurable: true
49734
+ });
49464
49735
  QuestionPanelDynamicModel.prototype.onHidingContent = function () {
49465
49736
  _super.prototype.onHidingContent.call(this);
49466
49737
  if (this.currentPanel) {
@@ -49775,11 +50046,13 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49775
50046
  if (val < this.panelCount) {
49776
50047
  this.panelsCore.splice(val, this.panelCount - val);
49777
50048
  }
50049
+ this.disablePanelsAnimations();
49778
50050
  this.setValueAfterPanelsCreating();
49779
50051
  this.setValueBasedOnPanelCount();
49780
50052
  this.reRunCondition();
49781
50053
  this.updateFooterActions();
49782
50054
  this.fireCallback(this.panelCountChangedCallback);
50055
+ this.enablePanelsAnimations();
49783
50056
  },
49784
50057
  enumerable: false,
49785
50058
  configurable: true
@@ -50074,6 +50347,10 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50074
50347
  set: function (val) {
50075
50348
  this.setPropertyValue("renderMode", val);
50076
50349
  this.fireCallback(this.renderModeChangedCallback);
50350
+ this.blockAnimations();
50351
+ this.updateRenderedPanels();
50352
+ this.releaseAnimations();
50353
+ this.updatePanelsAnimation();
50077
50354
  },
50078
50355
  enumerable: false,
50079
50356
  configurable: true
@@ -50307,9 +50584,20 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50307
50584
  if (this.renderMode === "list" && this.panelsState !== "default") {
50308
50585
  newPanel.expand();
50309
50586
  }
50310
- newPanel.focusFirstQuestion();
50587
+ this.focusNewPanelCallback = function () {
50588
+ newPanel.focusFirstQuestion();
50589
+ };
50590
+ if (!this.isPanelsAnimationRunning) {
50591
+ this.focusNewPanel();
50592
+ }
50311
50593
  return newPanel;
50312
50594
  };
50595
+ QuestionPanelDynamicModel.prototype.focusNewPanel = function () {
50596
+ if (this.focusNewPanelCallback) {
50597
+ this.focusNewPanelCallback();
50598
+ this.focusNewPanelCallback = undefined;
50599
+ }
50600
+ };
50313
50601
  /**
50314
50602
  * Adds a new panel based on the [template](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#template).
50315
50603
  * @param index *(Optional)* An index at which to insert the new panel. `undefined` adds the panel to the end or inserts it after the current panel if [`renderMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#renderMode) is `"tab"`. A negative index (for instance, -1) adds the panel to the end in all cases, regardless of the `renderMode` value.
@@ -50418,16 +50706,11 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50418
50706
  return;
50419
50707
  this.currentIndex--;
50420
50708
  };
50421
- /**
50422
- * Removes a dynamic panel from the panels array.
50423
- * @param value a panel or panel index
50424
- * @see panels
50425
- * @see template
50426
- */
50427
50709
  QuestionPanelDynamicModel.prototype.removePanel = function (value) {
50428
50710
  var visIndex = this.getVisualPanelIndex(value);
50429
50711
  if (visIndex < 0 || visIndex >= this.visiblePanelCount)
50430
50712
  return;
50713
+ this.removedPanelIndex = visIndex;
50431
50714
  var panel = this.visiblePanelsCore[visIndex];
50432
50715
  var index = this.panelsCore.indexOf(panel);
50433
50716
  if (index < 0)
@@ -50618,6 +50901,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50618
50901
  return;
50619
50902
  if (!force && this.wasNotRenderedInSurvey)
50620
50903
  return;
50904
+ this.blockAnimations();
50621
50905
  this.hasPanelBuildFirstTime = true;
50622
50906
  this.isBuildingPanelsFirstTime = true;
50623
50907
  if (this.getPropertyValue("panelCount") > 0) {
@@ -50640,6 +50924,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50640
50924
  }
50641
50925
  this.updateFooterActions();
50642
50926
  this.isBuildingPanelsFirstTime = false;
50927
+ this.releaseAnimations();
50643
50928
  };
50644
50929
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "wasNotRenderedInSurvey", {
50645
50930
  get: function () {
@@ -51185,7 +51470,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
51185
51470
  };
51186
51471
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "cssHeader", {
51187
51472
  get: function () {
51188
- var showTab = this.isRenderModeTab && !!this.panelCount;
51473
+ var showTab = this.isRenderModeTab && !!this.visiblePanelCount;
51189
51474
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__["CssClassBuilder"]()
51190
51475
  .append(this.cssClasses.header)
51191
51476
  .append(this.cssClasses.headerTop, this.hasTitleOnTop || showTab)
@@ -51198,6 +51483,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
51198
51483
  QuestionPanelDynamicModel.prototype.getPanelWrapperCss = function (panel) {
51199
51484
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__["CssClassBuilder"]()
51200
51485
  .append(this.cssClasses.panelWrapper, !panel || panel.visible)
51486
+ .append(this.cssClasses.panelWrapperList, this.isRenderModeList)
51201
51487
  .append(this.cssClasses.panelWrapperInRow, this.panelRemoveButtonLocation === "right")
51202
51488
  .toString();
51203
51489
  };
@@ -51256,6 +51542,13 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
51256
51542
  return true;
51257
51543
  return false;
51258
51544
  };
51545
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "hasAdditionalTitleToolbar", {
51546
+ get: function () {
51547
+ return this.isRenderModeTab && this.visiblePanels.length > 0;
51548
+ },
51549
+ enumerable: false,
51550
+ configurable: true
51551
+ });
51259
51552
  QuestionPanelDynamicModel.prototype.getAdditionalTitleToolbar = function () {
51260
51553
  if (!this.isRenderModeTab)
51261
51554
  return null;
@@ -51444,7 +51737,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
51444
51737
  configurable: true
51445
51738
  });
51446
51739
  QuestionPanelDynamicModel.prototype.showSeparator = function (index) {
51447
- return this.isRenderModeList && index < this.visiblePanelCount - 1;
51740
+ return this.isRenderModeList && index < this.renderedPanels.length - 1;
51448
51741
  };
51449
51742
  QuestionPanelDynamicModel.prototype.calcCssClasses = function (css) {
51450
51743
  var classes = _super.prototype.calcCssClasses.call(this, css);
@@ -51458,6 +51751,9 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
51458
51751
  return classes;
51459
51752
  };
51460
51753
  QuestionPanelDynamicModel.maxCheckCount = 3;
51754
+ __decorate([
51755
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_5__["propertyArray"])({})
51756
+ ], QuestionPanelDynamicModel.prototype, "_renderedPanels", void 0);
51461
51757
  __decorate([
51462
51758
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_5__["property"])({ defaultValue: false, onSet: function (_, target) { target.updateFooterActions(); } })
51463
51759
  ], QuestionPanelDynamicModel.prototype, "legacyNavigation", void 0);
@@ -51757,6 +52053,7 @@ __webpack_require__.r(__webpack_exports__);
51757
52053
  /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./helpers */ "./src/helpers.ts");
51758
52054
  /* harmony import */ var _src_settings__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../src/settings */ "./src/settings.ts");
51759
52055
  /* harmony import */ var _utils_animation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils/animation */ "./src/utils/animation.ts");
52056
+ /* harmony import */ var _utils_dragOrClickHelper__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils/dragOrClickHelper */ "./src/utils/dragOrClickHelper.ts");
51760
52057
  var __extends = (undefined && undefined.__extends) || (function () {
51761
52058
  var extendStatics = function (d, b) {
51762
52059
  extendStatics = Object.setPrototypeOf ||
@@ -51789,6 +52086,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
51789
52086
 
51790
52087
 
51791
52088
 
52089
+
51792
52090
  /**
51793
52091
  * A class that describes the Ranking question type.
51794
52092
  *
@@ -51842,7 +52140,19 @@ var QuestionRankingModel = /** @class */ (function (_super) {
51842
52140
  if (_this.allowStartDrag &&
51843
52141
  _this.canStartDragDueMaxSelectedChoices(target) &&
51844
52142
  _this.canStartDragDueItemEnabled(choice)) {
51845
- _this.dragDropRankingChoices.startDrag(event, choice, _this, node);
52143
+ _this.draggedChoise = choice;
52144
+ _this.draggedTargetNode = node;
52145
+ _this.dragOrClickHelper.onPointerDown(event);
52146
+ }
52147
+ };
52148
+ _this.startDrag = function (event) {
52149
+ _this.dragDropRankingChoices.startDrag(event, _this.draggedChoise, _this, _this.draggedTargetNode);
52150
+ };
52151
+ _this.handlePointerUp = function (event, choice, node) {
52152
+ if (!_this.selectToRankEnabled)
52153
+ return;
52154
+ if (_this.allowStartDrag) {
52155
+ _this.handleKeydownSelectToRank(event, choice, " ", false);
51846
52156
  }
51847
52157
  };
51848
52158
  _this.handleKeydown = function (event, choice) {
@@ -51902,6 +52212,7 @@ var QuestionRankingModel = /** @class */ (function (_super) {
51902
52212
  _this.setDragDropRankingChoices();
51903
52213
  _this.updateRankingChoicesSync();
51904
52214
  });
52215
+ _this.dragOrClickHelper = new _utils_dragOrClickHelper__WEBPACK_IMPORTED_MODULE_11__["DragOrClickHelper"](_this.startDrag);
51905
52216
  return _this;
51906
52217
  }
51907
52218
  QuestionRankingModel.prototype.getDefaultItemComponent = function () {
@@ -51939,7 +52250,10 @@ var QuestionRankingModel = /** @class */ (function (_super) {
51939
52250
  configurable: true
51940
52251
  });
51941
52252
  QuestionRankingModel.prototype.isItemSelectedCore = function (item) {
51942
- return false;
52253
+ if (this.selectToRankEnabled) {
52254
+ return _super.prototype.isItemSelectedCore.call(this, item);
52255
+ }
52256
+ return true;
51943
52257
  };
51944
52258
  QuestionRankingModel.prototype.getItemClassCore = function (item, options) {
51945
52259
  var itemIndex = this.rankingChoices.indexOf(item);
@@ -52001,9 +52315,9 @@ var QuestionRankingModel = /** @class */ (function (_super) {
52001
52315
  return this.isEmpty() ? "" : index + 1 + "";
52002
52316
  };
52003
52317
  QuestionRankingModel.prototype.updateRankingChoicesSync = function () {
52004
- this.animationAllowed = false;
52318
+ this.blockAnimations();
52005
52319
  this.updateRankingChoices();
52006
- this.animationAllowed = true;
52320
+ this.releaseAnimations();
52007
52321
  };
52008
52322
  QuestionRankingModel.prototype.setSurveyImpl = function (value, isLight) {
52009
52323
  _super.prototype.setSurveyImpl.call(this, value, isLight);
@@ -52046,7 +52360,7 @@ var QuestionRankingModel = /** @class */ (function (_super) {
52046
52360
  QuestionRankingModel.prototype.getChoicesAnimation = function (isRankingChoices) {
52047
52361
  var _this = this;
52048
52362
  return {
52049
- isAnimationEnabled: function () { return _src_settings__WEBPACK_IMPORTED_MODULE_9__["settings"].animationEnabled && _this.animationAllowed; },
52363
+ isAnimationEnabled: function () { return _this.animationAllowed; },
52050
52364
  getLeaveOptions: function (item) {
52051
52365
  var choices = isRankingChoices ? _this.rankingChoices : _this.unRankingChoices;
52052
52366
  if (_this.renderedSelectToRankAreasLayout == "vertical" && choices.length == 1 && choices.indexOf(item) >= 0) {
@@ -52214,10 +52528,13 @@ var QuestionRankingModel = /** @class */ (function (_super) {
52214
52528
  QuestionRankingModel.prototype.supportNone = function () { return false; };
52215
52529
  QuestionRankingModel.prototype.supportRefuse = function () { return false; };
52216
52530
  QuestionRankingModel.prototype.supportDontKnow = function () { return false; };
52217
- QuestionRankingModel.prototype.handleKeydownSelectToRank = function (event, movedElement) {
52531
+ QuestionRankingModel.prototype.handleKeydownSelectToRank = function (event, movedElement, hardKey, isNeedFocus) {
52532
+ if (isNeedFocus === void 0) { isNeedFocus = true; }
52218
52533
  if (this.isDesignMode)
52219
52534
  return;
52220
52535
  var key = event.key;
52536
+ if (hardKey)
52537
+ key = hardKey;
52221
52538
  if (key !== " " && key !== "ArrowUp" && key !== "ArrowDown")
52222
52539
  return;
52223
52540
  var dnd = this.dragDropRankingChoices; //????
@@ -52229,21 +52546,23 @@ var QuestionRankingModel = /** @class */ (function (_super) {
52229
52546
  return;
52230
52547
  var toIndex;
52231
52548
  if (key === " " && !isMovedElementRanked) {
52232
- toIndex = 0;
52233
- this.animationAllowed = false;
52549
+ if (!this.checkMaxSelectedChoicesUnreached() || !this.canStartDragDueItemEnabled(movedElement))
52550
+ return;
52551
+ toIndex = this.value.length;
52552
+ this.blockAnimations();
52234
52553
  dnd.selectToRank(this, fromIndex, toIndex);
52235
- this.animationAllowed = true;
52236
- this.setValueAfterKeydown(toIndex, "to-container");
52554
+ this.releaseAnimations();
52555
+ this.setValueAfterKeydown(toIndex, "to-container", isNeedFocus);
52237
52556
  return;
52238
52557
  }
52239
52558
  if (!isMovedElementRanked)
52240
52559
  return;
52241
52560
  if (key === " ") {
52242
- this.animationAllowed = false;
52561
+ this.blockAnimations();
52243
52562
  dnd.unselectFromRank(this, fromIndex);
52244
- this.animationAllowed = true;
52563
+ this.releaseAnimations();
52245
52564
  toIndex = this.unRankingChoices.indexOf(movedElement); //'this.' leads to actual array after the 'unselectFromRank' method
52246
- this.setValueAfterKeydown(toIndex, "from-container");
52565
+ this.setValueAfterKeydown(toIndex, "from-container", isNeedFocus);
52247
52566
  return;
52248
52567
  }
52249
52568
  var delta = key === "ArrowUp" ? -1 : (key === "ArrowDown" ? 1 : 0);
@@ -52253,15 +52572,18 @@ var QuestionRankingModel = /** @class */ (function (_super) {
52253
52572
  if (toIndex < 0 || toIndex >= rankingChoices.length)
52254
52573
  return;
52255
52574
  dnd.reorderRankedItem(this, fromIndex, toIndex);
52256
- this.setValueAfterKeydown(toIndex, "to-container");
52575
+ this.setValueAfterKeydown(toIndex, "to-container", isNeedFocus);
52257
52576
  };
52258
- QuestionRankingModel.prototype.setValueAfterKeydown = function (index, container) {
52577
+ QuestionRankingModel.prototype.setValueAfterKeydown = function (index, container, isNeedFocus) {
52259
52578
  var _this = this;
52579
+ if (isNeedFocus === void 0) { isNeedFocus = true; }
52260
52580
  this.setValue();
52261
- setTimeout(function () {
52262
- _this.focusItem(index, container);
52263
- }, 1);
52264
- event.preventDefault();
52581
+ if (isNeedFocus) {
52582
+ setTimeout(function () {
52583
+ _this.focusItem(index, container);
52584
+ }, 1);
52585
+ }
52586
+ event && event.preventDefault();
52265
52587
  };
52266
52588
  QuestionRankingModel.prototype.getIconHoverCss = function () {
52267
52589
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_6__["CssClassBuilder"]()
@@ -52605,19 +52927,23 @@ var QuestionRatingModel = /** @class */ (function (_super) {
52605
52927
  _this.updateRateCount();
52606
52928
  });
52607
52929
  _this.registerFunctionOnPropertiesValueChanged(["rateValues"], function () {
52608
- _this.autoGenerate = false;
52930
+ _this.setIconsToRateValues();
52931
+ _this.createRenderedRateItems();
52932
+ });
52933
+ _this.registerSychProperties(["rateValues"], function () {
52934
+ _this.autoGenerate = _this.rateValues.length == 0;
52609
52935
  _this.setIconsToRateValues();
52610
52936
  _this.createRenderedRateItems();
52611
52937
  });
52612
52938
  _this.registerFunctionOnPropertiesValueChanged(["rateColorMode", "scaleColorMode"], function () {
52613
52939
  _this.updateColors(_this.survey.themeVariables);
52614
52940
  });
52615
- _this.registerFunctionOnPropertiesValueChanged(["autoGenerate"], function () {
52941
+ _this.registerSychProperties(["autoGenerate"], function () {
52616
52942
  if (!_this.autoGenerate && _this.rateValues.length === 0) {
52617
52943
  _this.setPropertyValue("rateValues", _this.visibleRateValues);
52618
52944
  }
52619
52945
  if (_this.autoGenerate) {
52620
- _this.rateValues.length = 0;
52946
+ _this.rateValues.splice(0, _this.rateValues.length);
52621
52947
  _this.updateRateMax();
52622
52948
  }
52623
52949
  _this.createRenderedRateItems();
@@ -52943,6 +53269,13 @@ var QuestionRatingModel = /** @class */ (function (_super) {
52943
53269
  QuestionRatingModel.prototype.getInputId = function (index) {
52944
53270
  return this.inputId + "_" + index;
52945
53271
  };
53272
+ Object.defineProperty(QuestionRatingModel.prototype, "questionName", {
53273
+ get: function () {
53274
+ return this.name + "_" + this.id;
53275
+ },
53276
+ enumerable: false,
53277
+ configurable: true
53278
+ });
52946
53279
  QuestionRatingModel.prototype.supportGoNextPageAutomatic = function () {
52947
53280
  return this.isMouseDown === true || this.renderAs === "dropdown";
52948
53281
  };
@@ -55199,8 +55532,8 @@ var QuestionTextModel = /** @class */ (function (_super) {
55199
55532
  if (this.inputTextAlignment !== "auto") {
55200
55533
  style.textAlign = this.inputTextAlignment;
55201
55534
  }
55202
- else if (this.maskType === "numeric" || this.maskType === "currency") {
55203
- style.textAlign = "right";
55535
+ else if (this.maskSettings.getTextAlignment() !== "auto") {
55536
+ style.textAlign = this.maskSettings.getTextAlignment();
55204
55537
  }
55205
55538
  };
55206
55539
  QuestionTextModel.prototype.updateValueOnEvent = function (event) {
@@ -57355,7 +57688,6 @@ var SurveyElement = /** @class */ (function (_super) {
57355
57688
  }
57356
57689
  }
57357
57690
  }, function () { return _this.renderedIsExpanded; });
57358
- _this.animationAllowedValue = true;
57359
57691
  _this.name = name;
57360
57692
  _this.createNewArray("errors");
57361
57693
  _this.createNewArray("titleActions");
@@ -57391,7 +57723,7 @@ var SurveyElement = /** @class */ (function (_super) {
57391
57723
  var el = root.getElementById(elementId);
57392
57724
  return SurveyElement.ScrollElementToViewCore(el, false, scrollIfVisible);
57393
57725
  };
57394
- SurveyElement.ScrollElementToViewCore = function (el, checkLeft, scrollIfVisible) {
57726
+ SurveyElement.ScrollElementToViewCore = function (el, checkLeft, scrollIfVisible, scrollIntoViewOptions) {
57395
57727
  if (!el || !el.scrollIntoView)
57396
57728
  return false;
57397
57729
  var elTop = scrollIfVisible ? -1 : el.getBoundingClientRect().top;
@@ -57410,7 +57742,7 @@ var SurveyElement = /** @class */ (function (_super) {
57410
57742
  }
57411
57743
  }
57412
57744
  if (needScroll) {
57413
- el.scrollIntoView();
57745
+ el.scrollIntoView(scrollIntoViewOptions);
57414
57746
  }
57415
57747
  return needScroll;
57416
57748
  };
@@ -58394,6 +58726,13 @@ var SurveyElement = /** @class */ (function (_super) {
58394
58726
  this.toggleState();
58395
58727
  }
58396
58728
  };
58729
+ Object.defineProperty(SurveyElement.prototype, "hasAdditionalTitleToolbar", {
58730
+ get: function () {
58731
+ return false;
58732
+ },
58733
+ enumerable: false,
58734
+ configurable: true
58735
+ });
58397
58736
  Object.defineProperty(SurveyElement.prototype, "additionalTitleToolbar", {
58398
58737
  get: function () {
58399
58738
  return this.getAdditionalTitleToolbar();
@@ -58419,18 +58758,25 @@ var SurveyElement = /** @class */ (function (_super) {
58419
58758
  };
58420
58759
  Object.defineProperty(SurveyElement.prototype, "isDisabledStyle", {
58421
58760
  get: function () {
58422
- return !this.isDefaultV2Theme && (this.isReadOnlyStyle || this.isPreviewStyle);
58761
+ return this.getIsDisableAndReadOnlyStyles(false)[1];
58423
58762
  },
58424
58763
  enumerable: false,
58425
58764
  configurable: true
58426
58765
  });
58427
58766
  Object.defineProperty(SurveyElement.prototype, "isReadOnlyStyle", {
58428
58767
  get: function () {
58429
- return this.isReadOnly && !this.isPreviewStyle;
58768
+ return this.getIsDisableAndReadOnlyStyles(false)[0];
58430
58769
  },
58431
58770
  enumerable: false,
58432
58771
  configurable: true
58433
58772
  });
58773
+ SurveyElement.prototype.getIsDisableAndReadOnlyStyles = function (itemReadOnly) {
58774
+ var isPreview = this.isPreviewStyle;
58775
+ var isReadOnly = itemReadOnly || this.isReadOnly;
58776
+ var isReadOnlyStyle = isReadOnly && !isPreview;
58777
+ var isDisableStyle = !this.isDefaultV2Theme && (isReadOnly || isPreview);
58778
+ return [isReadOnlyStyle, isDisableStyle];
58779
+ };
58434
58780
  Object.defineProperty(SurveyElement.prototype, "isPreviewStyle", {
58435
58781
  get: function () {
58436
58782
  return !!this.survey && this.survey.state === "preview";
@@ -58497,12 +58843,12 @@ var SurveyElement = /** @class */ (function (_super) {
58497
58843
  if (cssClasses.content) {
58498
58844
  var selector = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__["classesToSelector"])(cssClasses.content);
58499
58845
  if (selector) {
58500
- return (_a = _this.getWrapperElement()) === null || _a === void 0 ? void 0 : _a.querySelector(selector);
58846
+ return (_a = _this.getWrapperElement()) === null || _a === void 0 ? void 0 : _a.querySelector(":scope " + selector);
58501
58847
  }
58502
58848
  }
58503
58849
  return undefined;
58504
58850
  },
58505
- isAnimationEnabled: function () { return _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].animationEnabled && _this.animationAllowed && !_this.isDesignMode; }
58851
+ isAnimationEnabled: function () { return _this.animationAllowed && !_this.isDesignMode; }
58506
58852
  };
58507
58853
  };
58508
58854
  Object.defineProperty(SurveyElement.prototype, "renderedIsExpanded", {
@@ -58515,16 +58861,9 @@ var SurveyElement = /** @class */ (function (_super) {
58515
58861
  enumerable: false,
58516
58862
  configurable: true
58517
58863
  });
58518
- Object.defineProperty(SurveyElement.prototype, "animationAllowed", {
58519
- get: function () {
58520
- return !this.isLoadingFromJson && !this.isDisposed && !!this.survey && this.animationAllowedValue;
58521
- },
58522
- set: function (val) {
58523
- this.animationAllowedValue = val;
58524
- },
58525
- enumerable: false,
58526
- configurable: true
58527
- });
58864
+ SurveyElement.prototype.getIsAnimationAllowed = function () {
58865
+ return _super.prototype.getIsAnimationAllowed.call(this) && !!this.survey;
58866
+ };
58528
58867
  SurveyElement.prototype.dispose = function () {
58529
58868
  _super.prototype.dispose.call(this);
58530
58869
  if (this.titleToolbarValue) {
@@ -62030,7 +62369,7 @@ var SurveyModel = /** @class */ (function (_super) {
62030
62369
  }
62031
62370
  this.getAllQuestions().forEach(function (q) {
62032
62371
  if (q.hasFilteredValue) {
62033
- values[q.getValueName()] = q.getFilteredValue();
62372
+ values[q.getFilteredName()] = q.getFilteredValue();
62034
62373
  }
62035
62374
  });
62036
62375
  return values;
@@ -65130,6 +65469,7 @@ var SurveyModel = /** @class */ (function (_super) {
65130
65469
  * @param isPartial Pass `true` to save partial survey results (see [Continue an Incomplete Survey](https://surveyjs.io/form-library/documentation/handle-survey-results-continue-incomplete)).
65131
65470
  */
65132
65471
  SurveyModel.prototype.sendResult = function (postId, clientId, isPartial) {
65472
+ var _this = this;
65133
65473
  if (postId === void 0) { postId = null; }
65134
65474
  if (clientId === void 0) { clientId = null; }
65135
65475
  if (isPartial === void 0) { isPartial = false; }
@@ -65148,24 +65488,23 @@ var SurveyModel = /** @class */ (function (_super) {
65148
65488
  }
65149
65489
  if (isPartial && !this.clientId)
65150
65490
  return;
65151
- var self = this;
65152
- if (this.surveyShowDataSaving) {
65491
+ var service = this.createSurveyService();
65492
+ service.locale = this.getLocale();
65493
+ var showSaving = this.surveyShowDataSaving || (!isPartial && service.isSurveJSIOService);
65494
+ if (showSaving) {
65153
65495
  this.setCompletedState("saving", "");
65154
65496
  }
65155
- this.createSurveyService().sendResult(postId, this.data, function (success, response, request) {
65156
- if (self.surveyShowDataSaving) {
65497
+ service.sendResult(postId, this.data, function (success, response, request) {
65498
+ if (showSaving || service.isSurveJSIOService) {
65157
65499
  if (success) {
65158
- self.setCompletedState("success", "");
65500
+ _this.setCompletedState("success", "");
65159
65501
  }
65160
65502
  else {
65161
- self.setCompletedState("error", response);
65503
+ _this.setCompletedState("error", response);
65162
65504
  }
65163
65505
  }
65164
- self.onSendResult.fire(self, {
65165
- success: success,
65166
- response: response,
65167
- request: request,
65168
- });
65506
+ var options = { success: success, response: response, request: request };
65507
+ _this.onSendResult.fire(_this, options);
65169
65508
  }, this.clientId, isPartial);
65170
65509
  };
65171
65510
  /**
@@ -65803,7 +66142,7 @@ var SurveyModel = /** @class */ (function (_super) {
65803
66142
  if (locNotification !== "text") {
65804
66143
  this.tryGoNextPageAutomatic(name);
65805
66144
  }
65806
- var question = this.getQuestionByName(name);
66145
+ var question = this.getQuestionByValueName(name);
65807
66146
  if (question) {
65808
66147
  this.onValueChanged.fire(this, {
65809
66148
  name: commentName,
@@ -68806,6 +69145,9 @@ var SurveyTriggerRunExpression = /** @class */ (function (_super) {
68806
69145
  enumerable: false,
68807
69146
  configurable: true
68808
69147
  });
69148
+ SurveyTriggerRunExpression.prototype.canBeExecuted = function (isOnNextPage) {
69149
+ return !isOnNextPage;
69150
+ };
68809
69151
  SurveyTriggerRunExpression.prototype.onSuccess = function (values, properties) {
68810
69152
  var _this = this;
68811
69153
  if (!this.owner || !this.runExpression)
@@ -68929,7 +69271,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_2__["Serializer"].addClass("runexpressiontr
68929
69271
  /*!********************************!*\
68930
69272
  !*** ./src/utils/animation.ts ***!
68931
69273
  \********************************/
68932
- /*! exports provided: AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationBoolean, AnimationGroup */
69274
+ /*! exports provided: AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab */
68933
69275
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
68934
69276
 
68935
69277
  "use strict";
@@ -68937,8 +69279,10 @@ __webpack_require__.r(__webpack_exports__);
68937
69279
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationUtils", function() { return AnimationUtils; });
68938
69280
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationPropertyUtils", function() { return AnimationPropertyUtils; });
68939
69281
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationGroupUtils", function() { return AnimationGroupUtils; });
69282
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationProperty", function() { return AnimationProperty; });
68940
69283
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationBoolean", function() { return AnimationBoolean; });
68941
69284
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationGroup", function() { return AnimationGroup; });
69285
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationTab", function() { return AnimationTab; });
68942
69286
  /* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../global_variables_utils */ "./src/global_variables_utils.ts");
68943
69287
  /* harmony import */ var _taskmanager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./taskmanager */ "./src/utils/taskmanager.ts");
68944
69288
  var __extends = (undefined && undefined.__extends) || (function () {
@@ -68967,6 +69311,9 @@ var AnimationUtils = /** @class */ (function () {
68967
69311
  return 0;
68968
69312
  return Number(value.slice(0, -1).replace(",", ".")) * 1000;
68969
69313
  };
69314
+ AnimationUtils.prototype.reflow = function (element) {
69315
+ return element.offsetHeight;
69316
+ };
68970
69317
  AnimationUtils.prototype.getAnimationsCount = function (element) {
68971
69318
  var animationName = "";
68972
69319
  if (getComputedStyle) {
@@ -68984,6 +69331,14 @@ var AnimationUtils = /** @class */ (function () {
68984
69331
  }
68985
69332
  return duration;
68986
69333
  };
69334
+ AnimationUtils.prototype.addCancelCallback = function (callback) {
69335
+ this.cancelQueue.push(callback);
69336
+ };
69337
+ AnimationUtils.prototype.removeCancelCallback = function (callback) {
69338
+ if (this.cancelQueue.indexOf(callback) >= 0) {
69339
+ this.cancelQueue.splice(this.cancelQueue.indexOf(callback), 1);
69340
+ }
69341
+ };
68987
69342
  AnimationUtils.prototype.onAnimationEnd = function (element, callback, options) {
68988
69343
  var _this = this;
68989
69344
  var cancelTimeout;
@@ -68993,7 +69348,7 @@ var AnimationUtils = /** @class */ (function () {
68993
69348
  options.onAfterRunAnimation && options.onAfterRunAnimation(element);
68994
69349
  callback(isCancel);
68995
69350
  clearTimeout(cancelTimeout);
68996
- _this.cancelQueue.splice(_this.cancelQueue.indexOf(onEndCallback), 1);
69351
+ _this.removeCancelCallback(onEndCallback);
68997
69352
  element.removeEventListener("animationend", onAnimationEndCallback);
68998
69353
  };
68999
69354
  var onAnimationEndCallback = function (event) {
@@ -69003,7 +69358,7 @@ var AnimationUtils = /** @class */ (function () {
69003
69358
  };
69004
69359
  if (animationsCount > 0) {
69005
69360
  element.addEventListener("animationend", onAnimationEndCallback);
69006
- this.cancelQueue.push(onEndCallback);
69361
+ this.addCancelCallback(onEndCallback);
69007
69362
  cancelTimeout = setTimeout(function () {
69008
69363
  onEndCallback(false);
69009
69364
  }, this.getAnimationDuration(element) + 10);
@@ -69013,40 +69368,51 @@ var AnimationUtils = /** @class */ (function () {
69013
69368
  }
69014
69369
  };
69015
69370
  AnimationUtils.prototype.beforeAnimationRun = function (element, options) {
69016
- if (element) {
69371
+ if (element && options) {
69017
69372
  options.onBeforeRunAnimation && options.onBeforeRunAnimation(element);
69018
69373
  }
69019
69374
  };
69020
- AnimationUtils.prototype.runLeaveAnimation = function (element, options, callback) {
69375
+ AnimationUtils.prototype.runAnimation = function (element, options, callback) {
69021
69376
  if (element && options.cssClass) {
69377
+ this.reflow(element);
69022
69378
  element.classList.add(options.cssClass);
69023
- var onAnimationEndCallback = function (isCancel) {
69379
+ this.onAnimationEnd(element, callback, options);
69380
+ }
69381
+ else {
69382
+ callback(true);
69383
+ }
69384
+ };
69385
+ AnimationUtils.prototype.clearHtmlElement = function (element, options) {
69386
+ if (element && options.cssClass) {
69387
+ element.classList.remove(options.cssClass);
69388
+ }
69389
+ };
69390
+ AnimationUtils.prototype.onNextRender = function (callback, runEarly, isCancel) {
69391
+ var _this = this;
69392
+ if (isCancel === void 0) { isCancel = false; }
69393
+ if (!isCancel && _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].isAvailable()) {
69394
+ var cancelCallback_1 = function () {
69024
69395
  callback();
69025
- if (isCancel) {
69026
- element.classList.remove(options.cssClass);
69396
+ cancelAnimationFrame(latestRAF_1);
69397
+ };
69398
+ var latestRAF_1 = _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(function () {
69399
+ if (runEarly && runEarly()) {
69400
+ callback();
69401
+ _this.removeCancelCallback(cancelCallback_1);
69027
69402
  }
69028
69403
  else {
69029
- _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(function () {
69030
- _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(function () {
69031
- element.classList.remove(options.cssClass);
69032
- });
69404
+ latestRAF_1 = _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(function () {
69405
+ callback();
69406
+ _this.removeCancelCallback(cancelCallback_1);
69033
69407
  });
69034
69408
  }
69035
- };
69036
- this.onAnimationEnd(element, onAnimationEndCallback, options);
69409
+ });
69410
+ this.addCancelCallback(cancelCallback_1);
69037
69411
  }
69038
69412
  else {
69039
69413
  callback();
69040
69414
  }
69041
69415
  };
69042
- AnimationUtils.prototype.runEnterAnimation = function (element, options) {
69043
- if (element && options.cssClass) {
69044
- element.classList.add(options.cssClass);
69045
- this.onAnimationEnd(element, function () {
69046
- element.classList.remove(options.cssClass);
69047
- }, options);
69048
- }
69049
- };
69050
69416
  AnimationUtils.prototype.cancel = function () {
69051
69417
  var cancelQueue = [].concat(this.cancelQueue);
69052
69418
  cancelQueue.forEach(function (callback) { return callback(); });
@@ -69060,26 +69426,28 @@ var AnimationPropertyUtils = /** @class */ (function (_super) {
69060
69426
  function AnimationPropertyUtils() {
69061
69427
  return _super !== null && _super.apply(this, arguments) || this;
69062
69428
  }
69063
- AnimationPropertyUtils.prototype.onEnter = function (getElement, options) {
69429
+ AnimationPropertyUtils.prototype.onEnter = function (options) {
69064
69430
  var _this = this;
69065
- var callback = function () {
69066
- var element = getElement();
69067
- _this.beforeAnimationRun(element, options);
69068
- _this.runEnterAnimation(element, options);
69069
- };
69070
- _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(function () {
69071
- if (getElement()) {
69072
- callback();
69073
- }
69074
- else {
69075
- _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(callback);
69076
- }
69077
- });
69431
+ this.onNextRender(function () {
69432
+ var htmlElement = options.getAnimatedElement();
69433
+ var enterOptions = options.getEnterOptions();
69434
+ _this.beforeAnimationRun(htmlElement, enterOptions);
69435
+ _this.runAnimation(htmlElement, enterOptions, function () {
69436
+ _this.clearHtmlElement(htmlElement, enterOptions);
69437
+ });
69438
+ }, function () { return !!options.getAnimatedElement(); });
69078
69439
  };
69079
- AnimationPropertyUtils.prototype.onLeave = function (getElement, callback, options) {
69080
- var element = getElement();
69081
- this.beforeAnimationRun(element, options);
69082
- this.runLeaveAnimation(element, options, callback);
69440
+ AnimationPropertyUtils.prototype.onLeave = function (options, callback) {
69441
+ var _this = this;
69442
+ var htmlElement = options.getAnimatedElement();
69443
+ var leaveOptions = options.getLeaveOptions();
69444
+ this.beforeAnimationRun(htmlElement, leaveOptions);
69445
+ this.runAnimation(htmlElement, leaveOptions, function (isCancel) {
69446
+ callback();
69447
+ _this.onNextRender(function () {
69448
+ _this.clearHtmlElement(htmlElement, leaveOptions);
69449
+ }, undefined, isCancel);
69450
+ });
69083
69451
  };
69084
69452
  return AnimationPropertyUtils;
69085
69453
  }(AnimationUtils));
@@ -69089,41 +69457,40 @@ var AnimationGroupUtils = /** @class */ (function (_super) {
69089
69457
  function AnimationGroupUtils() {
69090
69458
  return _super !== null && _super.apply(this, arguments) || this;
69091
69459
  }
69092
- AnimationGroupUtils.prototype.onEnter = function (getElement, getOptions, elements) {
69460
+ AnimationGroupUtils.prototype.runGroupAnimation = function (options, addedElements, removedElements, callback) {
69093
69461
  var _this = this;
69094
- if (elements.length == 0)
69095
- return;
69096
- _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(function () {
69097
- var callback = function () {
69098
- elements.forEach(function (el) {
69099
- _this.beforeAnimationRun(getElement(el), getOptions(el));
69100
- });
69101
- elements.forEach(function (el) {
69102
- _this.runEnterAnimation(getElement(el), getOptions(el));
69103
- });
69462
+ this.onNextRender(function () {
69463
+ var addedHtmlElements = addedElements.map(function (el) { return options.getAnimatedElement(el); });
69464
+ var enterOptions = addedElements.map(function (el) { return options.getEnterOptions(el); });
69465
+ var removedHtmlElements = removedElements.map(function (el) { return options.getAnimatedElement(el); });
69466
+ var leaveOptions = removedElements.map(function (el) { return options.getLeaveOptions(el); });
69467
+ addedElements.forEach(function (_, i) {
69468
+ _this.beforeAnimationRun(addedHtmlElements[i], enterOptions[i]);
69469
+ });
69470
+ removedElements.forEach(function (_, i) {
69471
+ _this.beforeAnimationRun(removedHtmlElements[i], leaveOptions[i]);
69472
+ });
69473
+ var counter = addedElements.length + removedElements.length;
69474
+ var onAnimationEndCallback = function (isCancel) {
69475
+ if (--counter <= 0) {
69476
+ callback && callback();
69477
+ _this.onNextRender(function () {
69478
+ addedElements.forEach(function (_, i) {
69479
+ _this.clearHtmlElement(addedHtmlElements[i], enterOptions[i]);
69480
+ });
69481
+ removedElements.forEach(function (_, i) {
69482
+ _this.clearHtmlElement(removedHtmlElements[i], leaveOptions[i]);
69483
+ });
69484
+ }, undefined, isCancel);
69485
+ }
69104
69486
  };
69105
- if (!getElement(elements[0])) {
69106
- _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(callback);
69107
- }
69108
- else {
69109
- callback();
69110
- }
69111
- });
69112
- };
69113
- AnimationGroupUtils.prototype.onLeave = function (getElement, callback, getOptions, elements) {
69114
- var _this = this;
69115
- elements.forEach(function (el) {
69116
- _this.beforeAnimationRun(getElement(el), getOptions(el));
69117
- });
69118
- var counter = elements.length;
69119
- var onEndCallback = function () {
69120
- if (--counter <= 0) {
69121
- callback();
69122
- }
69123
- };
69124
- elements.forEach(function (el) {
69125
- _this.runLeaveAnimation(getElement(el), getOptions(el), onEndCallback);
69126
- });
69487
+ addedElements.forEach(function (_, i) {
69488
+ _this.runAnimation(addedHtmlElements[i], enterOptions[i], onAnimationEndCallback);
69489
+ });
69490
+ removedElements.forEach(function (_, i) {
69491
+ _this.runAnimation(removedHtmlElements[i], leaveOptions[i], onAnimationEndCallback);
69492
+ });
69493
+ }, function () { return addedElements.length == 0 || addedElements.some(function (el) { return !!options.getAnimatedElement(el); }); });
69127
69494
  };
69128
69495
  return AnimationGroupUtils;
69129
69496
  }(AnimationUtils));
@@ -69144,6 +69511,7 @@ var AnimationProperty = /** @class */ (function () {
69144
69511
  this._debouncedSync.run(newValue);
69145
69512
  }
69146
69513
  else {
69514
+ this.cancel();
69147
69515
  this.update(newValue);
69148
69516
  }
69149
69517
  };
@@ -69153,6 +69521,7 @@ var AnimationProperty = /** @class */ (function () {
69153
69521
  };
69154
69522
  return AnimationProperty;
69155
69523
  }());
69524
+
69156
69525
  var AnimationBoolean = /** @class */ (function (_super) {
69157
69526
  __extends(AnimationBoolean, _super);
69158
69527
  function AnimationBoolean() {
@@ -69165,12 +69534,12 @@ var AnimationBoolean = /** @class */ (function (_super) {
69165
69534
  if (newValue !== this.getCurrentValue()) {
69166
69535
  if (newValue) {
69167
69536
  this.update(newValue);
69168
- this.animation.onEnter(function () { return _this.animationOptions.getAnimatedElement(); }, this.animationOptions.getEnterOptions());
69537
+ this.animation.onEnter(this.animationOptions);
69169
69538
  }
69170
69539
  else {
69171
- this.animation.onLeave(function () { return _this.animationOptions.getAnimatedElement(); }, function () {
69540
+ this.animation.onLeave(this.animationOptions, function () {
69172
69541
  _this.update(newValue);
69173
- }, this.animationOptions.getLeaveOptions());
69542
+ });
69174
69543
  }
69175
69544
  }
69176
69545
  else {
@@ -69192,19 +69561,42 @@ var AnimationGroup = /** @class */ (function (_super) {
69192
69561
  var oldValue = this.getCurrentValue();
69193
69562
  var itemsToAdd = newValue.filter(function (el) { return oldValue.indexOf(el) < 0; });
69194
69563
  var deletedItems = oldValue.filter(function (el) { return newValue.indexOf(el) < 0; });
69195
- this.animation.onEnter(function (el) { return _this.animationOptions.getAnimatedElement(el); }, function (el) { return _this.animationOptions.getEnterOptions(el); }, itemsToAdd);
69196
69564
  if (itemsToAdd.length == 0 && (deletedItems === null || deletedItems === void 0 ? void 0 : deletedItems.length) > 0) {
69197
- this.animation.onLeave(function (el) { return _this.animationOptions.getAnimatedElement(el); }, function () {
69198
- _this.update(newValue);
69199
- }, function (el) { return _this.animationOptions.getLeaveOptions(el); }, deletedItems);
69565
+ this.animation.runGroupAnimation(this.animationOptions, [], deletedItems, function () { return _this.update(newValue); });
69200
69566
  }
69201
69567
  else {
69202
69568
  this.update(newValue);
69569
+ this.animation.runGroupAnimation(this.animationOptions, itemsToAdd, []);
69203
69570
  }
69204
69571
  };
69205
69572
  return AnimationGroup;
69206
69573
  }(AnimationProperty));
69207
69574
 
69575
+ var AnimationTab = /** @class */ (function (_super) {
69576
+ __extends(AnimationTab, _super);
69577
+ function AnimationTab(animationOptions, update, getCurrentValue, mergeValues) {
69578
+ var _this = _super.call(this, animationOptions, update, getCurrentValue) || this;
69579
+ _this.mergeValues = mergeValues;
69580
+ _this.animation = new AnimationGroupUtils();
69581
+ return _this;
69582
+ }
69583
+ AnimationTab.prototype._sync = function (newValue) {
69584
+ var _this = this;
69585
+ var oldValue = [].concat(this.getCurrentValue());
69586
+ if (oldValue[0] !== newValue[0]) {
69587
+ var tempValue = !!this.mergeValues ? this.mergeValues(newValue, oldValue) : [].concat(oldValue, newValue);
69588
+ this.update(tempValue, true);
69589
+ this.animation.runGroupAnimation(this.animationOptions, newValue, oldValue, function () {
69590
+ _this.update(newValue);
69591
+ });
69592
+ }
69593
+ else {
69594
+ this.update(newValue);
69595
+ }
69596
+ };
69597
+ return AnimationTab;
69598
+ }(AnimationProperty));
69599
+
69208
69600
 
69209
69601
 
69210
69602
  /***/ }),