survey-core 1.9.138 → 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 (331) hide show
  1. package/defaultV2.css +646 -66
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +646 -66
  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 +5 -3
  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 +20 -3
  163. package/modern.css.map +1 -1
  164. package/modern.fontless.css +20 -3
  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 +1116 -264
  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/actions/action.d.ts +6 -1
  265. package/ts3.4/typings/base-interfaces.d.ts +1 -1
  266. package/ts3.4/typings/base.d.ts +5 -0
  267. package/ts3.4/typings/defaultCss/cssmodern.d.ts +1 -1
  268. package/ts3.4/typings/defaultCss/cssstandard.d.ts +1 -1
  269. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +60 -1
  270. package/ts3.4/typings/dxSurveyService.d.ts +5 -1
  271. package/ts3.4/typings/knockout/kobase.d.ts +8 -0
  272. package/ts3.4/typings/knockout/kopage.d.ts +37 -0
  273. package/ts3.4/typings/localization/english.d.ts +2 -0
  274. package/ts3.4/typings/mask/input_element_adapter.d.ts +1 -1
  275. package/ts3.4/typings/mask/mask_base.d.ts +1 -0
  276. package/ts3.4/typings/mask/mask_datetime.d.ts +16 -1
  277. package/ts3.4/typings/mask/mask_numeric.d.ts +3 -2
  278. package/ts3.4/typings/mask/mask_pattern.d.ts +9 -1
  279. package/ts3.4/typings/mask/mask_utils.d.ts +1 -0
  280. package/ts3.4/typings/panel.d.ts +2 -1
  281. package/ts3.4/typings/popup-view-model.d.ts +2 -0
  282. package/ts3.4/typings/popup.d.ts +1 -0
  283. package/ts3.4/typings/question.d.ts +2 -0
  284. package/ts3.4/typings/question_boolean.d.ts +8 -0
  285. package/ts3.4/typings/question_checkbox.d.ts +1 -0
  286. package/ts3.4/typings/question_custom.d.ts +1 -0
  287. package/ts3.4/typings/question_matrix.d.ts +1 -0
  288. package/ts3.4/typings/question_matrixdropdownrendered.d.ts +10 -0
  289. package/ts3.4/typings/question_paneldynamic.d.ts +18 -0
  290. package/ts3.4/typings/question_ranking.d.ts +7 -1
  291. package/ts3.4/typings/question_rating.d.ts +1 -0
  292. package/ts3.4/typings/question_signaturepad.d.ts +9 -2
  293. package/ts3.4/typings/survey-element.d.ts +8 -3
  294. package/ts3.4/typings/survey.d.ts +1 -1
  295. package/ts3.4/typings/surveyStrings.d.ts +2 -0
  296. package/ts3.4/typings/trigger.d.ts +2 -1
  297. package/ts3.4/typings/utils/animation.d.ts +26 -10
  298. package/typings/actions/action.d.ts +7 -1
  299. package/typings/base-interfaces.d.ts +1 -1
  300. package/typings/base.d.ts +5 -0
  301. package/typings/defaultCss/cssmodern.d.ts +1 -1
  302. package/typings/defaultCss/cssstandard.d.ts +1 -1
  303. package/typings/defaultCss/defaultV2Css.d.ts +60 -1
  304. package/typings/dxSurveyService.d.ts +5 -1
  305. package/typings/knockout/kobase.d.ts +8 -0
  306. package/typings/knockout/kopage.d.ts +37 -0
  307. package/typings/localization/english.d.ts +2 -0
  308. package/typings/mask/input_element_adapter.d.ts +1 -1
  309. package/typings/mask/mask_base.d.ts +1 -0
  310. package/typings/mask/mask_datetime.d.ts +16 -1
  311. package/typings/mask/mask_numeric.d.ts +3 -2
  312. package/typings/mask/mask_pattern.d.ts +9 -1
  313. package/typings/mask/mask_utils.d.ts +1 -0
  314. package/typings/panel.d.ts +2 -1
  315. package/typings/popup-view-model.d.ts +2 -0
  316. package/typings/popup.d.ts +1 -0
  317. package/typings/question.d.ts +2 -0
  318. package/typings/question_boolean.d.ts +8 -0
  319. package/typings/question_checkbox.d.ts +1 -0
  320. package/typings/question_custom.d.ts +1 -0
  321. package/typings/question_matrix.d.ts +1 -0
  322. package/typings/question_matrixdropdownrendered.d.ts +11 -0
  323. package/typings/question_paneldynamic.d.ts +17 -0
  324. package/typings/question_ranking.d.ts +7 -1
  325. package/typings/question_rating.d.ts +1 -0
  326. package/typings/question_signaturepad.d.ts +9 -2
  327. package/typings/survey-element.d.ts +8 -4
  328. package/typings/survey.d.ts +1 -1
  329. package/typings/surveyStrings.d.ts +2 -0
  330. package/typings/trigger.d.ts +2 -1
  331. 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.138
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
  */
@@ -769,9 +769,27 @@ var BaseAction = /** @class */ (function (_super) {
769
769
  __extends(BaseAction, _super);
770
770
  function BaseAction() {
771
771
  var _this = _super !== null && _super.apply(this, arguments) || this;
772
+ _this.rendredIdValue = BaseAction.getNextRendredId();
772
773
  _this.iconSize = 24;
773
774
  return _this;
774
775
  }
776
+ BaseAction.getNextRendredId = function () { return BaseAction.renderedId++; };
777
+ Object.defineProperty(BaseAction.prototype, "renderedId", {
778
+ get: function () { return this.rendredIdValue; },
779
+ enumerable: false,
780
+ configurable: true
781
+ });
782
+ Object.defineProperty(BaseAction.prototype, "owner", {
783
+ get: function () { return this.ownerValue; },
784
+ set: function (val) {
785
+ if (val !== this.owner) {
786
+ this.ownerValue = val;
787
+ this.locStrsChanged();
788
+ }
789
+ },
790
+ enumerable: false,
791
+ configurable: true
792
+ });
775
793
  Object.defineProperty(BaseAction.prototype, "visible", {
776
794
  get: function () {
777
795
  return this.getVisible();
@@ -896,6 +914,7 @@ var BaseAction = /** @class */ (function (_super) {
896
914
  }
897
915
  return args.isTrusted;
898
916
  };
917
+ BaseAction.renderedId = 1;
899
918
  __decorate([
900
919
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])()
901
920
  ], BaseAction.prototype, "tooltip", void 0);
@@ -1848,6 +1867,7 @@ var Base = /** @class */ (function () {
1848
1867
  */
1849
1868
  this.onItemValuePropertyChanged = this.addEvent();
1850
1869
  this.isCreating = true;
1870
+ this.animationAllowedLock = 0;
1851
1871
  this.bindingsValue = new Bindings(this);
1852
1872
  _jsonobject__WEBPACK_IMPORTED_MODULE_2__["CustomPropertiesCollection"].createProperties(this);
1853
1873
  this.onBaseCreating();
@@ -2768,6 +2788,22 @@ var Base = /** @class */ (function () {
2768
2788
  if (includeHidden === void 0) { includeHidden = false; }
2769
2789
  return [];
2770
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
+ };
2771
2807
  Base.currentDependencis = undefined;
2772
2808
  return Base;
2773
2809
  }());
@@ -4863,7 +4899,7 @@ var modernCss = {
4863
4899
  root: "sv-file",
4864
4900
  other: "sv-comment sv-question__other",
4865
4901
  placeholderInput: "sv-visuallyhidden",
4866
- preview: "sv-file__preview",
4902
+ previewItem: "sd-file__preview-item",
4867
4903
  fileSignBottom: "sv-file__sign",
4868
4904
  fileDecorator: "sv-file__decorator",
4869
4905
  fileInput: "sv-visuallyhidden",
@@ -5270,7 +5306,7 @@ var defaultStandardCss = {
5270
5306
  file: {
5271
5307
  root: "sv_q_file",
5272
5308
  placeholderInput: "sv-visuallyhidden",
5273
- preview: "sv_q_file_preview",
5309
+ previewItem: "sv_q_file_preview",
5274
5310
  removeButton: "sv_q_file_remove_button",
5275
5311
  fileInput: "sv-visuallyhidden",
5276
5312
  removeFile: "sv_q_file_remove",
@@ -5484,7 +5520,11 @@ var defaultV2Css = {
5484
5520
  footer: "sd-paneldynamic__footer",
5485
5521
  panelFooter: "sd-paneldynamic__panel-footer",
5486
5522
  footerButtonsContainer: "sd-paneldynamic__buttons-container",
5523
+ panelsContainer: "sd-paneldynamic__panels-container",
5487
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",
5488
5528
  progressBtnIcon: "icon-progressbuttonv2",
5489
5529
  noEntriesPlaceholder: "sd-paneldynamic__placeholder sd-question__placeholder",
5490
5530
  compact: "sd-element--with-frame sd-element--compact",
@@ -5572,6 +5612,7 @@ var defaultV2Css = {
5572
5612
  titleExpanded: "sd-element__title--expanded",
5573
5613
  titleCollapsed: "sd-element__title--collapsed",
5574
5614
  titleDisabled: "sd-element__title--disabled",
5615
+ titleReadOnly: "sd-element__title--readonly",
5575
5616
  titleBar: "sd-action-title-bar",
5576
5617
  requiredText: "sd-question__required-text",
5577
5618
  number: "sd-element__num",
@@ -5596,6 +5637,8 @@ var defaultV2Css = {
5596
5637
  invisible: "sd-element--invisible",
5597
5638
  composite: "sd-element--complex sd-composite",
5598
5639
  disabled: "sd-question--disabled",
5640
+ readOnly: "sd-question--readonly",
5641
+ preview: "sd-question--preview",
5599
5642
  errorsContainer: "sd-element__erbox sd-question__erbox",
5600
5643
  errorsContainerTop: "sd-element__erbox--above-element sd-question__erbox--above-question",
5601
5644
  errorsContainerBottom: "sd-question__erbox--below-question"
@@ -5632,6 +5675,9 @@ var defaultV2Css = {
5632
5675
  itemSelectAll: "sd-checkbox--selectall",
5633
5676
  itemNone: "sd-checkbox--none",
5634
5677
  itemDisabled: "sd-item--disabled sd-checkbox--disabled",
5678
+ itemReadOnly: "sd-item--readonly sd-checkbox--readonly",
5679
+ itemPreview: "sd-item--preview sd-checkbox--preview",
5680
+ itemPreviewSvgIconId: "#icon-v2check",
5635
5681
  itemChecked: "sd-item--checked sd-checkbox--checked",
5636
5682
  itemHover: "sd-item--allowhover sd-checkbox--allowhover",
5637
5683
  itemInline: "sd-selectbase__item--inline",
@@ -5656,6 +5702,9 @@ var defaultV2Css = {
5656
5702
  label: "sd-selectbase__label",
5657
5703
  labelChecked: "",
5658
5704
  itemDisabled: "sd-item--disabled sd-radio--disabled",
5705
+ itemReadOnly: "sd-item--readonly sd-radio--readonly",
5706
+ itemPreview: "sd-item--preview sd-radio--preview",
5707
+ itemPreviewSvgIconId: "#icon-v2check",
5659
5708
  itemChecked: "sd-item--checked sd-radio--checked",
5660
5709
  itemHover: "sd-item--allowhover sd-radio--allowhover",
5661
5710
  itemControl: "sd-visuallyhidden sd-item__control sd-radio__control",
@@ -5677,18 +5726,26 @@ var defaultV2Css = {
5677
5726
  itemExchanged: "sd-boolean--exchanged",
5678
5727
  itemIndeterminate: "sd-boolean--indeterminate",
5679
5728
  itemDisabled: "sd-boolean--disabled",
5729
+ itemReadOnly: "sd-boolean--readonly",
5730
+ itemPreview: "sd-boolean--preview",
5680
5731
  itemHover: "sd-boolean--allowhover",
5681
5732
  label: "sd-boolean__label",
5682
5733
  labelTrue: "sd-boolean__label--true",
5683
5734
  labelFalse: "sd-boolean__label--false",
5684
5735
  switch: "sd-boolean__switch",
5685
5736
  disabledLabel: "sd-checkbox__label--disabled",
5737
+ labelReadOnly: "sd-checkbox__label--readonly",
5738
+ labelPreview: "sd-checkbox__label--preview",
5686
5739
  sliderText: "sd-boolean__thumb-text",
5687
5740
  slider: "sd-boolean__thumb",
5688
5741
  sliderGhost: "sd-boolean__thumb-ghost",
5689
5742
  //radio
5690
5743
  radioItem: "sd-item",
5691
5744
  radioItemChecked: "sd-item--checked sd-radio--checked",
5745
+ radioItemDisabled: "sd-item--disabled sd-radio--disabled",
5746
+ radioItemReadOnly: "sd-item--readonly sd-radio--readonly",
5747
+ radioItemPreview: "sd-item--preview sd-radio--preview",
5748
+ itemPreviewSvgIconId: "#icon-v2check",
5692
5749
  radioLabel: "sd-selectbase__label",
5693
5750
  radioControlLabel: "sd-item__control-label",
5694
5751
  radioFieldset: "sd-selectbase",
@@ -5705,6 +5762,8 @@ var defaultV2Css = {
5705
5762
  checkboxItemChecked: "sd-item--checked sd-checkbox--checked",
5706
5763
  checkboxItemDecorator: "sd-item__svg sd-checkbox__svg",
5707
5764
  checkboxItemDisabled: "sd-item--disabled sd-checkbox--disabled",
5765
+ checkboxItemReadOnly: "sd-item--readonly sd-checkbox--readonly",
5766
+ checkboxItemPreview: "sd-item--preview sd-checkbox--preview",
5708
5767
  controlCheckbox: "sd-visuallyhidden sd-item__control sd-checkbox__control",
5709
5768
  checkboxMaterialDecorator: "sd-item__decorator sd-checkbox__decorator",
5710
5769
  checkboxControlLabel: "sd-item__control-label",
@@ -5714,6 +5773,8 @@ var defaultV2Css = {
5714
5773
  root: "sd-input sd-text",
5715
5774
  small: "sd-row__question--small",
5716
5775
  controlDisabled: "sd-input--disabled",
5776
+ controlReadOnly: "sd-input--readonly",
5777
+ controlPreview: "sd-input--preview",
5717
5778
  constrolWithCharacterCounter: "sd-text__character-counter",
5718
5779
  characterCounterBig: "sd-text__character-counter--big",
5719
5780
  content: "sd-text__content sd-question__content",
@@ -5724,6 +5785,9 @@ var defaultV2Css = {
5724
5785
  root: "sd-multipletext",
5725
5786
  rootMobile: "sd-multipletext--mobile",
5726
5787
  itemLabel: "sd-multipletext__item-container sd-input",
5788
+ itemLabelReadOnly: "sd-input--readonly",
5789
+ itemLabelDisabled: "sd-input--disabled",
5790
+ itemLabelPreview: "sd-input--preview",
5727
5791
  itemLabelOnError: "sd-multipletext__item-container--error",
5728
5792
  itemLabelAllowFocus: "sd-multipletext__item-container--allow-focus",
5729
5793
  itemLabelAnswered: "sd-multipletext__item-container--answered",
@@ -5761,6 +5825,8 @@ var defaultV2Css = {
5761
5825
  controlInputFieldComponent: "sd-dropdown__input-field-component",
5762
5826
  controlValue: "sd-dropdown__value",
5763
5827
  controlDisabled: "sd-input--disabled",
5828
+ controlReadOnly: "sd-input--readonly",
5829
+ controlPreview: "sd-input--preview",
5764
5830
  controlEmpty: "sd-dropdown--empty",
5765
5831
  controlLabel: "sd-item__control-label",
5766
5832
  filterStringInput: "sd-dropdown__filter-string-input",
@@ -5777,6 +5843,8 @@ var defaultV2Css = {
5777
5843
  itemInline: "sd-imagepicker__item--inline",
5778
5844
  itemChecked: "sd-imagepicker__item--checked",
5779
5845
  itemDisabled: "sd-imagepicker__item--disabled",
5846
+ itemReadOnly: "sd-imagepicker__item--readonly",
5847
+ itemPreview: "sd-imagepicker__item--preview",
5780
5848
  itemHover: "sd-imagepicker__item--allowhover",
5781
5849
  label: "sd-imagepicker__label",
5782
5850
  itemDecorator: "sd-imagepicker__item-decorator",
@@ -5806,6 +5874,7 @@ var defaultV2Css = {
5806
5874
  cell: "sd-table__cell sd-matrix__cell",
5807
5875
  row: "sd-table__row",
5808
5876
  rowDisabled: "sd-table__row-disabled",
5877
+ rowReadOnly: "sd-table__row-readonly",
5809
5878
  headerCell: "sd-table__cell sd-table__cell--header",
5810
5879
  rowTextCell: "sd-table__cell sd-matrix__cell sd-table__cell--row-text",
5811
5880
  label: "sd-item sd-radio sd-matrix__label",
@@ -5813,6 +5882,9 @@ var defaultV2Css = {
5813
5882
  itemValue: "sd-visuallyhidden sd-item__control sd-radio__control",
5814
5883
  itemChecked: "sd-item--checked sd-radio--checked",
5815
5884
  itemDisabled: "sd-item--disabled sd-radio--disabled",
5885
+ itemReadOnly: "sd-item--readonly sd-radio--readonly",
5886
+ itemPreview: "sd-item--preview sd-radio--preview",
5887
+ itemPreviewSvgIconId: "#icon-v2check",
5816
5888
  itemHover: "sd-radio--allowhover",
5817
5889
  materialDecorator: "sd-item__decorator sd-radio__decorator",
5818
5890
  itemDecorator: "sd-item__svg sd-radio__svg",
@@ -5839,6 +5911,8 @@ var defaultV2Css = {
5839
5911
  errorsCellBottom: "sd-table__cell--error-bottom",
5840
5912
  itemCell: "sd-table__cell--item",
5841
5913
  row: "sd-table__row",
5914
+ rowFadeIn: "sd-table__row--fade-in",
5915
+ rowFadeOut: "sd-table__row--fade-out",
5842
5916
  expandedRow: "sd-table__row--expanded",
5843
5917
  rowHasPanel: "sd-table__row--has-panel",
5844
5918
  rowHasEndActions: "sd-table__row--has-end-actions",
@@ -5877,6 +5951,8 @@ var defaultV2Css = {
5877
5951
  content: "sd-matrixdynamic__content sd-question__content",
5878
5952
  cell: "sd-table__cell",
5879
5953
  row: "sd-table__row",
5954
+ rowFadeIn: "sd-table__row--fade-in",
5955
+ rowFadeOut: "sd-table__row--fade-out",
5880
5956
  rowHasPanel: "sd-table__row--has-panel",
5881
5957
  rowHasEndActions: "sd-table__row--has-end-actions",
5882
5958
  expandedRow: "sd-table__row--expanded",
@@ -5933,6 +6009,8 @@ var defaultV2Css = {
5933
6009
  itemStarHover: "sd-rating__item-star--allowhover",
5934
6010
  itemStarSelected: "sd-rating__item-star--selected",
5935
6011
  itemStarDisabled: "sd-rating__item-star--disabled",
6012
+ itemStarReadOnly: "sd-rating__item-star--readonly",
6013
+ itemStarPreview: "sd-rating__item-star--preview",
5936
6014
  itemStarHighlighted: "sd-rating__item-star--highlighted",
5937
6015
  itemStarUnhighlighted: "sd-rating__item-star--unhighlighted",
5938
6016
  itemStarSmall: "sd-rating__item-star--small",
@@ -5941,6 +6019,8 @@ var defaultV2Css = {
5941
6019
  itemSmileyHover: "sd-rating__item-smiley--allowhover",
5942
6020
  itemSmileySelected: "sd-rating__item-smiley--selected",
5943
6021
  itemSmileyDisabled: "sd-rating__item-smiley--disabled",
6022
+ itemSmileyReadOnly: "sd-rating__item-smiley--readonly",
6023
+ itemSmileyPreview: "sd-rating__item-smiley--preview",
5944
6024
  itemSmileyHighlighted: "sd-rating__item-star--highlighted",
5945
6025
  itemSmileyScaleColored: "sd-rating__item-smiley--scale-colored",
5946
6026
  itemSmileyRateColored: "sd-rating__item-smiley--rate-colored",
@@ -5949,6 +6029,8 @@ var defaultV2Css = {
5949
6029
  itemText: "sd-rating__item-text",
5950
6030
  maxText: "sd-rating__item-text sd-rating__max-text",
5951
6031
  itemDisabled: "sd-rating__item--disabled",
6032
+ itemReadOnly: "sd-rating__item--readonly",
6033
+ itemPreview: "sd-rating__item--preview",
5952
6034
  itemFixedSize: "sd-rating__item--fixed-size",
5953
6035
  control: "sd-input sd-dropdown",
5954
6036
  itemSmall: "sd-rating--small",
@@ -5967,6 +6049,8 @@ var defaultV2Css = {
5967
6049
  root: "sd-input sd-comment",
5968
6050
  small: "sd-row__question--small",
5969
6051
  controlDisabled: "sd-input--disabled",
6052
+ controlReadOnly: "sd-input--readonly",
6053
+ controlPreview: "sd-input--preview",
5970
6054
  content: "sd-comment__content sd-question__content",
5971
6055
  remainingCharacterCounter: "sd-remaining-character-counter",
5972
6056
  onError: "sd-input--error"
@@ -5976,9 +6060,12 @@ var defaultV2Css = {
5976
6060
  root: "sd-file",
5977
6061
  rootDragging: "sd-file--dragging",
5978
6062
  rootAnswered: "sd-file--answered",
6063
+ rootDisabled: "sd-file--disabled",
6064
+ rootReadOnly: "sd-file--readonly",
6065
+ rootPreview: "sd-file--preview",
5979
6066
  other: "sd-input sd-comment",
5980
6067
  placeholderInput: "sd-visuallyhidden",
5981
- preview: "sd-file__preview",
6068
+ previewItem: "sd-file__preview-item",
5982
6069
  fileSign: "",
5983
6070
  fileList: "sd-file__list",
5984
6071
  fileSignBottom: "sd-file__sign",
@@ -6069,9 +6156,12 @@ var defaultV2Css = {
6069
6156
  rootMobileMod: "sv-ranking--mobile",
6070
6157
  rootDragMod: "sv-ranking--drag",
6071
6158
  rootDisabled: "sd-ranking--disabled",
6159
+ rootReadOnly: "sd-ranking--readonly",
6160
+ rootPreview: "sd-ranking--preview",
6072
6161
  rootDesignMode: "sv-ranking--design-mode",
6073
6162
  rootDragHandleAreaIcon: "sv-ranking--drag-handle-area-icon",
6074
6163
  rootSelectToRankMod: "sv-ranking--select-to-rank",
6164
+ rootSelectToRankEmptyValueMod: "sv-ranking--select-to-rank-empty-value",
6075
6165
  rootSelectToRankAlignVertical: "sv-ranking--select-to-rank-vertical",
6076
6166
  rootSelectToRankAlignHorizontal: "sv-ranking--select-to-rank-horizontal",
6077
6167
  item: "sv-ranking-item",
@@ -6080,6 +6170,8 @@ var defaultV2Css = {
6080
6170
  itemIndexEmptyMode: "sv-ranking-item__index--empty sd-ranking-item__index--empty",
6081
6171
  // itemText: "sv-ranking-item__text",
6082
6172
  itemDisabled: "sv-ranking-item--disabled",
6173
+ itemReadOnly: "sv-ranking-item--readonly",
6174
+ itemPreview: "sv-ranking-item--preview",
6083
6175
  controlLabel: "sv-ranking-item__text",
6084
6176
  itemGhostNode: "sv-ranking-item__ghost",
6085
6177
  itemIconContainer: "sv-ranking-item__icon-container",
@@ -6156,7 +6248,10 @@ var defaultV2Css = {
6156
6248
  controlValue: "sd-tagbox__value sd-dropdown__value",
6157
6249
  controlValueItems: "sd-tagbox__value-items",
6158
6250
  placeholderInput: "sd-tagbox__placeholder",
6251
+ controlEditable: "sd-input--editable",
6159
6252
  controlDisabled: "sd-input--disabled",
6253
+ controlReadOnly: "sd-input--readonly",
6254
+ controlPreview: "sd-input--preview",
6160
6255
  controlEmpty: "sd-dropdown--empty sd-tagbox--empty",
6161
6256
  controlLabel: "sd-item__control-label",
6162
6257
  filterStringInput: "sd-tagbox__filter-string-input sd-dropdown__filter-string-input",
@@ -8070,6 +8165,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8070
8165
  this._popupModel.isFocusedContainer = false;
8071
8166
  this._popupModel.isFocusedContent = _utils_devices__WEBPACK_IMPORTED_MODULE_9__["IsTouch"];
8072
8167
  this._popupModel.setWidthByTarget = !_utils_devices__WEBPACK_IMPORTED_MODULE_9__["IsTouch"];
8168
+ this._popupModel.locale = this.question.getLocale();
8073
8169
  this.updatePopupFocusFirstInputSelector();
8074
8170
  this.listModel.registerPropertyChangedHandlers(["showFilter"], function () {
8075
8171
  _this.updatePopupFocusFirstInputSelector();
@@ -8170,6 +8266,7 @@ var DropdownListModel = /** @class */ (function (_super) {
8170
8266
  }
8171
8267
  });
8172
8268
  model.isAllDataLoaded = !this.question.choicesLazyLoadEnabled;
8269
+ model.actions.forEach(function (a) { return a.disableTabStop = true; });
8173
8270
  };
8174
8271
  DropdownListModel.prototype.updateCssClasses = function (popupCssClass, listCssClasses) {
8175
8272
  this.popupModel.cssClass = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_8__["CssClassBuilder"]().append(popupCssClass).append(this.popupCssClasses).toString();
@@ -8734,6 +8831,7 @@ var DropdownMultiSelectListModel = /** @class */ (function (_super) {
8734
8831
  };
8735
8832
  }
8736
8833
  var res = new _multiSelectListModel__WEBPACK_IMPORTED_MODULE_3__["MultiSelectListModel"](visibleItems, _onSelectionChanged, false, undefined, this.question.choicesLazyLoadEnabled ? this.listModelFilterStringChanged : undefined, this.listElementId);
8834
+ res.actions.forEach(function (a) { return a.disableTabStop = true; });
8737
8835
  this.setOnTextSearchCallbackForListModel(res);
8738
8836
  res.forceShowFilter = true;
8739
8837
  return res;
@@ -8881,7 +8979,11 @@ var DropdownMultiSelectListModel = /** @class */ (function (_super) {
8881
8979
  __webpack_require__.r(__webpack_exports__);
8882
8980
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dxSurveyService", function() { return dxSurveyService; });
8883
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");
8884
8983
 
8984
+
8985
+ var surveyIOSite = "surveyjs.io";
8986
+ var surveyIOMaxPostSize = 65536;
8885
8987
  /**
8886
8988
  * The class contains methods to work with api.surveyjs.io service.
8887
8989
  */
@@ -8900,7 +9002,7 @@ var dxSurveyService = /** @class */ (function () {
8900
9002
  });
8901
9003
  dxSurveyService.prototype.loadSurvey = function (surveyId, onLoad) {
8902
9004
  var xhr = new XMLHttpRequest();
8903
- xhr.open("GET", dxSurveyService.serviceUrl + "/getSurvey?surveyId=" + surveyId);
9005
+ xhr.open("GET", this.serviceUrl + "/getSurvey?surveyId=" + surveyId);
8904
9006
  xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
8905
9007
  xhr.onload = function () {
8906
9008
  var result = JSON.parse(xhr.response);
@@ -8910,7 +9012,7 @@ var dxSurveyService = /** @class */ (function () {
8910
9012
  };
8911
9013
  dxSurveyService.prototype.getSurveyJsonAndIsCompleted = function (surveyId, clientId, onLoad) {
8912
9014
  var xhr = new XMLHttpRequest();
8913
- xhr.open("GET", dxSurveyService.serviceUrl +
9015
+ xhr.open("GET", this.serviceUrl +
8914
9016
  "/getSurveyAndIsCompleted?surveyId=" +
8915
9017
  surveyId +
8916
9018
  "&clientId=" +
@@ -8924,11 +9026,34 @@ var dxSurveyService = /** @class */ (function () {
8924
9026
  };
8925
9027
  xhr.send();
8926
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
+ });
8927
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) {
8928
9053
  if (clientId === void 0) { clientId = null; }
8929
9054
  if (isPartialCompleted === void 0) { isPartialCompleted = false; }
8930
9055
  var xhr = new XMLHttpRequest();
8931
- xhr.open("POST", dxSurveyService.serviceUrl + "/post/");
9056
+ xhr.open("POST", this.serviceUrl + "/post/");
8932
9057
  xhr.setRequestHeader("Content-Type", "application/json; charset=utf-8");
8933
9058
  var data = { postId: postId, surveyResult: JSON.stringify(result) };
8934
9059
  if (clientId)
@@ -8936,7 +9061,6 @@ var dxSurveyService = /** @class */ (function () {
8936
9061
  if (isPartialCompleted)
8937
9062
  data["isPartialCompleted"] = true;
8938
9063
  var dataStringify = JSON.stringify(data);
8939
- var self = this;
8940
9064
  xhr.onload = xhr.onerror = function () {
8941
9065
  if (!onSendResult)
8942
9066
  return;
@@ -8951,7 +9075,7 @@ var dxSurveyService = /** @class */ (function () {
8951
9075
  return;
8952
9076
  onSendFile(xhr.status == 200, JSON.parse(xhr.response));
8953
9077
  };
8954
- xhr.open("POST", dxSurveyService.serviceUrl + "/upload/", true);
9078
+ xhr.open("POST", this.serviceUrl + "/upload/", true);
8955
9079
  var formData = new FormData();
8956
9080
  formData.append("file", file);
8957
9081
  formData.append("postId", postId);
@@ -8960,7 +9084,7 @@ var dxSurveyService = /** @class */ (function () {
8960
9084
  dxSurveyService.prototype.getResult = function (resultId, name, onGetResult) {
8961
9085
  var xhr = new XMLHttpRequest();
8962
9086
  var data = "resultId=" + resultId + "&name=" + name;
8963
- xhr.open("GET", dxSurveyService.serviceUrl + "/getResult?" + data);
9087
+ xhr.open("GET", this.serviceUrl + "/getResult?" + data);
8964
9088
  xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
8965
9089
  var self = this;
8966
9090
  xhr.onload = function () {
@@ -8981,7 +9105,7 @@ var dxSurveyService = /** @class */ (function () {
8981
9105
  dxSurveyService.prototype.isCompleted = function (resultId, clientId, onIsCompleted) {
8982
9106
  var xhr = new XMLHttpRequest();
8983
9107
  var data = "resultId=" + resultId + "&clientId=" + clientId;
8984
- xhr.open("GET", dxSurveyService.serviceUrl + "/isCompleted?" + data);
9108
+ xhr.open("GET", this.serviceUrl + "/isCompleted?" + data);
8985
9109
  xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
8986
9110
  var self = this;
8987
9111
  xhr.onload = function () {
@@ -8993,6 +9117,13 @@ var dxSurveyService = /** @class */ (function () {
8993
9117
  };
8994
9118
  xhr.send();
8995
9119
  };
9120
+ Object.defineProperty(dxSurveyService.prototype, "serviceUrl", {
9121
+ get: function () {
9122
+ return dxSurveyService.serviceUrl || "";
9123
+ },
9124
+ enumerable: false,
9125
+ configurable: true
9126
+ });
8996
9127
  return dxSurveyService;
8997
9128
  }());
8998
9129
 
@@ -9563,8 +9694,8 @@ __webpack_require__.r(__webpack_exports__);
9563
9694
 
9564
9695
  var Version;
9565
9696
  var ReleaseDate;
9566
- Version = "" + "1.9.138";
9567
- ReleaseDate = "" + "2024-04-09";
9697
+ Version = "" + "1.10.1";
9698
+ ReleaseDate = "" + "2024-04-25";
9568
9699
  function checkLibraryVersion(ver, libraryName) {
9569
9700
  if (Version != ver) {
9570
9701
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -9745,7 +9876,7 @@ function checkPrefix(prefix) {
9745
9876
  /*!**************************************!*\
9746
9877
  !*** ./src/entries/core-wo-model.ts ***!
9747
9878
  \**************************************/
9748
- /*! 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 */
9749
9880
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9750
9881
 
9751
9882
  "use strict";
@@ -10197,10 +10328,14 @@ __webpack_require__.r(__webpack_exports__);
10197
10328
 
10198
10329
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationGroupUtils", function() { return _utils_animation__WEBPACK_IMPORTED_MODULE_8__["AnimationGroupUtils"]; });
10199
10330
 
10331
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationProperty", function() { return _utils_animation__WEBPACK_IMPORTED_MODULE_8__["AnimationProperty"]; });
10332
+
10200
10333
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationBoolean", function() { return _utils_animation__WEBPACK_IMPORTED_MODULE_8__["AnimationBoolean"]; });
10201
10334
 
10202
10335
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationGroup", function() { return _utils_animation__WEBPACK_IMPORTED_MODULE_8__["AnimationGroup"]; });
10203
10336
 
10337
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationTab", function() { return _utils_animation__WEBPACK_IMPORTED_MODULE_8__["AnimationTab"]; });
10338
+
10204
10339
  /* harmony import */ var _actions_adaptive_container__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../actions/adaptive-container */ "./src/actions/adaptive-container.ts");
10205
10340
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AdaptiveActionContainer", function() { return _actions_adaptive_container__WEBPACK_IMPORTED_MODULE_9__["AdaptiveActionContainer"]; });
10206
10341
 
@@ -10236,7 +10371,7 @@ __webpack_require__.r(__webpack_exports__);
10236
10371
  /*!*****************************!*\
10237
10372
  !*** ./src/entries/core.ts ***!
10238
10373
  \*****************************/
10239
- /*! 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 */
10240
10375
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10241
10376
 
10242
10377
  "use strict";
@@ -10680,10 +10815,14 @@ __webpack_require__.r(__webpack_exports__);
10680
10815
 
10681
10816
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationGroupUtils", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["AnimationGroupUtils"]; });
10682
10817
 
10818
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationProperty", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["AnimationProperty"]; });
10819
+
10683
10820
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationBoolean", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["AnimationBoolean"]; });
10684
10821
 
10685
10822
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationGroup", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["AnimationGroup"]; });
10686
10823
 
10824
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AnimationTab", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["AnimationTab"]; });
10825
+
10687
10826
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AdaptiveActionContainer", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["AdaptiveActionContainer"]; });
10688
10827
 
10689
10828
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "defaultActionBarCss", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__["defaultActionBarCss"]; });
@@ -17139,7 +17278,7 @@ module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\
17139
17278
  /*! no static exports found */
17140
17279
  /***/ (function(module, exports) {
17141
17280
 
17142
- module.exports = "<svg viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\"><g><path d=\"M24 39.5057L11.7226 45.9839C10.4095 46.6739 8.87606 45.5622 9.12525 44.096L11.4734 30.373L1.54411 20.6556C0.480254 19.6207 1.06489 17.8095 2.53128 17.5986L16.2559 15.5957L22.3994 3.10891C23.0512 1.77685 24.9488 1.77685 25.6102 3.10891L31.7441 15.5957L45.4687 17.5986C46.9351 17.8095 47.5197 19.6207 46.4559 20.6556L36.5266 30.373L38.8748 44.096C39.1239 45.5622 37.5905 46.6835 36.2774 45.9839L24 39.5057Z\" fill=\"none\" stroke-width=\"2\"></path><path d=\"M24.4663 34.6154L24 34.3695L23.5336 34.6154L14.4788 39.389L16.2156 29.2691L16.3044 28.7517L15.9289 28.3848L8.57358 21.1966L18.7249 19.7094L19.245 19.6332L19.4772 19.1616L24 9.97413L28.5228 19.1616L28.755 19.6332L29.275 19.7094L39.4264 21.1966L32.0711 28.3848L31.6956 28.7517L31.7844 29.2691L33.5211 39.389L24.4663 34.6154Z\" stroke-width=\"2\"></path></g></svg>"
17281
+ module.exports = "<svg viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\"><g><path d=\"M24 39.5057L11.7226 45.9839C10.4095 46.6739 8.87606 45.5622 9.12525 44.096L11.4734 30.373L1.54411 20.6556C0.480254 19.6207 1.06489 17.8095 2.53128 17.5986L16.2559 15.5957L22.3994 3.10891C23.0512 1.77685 24.9488 1.77685 25.6102 3.10891L31.7441 15.5957L45.4687 17.5986C46.9351 17.8095 47.5197 19.6207 46.4559 20.6556L36.5266 30.373L38.8748 44.096C39.1239 45.5622 37.5905 46.6835 36.2774 45.9839L24 39.5057Z\" fill=\"none\"></path><path d=\"M24.4663 34.6154L24 34.3695L23.5336 34.6154L14.4788 39.389L16.2156 29.2691L16.3044 28.7517L15.9289 28.3848L8.57358 21.1966L18.7249 19.7094L19.245 19.6332L19.4772 19.1616L24 9.97413L28.5228 19.1616L28.755 19.6332L29.275 19.7094L39.4264 21.1966L32.0711 28.3848L31.6956 28.7517L31.7844 29.2691L33.5211 39.389L24.4663 34.6154Z\"></path></g></svg>"
17143
17282
 
17144
17283
  /***/ }),
17145
17284
 
@@ -17161,7 +17300,7 @@ module.exports = "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\
17161
17300
  /*! no static exports found */
17162
17301
  /***/ (function(module, exports) {
17163
17302
 
17164
- module.exports = "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><g><path d=\"M12 19.3373L6.13001 22.4373C5.50001 22.7673 4.77001 22.2373 4.89001 21.5373L6.01001 14.9773L1.26001 10.3273C0.750007 9.83728 1.03001 8.96728 1.73001 8.86728L8.29001 7.90728L11.23 1.93728C11.54 1.29728 12.45 1.29728 12.77 1.93728L15.7 7.90728L22.26 8.86728C22.96 8.96728 23.24 9.83728 22.73 10.3273L17.98 14.9773L19.1 21.5373C19.22 22.2373 18.49 22.7773 17.86 22.4373L11.99 19.3373H12Z\" stroke-width=\"2\"></path></g></svg>"
17303
+ module.exports = "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><g><path d=\"M12 19.3373L6.13001 22.4373C5.50001 22.7673 4.77001 22.2373 4.89001 21.5373L6.01001 14.9773L1.26001 10.3273C0.750007 9.83728 1.03001 8.96728 1.73001 8.86728L8.29001 7.90728L11.23 1.93728C11.54 1.29728 12.45 1.29728 12.77 1.93728L15.7 7.90728L22.26 8.86728C22.96 8.96728 23.24 9.83728 22.73 10.3273L17.98 14.9773L19.1 21.5373C19.22 22.2373 18.49 22.7773 17.86 22.4373L11.99 19.3373H12Z\"></path></g></svg>"
17165
17304
 
17166
17305
  /***/ }),
17167
17306
 
@@ -17172,7 +17311,7 @@ module.exports = "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\
17172
17311
  /*! no static exports found */
17173
17312
  /***/ (function(module, exports) {
17174
17313
 
17175
- module.exports = "<svg viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\"><g><path d=\"M24 39.5057L11.7226 45.9839C10.4095 46.6739 8.87606 45.5622 9.12525 44.096L11.4734 30.373L1.54411 20.6556C0.480254 19.6207 1.06489 17.8095 2.53128 17.5986L16.2559 15.5957L22.3994 3.10891C23.0512 1.77685 24.9488 1.77685 25.6102 3.10891L31.7441 15.5957L45.4687 17.5986C46.9351 17.8095 47.5197 19.6207 46.4559 20.6556L36.5266 30.373L38.8748 44.096C39.1239 45.5622 37.5905 46.6835 36.2774 45.9839L24 39.5057Z\" stroke-width=\"2\"></path></g></svg>"
17314
+ module.exports = "<svg viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\"><g><path d=\"M24 39.5057L11.7226 45.9839C10.4095 46.6739 8.87606 45.5622 9.12525 44.096L11.4734 30.373L1.54411 20.6556C0.480254 19.6207 1.06489 17.8095 2.53128 17.5986L16.2559 15.5957L22.3994 3.10891C23.0512 1.77685 24.9488 1.77685 25.6102 3.10891L31.7441 15.5957L45.4687 17.5986C46.9351 17.8095 47.5197 19.6207 46.4559 20.6556L36.5266 30.373L38.8748 44.096C39.1239 45.5622 37.5905 46.6835 36.2774 45.9839L24 39.5057Z\"></path></g></svg>"
17176
17315
 
17177
17316
  /***/ }),
17178
17317
 
@@ -21048,7 +21187,7 @@ var englishStrings = {
21048
21187
  uploadingFile: "Your file is uploading. Please wait several seconds and try again.",
21049
21188
  loadingFile: "Loading...",
21050
21189
  chooseFile: "Choose file(s)...",
21051
- noFileChosen: "No file chosen",
21190
+ noFileChosen: "No file selected",
21052
21191
  filePlaceholder: "Drag and drop a file here or click the button below to select a file to upload.",
21053
21192
  confirmDelete: "Are you sure you want to delete this record?",
21054
21193
  keyDuplicationError: "This value should be unique.",
@@ -21067,6 +21206,7 @@ var englishStrings = {
21067
21206
  savingData: "The results are being saved on the server...",
21068
21207
  savingDataError: "An error occurred and we could not save the results.",
21069
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.",
21070
21210
  saveAgainButton: "Try again",
21071
21211
  timerMin: "min",
21072
21212
  timerSec: "sec",
@@ -21078,6 +21218,7 @@ var englishStrings = {
21078
21218
  timerLimitSurvey: "You have spent {0} of {1} in total.",
21079
21219
  clearCaption: "Clear",
21080
21220
  signaturePlaceHolder: "Sign here",
21221
+ signaturePlaceHolderReadOnly: "No signature",
21081
21222
  chooseFileCaption: "Select File",
21082
21223
  takePhotoCaption: "Take Photo",
21083
21224
  photoPlaceholder: "Click the button below to take a photo using the camera.",
@@ -21094,7 +21235,7 @@ var englishStrings = {
21094
21235
  filterStringPlaceholder: "Type to search...",
21095
21236
  emptyMessage: "No data to display",
21096
21237
  noEntriesText: "No entries yet.\nClick the button below to add a new entry.",
21097
- noEntriesReadonlyText: "No entries.",
21238
+ noEntriesReadonlyText: "No entries",
21098
21239
  more: "More",
21099
21240
  tagboxDoneButtonCaption: "OK",
21100
21241
  selectToRankEmptyRankedAreaText: "All choices are selected for ranking",
@@ -21579,9 +21720,6 @@ var InputElementAdapter = /** @class */ (function () {
21579
21720
  if (_value === null || _value === undefined) {
21580
21721
  _value = "";
21581
21722
  }
21582
- else if (typeof _value !== "string") {
21583
- _value = _value.toString();
21584
- }
21585
21723
  this.inputElement.value = inputMaskInstance.getMaskedValue(_value);
21586
21724
  this.prevUnmaskedValue = _value;
21587
21725
  inputMaskInstance.onPropertyChanged.add(this.inputMaskInstancePropertyChangedHandler);
@@ -21702,17 +21840,12 @@ var InputMaskBase = /** @class */ (function (_super) {
21702
21840
  });
21703
21841
  return res;
21704
21842
  };
21705
- // public get maskedInputValue(): string {
21706
- // return this.input.value;
21707
- // }
21708
- // public get unmaskedInputValue(): string {
21709
- // return this.getUnmaskedValue(this.input.value, true);
21710
- // }
21711
21843
  InputMaskBase.prototype.processInput = function (args) {
21712
21844
  return { value: args.prevValue, caretPosition: args.selectionEnd, cancelPreventDefault: false };
21713
21845
  };
21714
21846
  InputMaskBase.prototype.getUnmaskedValue = function (src) { return src; };
21715
21847
  InputMaskBase.prototype.getMaskedValue = function (src) { return src; };
21848
+ InputMaskBase.prototype.getTextAlignment = function () { return "auto"; };
21716
21849
  __decorate([
21717
21850
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])()
21718
21851
  ], InputMaskBase.prototype, "saveMaskedValue", void 0);
@@ -21889,6 +22022,17 @@ var __extends = (undefined && undefined.__extends) || (function () {
21889
22022
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
21890
22023
  };
21891
22024
  })();
22025
+ var __assign = (undefined && undefined.__assign) || function () {
22026
+ __assign = Object.assign || function(t) {
22027
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
22028
+ s = arguments[i];
22029
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22030
+ t[p] = s[p];
22031
+ }
22032
+ return t;
22033
+ };
22034
+ return __assign.apply(this, arguments);
22035
+ };
21892
22036
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
21893
22037
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
21894
22038
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -21900,11 +22044,15 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
21900
22044
 
21901
22045
  function getMaxCountLexem(currentLexemType, count) {
21902
22046
  switch (currentLexemType) {
21903
- case ("day"):
21904
- case ("month"): {
22047
+ case "hour":
22048
+ case "minute":
22049
+ case "second":
22050
+ case "day":
22051
+ case "month": {
21905
22052
  return 2;
21906
22053
  }
21907
- case ("year"): {
22054
+ case "timeMarker":
22055
+ case "year": {
21908
22056
  return count;
21909
22057
  }
21910
22058
  default: {
@@ -21936,7 +22084,8 @@ function getDefaultYearForValidation(minYear, maxYear) {
21936
22084
  function getDateTimeLexems(pattern) {
21937
22085
  var result = [];
21938
22086
  var prevLexemType;
21939
- var createOrUpdateLexem = function (currentLexemType, currentChar) {
22087
+ var createOrUpdateLexem = function (currentLexemType, currentChar, upperCase) {
22088
+ if (upperCase === void 0) { upperCase = false; }
21940
22089
  if (!!prevLexemType && prevLexemType === currentLexemType) {
21941
22090
  result[result.length - 1].count++;
21942
22091
  var maxCount = getMaxCountLexem(currentLexemType, result[result.length - 1].count);
@@ -21945,23 +22094,41 @@ function getDateTimeLexems(pattern) {
21945
22094
  else {
21946
22095
  var maxCount = getMaxCountLexem(currentLexemType, 1);
21947
22096
  // result.push({ type: currentLexemType, value: currentChar, count: 1, data: { value: "", isCompleted: false, isCorrect: false }, maxCount: maxCount });
21948
- result.push({ type: currentLexemType, value: currentChar, count: 1, maxCount: maxCount });
22097
+ result.push({ type: currentLexemType, value: currentChar, count: 1, maxCount: maxCount, upperCase: upperCase });
21949
22098
  }
21950
22099
  };
21951
22100
  for (var index = 0; index < pattern.length; index++) {
21952
22101
  var currentChar = pattern[index];
21953
22102
  switch (currentChar) {
21954
22103
  case "m":
21955
- createOrUpdateLexem("month", "m");
22104
+ createOrUpdateLexem("month", currentChar);
21956
22105
  break;
21957
22106
  case "d":
21958
- createOrUpdateLexem("day", "d");
22107
+ createOrUpdateLexem("day", currentChar);
21959
22108
  break;
21960
22109
  case "y":
21961
- createOrUpdateLexem("year", "y");
22110
+ createOrUpdateLexem("year", currentChar);
22111
+ break;
22112
+ case "h":
22113
+ createOrUpdateLexem("hour", currentChar, false);
22114
+ break;
22115
+ case "H":
22116
+ createOrUpdateLexem("hour", currentChar, true);
22117
+ break;
22118
+ case "M":
22119
+ createOrUpdateLexem("minute", currentChar);
22120
+ break;
22121
+ case "s":
22122
+ createOrUpdateLexem("second", currentChar);
22123
+ break;
22124
+ case "t":
22125
+ createOrUpdateLexem("timeMarker", currentChar);
22126
+ break;
22127
+ case "T":
22128
+ createOrUpdateLexem("timeMarker", currentChar, true);
21962
22129
  break;
21963
22130
  default:
21964
- result.push({ type: "separator", value: currentChar, count: 1, maxCount: 1 });
22131
+ result.push({ type: "separator", value: currentChar, count: 1, maxCount: 1, upperCase: false });
21965
22132
  break;
21966
22133
  }
21967
22134
  prevLexemType = result[result.length - 1].type;
@@ -21992,11 +22159,42 @@ var InputMaskDateTime = /** @class */ (function (_super) {
21992
22159
  __extends(InputMaskDateTime, _super);
21993
22160
  function InputMaskDateTime() {
21994
22161
  var _this = _super !== null && _super.apply(this, arguments) || this;
22162
+ _this.defaultDate = "1970-01-01T";
21995
22163
  _this.turnOfTheCentury = 68;
22164
+ _this.twelve = 12;
21996
22165
  _this.lexems = [];
21997
22166
  _this.inputDateTimeData = [];
22167
+ _this.validBeginningOfNumbers = {
22168
+ hour: 1,
22169
+ hourU: 2,
22170
+ minute: 5,
22171
+ second: 5,
22172
+ day: 3,
22173
+ month: 1,
22174
+ };
21998
22175
  return _this;
21999
22176
  }
22177
+ Object.defineProperty(InputMaskDateTime.prototype, "hasDatePart", {
22178
+ get: function () {
22179
+ return this.lexems.some(function (l) { return l.type === "day" || l.type === "month" || l.type === "year"; });
22180
+ },
22181
+ enumerable: false,
22182
+ configurable: true
22183
+ });
22184
+ Object.defineProperty(InputMaskDateTime.prototype, "hasTimePart", {
22185
+ get: function () {
22186
+ return this.lexems.some(function (l) { return l.type === "hour" || l.type === "minute" || l.type === "second"; });
22187
+ },
22188
+ enumerable: false,
22189
+ configurable: true
22190
+ });
22191
+ Object.defineProperty(InputMaskDateTime.prototype, "is12Hours", {
22192
+ get: function () {
22193
+ return this.lexems.filter(function (l) { return l.type === "hour" && !l.upperCase; }).length > 0;
22194
+ },
22195
+ enumerable: false,
22196
+ configurable: true
22197
+ });
22000
22198
  InputMaskDateTime.prototype.getType = function () {
22001
22199
  return "datetimemask";
22002
22200
  };
@@ -22016,20 +22214,45 @@ var InputMaskDateTime = /** @class */ (function (_super) {
22016
22214
  var _this = this;
22017
22215
  var date = new Date(str);
22018
22216
  this.initInputDateTimeData();
22217
+ if (!this.hasDatePart) {
22218
+ date = new Date(this.defaultDate + str);
22219
+ }
22019
22220
  if (!isNaN(date)) {
22020
22221
  this.lexems.forEach(function (lexem, index) {
22021
22222
  var inputData = _this.inputDateTimeData[index];
22022
22223
  inputData.isCompleted = true;
22023
22224
  switch (lexem.type) {
22024
- case ("day"): {
22225
+ case "hour": {
22226
+ if (!_this.is12Hours) {
22227
+ inputData.value = date.getHours().toString();
22228
+ }
22229
+ else {
22230
+ inputData.value = ((date.getHours() - 1) % _this.twelve + 1).toString();
22231
+ }
22232
+ break;
22233
+ }
22234
+ case "minute": {
22235
+ inputData.value = date.getMinutes().toString();
22236
+ break;
22237
+ }
22238
+ case "second": {
22239
+ inputData.value = date.getSeconds().toString();
22240
+ break;
22241
+ }
22242
+ case "timeMarker": {
22243
+ var marker = (date.getHours() >= _this.twelve) ? "pm" : "am";
22244
+ inputData.value = lexem.upperCase ? marker.toUpperCase() : marker;
22245
+ break;
22246
+ }
22247
+ case "day": {
22025
22248
  inputData.value = date.getDate().toString();
22026
22249
  break;
22027
22250
  }
22028
- case ("month"): {
22251
+ case "month": {
22029
22252
  inputData.value = (date.getMonth() + 1).toString();
22030
22253
  break;
22031
22254
  }
22032
- case ("year"): {
22255
+ case "year": {
22033
22256
  var year = date.getFullYear();
22034
22257
  if (lexem.count == 2)
22035
22258
  year = year % 100;
@@ -22053,6 +22276,7 @@ var InputMaskDateTime = /** @class */ (function (_super) {
22053
22276
  };
22054
22277
  InputMaskDateTime.prototype.getISO_8601Format = function (dateTime) {
22055
22278
  var date = [];
22279
+ var time = [];
22056
22280
  if (dateTime.year !== undefined) {
22057
22281
  var year = this.getPlaceholder(4, dateTime.year.toString(), "0") + dateTime.year;
22058
22282
  date.push(year);
@@ -22065,7 +22289,26 @@ var InputMaskDateTime = /** @class */ (function (_super) {
22065
22289
  var day = this.getPlaceholder(2, dateTime.day.toString(), "0") + dateTime.day;
22066
22290
  date.push(day);
22067
22291
  }
22068
- return date.join("-");
22292
+ if (dateTime.hour !== undefined) {
22293
+ var hour = this.getPlaceholder(2, dateTime.hour.toString(), "0") + dateTime.hour;
22294
+ time.push(hour);
22295
+ }
22296
+ if (dateTime.minute !== undefined && dateTime.hour !== undefined) {
22297
+ var minute = this.getPlaceholder(2, dateTime.minute.toString(), "0") + dateTime.minute;
22298
+ time.push(minute);
22299
+ }
22300
+ if (dateTime.second !== undefined && dateTime.minute !== undefined && dateTime.hour !== undefined) {
22301
+ var second = this.getPlaceholder(2, dateTime.second.toString(), "0") + dateTime.second;
22302
+ time.push(second);
22303
+ }
22304
+ var result = [];
22305
+ if (date.length > 0) {
22306
+ result.push(date.join("-"));
22307
+ }
22308
+ if (time.length > 1) {
22309
+ result.push(time.join(":"));
22310
+ }
22311
+ return result.join("T");
22069
22312
  };
22070
22313
  InputMaskDateTime.prototype.isYearValid = function (dateTime) {
22071
22314
  if (dateTime.min === undefined && dateTime.max === undefined)
@@ -22075,74 +22318,153 @@ var InputMaskDateTime = /** @class */ (function (_super) {
22075
22318
  var maxYearPart = dateTime.max.toISOString().slice(0, data.length);
22076
22319
  return dateTime.year >= parseInt(minYearPart) && dateTime.year <= parseInt(maxYearPart);
22077
22320
  };
22321
+ InputMaskDateTime.prototype.createIDateTimeCompositionWithDefaults = function (dateTime, isUpperLimit) {
22322
+ var min = dateTime.min;
22323
+ var max = dateTime.max;
22324
+ var year = dateTime.year !== undefined ? dateTime.year : getDefaultYearForValidation(min.getFullYear(), max.getFullYear());
22325
+ var month = dateTime.month !== undefined ? dateTime.month : (isUpperLimit && this.hasDatePart ? 12 : 1);
22326
+ var day = dateTime.day !== undefined ? dateTime.day : (isUpperLimit && this.hasDatePart ? this.getMaxDateForMonth(year, month) : 1);
22327
+ var hour = dateTime.hour !== undefined ? dateTime.hour : (isUpperLimit ? 23 : 0);
22328
+ var minute = dateTime.minute !== undefined ? dateTime.minute : (isUpperLimit ? 59 : 0);
22329
+ var second = dateTime.second !== undefined ? dateTime.second : (isUpperLimit ? 59 : 0);
22330
+ return { year: year, month: month, day: day, hour: hour, minute: minute, second: second };
22331
+ };
22332
+ InputMaskDateTime.prototype.getMaxDateForMonth = function (year, month) {
22333
+ if (month == 2)
22334
+ return year % 4 == 0 && year % 100 != 0 || year % 400 ? 29 : 28;
22335
+ return [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month - 1];
22336
+ };
22078
22337
  InputMaskDateTime.prototype.isDateValid = function (dateTime) {
22079
22338
  var min = dateTime.min;
22080
22339
  var max = dateTime.max;
22081
22340
  var year = dateTime.year !== undefined ? dateTime.year : getDefaultYearForValidation(min.getFullYear(), max.getFullYear());
22082
22341
  var month = dateTime.month !== undefined ? dateTime.month : 1;
22083
22342
  var day = dateTime.day !== undefined ? dateTime.day : 1;
22084
- var date = new Date(this.getISO_8601Format({ year: year, month: month, day: day }));
22085
22343
  var monthIndex = month - 1;
22344
+ var date = new Date(this.getISO_8601Format(this.createIDateTimeCompositionWithDefaults(dateTime, false)));
22345
+ var dateH = new Date(this.getISO_8601Format(this.createIDateTimeCompositionWithDefaults(dateTime, true)));
22086
22346
  return !isNaN(date) &&
22087
22347
  date.getDate() === day &&
22088
22348
  date.getMonth() === monthIndex &&
22089
22349
  date.getFullYear() === year &&
22090
- date >= dateTime.min && date <= dateTime.max;
22350
+ dateH >= dateTime.min && date <= dateTime.max;
22091
22351
  };
22092
22352
  InputMaskDateTime.prototype.getPlaceholder = function (lexemLength, str, char) {
22093
22353
  var paddingsLength = lexemLength - (str || "").length;
22094
22354
  var paddings = paddingsLength > 0 ? char.repeat(paddingsLength) : "";
22095
22355
  return paddings;
22096
22356
  };
22357
+ InputMaskDateTime.prototype.isDateValid12 = function (dateTime12) {
22358
+ if (!this.is12Hours)
22359
+ return this.isDateValid(dateTime12);
22360
+ if (this.is12Hours && dateTime12.hour > this.twelve) {
22361
+ return false;
22362
+ }
22363
+ if (!dateTime12.timeMarker) {
22364
+ if (this.isDateValid(dateTime12))
22365
+ return true;
22366
+ dateTime12.hour += this.twelve;
22367
+ return this.isDateValid(dateTime12);
22368
+ }
22369
+ else if (dateTime12.timeMarker[0].toLowerCase() === "p") {
22370
+ if (dateTime12.hour !== this.twelve) {
22371
+ dateTime12.hour += this.twelve;
22372
+ }
22373
+ return this.isDateValid(dateTime12);
22374
+ }
22375
+ else {
22376
+ if (dateTime12.hour === this.twelve) {
22377
+ dateTime12.hour = 0;
22378
+ }
22379
+ return this.isDateValid(dateTime12);
22380
+ }
22381
+ };
22382
+ InputMaskDateTime.prototype.updateTimeMarkerInputDateTimeData = function (newItem, dateTime) {
22383
+ var data = newItem.value;
22384
+ if (!data)
22385
+ return;
22386
+ var propertyName = "timeMarker";
22387
+ var tempDateTime = __assign({}, dateTime);
22388
+ tempDateTime[propertyName] = data;
22389
+ if (this.isDateValid12(tempDateTime)) {
22390
+ newItem.isCompleted = true;
22391
+ }
22392
+ else {
22393
+ data = data.slice(0, data.length - 1);
22394
+ }
22395
+ newItem.value = data || undefined;
22396
+ dateTime[propertyName] = data || undefined;
22397
+ return;
22398
+ };
22097
22399
  InputMaskDateTime.prototype.updateInputDateTimeData = function (newItem, dateTime) {
22098
22400
  var data = newItem.value;
22099
22401
  if (!data)
22100
22402
  return;
22101
22403
  var propertyName = newItem.lexem.type;
22102
- dateTime[propertyName] = parseInt(data);
22404
+ var tempDateTime = __assign({}, dateTime);
22405
+ tempDateTime[propertyName] = parseInt(data);
22103
22406
  if (data.length === newItem.lexem.maxCount) {
22104
- if (this.isDateValid(dateTime)) {
22407
+ if (this.isDateValid12(tempDateTime)) {
22105
22408
  newItem.isCompleted = true;
22409
+ newItem.value = data || undefined;
22410
+ dateTime[propertyName] = parseInt(data) > 0 ? parseInt(data) : undefined;
22411
+ return;
22106
22412
  }
22107
22413
  else {
22108
22414
  data = data.slice(0, data.length - 1);
22109
22415
  }
22110
22416
  }
22111
- dateTime[propertyName] = parseInt(data);
22112
- if (propertyName === "year" && !this.isYearValid(dateTime)) {
22417
+ tempDateTime[propertyName] = parseInt(data);
22418
+ var firstDigit = parseInt(data[0]);
22419
+ var validBeginningOfNumber = this.validBeginningOfNumbers[propertyName + (newItem.lexem.upperCase ? "U" : "")];
22420
+ if ((propertyName === "year" && !this.isYearValid(tempDateTime))) {
22113
22421
  data = data.slice(0, data.length - 1);
22422
+ newItem.isCompleted = false;
22114
22423
  }
22115
- else if ((propertyName === "day" && parseInt(data[0]) > 3) || (propertyName === "month" && parseInt(data[0]) > 1)) {
22116
- if (this.isDateValid(dateTime)) {
22424
+ else if (validBeginningOfNumber !== undefined && firstDigit > validBeginningOfNumber) {
22425
+ if (this.isDateValid12(tempDateTime)) {
22117
22426
  newItem.isCompleted = true;
22118
22427
  }
22119
22428
  else {
22120
22429
  data = data.slice(0, data.length - 1);
22121
22430
  }
22122
22431
  }
22123
- else if ((propertyName === "day" && parseInt(data[0]) <= 3 && parseInt(data[0]) !== 0) || (propertyName === "month" && parseInt(data[0]) <= 1 && parseInt(data[0]) !== 0)) {
22124
- var prevValue = dateTime[propertyName];
22125
- var tempValue = prevValue * 10;
22126
- var maxValue = propertyName === "month" ? 3 : 10;
22127
- newItem.isCompleted = true;
22128
- for (var index = 0; index < maxValue; index++) {
22129
- dateTime[propertyName] = tempValue + index;
22130
- if (this.isDateValid(dateTime)) {
22131
- newItem.isCompleted = false;
22132
- break;
22133
- }
22134
- }
22135
- dateTime[propertyName] = prevValue;
22136
- if (newItem.isCompleted && !this.isDateValid(dateTime)) {
22432
+ else if (validBeginningOfNumber !== undefined && firstDigit !== 0 && firstDigit <= validBeginningOfNumber) {
22433
+ this.checkValidationDateTimePart(tempDateTime, propertyName, newItem);
22434
+ if (newItem.isCompleted && !this.isDateValid12(tempDateTime)) {
22137
22435
  data = data.slice(0, data.length - 1);
22138
22436
  }
22139
22437
  }
22140
22438
  newItem.value = data || undefined;
22141
22439
  dateTime[propertyName] = parseInt(data) > 0 ? parseInt(data) : undefined;
22142
22440
  };
22441
+ InputMaskDateTime.prototype.checkValidationDateTimePart = function (dateTime, propertyName, newItem) {
22442
+ var prevValue = dateTime[propertyName];
22443
+ var tempValue = prevValue * 10;
22444
+ var maxValue = 10;
22445
+ if (propertyName === "month")
22446
+ maxValue = 3;
22447
+ if (propertyName === "hour")
22448
+ maxValue = this.is12Hours ? 3 : 5;
22449
+ newItem.isCompleted = true;
22450
+ for (var index = 0; index < maxValue; index++) {
22451
+ dateTime[propertyName] = tempValue + index;
22452
+ if (this.isDateValid12(dateTime)) {
22453
+ newItem.isCompleted = false;
22454
+ break;
22455
+ }
22456
+ }
22457
+ dateTime[propertyName] = prevValue;
22458
+ };
22143
22459
  InputMaskDateTime.prototype.getCorrectDatePartFormat = function (inputData, matchWholeMask) {
22144
22460
  var lexem = inputData.lexem;
22145
22461
  var dataStr = inputData.value || "";
22462
+ if (!!dataStr && lexem.type === "timeMarker") {
22463
+ if (matchWholeMask) {
22464
+ dataStr = dataStr + this.getPlaceholder(lexem.count, dataStr, lexem.value);
22465
+ }
22466
+ return dataStr;
22467
+ }
22146
22468
  if (!!dataStr && inputData.isCompleted) {
22147
22469
  dataStr = parseInt(dataStr).toString();
22148
22470
  }
@@ -22160,12 +22482,24 @@ var InputMaskDateTime = /** @class */ (function (_super) {
22160
22482
  return dataStr;
22161
22483
  };
22162
22484
  InputMaskDateTime.prototype.createIDateTimeComposition = function () {
22485
+ var isoMin, isoMax;
22486
+ if (this.hasDatePart) {
22487
+ isoMin = this.min || "0001-01-01";
22488
+ isoMax = this.max || "9999-12-31";
22489
+ }
22490
+ else {
22491
+ isoMin = this.defaultDate + (this.min || "00:00:00");
22492
+ isoMax = this.defaultDate + (this.max || "23:59:59");
22493
+ }
22163
22494
  var tempDateTime = {
22495
+ hour: undefined,
22496
+ minute: undefined,
22497
+ second: undefined,
22164
22498
  day: undefined,
22165
22499
  month: undefined,
22166
22500
  year: undefined,
22167
- min: new Date(this.min || "0001-01-01"),
22168
- max: new Date(this.max || "9999-12-31")
22501
+ min: new Date(isoMin),
22502
+ max: new Date(isoMax)
22169
22503
  };
22170
22504
  return tempDateTime;
22171
22505
  };
@@ -22192,6 +22526,10 @@ var InputMaskDateTime = /** @class */ (function (_super) {
22192
22526
  for (var index = 0; index < this.inputDateTimeData.length; index++) {
22193
22527
  var inputData = this.inputDateTimeData[index];
22194
22528
  switch (inputData.lexem.type) {
22529
+ case "timeMarker":
22530
+ case "hour":
22531
+ case "minute":
22532
+ case "second":
22195
22533
  case "day":
22196
22534
  case "month":
22197
22535
  case "year":
@@ -22200,7 +22538,7 @@ var InputMaskDateTime = /** @class */ (function (_super) {
22200
22538
  return result;
22201
22539
  }
22202
22540
  else {
22203
- var _matchWholeMask = matchWholeMask || lastItemWithDataIndex !== index;
22541
+ var _matchWholeMask = matchWholeMask || lastItemWithDataIndex > index;
22204
22542
  var data = this.getCorrectDatePartFormat(inputData, _matchWholeMask);
22205
22543
  result += (prevSeparator + data);
22206
22544
  prevIsCompleted = inputData.isCompleted;
@@ -22213,15 +22551,38 @@ var InputMaskDateTime = /** @class */ (function (_super) {
22213
22551
  }
22214
22552
  return result;
22215
22553
  };
22554
+ InputMaskDateTime.prototype.cleanTimeMarker = function (str, upperCase) {
22555
+ var result = "";
22556
+ str = str.toUpperCase();
22557
+ for (var i = 0; i < str.length; i++) {
22558
+ if (!result && (str[i] == "P" || str[i] == "A") || result && str[i] == "M")
22559
+ result += str[i];
22560
+ }
22561
+ if (upperCase) {
22562
+ result = result.toUpperCase();
22563
+ }
22564
+ else {
22565
+ result = result.toLowerCase();
22566
+ }
22567
+ return result;
22568
+ };
22216
22569
  InputMaskDateTime.prototype.setInputDateTimeData = function (numberParts) {
22217
22570
  var _this = this;
22218
22571
  var numberPartsArrayIndex = 0;
22219
22572
  this.initInputDateTimeData();
22220
22573
  this.lexems.forEach(function (lexem, index) {
22221
- if (lexem.type !== "separator" && numberParts.length > 0 && numberPartsArrayIndex < numberParts.length) {
22574
+ if (numberParts.length > 0 && numberPartsArrayIndex < numberParts.length) {
22575
+ if (lexem.type === "separator")
22576
+ return;
22222
22577
  var inputData = _this.inputDateTimeData[index];
22223
22578
  var currentPart = numberParts[numberPartsArrayIndex];
22224
- var _data = _this.leaveOnlyNumbers(currentPart);
22579
+ var _data = void 0;
22580
+ if (lexem.type === "timeMarker") {
22581
+ _data = _this.cleanTimeMarker(currentPart, lexem.upperCase);
22582
+ }
22583
+ else {
22584
+ _data = _this.leaveOnlyNumbers(currentPart);
22585
+ }
22225
22586
  inputData.value = _data.slice(0, lexem.maxCount);
22226
22587
  numberPartsArrayIndex++;
22227
22588
  }
@@ -22234,7 +22595,14 @@ var InputMaskDateTime = /** @class */ (function (_super) {
22234
22595
  var inputParts = this.getParts(input);
22235
22596
  this.setInputDateTimeData(inputParts);
22236
22597
  var tempDateTime = this.createIDateTimeComposition();
22237
- this.inputDateTimeData.forEach(function (itemData) { return _this.updateInputDateTimeData(itemData, tempDateTime); });
22598
+ this.inputDateTimeData.forEach(function (itemData) {
22599
+ if (itemData.lexem.type === "timeMarker") {
22600
+ _this.updateTimeMarkerInputDateTimeData(itemData, tempDateTime);
22601
+ }
22602
+ else {
22603
+ _this.updateInputDateTimeData(itemData, tempDateTime);
22604
+ }
22605
+ });
22238
22606
  var result = this.getFormatedString(matchWholeMask);
22239
22607
  return result;
22240
22608
  };
@@ -22252,6 +22620,11 @@ var InputMaskDateTime = /** @class */ (function (_super) {
22252
22620
  foundPseudoSeparator = false;
22253
22621
  curPart += inputChar;
22254
22622
  }
22623
+ else if (lexemsWithValue[inputParts.length].type === "timeMarker") {
22624
+ foundSeparator = false;
22625
+ foundPseudoSeparator = false;
22626
+ curPart += inputChar;
22627
+ }
22255
22628
  else {
22256
22629
  if (separators.indexOf(inputChar) !== -1) {
22257
22630
  if (!foundPseudoSeparator) {
@@ -22280,17 +22653,27 @@ var InputMaskDateTime = /** @class */ (function (_super) {
22280
22653
  };
22281
22654
  InputMaskDateTime.prototype.getUnmaskedValue = function (src) {
22282
22655
  var _this = this;
22656
+ var _a;
22283
22657
  var input = (src === undefined || src === null) ? "" : src.toString();
22284
22658
  var inputParts = this.getParts(input);
22285
22659
  this.setInputDateTimeData(inputParts);
22660
+ var timeMarker = (_a = this.inputDateTimeData.filter(function (idtd) { return idtd.lexem.type === "timeMarker"; })[0]) === null || _a === void 0 ? void 0 : _a.value.toLowerCase()[0];
22286
22661
  var tempDateTime = this.createIDateTimeComposition();
22662
+ var uncompleted = false;
22287
22663
  this.inputDateTimeData.forEach(function (inputData) {
22288
22664
  var str = inputData.value;
22289
- if (!str || str.length < inputData.lexem.count)
22290
- return undefined;
22291
- tempDateTime[inputData.lexem.type] = parseInt(_this.parseTwoDigitYear(inputData));
22665
+ if (inputData.lexem.type == "timeMarker" || inputData.lexem.type == "separator")
22666
+ return;
22667
+ if (!str || str.length < inputData.lexem.count) {
22668
+ uncompleted = true;
22669
+ return;
22670
+ }
22671
+ var value = parseInt(_this.parseTwoDigitYear(inputData));
22672
+ if (inputData.lexem.type == "hour" && timeMarker === "p" && value != _this.twelve)
22673
+ value += _this.twelve;
22674
+ tempDateTime[inputData.lexem.type] = value;
22292
22675
  });
22293
- return this.getISO_8601Format(tempDateTime);
22676
+ return uncompleted ? "" : this.getISO_8601Format(tempDateTime);
22294
22677
  };
22295
22678
  InputMaskDateTime.prototype.getMaskedValue = function (src) {
22296
22679
  return this.getMaskedStrFromISO(src);
@@ -22502,9 +22885,6 @@ var InputMaskNumeric = /** @class */ (function (_super) {
22502
22885
  InputMaskNumeric.prototype.parseNumber = function (src) {
22503
22886
  var result = { integralPart: "", fractionalPart: "", hasDecimalSeparator: false, isNegative: false };
22504
22887
  var input = (src === undefined || src === null) ? "" : src.toString();
22505
- if (typeof src === "number") {
22506
- input = src.toString().replace(".", this.decimalSeparator);
22507
- }
22508
22888
  var minusCharCount = 0;
22509
22889
  for (var inputIndex = 0; inputIndex < input.length; inputIndex++) {
22510
22890
  var currentChar = input[inputIndex];
@@ -22544,8 +22924,7 @@ var InputMaskNumeric = /** @class */ (function (_super) {
22544
22924
  };
22545
22925
  InputMaskNumeric.prototype.getNumberMaskedValue = function (src, matchWholeMask) {
22546
22926
  if (matchWholeMask === void 0) { matchWholeMask = false; }
22547
- var input = (src === undefined || src === null) ? "" : src;
22548
- var parsedNumber = this.parseNumber(input);
22927
+ var parsedNumber = this.parseNumber(src);
22549
22928
  if (!this.validateNumber(parsedNumber, matchWholeMask)) {
22550
22929
  return null;
22551
22930
  }
@@ -22556,8 +22935,13 @@ var InputMaskNumeric = /** @class */ (function (_super) {
22556
22935
  var parsedNumber = this.parseNumber(str);
22557
22936
  return this.convertNumber(parsedNumber);
22558
22937
  };
22938
+ InputMaskNumeric.prototype.getTextAlignment = function () {
22939
+ return "right";
22940
+ };
22559
22941
  InputMaskNumeric.prototype.getMaskedValue = function (src) {
22560
- 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);
22561
22945
  };
22562
22946
  InputMaskNumeric.prototype.getUnmaskedValue = function (src) {
22563
22947
  return this.getNumberUnmaskedValue(src);
@@ -23641,6 +24025,10 @@ var QuestionRowModel = /** @class */ (function (_super) {
23641
24025
  enumerable: false,
23642
24026
  configurable: true
23643
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
+ };
23644
24032
  QuestionRowModel.prototype.getVisibleElementsAnimationOptions = function () {
23645
24033
  var _this = this;
23646
24034
  var beforeRunAnimation = function (el) {
@@ -23648,7 +24036,7 @@ var QuestionRowModel = /** @class */ (function (_super) {
23648
24036
  el.style.setProperty("--animation-width", Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__["getElementWidth"])(el) + "px");
23649
24037
  };
23650
24038
  return {
23651
- 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; },
23652
24040
  getAnimatedElement: function (element) { return element.getWrapperElement(); },
23653
24041
  getLeaveOptions: function (element) {
23654
24042
  var surveyElement = element;
@@ -23797,7 +24185,7 @@ var QuestionRowModel = /** @class */ (function (_super) {
23797
24185
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_9__["CssClassBuilder"]()
23798
24186
  .append(this.panel.cssClasses.row)
23799
24187
  .append(this.panel.cssClasses.rowCompact, this.panel["isCompact"])
23800
- .append(this.panel.cssClasses.pageRow, this.panel.isPage || (!!this.panel.originalPage))
24188
+ .append(this.panel.cssClasses.pageRow, this.panel.isPage || this.panel.showPanelAsPage)
23801
24189
  .append(this.panel.cssClasses.rowMultiple, this.visibleElements.length > 1)
23802
24190
  .toString();
23803
24191
  };
@@ -23861,7 +24249,7 @@ var PanelModelBase = /** @class */ (function (_super) {
23861
24249
  el.style.setProperty("--animation-height", el.offsetHeight + "px");
23862
24250
  };
23863
24251
  return {
23864
- isAnimationEnabled: function () { return _settings__WEBPACK_IMPORTED_MODULE_7__["settings"].animationEnabled && _this.animationAllowed; },
24252
+ isAnimationEnabled: function () { return _this.animationAllowed; },
23865
24253
  getAnimatedElement: function (row) { return row.getRootElement(); },
23866
24254
  getLeaveOptions: function (_) {
23867
24255
  return { cssClass: _this.cssClasses.rowFadeOut,
@@ -23898,14 +24286,14 @@ var PanelModelBase = /** @class */ (function (_super) {
23898
24286
  return "panelbase";
23899
24287
  };
23900
24288
  PanelModelBase.prototype.setSurveyImpl = function (value, isLight) {
23901
- this.animationAllowed = false;
24289
+ this.blockAnimations();
23902
24290
  _super.prototype.setSurveyImpl.call(this, value, isLight);
23903
24291
  if (this.isDesignMode)
23904
24292
  this.onVisibleChanged();
23905
24293
  for (var i = 0; i < this.elements.length; i++) {
23906
24294
  this.elements[i].setSurveyImpl(value, isLight);
23907
24295
  }
23908
- this.animationAllowed = true;
24296
+ this.releaseAnimations();
23909
24297
  };
23910
24298
  PanelModelBase.prototype.endLoadingFromJson = function () {
23911
24299
  _super.prototype.endLoadingFromJson.call(this);
@@ -24720,13 +25108,13 @@ var PanelModelBase = /** @class */ (function (_super) {
24720
25108
  return new QuestionRowModel(this);
24721
25109
  };
24722
25110
  PanelModelBase.prototype.onSurveyLoad = function () {
24723
- this.animationAllowed = false;
25111
+ this.blockAnimations();
24724
25112
  _super.prototype.onSurveyLoad.call(this);
24725
25113
  for (var i = 0; i < this.elements.length; i++) {
24726
25114
  this.elements[i].onSurveyLoad();
24727
25115
  }
24728
25116
  this.onElementVisibilityChanged(this);
24729
- this.animationAllowed = true;
25117
+ this.releaseAnimations();
24730
25118
  };
24731
25119
  PanelModelBase.prototype.onFirstRendering = function () {
24732
25120
  _super.prototype.onFirstRendering.call(this);
@@ -24760,9 +25148,9 @@ var PanelModelBase = /** @class */ (function (_super) {
24760
25148
  PanelModelBase.prototype.onRowsChanged = function () {
24761
25149
  if (this.isLoadingFromJson)
24762
25150
  return;
24763
- this.animationAllowed = false;
25151
+ this.blockAnimations();
24764
25152
  this.setArrayPropertyDirectly("rows", this.buildRows());
24765
- this.animationAllowed = true;
25153
+ this.releaseAnimations();
24766
25154
  };
24767
25155
  PanelModelBase.prototype.blockRowsUpdates = function () {
24768
25156
  this.locCountRowUpdates++;
@@ -25844,7 +26232,10 @@ var PanelModel = /** @class */ (function (_super) {
25844
26232
  };
25845
26233
  Object.defineProperty(PanelModel.prototype, "showPanelAsPage", {
25846
26234
  get: function () {
25847
- return !!this.originalPage;
26235
+ var panel = this;
26236
+ if (!!panel.originalPage)
26237
+ return true;
26238
+ return panel.survey.isShowingPreview && panel.survey.isSinglePage && !!panel.parent && !!panel.parent.originalPage;
25848
26239
  },
25849
26240
  enumerable: false,
25850
26241
  configurable: true
@@ -26147,6 +26538,7 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
26147
26538
  this.resizeEventCallback();
26148
26539
  }
26149
26540
  _global_variables_utils__WEBPACK_IMPORTED_MODULE_6__["DomWindowHelper"].addEventListener("scroll", this.scrollEventCallBack);
26541
+ this._isPositionSetValue = true;
26150
26542
  };
26151
26543
  Object.defineProperty(PopupDropdownViewModel.prototype, "shouldCreateResizeCallback", {
26152
26544
  get: function () {
@@ -26887,6 +27279,7 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
26887
27279
  if (!val) {
26888
27280
  _this.updateOnHiding();
26889
27281
  _this.updateIsVisible(val);
27282
+ _this._isPositionSetValue = false;
26890
27283
  }
26891
27284
  else {
26892
27285
  _this.updateIsVisible(val);
@@ -26897,7 +27290,9 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
26897
27290
  _this.onModelIsVisibleChangedCallback = function () {
26898
27291
  _this.isVisible = _this.model.isVisible;
26899
27292
  };
27293
+ _this._isPositionSetValue = false;
26900
27294
  _this.model = model;
27295
+ _this.locale = _this.model.locale;
26901
27296
  return _this;
26902
27297
  }
26903
27298
  PopupBaseViewModel.prototype.updateIsVisible = function (val) {
@@ -27133,12 +27528,20 @@ var PopupBaseViewModel = /** @class */ (function (_super) {
27133
27528
  this.focusContainer();
27134
27529
  }
27135
27530
  };
27531
+ Object.defineProperty(PopupBaseViewModel.prototype, "isPositionSet", {
27532
+ get: function () {
27533
+ return this._isPositionSetValue;
27534
+ },
27535
+ enumerable: false,
27536
+ configurable: true
27537
+ });
27136
27538
  PopupBaseViewModel.prototype.updateOnShowing = function () {
27137
27539
  this.prevActiveElement = _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].environment.root.activeElement;
27138
27540
  if (this.isOverlay) {
27139
27541
  this.resetDimensionsAndPositionStyleProperties();
27140
27542
  }
27141
27543
  this.switchFocus();
27544
+ this._isPositionSetValue = true;
27142
27545
  };
27143
27546
  PopupBaseViewModel.prototype.updateOnHiding = function () {
27144
27547
  if (this.isFocusedContent && this.prevActiveElement) {
@@ -28311,8 +28714,7 @@ var Question = /** @class */ (function (_super) {
28311
28714
  };
28312
28715
  Question.prototype.runTriggers = function (name, value) {
28313
28716
  var _this = this;
28314
- if (this.isReadOnly || this.isSettingQuestionValue ||
28315
- (this.parentQuestion && this.parentQuestion.getValueName() === name))
28717
+ if (this.isSettingQuestionValue || (this.parentQuestion && this.parentQuestion.getValueName() === name))
28316
28718
  return;
28317
28719
  this.triggersInfo.forEach(function (info) {
28318
28720
  _this.runTriggerInfo(info, name, value);
@@ -28406,10 +28808,11 @@ var Question = /** @class */ (function (_super) {
28406
28808
  });
28407
28809
  Question.prototype.getTitleOwner = function () { return this; };
28408
28810
  Question.prototype.getIsTitleRenderedAsString = function () { return this.titleLocation === "hidden"; };
28811
+ Question.prototype.notifySurveyOnChildrenVisibilityChanged = function () { return false; };
28409
28812
  Question.prototype.notifySurveyVisibilityChanged = function () {
28410
28813
  if (!this.survey || this.isLoadingFromJson)
28411
28814
  return;
28412
- this.survey.questionVisibilityChanged(this, this.isVisible);
28815
+ this.survey.questionVisibilityChanged(this, this.isVisible, !this.parentQuestion || this.parentQuestion.notifySurveyOnChildrenVisibilityChanged());
28413
28816
  var isClearOnHidden = this.isClearValueOnHidden;
28414
28817
  if (!this.visible) {
28415
28818
  this.clearValueOnHidding(isClearOnHidden);
@@ -29002,7 +29405,9 @@ var Question = /** @class */ (function (_super) {
29002
29405
  Question.prototype.getRootCss = function () {
29003
29406
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__["CssClassBuilder"]()
29004
29407
  .append(this.cssRoot)
29005
- .append(this.cssClasses.disabled, this.isReadOnly)
29408
+ .append(this.cssClasses.readOnly, this.isReadOnlyStyle)
29409
+ .append(this.cssClasses.disabled, this.isDisabledStyle)
29410
+ .append(this.cssClasses.preview, this.isPreviewStyle)
29006
29411
  .append(this.cssClasses.invisible, !this.isDesignMode && this.areInvisibleElementsShowing && !this.visible)
29007
29412
  .toString();
29008
29413
  };
@@ -29527,6 +29932,7 @@ var Question = /** @class */ (function (_super) {
29527
29932
  configurable: true
29528
29933
  });
29529
29934
  Question.prototype.getFilteredValue = function () { return this.value; };
29935
+ Question.prototype.getFilteredName = function () { return this.getValueName(); };
29530
29936
  Object.defineProperty(Question.prototype, "valueForSurvey", {
29531
29937
  get: function () {
29532
29938
  if (!!this.valueToDataCallback) {
@@ -30129,7 +30535,7 @@ var Question = /** @class */ (function (_super) {
30129
30535
  };
30130
30536
  Question.prototype.addConditionObjectsByContext = function (objects, context) {
30131
30537
  objects.push({
30132
- name: this.getValueName(),
30538
+ name: this.getFilteredName(),
30133
30539
  text: this.processedTitle,
30134
30540
  question: this,
30135
30541
  });
@@ -33171,15 +33577,20 @@ var QuestionSelectBase = /** @class */ (function (_super) {
33171
33577
  .append(this.cssClasses.itemInline, !this.hasColumns && this.colCount === 0)
33172
33578
  .append("sv-q-col-" + this.getCurrentColCount(), !this.hasColumns && this.colCount !== 0)
33173
33579
  .append(this.cssClasses.itemOnError, this.hasCssError());
33174
- var isDisabled = this.isReadOnly || !item.isEnabled;
33580
+ var readOnlyStyles = this.getIsDisableAndReadOnlyStyles(!item.isEnabled);
33581
+ var isReadOnly = readOnlyStyles[0];
33582
+ var isDisabled = readOnlyStyles[1];
33175
33583
  var isChecked = this.isItemSelected(item) ||
33176
33584
  (this.isOtherSelected && this.otherItem.value === item.value);
33177
33585
  var allowHover = !isDisabled && !isChecked && !(!!this.survey && this.survey.isDesignMode);
33178
33586
  var isNone = item === this.noneItem;
33179
- options.isDisabled = isDisabled;
33587
+ options.isDisabled = isDisabled || isReadOnly;
33180
33588
  options.isChecked = isChecked;
33181
33589
  options.isNone = isNone;
33182
- return builder.append(this.cssClasses.itemDisabled, isDisabled)
33590
+ return builder
33591
+ .append(this.cssClasses.itemDisabled, isDisabled)
33592
+ .append(this.cssClasses.itemReadOnly, isReadOnly)
33593
+ .append(this.cssClasses.itemPreview, this.isPreviewStyle)
33183
33594
  .append(this.cssClasses.itemChecked, isChecked)
33184
33595
  .append(this.cssClasses.itemHover, allowHover)
33185
33596
  .append(this.cssClasses.itemNone, isNone)
@@ -33342,6 +33753,9 @@ var QuestionSelectBase = /** @class */ (function (_super) {
33342
33753
  };
33343
33754
  Object.defineProperty(QuestionSelectBase.prototype, "itemSvgIcon", {
33344
33755
  get: function () {
33756
+ if (this.isPreviewStyle && this.cssClasses.itemPreviewSvgIconId) {
33757
+ return this.cssClasses.itemPreviewSvgIconId;
33758
+ }
33345
33759
  return this.cssClasses.itemSvgIconId;
33346
33760
  },
33347
33761
  enumerable: false,
@@ -33901,7 +34315,9 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
33901
34315
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__["CssClassBuilder"]()
33902
34316
  .append(css.item)
33903
34317
  .append(css.itemOnError, this.hasCssError())
33904
- .append(css.itemDisabled, this.isReadOnly)
34318
+ .append(css.itemDisabled, this.isDisabledStyle)
34319
+ .append(css.itemReadOnly, this.isReadOnlyStyle)
34320
+ .append(css.itemPreview, this.isPreviewStyle)
33905
34321
  .append(css.itemHover, !this.isDesignMode)
33906
34322
  .append(css.itemChecked, !!this.booleanValue)
33907
34323
  .append(css.itemExchanged, !!this.swapOrder)
@@ -33916,6 +34332,9 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
33916
34332
  item: this.cssClasses.checkboxItem,
33917
34333
  itemOnError: this.cssClasses.checkboxItemOnError,
33918
34334
  itemDisabled: this.cssClasses.checkboxItemDisabled,
34335
+ itemDisable: this.cssClasses.checkboxItemDisabled,
34336
+ itemReadOnly: this.cssClasses.checkboxItemReadOnly,
34337
+ itemPreview: this.cssClasses.checkboxItemPreview,
33919
34338
  itemChecked: this.cssClasses.checkboxItemChecked,
33920
34339
  itemIndeterminate: this.cssClasses.checkboxItemIndeterminate
33921
34340
  });
@@ -33923,7 +34342,9 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
33923
34342
  QuestionBooleanModel.prototype.getLabelCss = function (checked) {
33924
34343
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__["CssClassBuilder"]()
33925
34344
  .append(this.cssClasses.label)
33926
- .append(this.cssClasses.disabledLabel, this.booleanValue === !checked || this.isReadOnly)
34345
+ .append(this.cssClasses.disabledLabel, this.booleanValue === !checked || this.isDisabledStyle)
34346
+ .append(this.cssClasses.labelReadOnly, this.isReadOnlyStyle)
34347
+ .append(this.cssClasses.labelPreview, this.isPreviewStyle)
33927
34348
  .append(this.cssClasses.labelTrue, !this.isIndeterminate && checked === !this.swapOrder)
33928
34349
  .append(this.cssClasses.labelFalse, !this.isIndeterminate && checked === this.swapOrder)
33929
34350
  .toString();
@@ -33941,6 +34362,16 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
33941
34362
  enumerable: false,
33942
34363
  configurable: true
33943
34364
  });
34365
+ Object.defineProperty(QuestionBooleanModel.prototype, "itemSvgIcon", {
34366
+ get: function () {
34367
+ if (this.isPreviewStyle && this.cssClasses.itemPreviewSvgIconId) {
34368
+ return this.cssClasses.itemPreviewSvgIconId;
34369
+ }
34370
+ return this.cssClasses.itemSvgIconId;
34371
+ },
34372
+ enumerable: false,
34373
+ configurable: true
34374
+ });
33944
34375
  Object.defineProperty(QuestionBooleanModel.prototype, "allowClick", {
33945
34376
  get: function () {
33946
34377
  return this.isIndeterminate && !this.isInputReadOnly;
@@ -34006,6 +34437,15 @@ var QuestionBooleanModel = /** @class */ (function (_super) {
34006
34437
  if (css.radioItemChecked && value === this.booleanValue) {
34007
34438
  className = (className ? className + " " : "") + css.radioItemChecked;
34008
34439
  }
34440
+ if (this.isDisabledStyle) {
34441
+ className += " " + css.radioItemDisabled;
34442
+ }
34443
+ if (this.isReadOnlyStyle) {
34444
+ className += " " + css.radioItemReadOnly;
34445
+ }
34446
+ if (this.isPreviewStyle) {
34447
+ className += " " + css.radioItemPreview;
34448
+ }
34009
34449
  return className;
34010
34450
  };
34011
34451
  QuestionBooleanModel.prototype.supportResponsiveness = function () {
@@ -34646,6 +35086,13 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
34646
35086
  enumerable: false,
34647
35087
  configurable: true
34648
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
+ };
34649
35096
  QuestionCheckboxModel.prototype.getFilteredValue = function () {
34650
35097
  if (this.hasFilteredValue)
34651
35098
  return this.renderedValue;
@@ -35251,7 +35698,7 @@ var QuestionCommentModel = /** @class */ (function (_super) {
35251
35698
  });
35252
35699
  Object.defineProperty(QuestionCommentModel.prototype, "renderedAllowResize", {
35253
35700
  get: function () {
35254
- return this.allowResize && (this.survey && this.survey.allowResizeComment);
35701
+ return this.allowResize && (this.survey && this.survey.allowResizeComment) && !this.isPreviewStyle && !this.isReadOnlyStyle;
35255
35702
  },
35256
35703
  enumerable: false,
35257
35704
  configurable: true
@@ -35369,6 +35816,7 @@ __webpack_require__.r(__webpack_exports__);
35369
35816
  /* harmony import */ var _textPreProcessor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./textPreProcessor */ "./src/textPreProcessor.ts");
35370
35817
  /* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/cssClassBuilder */ "./src/utils/cssClassBuilder.ts");
35371
35818
  /* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./error */ "./src/error.ts");
35819
+ /* harmony import */ var _console_warnings__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./console-warnings */ "./src/console-warnings.ts");
35372
35820
  var __extends = (undefined && undefined.__extends) || (function () {
35373
35821
  var extendStatics = function (d, b) {
35374
35822
  extendStatics = Object.setPrototypeOf ||
@@ -35391,6 +35839,7 @@ var __extends = (undefined && undefined.__extends) || (function () {
35391
35839
 
35392
35840
 
35393
35841
 
35842
+
35394
35843
  var ComponentQuestionJSON = /** @class */ (function () {
35395
35844
  function ComponentQuestionJSON(name, json) {
35396
35845
  this.name = name;
@@ -35982,15 +36431,15 @@ var QuestionCustomModel = /** @class */ (function (_super) {
35982
36431
  if (!qType || !_jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].findClass(qType))
35983
36432
  throw "type attribute in questionJSON is empty or incorrect";
35984
36433
  res = _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].createClass(qType);
35985
- this.initElement(res);
35986
36434
  res.fromJSON(json.questionJSON);
36435
+ res = this.checkCreatedQuestion(res);
35987
36436
  }
35988
36437
  else {
35989
36438
  if (!!json.createQuestion) {
35990
- res = json.createQuestion();
35991
- this.initElement(res);
36439
+ res = this.checkCreatedQuestion(json.createQuestion());
35992
36440
  }
35993
36441
  }
36442
+ this.initElement(res);
35994
36443
  if (!!res) {
35995
36444
  res.isContentElement = true;
35996
36445
  if (!res.name) {
@@ -36004,6 +36453,20 @@ var QuestionCustomModel = /** @class */ (function (_super) {
36004
36453
  }
36005
36454
  return res;
36006
36455
  };
36456
+ QuestionCustomModel.prototype.checkCreatedQuestion = function (res) {
36457
+ if (!res)
36458
+ return res;
36459
+ if (!res.isQuestion) {
36460
+ if (Array.isArray(res.questions) && res.questions.length > 0) {
36461
+ res = res.questions[0];
36462
+ }
36463
+ else {
36464
+ res = _jsonobject__WEBPACK_IMPORTED_MODULE_1__["Serializer"].createClass("text");
36465
+ }
36466
+ _console_warnings__WEBPACK_IMPORTED_MODULE_7__["ConsoleWarnings"].error("Could not create component: '" + this.getType() + "'. questionJSON should be a question.");
36467
+ }
36468
+ return res;
36469
+ };
36007
36470
  QuestionCustomModel.prototype.onSurveyLoad = function () {
36008
36471
  _super.prototype.onSurveyLoad.call(this);
36009
36472
  if (!this.contentQuestion)
@@ -36711,7 +37174,9 @@ var QuestionDropdownModel = /** @class */ (function (_super) {
36711
37174
  .append(this.cssClasses.control)
36712
37175
  .append(this.cssClasses.controlEmpty, this.isEmpty())
36713
37176
  .append(this.cssClasses.onError, this.hasCssError())
36714
- .append(this.cssClasses.controlDisabled, this.isReadOnly)
37177
+ .append(this.cssClasses.controlDisabled, this.isDisabledStyle)
37178
+ .append(this.cssClasses.controlReadOnly, this.isReadOnlyStyle)
37179
+ .append(this.cssClasses.controlPreview, this.isPreviewStyle)
36715
37180
  .append(this.cssClasses.controlInputFieldComponent, !!this.inputFieldComponentName)
36716
37181
  .toString();
36717
37182
  };
@@ -38551,6 +39016,9 @@ var QuestionFileModel = /** @class */ (function (_super) {
38551
39016
  get: function () {
38552
39017
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__["CssClassBuilder"]()
38553
39018
  .append(this.cssClasses.root)
39019
+ .append(this.cssClasses.rootDisabled, this.isDisabledStyle)
39020
+ .append(this.cssClasses.rootReadOnly, this.isReadOnlyStyle)
39021
+ .append(this.cssClasses.rootPreview, this.isPreviewStyle)
38554
39022
  .append(this.cssClasses.rootDragging, this.isDragging)
38555
39023
  .append(this.cssClasses.rootAnswered, this.isAnswered)
38556
39024
  .append(this.cssClasses.single, !this.allowMultiple)
@@ -40041,7 +40509,8 @@ var MatrixRowModel = /** @class */ (function (_super) {
40041
40509
  var cssClasses = this.data.cssClasses;
40042
40510
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_11__["CssClassBuilder"]().append(cssClasses.row)
40043
40511
  .append(cssClasses.rowError, this.data.hasErrorInRow(this))
40044
- .append(cssClasses.rowDisabled, this.isReadOnly)
40512
+ .append(cssClasses.rowReadOnly, this.isReadOnly)
40513
+ .append(cssClasses.rowDisabled, this.data.isDisabledStyle)
40045
40514
  .toString();
40046
40515
  },
40047
40516
  enumerable: false,
@@ -40367,12 +40836,17 @@ var QuestionMatrixModel = /** @class */ (function (_super) {
40367
40836
  .append(hasCellText ? css.cellText : css.label)
40368
40837
  .append(css.itemOnError, !hasCellText && (this.isAllRowRequired ? this.hasErrorInRow(row) : this.hasCssError()))
40369
40838
  .append(hasCellText ? css.cellTextSelected : css.itemChecked, isChecked)
40370
- .append(hasCellText ? css.cellTextDisabled : css.itemDisabled, isDisabled)
40839
+ .append(hasCellText ? css.cellTextDisabled : css.itemDisabled, this.isDisabledStyle)
40840
+ .append(hasCellText ? css.cellTextReadOnly : css.itemReadOnly, this.isReadOnlyStyle)
40841
+ .append(hasCellText ? css.cellTextPreview : css.itemPreview, this.isPreviewStyle)
40371
40842
  .append(css.itemHover, allowHover && !hasCellText)
40372
40843
  .toString();
40373
40844
  };
40374
40845
  Object.defineProperty(QuestionMatrixModel.prototype, "itemSvgIcon", {
40375
40846
  get: function () {
40847
+ if (this.isPreviewStyle && this.cssClasses.itemPreviewSvgIconId) {
40848
+ return this.cssClasses.itemPreviewSvgIconId;
40849
+ }
40376
40850
  return this.cssClasses.itemSvgIconId;
40377
40851
  },
40378
40852
  enumerable: false,
@@ -44838,6 +45312,7 @@ __webpack_require__.r(__webpack_exports__);
44838
45312
  /* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/cssClassBuilder */ "./src/utils/cssClassBuilder.ts");
44839
45313
  /* harmony import */ var _actions_container__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./actions/container */ "./src/actions/container.ts");
44840
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");
44841
45316
  var __extends = (undefined && undefined.__extends) || (function () {
44842
45317
  var extendStatics = function (d, b) {
44843
45318
  extendStatics = Object.setPrototypeOf ||
@@ -44872,6 +45347,7 @@ var __spreadArray = (undefined && undefined.__spreadArray) || function (to, from
44872
45347
 
44873
45348
 
44874
45349
 
45350
+
44875
45351
  var QuestionMatrixDropdownRenderedCell = /** @class */ (function () {
44876
45352
  function QuestionMatrixDropdownRenderedCell() {
44877
45353
  this.minWidth = "";
@@ -45096,6 +45572,12 @@ var QuestionMatrixDropdownRenderedRow = /** @class */ (function (_super) {
45096
45572
  enumerable: false,
45097
45573
  configurable: true
45098
45574
  });
45575
+ QuestionMatrixDropdownRenderedRow.prototype.setRootElement = function (val) {
45576
+ this.rootElement = val;
45577
+ };
45578
+ QuestionMatrixDropdownRenderedRow.prototype.getRootElement = function () {
45579
+ return this.rootElement;
45580
+ };
45099
45581
  QuestionMatrixDropdownRenderedRow.counter = 1;
45100
45582
  __decorate([
45101
45583
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ defaultValue: false })
@@ -45154,10 +45636,53 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
45154
45636
  var _this = _super.call(this) || this;
45155
45637
  _this.matrix = matrix;
45156
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; });
45157
45644
  _this.hasActionCellInRowsValues = {};
45158
45645
  _this.build();
45159
45646
  return _this;
45160
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
+ });
45161
45686
  Object.defineProperty(QuestionMatrixDropdownRenderedTable.prototype, "showTable", {
45162
45687
  get: function () {
45163
45688
  return this.getPropertyValue("showTable", true);
@@ -45472,10 +45997,12 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
45472
45997
  }
45473
45998
  };
45474
45999
  QuestionMatrixDropdownRenderedTable.prototype.buildRows = function () {
46000
+ this.blockAnimations();
45475
46001
  var rows = this.matrix.isColumnLayoutHorizontal
45476
46002
  ? this.buildHorizontalRows()
45477
46003
  : this.buildVerticalRows();
45478
46004
  this.rows = rows;
46005
+ this.releaseAnimations();
45479
46006
  };
45480
46007
  QuestionMatrixDropdownRenderedTable.prototype.hasActionCellInRows = function (location) {
45481
46008
  if (this.hasActionCellInRowsValues[location] === undefined) {
@@ -45534,6 +46061,7 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
45534
46061
  var cell = new QuestionMatrixDropdownRenderedCell();
45535
46062
  var lockedRows = this.matrix.lockedRowCount;
45536
46063
  cell.isDragHandlerCell = lockedRows < 1 || rowIndex >= lockedRows;
46064
+ cell.isEmpty = !cell.isDragHandlerCell;
45537
46065
  cell.className = this.getActionsCellClassName(cell);
45538
46066
  cell.row = this.matrix.visibleRows[rowIndex];
45539
46067
  return cell;
@@ -45992,9 +46520,16 @@ var QuestionMatrixDropdownRenderedTable = /** @class */ (function (_super) {
45992
46520
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["propertyArray"])({
45993
46521
  onPush: function (_, i, target) {
45994
46522
  target.renderedRowsChangedCallback();
46523
+ target.updateRenderedRows();
45995
46524
  },
46525
+ onRemove: function (_, i, target) {
46526
+ target.updateRenderedRows();
46527
+ }
45996
46528
  })
45997
46529
  ], QuestionMatrixDropdownRenderedTable.prototype, "rows", void 0);
46530
+ __decorate([
46531
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["propertyArray"])()
46532
+ ], QuestionMatrixDropdownRenderedTable.prototype, "_renderedRows", void 0);
45998
46533
  return QuestionMatrixDropdownRenderedTable;
45999
46534
  }(_base__WEBPACK_IMPORTED_MODULE_1__["Base"]));
46000
46535
 
@@ -48186,6 +48721,9 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
48186
48721
  QuestionMultipleTextModel.prototype.getItemLabelCss = function (item) {
48187
48722
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_7__["CssClassBuilder"]()
48188
48723
  .append(this.cssClasses.itemLabel)
48724
+ .append(this.cssClasses.itemLabelDisabled, this.isDisabledStyle)
48725
+ .append(this.cssClasses.itemLabelReadOnly, this.isReadOnlyStyle)
48726
+ .append(this.cssClasses.itemLabelPreview, this.isPreviewStyle)
48189
48727
  .append(this.cssClasses.itemLabelAnswered, item.editor.isAnswered)
48190
48728
  .append(this.cssClasses.itemLabelAllowFocus, !this.isDesignMode)
48191
48729
  .append(this.cssClasses.itemLabelOnError, item.editor.errors.length > 0)
@@ -48389,6 +48927,7 @@ __webpack_require__.r(__webpack_exports__);
48389
48927
  /* harmony import */ var _actions_action__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./actions/action */ "./src/actions/action.ts");
48390
48928
  /* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./base */ "./src/base.ts");
48391
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");
48392
48931
  var __extends = (undefined && undefined.__extends) || (function () {
48393
48932
  var extendStatics = function (d, b) {
48394
48933
  extendStatics = Object.setPrototypeOf ||
@@ -48429,6 +48968,7 @@ var __spreadArray = (undefined && undefined.__spreadArray) || function (to, from
48429
48968
 
48430
48969
 
48431
48970
 
48971
+
48432
48972
  var QuestionPanelDynamicItemTextProcessor = /** @class */ (function (_super) {
48433
48973
  __extends(QuestionPanelDynamicItemTextProcessor, _super);
48434
48974
  function QuestionPanelDynamicItemTextProcessor(data, panelItem, variableName) {
@@ -48652,6 +49192,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
48652
49192
  __extends(QuestionPanelDynamicModel, _super);
48653
49193
  function QuestionPanelDynamicModel(name) {
48654
49194
  var _this = _super.call(this, name) || this;
49195
+ _this._renderedPanels = [];
49196
+ _this.isPanelsAnimationRunning = false;
48655
49197
  _this.isAddingNewPanels = false;
48656
49198
  _this.isSetPanelItemData = {};
48657
49199
  _this.createNewArray("panels", function (panel) { _this.onPanelAdded(panel); }, function (panel) { _this.onPanelRemoved(panel); });
@@ -48977,6 +49519,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
48977
49519
  if (!this.currentPanel) {
48978
49520
  this.currentPanel = panel;
48979
49521
  }
49522
+ this.updateRenderedPanels();
48980
49523
  };
48981
49524
  QuestionPanelDynamicModel.prototype.onPanelRemoved = function (panel) {
48982
49525
  var index = this.onPanelRemovedCore(panel);
@@ -48986,6 +49529,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
48986
49529
  index = visPanels.length - 1;
48987
49530
  this.currentPanel = index >= 0 ? visPanels[index] : null;
48988
49531
  }
49532
+ this.updateRenderedPanels();
48989
49533
  };
48990
49534
  QuestionPanelDynamicModel.prototype.onPanelRemovedCore = function (panel) {
48991
49535
  var visPanels = this.visiblePanelsCore;
@@ -49056,6 +49600,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49056
49600
  curPanel.onHidingContent();
49057
49601
  }
49058
49602
  this.setPropertyValue("currentPanel", val);
49603
+ this.updateRenderedPanels();
49059
49604
  this.updateFooterActions();
49060
49605
  this.updateTabToolbarItemsPressedState();
49061
49606
  this.fireCallback(this.currentIndexChangedCallback);
@@ -49070,6 +49615,123 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49070
49615
  enumerable: false,
49071
49616
  configurable: true
49072
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
+ });
49073
49735
  QuestionPanelDynamicModel.prototype.onHidingContent = function () {
49074
49736
  _super.prototype.onHidingContent.call(this);
49075
49737
  if (this.currentPanel) {
@@ -49384,11 +50046,13 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49384
50046
  if (val < this.panelCount) {
49385
50047
  this.panelsCore.splice(val, this.panelCount - val);
49386
50048
  }
50049
+ this.disablePanelsAnimations();
49387
50050
  this.setValueAfterPanelsCreating();
49388
50051
  this.setValueBasedOnPanelCount();
49389
50052
  this.reRunCondition();
49390
50053
  this.updateFooterActions();
49391
50054
  this.fireCallback(this.panelCountChangedCallback);
50055
+ this.enablePanelsAnimations();
49392
50056
  },
49393
50057
  enumerable: false,
49394
50058
  configurable: true
@@ -49623,12 +50287,13 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49623
50287
  set: function (val) {
49624
50288
  this.setPropertyValue("showQuestionNumbers", val);
49625
50289
  if (!this.isLoadingFromJson && this.survey) {
49626
- this.survey.questionVisibilityChanged(this, this.visible);
50290
+ this.survey.questionVisibilityChanged(this, this.visible, true);
49627
50291
  }
49628
50292
  },
49629
50293
  enumerable: false,
49630
50294
  configurable: true
49631
50295
  });
50296
+ QuestionPanelDynamicModel.prototype.notifySurveyOnChildrenVisibilityChanged = function () { return this.showQuestionNumbers === "onSurvey"; };
49632
50297
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "panelRemoveButtonLocation", {
49633
50298
  /**
49634
50299
  * Specifies the location of the Delete Panel button relative to panel content.
@@ -49682,6 +50347,10 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49682
50347
  set: function (val) {
49683
50348
  this.setPropertyValue("renderMode", val);
49684
50349
  this.fireCallback(this.renderModeChangedCallback);
50350
+ this.blockAnimations();
50351
+ this.updateRenderedPanels();
50352
+ this.releaseAnimations();
50353
+ this.updatePanelsAnimation();
49685
50354
  },
49686
50355
  enumerable: false,
49687
50356
  configurable: true
@@ -49728,15 +50397,16 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49728
50397
  QuestionPanelDynamicModel.prototype.setVisibleIndex = function (value) {
49729
50398
  if (!this.isVisible)
49730
50399
  return 0;
49731
- var startIndex = this.showQuestionNumbers == "onSurvey" ? value : 0;
50400
+ var onSurveyNumbering = this.showQuestionNumbers === "onSurvey";
50401
+ var startIndex = onSurveyNumbering ? value : 0;
49732
50402
  for (var i = 0; i < this.visiblePanelsCore.length; i++) {
49733
50403
  var counter = this.setPanelVisibleIndex(this.visiblePanelsCore[i], startIndex, this.showQuestionNumbers != "off");
49734
- if (this.showQuestionNumbers == "onSurvey") {
50404
+ if (onSurveyNumbering) {
49735
50405
  startIndex += counter;
49736
50406
  }
49737
50407
  }
49738
- _super.prototype.setVisibleIndex.call(this, this.showQuestionNumbers != "onSurvey" ? value : -1);
49739
- return this.showQuestionNumbers != "onSurvey" ? 1 : startIndex - value;
50408
+ _super.prototype.setVisibleIndex.call(this, !onSurveyNumbering ? value : -1);
50409
+ return !onSurveyNumbering ? 1 : startIndex - value;
49740
50410
  };
49741
50411
  QuestionPanelDynamicModel.prototype.setPanelVisibleIndex = function (panel, index, showIndex) {
49742
50412
  if (!showIndex) {
@@ -49914,9 +50584,20 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
49914
50584
  if (this.renderMode === "list" && this.panelsState !== "default") {
49915
50585
  newPanel.expand();
49916
50586
  }
49917
- newPanel.focusFirstQuestion();
50587
+ this.focusNewPanelCallback = function () {
50588
+ newPanel.focusFirstQuestion();
50589
+ };
50590
+ if (!this.isPanelsAnimationRunning) {
50591
+ this.focusNewPanel();
50592
+ }
49918
50593
  return newPanel;
49919
50594
  };
50595
+ QuestionPanelDynamicModel.prototype.focusNewPanel = function () {
50596
+ if (this.focusNewPanelCallback) {
50597
+ this.focusNewPanelCallback();
50598
+ this.focusNewPanelCallback = undefined;
50599
+ }
50600
+ };
49920
50601
  /**
49921
50602
  * Adds a new panel based on the [template](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#template).
49922
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.
@@ -50025,16 +50706,11 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50025
50706
  return;
50026
50707
  this.currentIndex--;
50027
50708
  };
50028
- /**
50029
- * Removes a dynamic panel from the panels array.
50030
- * @param value a panel or panel index
50031
- * @see panels
50032
- * @see template
50033
- */
50034
50709
  QuestionPanelDynamicModel.prototype.removePanel = function (value) {
50035
50710
  var visIndex = this.getVisualPanelIndex(value);
50036
50711
  if (visIndex < 0 || visIndex >= this.visiblePanelCount)
50037
50712
  return;
50713
+ this.removedPanelIndex = visIndex;
50038
50714
  var panel = this.visiblePanelsCore[visIndex];
50039
50715
  var index = this.panelsCore.indexOf(panel);
50040
50716
  if (index < 0)
@@ -50225,6 +50901,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50225
50901
  return;
50226
50902
  if (!force && this.wasNotRenderedInSurvey)
50227
50903
  return;
50904
+ this.blockAnimations();
50228
50905
  this.hasPanelBuildFirstTime = true;
50229
50906
  this.isBuildingPanelsFirstTime = true;
50230
50907
  if (this.getPropertyValue("panelCount") > 0) {
@@ -50247,6 +50924,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50247
50924
  }
50248
50925
  this.updateFooterActions();
50249
50926
  this.isBuildingPanelsFirstTime = false;
50927
+ this.releaseAnimations();
50250
50928
  };
50251
50929
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "wasNotRenderedInSurvey", {
50252
50930
  get: function () {
@@ -50792,7 +51470,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50792
51470
  };
50793
51471
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "cssHeader", {
50794
51472
  get: function () {
50795
- var showTab = this.isRenderModeTab && !!this.panelCount;
51473
+ var showTab = this.isRenderModeTab && !!this.visiblePanelCount;
50796
51474
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__["CssClassBuilder"]()
50797
51475
  .append(this.cssClasses.header)
50798
51476
  .append(this.cssClasses.headerTop, this.hasTitleOnTop || showTab)
@@ -50805,6 +51483,7 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50805
51483
  QuestionPanelDynamicModel.prototype.getPanelWrapperCss = function (panel) {
50806
51484
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__["CssClassBuilder"]()
50807
51485
  .append(this.cssClasses.panelWrapper, !panel || panel.visible)
51486
+ .append(this.cssClasses.panelWrapperList, this.isRenderModeList)
50808
51487
  .append(this.cssClasses.panelWrapperInRow, this.panelRemoveButtonLocation === "right")
50809
51488
  .toString();
50810
51489
  };
@@ -50863,6 +51542,13 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
50863
51542
  return true;
50864
51543
  return false;
50865
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
+ });
50866
51552
  QuestionPanelDynamicModel.prototype.getAdditionalTitleToolbar = function () {
50867
51553
  if (!this.isRenderModeTab)
50868
51554
  return null;
@@ -51043,13 +51729,15 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
51043
51729
  });
51044
51730
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "showNavigation", {
51045
51731
  get: function () {
51732
+ if (this.isReadOnly && this.visiblePanelCount == 1)
51733
+ return false;
51046
51734
  return this.visiblePanelCount > 0 && !this.showLegacyNavigation && !!this.cssClasses.footer;
51047
51735
  },
51048
51736
  enumerable: false,
51049
51737
  configurable: true
51050
51738
  });
51051
51739
  QuestionPanelDynamicModel.prototype.showSeparator = function (index) {
51052
- return this.isRenderModeList && index < this.visiblePanelCount - 1;
51740
+ return this.isRenderModeList && index < this.renderedPanels.length - 1;
51053
51741
  };
51054
51742
  QuestionPanelDynamicModel.prototype.calcCssClasses = function (css) {
51055
51743
  var classes = _super.prototype.calcCssClasses.call(this, css);
@@ -51063,6 +51751,9 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
51063
51751
  return classes;
51064
51752
  };
51065
51753
  QuestionPanelDynamicModel.maxCheckCount = 3;
51754
+ __decorate([
51755
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_5__["propertyArray"])({})
51756
+ ], QuestionPanelDynamicModel.prototype, "_renderedPanels", void 0);
51066
51757
  __decorate([
51067
51758
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_5__["property"])({ defaultValue: false, onSet: function (_, target) { target.updateFooterActions(); } })
51068
51759
  ], QuestionPanelDynamicModel.prototype, "legacyNavigation", void 0);
@@ -51362,6 +52053,7 @@ __webpack_require__.r(__webpack_exports__);
51362
52053
  /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./helpers */ "./src/helpers.ts");
51363
52054
  /* harmony import */ var _src_settings__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../src/settings */ "./src/settings.ts");
51364
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");
51365
52057
  var __extends = (undefined && undefined.__extends) || (function () {
51366
52058
  var extendStatics = function (d, b) {
51367
52059
  extendStatics = Object.setPrototypeOf ||
@@ -51394,6 +52086,7 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
51394
52086
 
51395
52087
 
51396
52088
 
52089
+
51397
52090
  /**
51398
52091
  * A class that describes the Ranking question type.
51399
52092
  *
@@ -51447,7 +52140,19 @@ var QuestionRankingModel = /** @class */ (function (_super) {
51447
52140
  if (_this.allowStartDrag &&
51448
52141
  _this.canStartDragDueMaxSelectedChoices(target) &&
51449
52142
  _this.canStartDragDueItemEnabled(choice)) {
51450
- _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);
51451
52156
  }
51452
52157
  };
51453
52158
  _this.handleKeydown = function (event, choice) {
@@ -51507,6 +52212,7 @@ var QuestionRankingModel = /** @class */ (function (_super) {
51507
52212
  _this.setDragDropRankingChoices();
51508
52213
  _this.updateRankingChoicesSync();
51509
52214
  });
52215
+ _this.dragOrClickHelper = new _utils_dragOrClickHelper__WEBPACK_IMPORTED_MODULE_11__["DragOrClickHelper"](_this.startDrag);
51510
52216
  return _this;
51511
52217
  }
51512
52218
  QuestionRankingModel.prototype.getDefaultItemComponent = function () {
@@ -51528,11 +52234,14 @@ var QuestionRankingModel = /** @class */ (function (_super) {
51528
52234
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_6__["CssClassBuilder"]()
51529
52235
  .append(this.cssClasses.root)
51530
52236
  .append(this.cssClasses.rootMobileMod, this.isMobileMode())
51531
- .append(this.cssClasses.rootDisabled, this.isReadOnly)
52237
+ .append(this.cssClasses.rootDisabled, this.isDisabledStyle)
52238
+ .append(this.cssClasses.rootReadOnly, this.isReadOnlyStyle)
52239
+ .append(this.cssClasses.rootPreview, this.isPreviewStyle)
51532
52240
  .append(this.cssClasses.rootDesignMode, !!this.isDesignMode)
51533
52241
  .append(this.cssClasses.itemOnError, this.hasCssError())
51534
52242
  .append(this.cssClasses.rootDragHandleAreaIcon, _src_settings__WEBPACK_IMPORTED_MODULE_9__["settings"].rankingDragHandleArea === "icon")
51535
52243
  .append(this.cssClasses.rootSelectToRankMod, this.selectToRankEnabled)
52244
+ .append(this.cssClasses.rootSelectToRankEmptyValueMod, this.isEmpty())
51536
52245
  .append(this.cssClasses.rootSelectToRankAlignHorizontal, this.selectToRankEnabled && this.renderedSelectToRankAreasLayout === "horizontal")
51537
52246
  .append(this.cssClasses.rootSelectToRankAlignVertical, this.selectToRankEnabled && this.renderedSelectToRankAreasLayout === "vertical")
51538
52247
  .toString();
@@ -51540,6 +52249,12 @@ var QuestionRankingModel = /** @class */ (function (_super) {
51540
52249
  enumerable: false,
51541
52250
  configurable: true
51542
52251
  });
52252
+ QuestionRankingModel.prototype.isItemSelectedCore = function (item) {
52253
+ if (this.selectToRankEnabled) {
52254
+ return _super.prototype.isItemSelectedCore.call(this, item);
52255
+ }
52256
+ return true;
52257
+ };
51543
52258
  QuestionRankingModel.prototype.getItemClassCore = function (item, options) {
51544
52259
  var itemIndex = this.rankingChoices.indexOf(item);
51545
52260
  var unrankedItemIndex = this.unRankingChoices.indexOf(item);
@@ -51600,9 +52315,9 @@ var QuestionRankingModel = /** @class */ (function (_super) {
51600
52315
  return this.isEmpty() ? "" : index + 1 + "";
51601
52316
  };
51602
52317
  QuestionRankingModel.prototype.updateRankingChoicesSync = function () {
51603
- this.animationAllowed = false;
52318
+ this.blockAnimations();
51604
52319
  this.updateRankingChoices();
51605
- this.animationAllowed = true;
52320
+ this.releaseAnimations();
51606
52321
  };
51607
52322
  QuestionRankingModel.prototype.setSurveyImpl = function (value, isLight) {
51608
52323
  _super.prototype.setSurveyImpl.call(this, value, isLight);
@@ -51645,7 +52360,7 @@ var QuestionRankingModel = /** @class */ (function (_super) {
51645
52360
  QuestionRankingModel.prototype.getChoicesAnimation = function (isRankingChoices) {
51646
52361
  var _this = this;
51647
52362
  return {
51648
- isAnimationEnabled: function () { return _src_settings__WEBPACK_IMPORTED_MODULE_9__["settings"].animationEnabled && _this.animationAllowed; },
52363
+ isAnimationEnabled: function () { return _this.animationAllowed; },
51649
52364
  getLeaveOptions: function (item) {
51650
52365
  var choices = isRankingChoices ? _this.rankingChoices : _this.unRankingChoices;
51651
52366
  if (_this.renderedSelectToRankAreasLayout == "vertical" && choices.length == 1 && choices.indexOf(item) >= 0) {
@@ -51813,10 +52528,13 @@ var QuestionRankingModel = /** @class */ (function (_super) {
51813
52528
  QuestionRankingModel.prototype.supportNone = function () { return false; };
51814
52529
  QuestionRankingModel.prototype.supportRefuse = function () { return false; };
51815
52530
  QuestionRankingModel.prototype.supportDontKnow = function () { return false; };
51816
- QuestionRankingModel.prototype.handleKeydownSelectToRank = function (event, movedElement) {
52531
+ QuestionRankingModel.prototype.handleKeydownSelectToRank = function (event, movedElement, hardKey, isNeedFocus) {
52532
+ if (isNeedFocus === void 0) { isNeedFocus = true; }
51817
52533
  if (this.isDesignMode)
51818
52534
  return;
51819
52535
  var key = event.key;
52536
+ if (hardKey)
52537
+ key = hardKey;
51820
52538
  if (key !== " " && key !== "ArrowUp" && key !== "ArrowDown")
51821
52539
  return;
51822
52540
  var dnd = this.dragDropRankingChoices; //????
@@ -51828,21 +52546,23 @@ var QuestionRankingModel = /** @class */ (function (_super) {
51828
52546
  return;
51829
52547
  var toIndex;
51830
52548
  if (key === " " && !isMovedElementRanked) {
51831
- toIndex = 0;
51832
- this.animationAllowed = false;
52549
+ if (!this.checkMaxSelectedChoicesUnreached() || !this.canStartDragDueItemEnabled(movedElement))
52550
+ return;
52551
+ toIndex = this.value.length;
52552
+ this.blockAnimations();
51833
52553
  dnd.selectToRank(this, fromIndex, toIndex);
51834
- this.animationAllowed = true;
51835
- this.setValueAfterKeydown(toIndex, "to-container");
52554
+ this.releaseAnimations();
52555
+ this.setValueAfterKeydown(toIndex, "to-container", isNeedFocus);
51836
52556
  return;
51837
52557
  }
51838
52558
  if (!isMovedElementRanked)
51839
52559
  return;
51840
52560
  if (key === " ") {
51841
- this.animationAllowed = false;
52561
+ this.blockAnimations();
51842
52562
  dnd.unselectFromRank(this, fromIndex);
51843
- this.animationAllowed = true;
52563
+ this.releaseAnimations();
51844
52564
  toIndex = this.unRankingChoices.indexOf(movedElement); //'this.' leads to actual array after the 'unselectFromRank' method
51845
- this.setValueAfterKeydown(toIndex, "from-container");
52565
+ this.setValueAfterKeydown(toIndex, "from-container", isNeedFocus);
51846
52566
  return;
51847
52567
  }
51848
52568
  var delta = key === "ArrowUp" ? -1 : (key === "ArrowDown" ? 1 : 0);
@@ -51852,15 +52572,18 @@ var QuestionRankingModel = /** @class */ (function (_super) {
51852
52572
  if (toIndex < 0 || toIndex >= rankingChoices.length)
51853
52573
  return;
51854
52574
  dnd.reorderRankedItem(this, fromIndex, toIndex);
51855
- this.setValueAfterKeydown(toIndex, "to-container");
52575
+ this.setValueAfterKeydown(toIndex, "to-container", isNeedFocus);
51856
52576
  };
51857
- QuestionRankingModel.prototype.setValueAfterKeydown = function (index, container) {
52577
+ QuestionRankingModel.prototype.setValueAfterKeydown = function (index, container, isNeedFocus) {
51858
52578
  var _this = this;
52579
+ if (isNeedFocus === void 0) { isNeedFocus = true; }
51859
52580
  this.setValue();
51860
- setTimeout(function () {
51861
- _this.focusItem(index, container);
51862
- }, 1);
51863
- event.preventDefault();
52581
+ if (isNeedFocus) {
52582
+ setTimeout(function () {
52583
+ _this.focusItem(index, container);
52584
+ }, 1);
52585
+ }
52586
+ event && event.preventDefault();
51864
52587
  };
51865
52588
  QuestionRankingModel.prototype.getIconHoverCss = function () {
51866
52589
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_6__["CssClassBuilder"]()
@@ -52204,19 +52927,23 @@ var QuestionRatingModel = /** @class */ (function (_super) {
52204
52927
  _this.updateRateCount();
52205
52928
  });
52206
52929
  _this.registerFunctionOnPropertiesValueChanged(["rateValues"], function () {
52207
- _this.autoGenerate = false;
52930
+ _this.setIconsToRateValues();
52931
+ _this.createRenderedRateItems();
52932
+ });
52933
+ _this.registerSychProperties(["rateValues"], function () {
52934
+ _this.autoGenerate = _this.rateValues.length == 0;
52208
52935
  _this.setIconsToRateValues();
52209
52936
  _this.createRenderedRateItems();
52210
52937
  });
52211
52938
  _this.registerFunctionOnPropertiesValueChanged(["rateColorMode", "scaleColorMode"], function () {
52212
52939
  _this.updateColors(_this.survey.themeVariables);
52213
52940
  });
52214
- _this.registerFunctionOnPropertiesValueChanged(["autoGenerate"], function () {
52941
+ _this.registerSychProperties(["autoGenerate"], function () {
52215
52942
  if (!_this.autoGenerate && _this.rateValues.length === 0) {
52216
52943
  _this.setPropertyValue("rateValues", _this.visibleRateValues);
52217
52944
  }
52218
52945
  if (_this.autoGenerate) {
52219
- _this.rateValues.length = 0;
52946
+ _this.rateValues.splice(0, _this.rateValues.length);
52220
52947
  _this.updateRateMax();
52221
52948
  }
52222
52949
  _this.createRenderedRateItems();
@@ -52542,6 +53269,13 @@ var QuestionRatingModel = /** @class */ (function (_super) {
52542
53269
  QuestionRatingModel.prototype.getInputId = function (index) {
52543
53270
  return this.inputId + "_" + index;
52544
53271
  };
53272
+ Object.defineProperty(QuestionRatingModel.prototype, "questionName", {
53273
+ get: function () {
53274
+ return this.name + "_" + this.id;
53275
+ },
53276
+ enumerable: false,
53277
+ configurable: true
53278
+ });
52545
53279
  QuestionRatingModel.prototype.supportGoNextPageAutomatic = function () {
52546
53280
  return this.isMouseDown === true || this.renderAs === "dropdown";
52547
53281
  };
@@ -52794,7 +53528,9 @@ var QuestionRatingModel = /** @class */ (function (_super) {
52794
53528
  };
52795
53529
  QuestionRatingModel.prototype.getItemStyle = function (item, highlight) {
52796
53530
  if (highlight === void 0) { highlight = "none"; }
52797
- if (this.scaleColorMode === "monochrome" && this.rateColorMode == "default")
53531
+ if (this.scaleColorMode === "monochrome" && this.rateColorMode == "default" ||
53532
+ this.isPreviewStyle ||
53533
+ this.isReadOnlyStyle)
52798
53534
  return { borderColor: null, fill: null, backgroundColor: null };
52799
53535
  var index = this.visibleRateValues.indexOf(item);
52800
53536
  var color = this.getRenderedItemColor(index, false);
@@ -52830,6 +53566,8 @@ var QuestionRatingModel = /** @class */ (function (_super) {
52830
53566
  var itemClass = this.cssClasses.item;
52831
53567
  var itemSelectedClass = this.cssClasses.selected;
52832
53568
  var itemDisabledClass = this.cssClasses.itemDisabled;
53569
+ var itemReadOnlyClass = this.cssClasses.itemReadOnly;
53570
+ var itemPreviewClass = this.cssClasses.itemPreview;
52833
53571
  var itemHoverClass = this.cssClasses.itemHover;
52834
53572
  var itemitemOnErrorClass = this.cssClasses.itemOnError;
52835
53573
  var itemHighlightedClass = null;
@@ -52841,6 +53579,8 @@ var QuestionRatingModel = /** @class */ (function (_super) {
52841
53579
  itemClass = this.cssClasses.itemStar;
52842
53580
  itemSelectedClass = this.cssClasses.itemStarSelected;
52843
53581
  itemDisabledClass = this.cssClasses.itemStarDisabled;
53582
+ itemReadOnlyClass = this.cssClasses.itemStarReadOnly;
53583
+ itemPreviewClass = this.cssClasses.itemStarPreview;
52844
53584
  itemHoverClass = this.cssClasses.itemStarHover;
52845
53585
  itemitemOnErrorClass = this.cssClasses.itemStarOnError;
52846
53586
  itemHighlightedClass = this.cssClasses.itemStarHighlighted;
@@ -52851,6 +53591,8 @@ var QuestionRatingModel = /** @class */ (function (_super) {
52851
53591
  itemClass = this.cssClasses.itemSmiley;
52852
53592
  itemSelectedClass = this.cssClasses.itemSmileySelected;
52853
53593
  itemDisabledClass = this.cssClasses.itemSmileyDisabled;
53594
+ itemReadOnlyClass = this.cssClasses.itemSmileyReadOnly;
53595
+ itemPreviewClass = this.cssClasses.itemSmileyPreview;
52854
53596
  itemHoverClass = this.cssClasses.itemSmileyHover;
52855
53597
  itemitemOnErrorClass = this.cssClasses.itemSmileyOnError;
52856
53598
  itemHighlightedClass = this.cssClasses.itemSmileyHighlighted;
@@ -52868,7 +53610,9 @@ var QuestionRatingModel = /** @class */ (function (_super) {
52868
53610
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_6__["CssClassBuilder"]()
52869
53611
  .append(itemClass)
52870
53612
  .append(itemSelectedClass, isSelected)
52871
- .append(itemDisabledClass, this.isReadOnly)
53613
+ .append(itemDisabledClass, this.isDisabledStyle)
53614
+ .append(itemReadOnlyClass, this.isReadOnlyStyle)
53615
+ .append(itemPreviewClass, this.isPreviewStyle)
52872
53616
  .append(itemHoverClass, allowHover)
52873
53617
  .append(itemHighlightedClass, isHighlighted)
52874
53618
  .append(itemScaleColoredClass, this.scaleColorMode == "colored")
@@ -53611,6 +54355,13 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
53611
54355
  enumerable: false,
53612
54356
  configurable: true
53613
54357
  });
54358
+ Object.defineProperty(QuestionSignaturePadModel.prototype, "locRenderedPlaceholder", {
54359
+ get: function () {
54360
+ return this.isReadOnly ? this.locPlaceholderReadOnly : this.locPlaceholder;
54361
+ },
54362
+ enumerable: false,
54363
+ configurable: true
54364
+ });
53614
54365
  QuestionSignaturePadModel.prototype.nothingIsDrawn = function () {
53615
54366
  var isDrawing = this.isDrawingValue;
53616
54367
  var isEmpty = this.isEmpty();
@@ -53672,6 +54423,9 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
53672
54423
  __decorate([
53673
54424
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ localizable: { defaultStr: "signaturePlaceHolder" } })
53674
54425
  ], QuestionSignaturePadModel.prototype, "placeholder", void 0);
54426
+ __decorate([
54427
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__["property"])({ localizable: { defaultStr: "signaturePlaceHolderReadOnly" } })
54428
+ ], QuestionSignaturePadModel.prototype, "placeholderReadOnly", void 0);
53675
54429
  return QuestionSignaturePadModel;
53676
54430
  }(_question_file__WEBPACK_IMPORTED_MODULE_5__["QuestionFileModelBase"]));
53677
54431
 
@@ -53728,6 +54482,13 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_0__["Serializer"].addClass("signaturepad",
53728
54482
  dependsOn: "showPlaceholder",
53729
54483
  visibleIf: function (obj) { return obj.showPlaceholder; }
53730
54484
  },
54485
+ {
54486
+ name: "placeholderReadOnly:text",
54487
+ serializationProperty: "locPlaceholderReadOnly",
54488
+ category: "general",
54489
+ dependsOn: "showPlaceholder",
54490
+ visibleIf: function (obj) { return obj.showPlaceholder; }
54491
+ },
53731
54492
  {
53732
54493
  name: "backgroundImage:file",
53733
54494
  category: "general",
@@ -53933,7 +54694,10 @@ var QuestionTagboxModel = /** @class */ (function (_super) {
53933
54694
  .append(this.cssClasses.control)
53934
54695
  .append(this.cssClasses.controlEmpty, this.isEmpty())
53935
54696
  .append(this.cssClasses.onError, this.hasCssError())
53936
- .append(this.cssClasses.controlDisabled, this.isReadOnly)
54697
+ .append(this.cssClasses.controlEditable, !this.isDisabledStyle && !this.isReadOnlyStyle && !this.isPreviewStyle)
54698
+ .append(this.cssClasses.controlDisabled, this.isDisabledStyle)
54699
+ .append(this.cssClasses.controlReadOnly, this.isReadOnlyStyle)
54700
+ .append(this.cssClasses.controlPreview, this.isPreviewStyle)
53937
54701
  .toString();
53938
54702
  };
53939
54703
  QuestionTagboxModel.prototype.onOpenedCallBack = function () {
@@ -54768,8 +55532,8 @@ var QuestionTextModel = /** @class */ (function (_super) {
54768
55532
  if (this.inputTextAlignment !== "auto") {
54769
55533
  style.textAlign = this.inputTextAlignment;
54770
55534
  }
54771
- else if (this.maskType === "numeric" || this.maskType === "currency") {
54772
- style.textAlign = "right";
55535
+ else if (this.maskSettings.getTextAlignment() !== "auto") {
55536
+ style.textAlign = this.maskSettings.getTextAlignment();
54773
55537
  }
54774
55538
  };
54775
55539
  QuestionTextModel.prototype.updateValueOnEvent = function (event) {
@@ -55230,7 +55994,9 @@ var QuestionTextBase = /** @class */ (function (_super) {
55230
55994
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__["CssClassBuilder"]()
55231
55995
  .append(this.cssClasses.root)
55232
55996
  .append(this.cssClasses.onError, this.hasCssError())
55233
- .append(this.cssClasses.controlDisabled, this.isReadOnly);
55997
+ .append(this.cssClasses.controlDisabled, this.isDisabledStyle)
55998
+ .append(this.cssClasses.controlReadOnly, this.isReadOnlyStyle)
55999
+ .append(this.cssClasses.controlPreview, this.isPreviewStyle);
55234
56000
  };
55235
56001
  QuestionTextBase.prototype.getControlClass = function () {
55236
56002
  return this.getControlCssClassBuilder().toString();
@@ -56922,7 +57688,6 @@ var SurveyElement = /** @class */ (function (_super) {
56922
57688
  }
56923
57689
  }
56924
57690
  }, function () { return _this.renderedIsExpanded; });
56925
- _this.animationAllowedValue = true;
56926
57691
  _this.name = name;
56927
57692
  _this.createNewArray("errors");
56928
57693
  _this.createNewArray("titleActions");
@@ -56958,7 +57723,7 @@ var SurveyElement = /** @class */ (function (_super) {
56958
57723
  var el = root.getElementById(elementId);
56959
57724
  return SurveyElement.ScrollElementToViewCore(el, false, scrollIfVisible);
56960
57725
  };
56961
- SurveyElement.ScrollElementToViewCore = function (el, checkLeft, scrollIfVisible) {
57726
+ SurveyElement.ScrollElementToViewCore = function (el, checkLeft, scrollIfVisible, scrollIntoViewOptions) {
56962
57727
  if (!el || !el.scrollIntoView)
56963
57728
  return false;
56964
57729
  var elTop = scrollIfVisible ? -1 : el.getBoundingClientRect().top;
@@ -56977,7 +57742,7 @@ var SurveyElement = /** @class */ (function (_super) {
56977
57742
  }
56978
57743
  }
56979
57744
  if (needScroll) {
56980
- el.scrollIntoView();
57745
+ el.scrollIntoView(scrollIntoViewOptions);
56981
57746
  }
56982
57747
  return needScroll;
56983
57748
  };
@@ -57753,11 +58518,14 @@ var SurveyElement = /** @class */ (function (_super) {
57753
58518
  enumerable: false,
57754
58519
  configurable: true
57755
58520
  });
58521
+ SurveyElement.prototype.canHaveFrameStyles = function () {
58522
+ return (this.parent !== undefined && (!this.hasParent || this.parent && this.parent.showPanelAsPage));
58523
+ };
57756
58524
  SurveyElement.prototype.getHasFrameV2 = function () {
57757
- return this.shouldAddRunnerStyles() && (!this.hasParent);
58525
+ return this.shouldAddRunnerStyles() && this.canHaveFrameStyles();
57758
58526
  };
57759
58527
  SurveyElement.prototype.getIsNested = function () {
57760
- return this.shouldAddRunnerStyles() && (this.hasParent);
58528
+ return this.shouldAddRunnerStyles() && !this.canHaveFrameStyles();
57761
58529
  };
57762
58530
  SurveyElement.prototype.getCssRoot = function (cssClasses) {
57763
58531
  var isExpanadable = !!this.isCollapsed || !!this.isExpanded;
@@ -57958,6 +58726,13 @@ var SurveyElement = /** @class */ (function (_super) {
57958
58726
  this.toggleState();
57959
58727
  }
57960
58728
  };
58729
+ Object.defineProperty(SurveyElement.prototype, "hasAdditionalTitleToolbar", {
58730
+ get: function () {
58731
+ return false;
58732
+ },
58733
+ enumerable: false,
58734
+ configurable: true
58735
+ });
57961
58736
  Object.defineProperty(SurveyElement.prototype, "additionalTitleToolbar", {
57962
58737
  get: function () {
57963
58738
  return this.getAdditionalTitleToolbar();
@@ -57977,9 +58752,38 @@ var SurveyElement = /** @class */ (function (_super) {
57977
58752
  .append(cssClasses.titleExpandable, isExpandable)
57978
58753
  .append(cssClasses.titleExpanded, this.isExpanded)
57979
58754
  .append(cssClasses.titleCollapsed, this.isCollapsed)
57980
- .append(cssClasses.titleDisabled, this.isReadOnly)
58755
+ .append(cssClasses.titleDisabled, this.isDisabledStyle)
58756
+ .append(cssClasses.titleReadOnly, this.isReadOnly)
57981
58757
  .append(cssClasses.titleOnError, this.containsErrors).toString();
57982
58758
  };
58759
+ Object.defineProperty(SurveyElement.prototype, "isDisabledStyle", {
58760
+ get: function () {
58761
+ return this.getIsDisableAndReadOnlyStyles(false)[1];
58762
+ },
58763
+ enumerable: false,
58764
+ configurable: true
58765
+ });
58766
+ Object.defineProperty(SurveyElement.prototype, "isReadOnlyStyle", {
58767
+ get: function () {
58768
+ return this.getIsDisableAndReadOnlyStyles(false)[0];
58769
+ },
58770
+ enumerable: false,
58771
+ configurable: true
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
+ };
58780
+ Object.defineProperty(SurveyElement.prototype, "isPreviewStyle", {
58781
+ get: function () {
58782
+ return !!this.survey && this.survey.state === "preview";
58783
+ },
58784
+ enumerable: false,
58785
+ configurable: true
58786
+ });
57983
58787
  SurveyElement.prototype.localeChanged = function () {
57984
58788
  _super.prototype.localeChanged.call(this);
57985
58789
  this.updateDescriptionVisibility(this.description);
@@ -58039,12 +58843,12 @@ var SurveyElement = /** @class */ (function (_super) {
58039
58843
  if (cssClasses.content) {
58040
58844
  var selector = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__["classesToSelector"])(cssClasses.content);
58041
58845
  if (selector) {
58042
- 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);
58043
58847
  }
58044
58848
  }
58045
58849
  return undefined;
58046
58850
  },
58047
- isAnimationEnabled: function () { return _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].animationEnabled && _this.animationAllowed && !_this.isDesignMode; }
58851
+ isAnimationEnabled: function () { return _this.animationAllowed && !_this.isDesignMode; }
58048
58852
  };
58049
58853
  };
58050
58854
  Object.defineProperty(SurveyElement.prototype, "renderedIsExpanded", {
@@ -58057,16 +58861,9 @@ var SurveyElement = /** @class */ (function (_super) {
58057
58861
  enumerable: false,
58058
58862
  configurable: true
58059
58863
  });
58060
- Object.defineProperty(SurveyElement.prototype, "animationAllowed", {
58061
- get: function () {
58062
- return !this.isLoadingFromJson && !this.isDisposed && !!this.survey && this.animationAllowedValue;
58063
- },
58064
- set: function (val) {
58065
- this.animationAllowedValue = val;
58066
- },
58067
- enumerable: false,
58068
- configurable: true
58069
- });
58864
+ SurveyElement.prototype.getIsAnimationAllowed = function () {
58865
+ return _super.prototype.getIsAnimationAllowed.call(this) && !!this.survey;
58866
+ };
58070
58867
  SurveyElement.prototype.dispose = function () {
58071
58868
  _super.prototype.dispose.call(this);
58072
58869
  if (this.titleToolbarValue) {
@@ -61572,7 +62369,7 @@ var SurveyModel = /** @class */ (function (_super) {
61572
62369
  }
61573
62370
  this.getAllQuestions().forEach(function (q) {
61574
62371
  if (q.hasFilteredValue) {
61575
- values[q.getValueName()] = q.getFilteredValue();
62372
+ values[q.getFilteredName()] = q.getFilteredValue();
61576
62373
  }
61577
62374
  });
61578
62375
  return values;
@@ -63481,7 +64278,7 @@ var SurveyModel = /** @class */ (function (_super) {
63481
64278
  });
63482
64279
  SurveyModel.prototype.updateProgressText = function (onValueChanged) {
63483
64280
  if (onValueChanged === void 0) { onValueChanged = false; }
63484
- if (this.isCalculatingProgressText)
64281
+ if (this.isCalculatingProgressText || this.isShowingPreview || this.isLockingUpdateOnPageModes)
63485
64282
  return;
63486
64283
  if (onValueChanged &&
63487
64284
  this.progressBarType == "pages" &&
@@ -64672,6 +65469,7 @@ var SurveyModel = /** @class */ (function (_super) {
64672
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)).
64673
65470
  */
64674
65471
  SurveyModel.prototype.sendResult = function (postId, clientId, isPartial) {
65472
+ var _this = this;
64675
65473
  if (postId === void 0) { postId = null; }
64676
65474
  if (clientId === void 0) { clientId = null; }
64677
65475
  if (isPartial === void 0) { isPartial = false; }
@@ -64690,24 +65488,23 @@ var SurveyModel = /** @class */ (function (_super) {
64690
65488
  }
64691
65489
  if (isPartial && !this.clientId)
64692
65490
  return;
64693
- var self = this;
64694
- if (this.surveyShowDataSaving) {
65491
+ var service = this.createSurveyService();
65492
+ service.locale = this.getLocale();
65493
+ var showSaving = this.surveyShowDataSaving || (!isPartial && service.isSurveJSIOService);
65494
+ if (showSaving) {
64695
65495
  this.setCompletedState("saving", "");
64696
65496
  }
64697
- this.createSurveyService().sendResult(postId, this.data, function (success, response, request) {
64698
- if (self.surveyShowDataSaving) {
65497
+ service.sendResult(postId, this.data, function (success, response, request) {
65498
+ if (showSaving || service.isSurveJSIOService) {
64699
65499
  if (success) {
64700
- self.setCompletedState("success", "");
65500
+ _this.setCompletedState("success", "");
64701
65501
  }
64702
65502
  else {
64703
- self.setCompletedState("error", response);
65503
+ _this.setCompletedState("error", response);
64704
65504
  }
64705
65505
  }
64706
- self.onSendResult.fire(self, {
64707
- success: success,
64708
- response: response,
64709
- request: request,
64710
- });
65506
+ var options = { success: success, response: response, request: request };
65507
+ _this.onSendResult.fire(_this, options);
64711
65508
  }, this.clientId, isPartial);
64712
65509
  };
64713
65510
  /**
@@ -64779,7 +65576,7 @@ var SurveyModel = /** @class */ (function (_super) {
64779
65576
  this.updateVisibleIndexes();
64780
65577
  };
64781
65578
  SurveyModel.prototype.updateVisibleIndexes = function () {
64782
- if (this.isLoadingFromJson || !!this.isEndLoadingFromJson)
65579
+ if (this.isLoadingFromJson || !!this.isEndLoadingFromJson || this.isLockingUpdateOnPageModes)
64783
65580
  return;
64784
65581
  if (this.isRunningConditions &&
64785
65582
  this.onQuestionVisibleChanged.isEmpty &&
@@ -65345,7 +66142,7 @@ var SurveyModel = /** @class */ (function (_super) {
65345
66142
  if (locNotification !== "text") {
65346
66143
  this.tryGoNextPageAutomatic(name);
65347
66144
  }
65348
- var question = this.getQuestionByName(name);
66145
+ var question = this.getQuestionByValueName(name);
65349
66146
  if (question) {
65350
66147
  this.onValueChanged.fire(this, {
65351
66148
  name: commentName,
@@ -65386,8 +66183,10 @@ var SurveyModel = /** @class */ (function (_super) {
65386
66183
  return questionClearIf;
65387
66184
  return this.clearInvisibleValues;
65388
66185
  };
65389
- SurveyModel.prototype.questionVisibilityChanged = function (question, newValue) {
65390
- this.updateVisibleIndexes();
66186
+ SurveyModel.prototype.questionVisibilityChanged = function (question, newValue, resetIndexes) {
66187
+ if (resetIndexes) {
66188
+ this.updateVisibleIndexes();
66189
+ }
65391
66190
  this.onQuestionVisibleChanged.fire(this, {
65392
66191
  question: question,
65393
66192
  name: question.name,
@@ -68346,6 +69145,9 @@ var SurveyTriggerRunExpression = /** @class */ (function (_super) {
68346
69145
  enumerable: false,
68347
69146
  configurable: true
68348
69147
  });
69148
+ SurveyTriggerRunExpression.prototype.canBeExecuted = function (isOnNextPage) {
69149
+ return !isOnNextPage;
69150
+ };
68349
69151
  SurveyTriggerRunExpression.prototype.onSuccess = function (values, properties) {
68350
69152
  var _this = this;
68351
69153
  if (!this.owner || !this.runExpression)
@@ -68469,7 +69271,7 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_2__["Serializer"].addClass("runexpressiontr
68469
69271
  /*!********************************!*\
68470
69272
  !*** ./src/utils/animation.ts ***!
68471
69273
  \********************************/
68472
- /*! exports provided: AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationBoolean, AnimationGroup */
69274
+ /*! exports provided: AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab */
68473
69275
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
68474
69276
 
68475
69277
  "use strict";
@@ -68477,8 +69279,10 @@ __webpack_require__.r(__webpack_exports__);
68477
69279
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationUtils", function() { return AnimationUtils; });
68478
69280
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationPropertyUtils", function() { return AnimationPropertyUtils; });
68479
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; });
68480
69283
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationBoolean", function() { return AnimationBoolean; });
68481
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; });
68482
69286
  /* harmony import */ var _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../global_variables_utils */ "./src/global_variables_utils.ts");
68483
69287
  /* harmony import */ var _taskmanager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./taskmanager */ "./src/utils/taskmanager.ts");
68484
69288
  var __extends = (undefined && undefined.__extends) || (function () {
@@ -68507,6 +69311,9 @@ var AnimationUtils = /** @class */ (function () {
68507
69311
  return 0;
68508
69312
  return Number(value.slice(0, -1).replace(",", ".")) * 1000;
68509
69313
  };
69314
+ AnimationUtils.prototype.reflow = function (element) {
69315
+ return element.offsetHeight;
69316
+ };
68510
69317
  AnimationUtils.prototype.getAnimationsCount = function (element) {
68511
69318
  var animationName = "";
68512
69319
  if (getComputedStyle) {
@@ -68524,6 +69331,14 @@ var AnimationUtils = /** @class */ (function () {
68524
69331
  }
68525
69332
  return duration;
68526
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
+ };
68527
69342
  AnimationUtils.prototype.onAnimationEnd = function (element, callback, options) {
68528
69343
  var _this = this;
68529
69344
  var cancelTimeout;
@@ -68533,7 +69348,7 @@ var AnimationUtils = /** @class */ (function () {
68533
69348
  options.onAfterRunAnimation && options.onAfterRunAnimation(element);
68534
69349
  callback(isCancel);
68535
69350
  clearTimeout(cancelTimeout);
68536
- _this.cancelQueue.splice(_this.cancelQueue.indexOf(onEndCallback), 1);
69351
+ _this.removeCancelCallback(onEndCallback);
68537
69352
  element.removeEventListener("animationend", onAnimationEndCallback);
68538
69353
  };
68539
69354
  var onAnimationEndCallback = function (event) {
@@ -68543,7 +69358,7 @@ var AnimationUtils = /** @class */ (function () {
68543
69358
  };
68544
69359
  if (animationsCount > 0) {
68545
69360
  element.addEventListener("animationend", onAnimationEndCallback);
68546
- this.cancelQueue.push(onEndCallback);
69361
+ this.addCancelCallback(onEndCallback);
68547
69362
  cancelTimeout = setTimeout(function () {
68548
69363
  onEndCallback(false);
68549
69364
  }, this.getAnimationDuration(element) + 10);
@@ -68553,40 +69368,51 @@ var AnimationUtils = /** @class */ (function () {
68553
69368
  }
68554
69369
  };
68555
69370
  AnimationUtils.prototype.beforeAnimationRun = function (element, options) {
68556
- if (element) {
69371
+ if (element && options) {
68557
69372
  options.onBeforeRunAnimation && options.onBeforeRunAnimation(element);
68558
69373
  }
68559
69374
  };
68560
- AnimationUtils.prototype.runLeaveAnimation = function (element, options, callback) {
69375
+ AnimationUtils.prototype.runAnimation = function (element, options, callback) {
68561
69376
  if (element && options.cssClass) {
69377
+ this.reflow(element);
68562
69378
  element.classList.add(options.cssClass);
68563
- 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 () {
68564
69395
  callback();
68565
- if (isCancel) {
68566
- 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);
68567
69402
  }
68568
69403
  else {
68569
- _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(function () {
68570
- _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(function () {
68571
- element.classList.remove(options.cssClass);
68572
- });
69404
+ latestRAF_1 = _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(function () {
69405
+ callback();
69406
+ _this.removeCancelCallback(cancelCallback_1);
68573
69407
  });
68574
69408
  }
68575
- };
68576
- this.onAnimationEnd(element, onAnimationEndCallback, options);
69409
+ });
69410
+ this.addCancelCallback(cancelCallback_1);
68577
69411
  }
68578
69412
  else {
68579
69413
  callback();
68580
69414
  }
68581
69415
  };
68582
- AnimationUtils.prototype.runEnterAnimation = function (element, options) {
68583
- if (element && options.cssClass) {
68584
- element.classList.add(options.cssClass);
68585
- this.onAnimationEnd(element, function () {
68586
- element.classList.remove(options.cssClass);
68587
- }, options);
68588
- }
68589
- };
68590
69416
  AnimationUtils.prototype.cancel = function () {
68591
69417
  var cancelQueue = [].concat(this.cancelQueue);
68592
69418
  cancelQueue.forEach(function (callback) { return callback(); });
@@ -68600,26 +69426,28 @@ var AnimationPropertyUtils = /** @class */ (function (_super) {
68600
69426
  function AnimationPropertyUtils() {
68601
69427
  return _super !== null && _super.apply(this, arguments) || this;
68602
69428
  }
68603
- AnimationPropertyUtils.prototype.onEnter = function (getElement, options) {
69429
+ AnimationPropertyUtils.prototype.onEnter = function (options) {
68604
69430
  var _this = this;
68605
- var callback = function () {
68606
- var element = getElement();
68607
- _this.beforeAnimationRun(element, options);
68608
- _this.runEnterAnimation(element, options);
68609
- };
68610
- _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(function () {
68611
- if (getElement()) {
68612
- callback();
68613
- }
68614
- else {
68615
- _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(callback);
68616
- }
68617
- });
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(); });
68618
69439
  };
68619
- AnimationPropertyUtils.prototype.onLeave = function (getElement, callback, options) {
68620
- var element = getElement();
68621
- this.beforeAnimationRun(element, options);
68622
- 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
+ });
68623
69451
  };
68624
69452
  return AnimationPropertyUtils;
68625
69453
  }(AnimationUtils));
@@ -68629,41 +69457,40 @@ var AnimationGroupUtils = /** @class */ (function (_super) {
68629
69457
  function AnimationGroupUtils() {
68630
69458
  return _super !== null && _super.apply(this, arguments) || this;
68631
69459
  }
68632
- AnimationGroupUtils.prototype.onEnter = function (getElement, getOptions, elements) {
69460
+ AnimationGroupUtils.prototype.runGroupAnimation = function (options, addedElements, removedElements, callback) {
68633
69461
  var _this = this;
68634
- if (elements.length == 0)
68635
- return;
68636
- _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(function () {
68637
- var callback = function () {
68638
- elements.forEach(function (el) {
68639
- _this.beforeAnimationRun(getElement(el), getOptions(el));
68640
- });
68641
- elements.forEach(function (el) {
68642
- _this.runEnterAnimation(getElement(el), getOptions(el));
68643
- });
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
+ }
68644
69486
  };
68645
- if (!getElement(elements[0])) {
68646
- _global_variables_utils__WEBPACK_IMPORTED_MODULE_0__["DomWindowHelper"].requestAnimationFrame(callback);
68647
- }
68648
- else {
68649
- callback();
68650
- }
68651
- });
68652
- };
68653
- AnimationGroupUtils.prototype.onLeave = function (getElement, callback, getOptions, elements) {
68654
- var _this = this;
68655
- elements.forEach(function (el) {
68656
- _this.beforeAnimationRun(getElement(el), getOptions(el));
68657
- });
68658
- var counter = elements.length;
68659
- var onEndCallback = function () {
68660
- if (--counter <= 0) {
68661
- callback();
68662
- }
68663
- };
68664
- elements.forEach(function (el) {
68665
- _this.runLeaveAnimation(getElement(el), getOptions(el), onEndCallback);
68666
- });
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); }); });
68667
69494
  };
68668
69495
  return AnimationGroupUtils;
68669
69496
  }(AnimationUtils));
@@ -68684,6 +69511,7 @@ var AnimationProperty = /** @class */ (function () {
68684
69511
  this._debouncedSync.run(newValue);
68685
69512
  }
68686
69513
  else {
69514
+ this.cancel();
68687
69515
  this.update(newValue);
68688
69516
  }
68689
69517
  };
@@ -68693,6 +69521,7 @@ var AnimationProperty = /** @class */ (function () {
68693
69521
  };
68694
69522
  return AnimationProperty;
68695
69523
  }());
69524
+
68696
69525
  var AnimationBoolean = /** @class */ (function (_super) {
68697
69526
  __extends(AnimationBoolean, _super);
68698
69527
  function AnimationBoolean() {
@@ -68705,12 +69534,12 @@ var AnimationBoolean = /** @class */ (function (_super) {
68705
69534
  if (newValue !== this.getCurrentValue()) {
68706
69535
  if (newValue) {
68707
69536
  this.update(newValue);
68708
- this.animation.onEnter(function () { return _this.animationOptions.getAnimatedElement(); }, this.animationOptions.getEnterOptions());
69537
+ this.animation.onEnter(this.animationOptions);
68709
69538
  }
68710
69539
  else {
68711
- this.animation.onLeave(function () { return _this.animationOptions.getAnimatedElement(); }, function () {
69540
+ this.animation.onLeave(this.animationOptions, function () {
68712
69541
  _this.update(newValue);
68713
- }, this.animationOptions.getLeaveOptions());
69542
+ });
68714
69543
  }
68715
69544
  }
68716
69545
  else {
@@ -68732,19 +69561,42 @@ var AnimationGroup = /** @class */ (function (_super) {
68732
69561
  var oldValue = this.getCurrentValue();
68733
69562
  var itemsToAdd = newValue.filter(function (el) { return oldValue.indexOf(el) < 0; });
68734
69563
  var deletedItems = oldValue.filter(function (el) { return newValue.indexOf(el) < 0; });
68735
- this.animation.onEnter(function (el) { return _this.animationOptions.getAnimatedElement(el); }, function (el) { return _this.animationOptions.getEnterOptions(el); }, itemsToAdd);
68736
69564
  if (itemsToAdd.length == 0 && (deletedItems === null || deletedItems === void 0 ? void 0 : deletedItems.length) > 0) {
68737
- this.animation.onLeave(function (el) { return _this.animationOptions.getAnimatedElement(el); }, function () {
68738
- _this.update(newValue);
68739
- }, function (el) { return _this.animationOptions.getLeaveOptions(el); }, deletedItems);
69565
+ this.animation.runGroupAnimation(this.animationOptions, [], deletedItems, function () { return _this.update(newValue); });
68740
69566
  }
68741
69567
  else {
68742
69568
  this.update(newValue);
69569
+ this.animation.runGroupAnimation(this.animationOptions, itemsToAdd, []);
68743
69570
  }
68744
69571
  };
68745
69572
  return AnimationGroup;
68746
69573
  }(AnimationProperty));
68747
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
+
68748
69600
 
68749
69601
 
68750
69602
  /***/ }),