survey-creator-core 2.3.10 → 2.3.12

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 (144) hide show
  1. package/fesm/i18n/arabic.mjs +1 -1
  2. package/fesm/i18n/bulgarian.mjs +1 -1
  3. package/fesm/i18n/burmese.mjs +1 -1
  4. package/fesm/i18n/croatian.mjs +1 -1
  5. package/fesm/i18n/czech.mjs +1 -1
  6. package/fesm/i18n/danish.mjs +1 -1
  7. package/fesm/i18n/dutch.mjs +1 -1
  8. package/fesm/i18n/english.mjs +1 -1
  9. package/fesm/i18n/finnish.mjs +1 -1
  10. package/fesm/i18n/french.mjs +1 -1
  11. package/fesm/i18n/german.mjs +1 -1
  12. package/fesm/i18n/greek.mjs +1 -1
  13. package/fesm/i18n/haitian-creole.mjs +1 -1
  14. package/fesm/i18n/hebrew.mjs +1 -1
  15. package/fesm/i18n/hungarian.mjs +1 -1
  16. package/fesm/i18n/index.mjs +1 -1
  17. package/fesm/i18n/indonesian.mjs +1 -1
  18. package/fesm/i18n/italian.mjs +1 -1
  19. package/fesm/i18n/japanese.mjs +1 -1
  20. package/fesm/i18n/korean.mjs +1 -1
  21. package/fesm/i18n/malay.mjs +1 -1
  22. package/fesm/i18n/mongolian.mjs +1 -1
  23. package/fesm/i18n/norwegian.mjs +1 -1
  24. package/fesm/i18n/persian.mjs +1 -1
  25. package/fesm/i18n/polish.mjs +1 -1
  26. package/fesm/i18n/portuguese.mjs +1 -1
  27. package/fesm/i18n/romanian.mjs +1 -1
  28. package/fesm/i18n/russian.mjs +1 -1
  29. package/fesm/i18n/simplified-chinese.mjs +1 -1
  30. package/fesm/i18n/slovak.mjs +1 -1
  31. package/fesm/i18n/slovenian.mjs +1 -1
  32. package/fesm/i18n/spanish.mjs +1 -1
  33. package/fesm/i18n/swedish.mjs +1 -1
  34. package/fesm/i18n/tajik.mjs +1 -1
  35. package/fesm/i18n/thai.mjs +1 -1
  36. package/fesm/i18n/traditional-chinese.mjs +1 -1
  37. package/fesm/i18n/turkish.mjs +1 -1
  38. package/fesm/survey-creator-core.i18n.mjs +1 -1
  39. package/fesm/survey-creator-core.mjs +215 -37
  40. package/fesm/survey-creator-core.mjs.map +1 -1
  41. package/fesm/themes/index.mjs +1 -1
  42. package/fonts.fontless.css +1 -1
  43. package/fonts.fontless.min.css +1 -1
  44. package/i18n/arabic.js +1 -1
  45. package/i18n/arabic.min.js.LICENSE.txt +1 -1
  46. package/i18n/bulgarian.js +1 -1
  47. package/i18n/bulgarian.min.js.LICENSE.txt +1 -1
  48. package/i18n/burmese.js +1 -1
  49. package/i18n/burmese.min.js.LICENSE.txt +1 -1
  50. package/i18n/croatian.js +1 -1
  51. package/i18n/croatian.min.js.LICENSE.txt +1 -1
  52. package/i18n/czech.js +1 -1
  53. package/i18n/czech.min.js.LICENSE.txt +1 -1
  54. package/i18n/danish.js +1 -1
  55. package/i18n/danish.min.js.LICENSE.txt +1 -1
  56. package/i18n/dutch.js +1 -1
  57. package/i18n/dutch.min.js.LICENSE.txt +1 -1
  58. package/i18n/english.js +1 -1
  59. package/i18n/english.min.js.LICENSE.txt +1 -1
  60. package/i18n/finnish.js +1 -1
  61. package/i18n/finnish.min.js.LICENSE.txt +1 -1
  62. package/i18n/french.js +1 -1
  63. package/i18n/french.min.js.LICENSE.txt +1 -1
  64. package/i18n/german.js +1 -1
  65. package/i18n/german.min.js.LICENSE.txt +1 -1
  66. package/i18n/greek.js +1 -1
  67. package/i18n/greek.min.js.LICENSE.txt +1 -1
  68. package/i18n/haitian-creole.js +1 -1
  69. package/i18n/haitian-creole.min.js.LICENSE.txt +1 -1
  70. package/i18n/hebrew.js +1 -1
  71. package/i18n/hebrew.min.js.LICENSE.txt +1 -1
  72. package/i18n/hungarian.js +1 -1
  73. package/i18n/hungarian.min.js.LICENSE.txt +1 -1
  74. package/i18n/index.js +1 -1
  75. package/i18n/index.min.js.LICENSE.txt +1 -1
  76. package/i18n/indonesian.js +1 -1
  77. package/i18n/indonesian.min.js.LICENSE.txt +1 -1
  78. package/i18n/italian.js +1 -1
  79. package/i18n/italian.min.js.LICENSE.txt +1 -1
  80. package/i18n/japanese.js +1 -1
  81. package/i18n/japanese.min.js.LICENSE.txt +1 -1
  82. package/i18n/korean.js +1 -1
  83. package/i18n/korean.min.js.LICENSE.txt +1 -1
  84. package/i18n/malay.js +1 -1
  85. package/i18n/malay.min.js.LICENSE.txt +1 -1
  86. package/i18n/mongolian.js +1 -1
  87. package/i18n/mongolian.min.js.LICENSE.txt +1 -1
  88. package/i18n/norwegian.js +1 -1
  89. package/i18n/norwegian.min.js.LICENSE.txt +1 -1
  90. package/i18n/persian.js +1 -1
  91. package/i18n/persian.min.js.LICENSE.txt +1 -1
  92. package/i18n/polish.js +1 -1
  93. package/i18n/polish.min.js.LICENSE.txt +1 -1
  94. package/i18n/portuguese.js +1 -1
  95. package/i18n/portuguese.min.js.LICENSE.txt +1 -1
  96. package/i18n/romanian.js +1 -1
  97. package/i18n/romanian.min.js.LICENSE.txt +1 -1
  98. package/i18n/russian.js +1 -1
  99. package/i18n/russian.min.js.LICENSE.txt +1 -1
  100. package/i18n/simplified-chinese.js +1 -1
  101. package/i18n/simplified-chinese.min.js.LICENSE.txt +1 -1
  102. package/i18n/slovak.js +1 -1
  103. package/i18n/slovak.min.js.LICENSE.txt +1 -1
  104. package/i18n/slovenian.js +1 -1
  105. package/i18n/slovenian.min.js.LICENSE.txt +1 -1
  106. package/i18n/spanish.js +1 -1
  107. package/i18n/spanish.min.js.LICENSE.txt +1 -1
  108. package/i18n/swedish.js +1 -1
  109. package/i18n/swedish.min.js.LICENSE.txt +1 -1
  110. package/i18n/tajik.js +1 -1
  111. package/i18n/tajik.min.js.LICENSE.txt +1 -1
  112. package/i18n/thai.js +1 -1
  113. package/i18n/thai.min.js.LICENSE.txt +1 -1
  114. package/i18n/traditional-chinese.js +1 -1
  115. package/i18n/traditional-chinese.min.js.LICENSE.txt +1 -1
  116. package/i18n/turkish.js +1 -1
  117. package/i18n/turkish.min.js.LICENSE.txt +1 -1
  118. package/package.json +2 -2
  119. package/survey-creator-core.css +9 -2
  120. package/survey-creator-core.fontless.css +8 -1
  121. package/survey-creator-core.fontless.css.map +1 -1
  122. package/survey-creator-core.fontless.min.css +3 -3
  123. package/survey-creator-core.i18n.js +1 -1
  124. package/survey-creator-core.i18n.min.js.LICENSE.txt +1 -1
  125. package/survey-creator-core.js +233 -34
  126. package/survey-creator-core.js.map +1 -1
  127. package/survey-creator-core.min.css +4 -4
  128. package/survey-creator-core.min.js +1 -1
  129. package/survey-creator-core.min.js.LICENSE.txt +1 -1
  130. package/themes/default-contrast.js +1 -1
  131. package/themes/default-contrast.min.js.LICENSE.txt +1 -1
  132. package/themes/default-dark.js +1 -1
  133. package/themes/default-dark.min.js.LICENSE.txt +1 -1
  134. package/themes/index.js +1 -1
  135. package/themes/index.min.js.LICENSE.txt +1 -1
  136. package/themes/sc2020.js +1 -1
  137. package/themes/sc2020.min.js.LICENSE.txt +1 -1
  138. package/typings/components/item-value.d.ts +12 -1
  139. package/typings/creator-base.d.ts +17 -1
  140. package/typings/creator-options.d.ts +12 -0
  141. package/typings/creator-settings.d.ts +2 -0
  142. package/typings/dragdrop-survey-elements.d.ts +0 -1
  143. package/typings/expand-collapse-manager.d.ts +13 -1
  144. package/typings/survey-helper.d.ts +4 -1
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * SurveyJS Creator v2.3.10
2
+ * SurveyJS Creator v2.3.12
3
3
  * (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * Github: https://github.com/surveyjs/survey-creator
5
5
  * License: https://surveyjs.io/Licenses#SurveyCreator
6
6
  */
7
7
 
8
8
  import * as Survey from 'survey-core';
9
- import { surveyLocalization, Serializer, SurveyModel, Helpers, QuestionFactory, CustomWidgetCollection, defaultCss, settings as settings$1, MatrixDropdownColumn, ItemValue, JsonError, property, Base, Action, ComputedUpdater, ActionContainer, propertyArray, CssClassBuilder, AdaptiveActionContainer, UpdateResponsivenessMode, AnimationBoolean, DragOrClickHelper, ElementFactory, ComponentCollection, JsonObject, VerticalResponsivityManager, ListModel, EventBase, createDropdownActionModel, surveyCss, defaultThemeName, ConditionsParser, SurveyTrigger, QuestionMatrixDropdownModelBase, QuestionPanelDynamicModel, ConditionRunner, ExpressionRunner, FunctionFactory, QuestionButtonGroupModel, QuestionTextBase, ResponsivityManager, LocalizableString, PageModel, QuestionCommentModel, createPopupModelWithListModel, defaultActionBarCss, createDropdownActionModelAdvanced, PopupModel, getActionDropdownButtonTarget, prepareElementForVerticalAnimation, cleanHtmlElementAfterAnimation, DragDropCore, getIconNameFromProxy, AnimationGroup, activateLazyRenderingChecks, CharacterCounter, QuestionImagePickerModel, QuestionMultipleTextModel, QuestionMatrixDropdownModel, QuestionMatrixDynamicModel, QuestionMatrixModel, QuestionSelectBase, MultipleTextItemModel, addIconsToThemeSet, SvgRegistry, hasLicense, glc, slk, Notifier, SvgThemeSets, IsTouch, SurveyElement, Question, PanelModel, DragDropChoices, chooseFiles, classesToSelector, PanelModelBase, QuestionCompositeModel, QuestionHtmlModel, QuestionNonValue, QuestionTextModel, QuestionFileModel, QuestionRatingModel, renamedIcons, JsonObjectProperty, checkLibraryVersion } from 'survey-core';
9
+ import { surveyLocalization, Serializer, SurveyModel, Helpers, QuestionFactory, CustomWidgetCollection, defaultCss, settings as settings$1, MatrixDropdownColumn, JsonError, property, Base, Action, ComputedUpdater, ActionContainer, propertyArray, CssClassBuilder, AdaptiveActionContainer, UpdateResponsivenessMode, AnimationBoolean, DragOrClickHelper, ElementFactory, ComponentCollection, JsonObject, VerticalResponsivityManager, ListModel, ItemValue, EventBase, createDropdownActionModel, surveyCss, defaultThemeName, ConditionsParser, SurveyTrigger, QuestionMatrixDropdownModelBase, QuestionPanelDynamicModel, ConditionRunner, ExpressionRunner, FunctionFactory, QuestionButtonGroupModel, QuestionTextBase, ResponsivityManager, LocalizableString, PageModel, QuestionCommentModel, createPopupModelWithListModel, defaultActionBarCss, createDropdownActionModelAdvanced, PopupModel, getActionDropdownButtonTarget, prepareElementForVerticalAnimation, cleanHtmlElementAfterAnimation, DragDropCore, getIconNameFromProxy, AnimationGroup, activateLazyRenderingChecks, CharacterCounter, QuestionImagePickerModel, QuestionMultipleTextModel, QuestionMatrixDropdownModel, QuestionMatrixDynamicModel, QuestionMatrixModel, QuestionSelectBase, MultipleTextItemModel, addIconsToThemeSet, SvgRegistry, hasLicense, glc, slk, Notifier, SvgThemeSets, IsTouch, SurveyElement, Question, PanelModel, DragDropChoices, chooseFiles, classesToSelector, PanelModelBase, QuestionCompositeModel, QuestionHtmlModel, QuestionNonValue, QuestionTextModel, QuestionFileModel, QuestionRatingModel, renamedIcons, JsonObjectProperty, checkLibraryVersion } from 'survey-core';
10
10
 
11
11
  // Uncomment the line below if you create a custom dictionary:
12
12
  // import { setupLocale } from "survey-creator-core";
@@ -3680,6 +3680,10 @@ function wrapTextByCurlyBraces(text) {
3680
3680
  return settings.logic.openBracket + text + settings.logic.closeBracket;
3681
3681
  }
3682
3682
 
3683
+ function getItemValueSeparator() {
3684
+ const res = settings$1.itemValueSeparator;
3685
+ return !!res ? res : "|";
3686
+ }
3683
3687
  var ObjType;
3684
3688
  (function (ObjType) {
3685
3689
  ObjType["Unknown"] = "unknown";
@@ -3911,6 +3915,17 @@ class SurveyHelper {
3911
3915
  static canSelectObj(obj) {
3912
3916
  return !obj || obj["disableSelecting"] !== true;
3913
3917
  }
3918
+ static isChoiceItemPanel(panel) {
3919
+ return this.getChoiceIItemPanel(panel) !== null;
3920
+ }
3921
+ static getChoiceIItemPanel(element) {
3922
+ while (!!element) {
3923
+ if (element.isPanel && !!element.choiceItem)
3924
+ return element;
3925
+ element = element.parent;
3926
+ }
3927
+ return null;
3928
+ }
3914
3929
  static warnNonSupported(name, newPropertyName) {
3915
3930
  let outputText = wrapTextByCurlyBraces(name) + " is not supported in V2.";
3916
3931
  if (!!newPropertyName) {
@@ -3967,7 +3982,7 @@ class SurveyHelper {
3967
3982
  .filter((row) => !row.cells[0].hasError)
3968
3983
  .map((row) => row.cells
3969
3984
  .map((cell) => cell.value || "")
3970
- .join(ItemValue.Separator)
3985
+ .join(getItemValueSeparator())
3971
3986
  .replace(/\|$/, ""))
3972
3987
  .join("\n");
3973
3988
  return result;
@@ -3979,7 +3994,7 @@ class SurveyHelper {
3979
3994
  text += "\n";
3980
3995
  text += item.value;
3981
3996
  if (item.pureText)
3982
- text += ItemValue.Separator + item.pureText;
3997
+ text += getItemValueSeparator() + item.pureText;
3983
3998
  });
3984
3999
  return text;
3985
4000
  }
@@ -3991,7 +4006,7 @@ class SurveyHelper {
3991
4006
  for (var i = 0; i < texts.length; i++) {
3992
4007
  if (!texts[i])
3993
4008
  continue;
3994
- var elements = texts[i].split(ItemValue.Separator);
4009
+ var elements = texts[i].split(getItemValueSeparator());
3995
4010
  var valueItem = Serializer.createClass(className);
3996
4011
  properties.forEach((p, i) => {
3997
4012
  valueItem[p.name] = elements[i];
@@ -14416,7 +14431,7 @@ class PropertyGridModel {
14416
14431
  panel.collapse();
14417
14432
  }
14418
14433
  }
14419
- if (focus) {
14434
+ if (focus && !question.isReadOnly) {
14420
14435
  question.focus();
14421
14436
  }
14422
14437
  else {
@@ -14849,9 +14864,14 @@ class PropertyGridModel {
14849
14864
  onMatrixCellValueChanging(options) {
14850
14865
  if (this.isCellCreating)
14851
14866
  return;
14867
+ const obj = options.row.editingObj;
14868
+ const propName = options.columnName;
14869
+ if (this.options.trimValues && propName === "value" && obj.isDescendantOf("itemvalue") && typeof options.value === "string") {
14870
+ options.value = options.value.trim();
14871
+ }
14852
14872
  var changingOptions = {
14853
- obj: options.row.editingObj,
14854
- propertyName: options.columnName,
14873
+ obj: obj,
14874
+ propertyName: propName,
14855
14875
  value: options.oldValue,
14856
14876
  newValue: options.value,
14857
14877
  doValidation: false
@@ -15385,10 +15405,11 @@ class PropertyGridEditorDropdown extends PropertyGridEditor {
15385
15405
  return true;
15386
15406
  if (this.isLocaleProp(prop))
15387
15407
  return false;
15388
- if (!this.canRenderAsButtonGroup ||
15389
- !choices ||
15390
- choices.length == 0 ||
15391
- choices.length > 4)
15408
+ if (!this.canRenderAsButtonGroup)
15409
+ return false;
15410
+ if (!choices || !Array.isArray(choices))
15411
+ return false;
15412
+ if (choices.length == 0 || choices.length > 4)
15392
15413
  return false;
15393
15414
  var charCount = 0;
15394
15415
  for (var i = 0; i < choices.length; i++) {
@@ -17609,10 +17630,11 @@ class TranslationEditor {
17609
17630
  });
17610
17631
  }
17611
17632
  setupNavigationButtons(survey) {
17633
+ survey.showCompleteButton = false;
17612
17634
  const navigationBar = new SurveyElementActionContainer();
17613
17635
  navigationBar.allowResponsiveness();
17614
- survey["navigationBarValue"] = navigationBar;
17615
- survey.findLayoutElement("buttons-navigation").data = navigationBar;
17636
+ survey["navigationBarTopValue"] = navigationBar;
17637
+ survey.findLayoutElement("buttons-navigation-top").data = navigationBar;
17616
17638
  navigationBar.locOwner = survey;
17617
17639
  navigationBar.cssClasses = survey.css.actionBar;
17618
17640
  navigationBar.containerCss = survey.css.footer;
@@ -17700,7 +17722,7 @@ class TranslationEditor {
17700
17722
  return action;
17701
17723
  }
17702
17724
  updateFromLocaleAction() {
17703
- const action = this.translation.stringsHeaderSurvey.findLayoutElement("buttons-navigation").data.getActionById("svc-translation-fromlocale");
17725
+ const action = this.translation.stringsHeaderSurvey.findLayoutElement("buttons-navigation-top").data.getActionById("svc-translation-fromlocale");
17704
17726
  if (!!action) {
17705
17727
  action.enabled = this.fromLocales.length > 0;
17706
17728
  action.iconName = action.enabled ? "icon-chevron_16x16" : undefined;
@@ -18463,10 +18485,8 @@ class SurveyConditionEditorItem extends ConditionEditorItem {
18463
18485
  return val;
18464
18486
  if (val[0] == "[")
18465
18487
  return val.replace(/(?!^)(['])(?!$)/g, "\\$1");
18466
- if (!this.isQuote(val[0]))
18467
- val = "'" + val;
18468
- if (!this.isQuote(val[val.length - 1]))
18469
- val = val + "'";
18488
+ if (!this.isQuote(val))
18489
+ val = "'" + val + "'";
18470
18490
  return val.replace(/(?!^)(['"])(?!$)/g, "\\$1");
18471
18491
  }
18472
18492
  isNumeric(val) {
@@ -22909,15 +22929,6 @@ class DragDropSurveyElements extends DragDropCore {
22909
22929
  });
22910
22930
  return result;
22911
22931
  }
22912
- getDragDropElementType(element) {
22913
- if (element.isPage)
22914
- return ElType.Page;
22915
- if (element.isPanel)
22916
- return ElType.Panel;
22917
- if (element instanceof QuestionPanelDynamicModel)
22918
- return ElType.DynamicPanel;
22919
- return ElType.Question;
22920
- }
22921
22932
  dragOver(event) {
22922
22933
  const dropTargetNode = this.findDropTargetNodeFromPoint(event.clientX, event.clientY);
22923
22934
  if (!dropTargetNode) {
@@ -25633,9 +25644,13 @@ class StringEditorViewModelBase extends Base {
25633
25644
  window === null || window === void 0 ? void 0 : window.getSelection().removeAllRanges();
25634
25645
  }
25635
25646
  getClearedText(target) {
25636
- const html = target.innerHTML;
25637
- const text = target.innerText;
25647
+ let html = target.innerHTML;
25648
+ let text = target.innerText;
25638
25649
  let mdText = null;
25650
+ if (this.creator && this.creator.trimValues && this.isInplaceForEditValues) {
25651
+ html = html.trim();
25652
+ text = text.trim();
25653
+ }
25639
25654
  if (!this.editAsText && this.creator) {
25640
25655
  const options = {
25641
25656
  element: this.locString.owner,
@@ -26887,10 +26902,66 @@ class ExpandCollapseManager {
26887
26902
  constructor(creator) {
26888
26903
  this.creator = creator;
26889
26904
  this._lockQuestions = false;
26905
+ this.expandChoicesStates = {};
26890
26906
  }
26891
26907
  expandCollapseElements(reason, isCollapsed, elements = null) {
26892
26908
  this.updateCollapsed(elements || this.getCollapsableElements(), isCollapsed, reason);
26893
26909
  }
26910
+ clearExpandChoicesStates() {
26911
+ this.expandChoicesStates = {};
26912
+ }
26913
+ setChoicesState(item, isExpanded, adorner) {
26914
+ const id = item.uniqueId;
26915
+ if (isExpanded) {
26916
+ let adorners = this.expandChoicesStates[id];
26917
+ if (!adorners) {
26918
+ adorners = [];
26919
+ this.expandChoicesStates[id] = adorners;
26920
+ }
26921
+ if (adorner) {
26922
+ adorners.push(adorner);
26923
+ }
26924
+ }
26925
+ else {
26926
+ delete this.expandChoicesStates[id];
26927
+ }
26928
+ }
26929
+ isChoiceExpanded(item) {
26930
+ return !!this.expandChoicesStates[item.uniqueId];
26931
+ }
26932
+ expandChoices() {
26933
+ if (Array.isArray(this.collapsedChoices)) {
26934
+ this.expandCollapseChoices(this.collapsedChoices, true);
26935
+ }
26936
+ this.collapsedChoices = null;
26937
+ }
26938
+ collapseChoices(items) {
26939
+ this.collapsedChoices = items;
26940
+ this.expandCollapseChoices(items, false);
26941
+ }
26942
+ disposeChoice(item, adorner) {
26943
+ const id = item.uniqueId;
26944
+ const adorners = this.expandChoicesStates[id];
26945
+ if (Array.isArray(adorners)) {
26946
+ const index = adorners.indexOf(adorner);
26947
+ if (index !== -1) {
26948
+ adorners.splice(index, 1);
26949
+ }
26950
+ if (adorners.length === 0) {
26951
+ delete this.expandChoicesStates[id];
26952
+ }
26953
+ }
26954
+ }
26955
+ expandCollapseChoices(items, isExpanded) {
26956
+ items.forEach(item => {
26957
+ const adorners = this.expandChoicesStates[item.uniqueId];
26958
+ if (Array.isArray(adorners)) {
26959
+ adorners.forEach(adorner => {
26960
+ adorner.expandCollapse(isExpanded);
26961
+ });
26962
+ }
26963
+ });
26964
+ }
26894
26965
  get questionsLocked() {
26895
26966
  return this._lockQuestions;
26896
26967
  }
@@ -28269,6 +28340,7 @@ class SurveyCreatorModel extends Base {
28269
28340
  var _a;
28270
28341
  super();
28271
28342
  this.options = options;
28343
+ this.trimValues = false;
28272
28344
  /**
28273
28345
  * Specifies whether the "Add Question" button remembers the type of the most recently added question and uses it for subsequent questions.
28274
28346
  *
@@ -29008,6 +29080,18 @@ class SurveyCreatorModel extends Base {
29008
29080
  * @see showTranslationTab
29009
29081
  */
29010
29082
  this.clearTranslationsOnSourceTextChange = false;
29083
+ /**
29084
+ * Specifies how deeply choice options in Radio Button Group and Checkboxes questions can contain nested survey content such as questions or panels.
29085
+ *
29086
+ * - 0 - Disables content nesting for choice options.
29087
+ * - 1 - Allows first-level choice options to contain survey elements.
29088
+ * - 2 - Allows first- and second-level choice options to contain survey elements, and so on.
29089
+ *
29090
+ * Default value: 0
29091
+ *
29092
+ * [View Demo](https://surveyjs.io/survey-creator/examples/nest-sub-questions-within-choice-options/ (linkStyle))
29093
+ */
29094
+ this.maxChoiceContentNestingLevel = 0;
29011
29095
  /**
29012
29096
  * An event that is raised to determine whether in-place editing is allowed for an element on the design surface. Use this event to enable or disable in-place editing for specific elements.
29013
29097
  * @see inplaceEditChoiceValues
@@ -29539,6 +29623,7 @@ class SurveyCreatorModel extends Base {
29539
29623
  * @returns true if initial survey doesn't have any elements or properties
29540
29624
  */
29541
29625
  initSurveyWithJSON(json, clearState) {
29626
+ this.expandCollapseManager.clearExpandChoicesStates();
29542
29627
  if (!json) {
29543
29628
  json = { "headerView": "advanced" };
29544
29629
  }
@@ -29690,11 +29775,13 @@ class SurveyCreatorModel extends Base {
29690
29775
  this.dragDropChoices = new DragDropChoices(null, this);
29691
29776
  this.dragDropChoices.onDragStart.add((sender, options) => {
29692
29777
  this.startUndoRedoTransaction("drag drop");
29778
+ this.expandCollapseManager.collapseChoices(this.dragDropChoices.parentElement.choices);
29693
29779
  });
29694
29780
  this.dragDropChoices.onDragEnd.add((sender, options) => {
29695
29781
  this.selectElement(options.draggedElement, undefined, false);
29696
29782
  });
29697
29783
  this.dragDropChoices.onDragClear.add((sender, options) => {
29784
+ this.expandCollapseManager.expandChoices();
29698
29785
  this.stopUndoRedoTransaction();
29699
29786
  });
29700
29787
  }
@@ -29707,6 +29794,8 @@ class SurveyCreatorModel extends Base {
29707
29794
  }
29708
29795
  }
29709
29796
  updateConditionsOnNameChanged(obj, propertyName, oldValue) {
29797
+ if (this.isCreatingNewElement)
29798
+ return;
29710
29799
  if (this.isObjQuestion(obj)) {
29711
29800
  if (propertyName === "name" && !obj["valueName"]) {
29712
29801
  this.updateLogicOnQuestionNameChanged(oldValue, obj["name"]);
@@ -29813,7 +29902,9 @@ class SurveyCreatorModel extends Base {
29813
29902
  this.addNewElementReason = "DROPPED_FROM_TOOLBOX";
29814
29903
  }
29815
29904
  doOnQuestionAdded(question, parentPanel) {
29905
+ this.isCreatingNewElement = true;
29816
29906
  question.name = this.generateUniqueName(question, question.name);
29907
+ this.isCreatingNewElement = false;
29817
29908
  var page = this.getPageByElement(question);
29818
29909
  if (!page)
29819
29910
  return;
@@ -30575,11 +30666,28 @@ class SurveyCreatorModel extends Base {
30575
30666
  }
30576
30667
  });
30577
30668
  }
30578
- focusElement(element, focus, selEl = null, propertyName = null, startEdit = null) {
30669
+ focusElement(element, focus, selEl = null, propertyName = null, startEdit = null, onCallback = null) {
30579
30670
  if (!selEl)
30580
30671
  selEl = this.getSelectedSurveyElement();
30581
30672
  if (!selEl)
30582
30673
  return;
30674
+ const doFocus = () => this.focusElementCore(element, focus, selEl, propertyName, startEdit, onCallback);
30675
+ if (element && SurveyHelper.isChoiceItemPanel(element.parent)) {
30676
+ const panel = SurveyHelper.getChoiceIItemPanel(element);
30677
+ const item = panel["choiceItem"];
30678
+ const q = item.choiceOwner;
30679
+ if (q.isCollapsed)
30680
+ q.expand();
30681
+ this.focusElement(q, false, null, null, null, () => {
30682
+ item.onExpandPanelAtDesign.fire(item, {});
30683
+ doFocus();
30684
+ });
30685
+ }
30686
+ else {
30687
+ doFocus();
30688
+ }
30689
+ }
30690
+ focusElementCore(element, focus, selEl = null, propertyName = null, startEdit = null, onCallback = null) {
30583
30691
  const elementPage = this.getPageByElement(selEl);
30584
30692
  clearInterval(this.currentFocusInterval);
30585
30693
  clearTimeout(this.currentFocusTimeout);
@@ -30624,10 +30732,16 @@ class SurveyCreatorModel extends Base {
30624
30732
  if (startEdit && !!element) {
30625
30733
  StringEditorConnector.get(element.locTitle).activateEditor();
30626
30734
  }
30735
+ onCallback && onCallback();
30627
30736
  }, 1);
30628
30737
  }, 100);
30629
30738
  }, 50);
30630
30739
  }
30740
+ getChoiceItemQuestionToExpand(element) {
30741
+ const panel = SurveyHelper.getChoiceIItemPanel(element);
30742
+ const item = panel["choiceItem"];
30743
+ return item.choiceOwner;
30744
+ }
30631
30745
  getHtmlElementForScroll(element) {
30632
30746
  var _a;
30633
30747
  const id = element.getType() === "matrixdropdowncolumn" ? element.colOwner.id : element.id;
@@ -33968,6 +34082,11 @@ class ItemValueWrapperViewModel extends Base {
33968
34082
  this.isDragDropMoveUp = false;
33969
34083
  }
33970
34084
  };
34085
+ this.canShowPanelValue = undefined;
34086
+ this.onExpandPanelAtDesign = () => {
34087
+ this.showPanel = true;
34088
+ };
34089
+ this.item.onExpandPanelAtDesign.add(this.onExpandPanelAtDesign);
33971
34090
  this.updateIsNew(question, item);
33972
34091
  for (let key in specificChoices) {
33973
34092
  this.registerOnPropertyChanged(key, specificChoices[key]);
@@ -33995,6 +34114,7 @@ class ItemValueWrapperViewModel extends Base {
33995
34114
  if (!this.creator.isCanModifyProperty(question, "choices")) {
33996
34115
  this.canTouchItems = false;
33997
34116
  }
34117
+ this.setupShowPanel();
33998
34118
  }
33999
34119
  get canBeDragged() {
34000
34120
  return !this.isNew && this.question.choices.indexOf(this.item) > -1;
@@ -34033,9 +34153,18 @@ class ItemValueWrapperViewModel extends Base {
34033
34153
  get dragDropHelper() {
34034
34154
  return this.creator.dragDropChoices;
34035
34155
  }
34156
+ get expandCollapseManager() {
34157
+ return this.creator.expandCollapseManager;
34158
+ }
34036
34159
  dispose() {
34037
34160
  super.dispose();
34038
34161
  this.dragDropHelper.onGhostPositionChanged.remove(this.handleDragDropGhostPositionChanged);
34162
+ if (this.item) {
34163
+ this.item.onExpandPanelAtDesign.remove(this.onExpandPanelAtDesign);
34164
+ }
34165
+ if (this.canShowPanel()) {
34166
+ this.expandCollapseManager.disposeChoice(this.item, this);
34167
+ }
34039
34168
  }
34040
34169
  getGhostPosition(item) {
34041
34170
  if (this.dragDropHelper.dropTarget !== item)
@@ -34159,6 +34288,52 @@ class ItemValueWrapperViewModel extends Base {
34159
34288
  return false;
34160
34289
  return val >= min && val <= max;
34161
34290
  }
34291
+ canShowPanel() {
34292
+ if (this.canShowPanelValue === undefined) {
34293
+ this.canShowPanelValue = this.calcCanShowPanel();
34294
+ }
34295
+ return this.canShowPanelValue;
34296
+ }
34297
+ calcCanShowPanel() {
34298
+ if (!this.item.supportElements)
34299
+ return false;
34300
+ const level = this.creator.maxChoiceContentNestingLevel;
34301
+ if (level <= 0)
34302
+ return false;
34303
+ if (this.question.isBuiltInChoice(this.item))
34304
+ return false;
34305
+ let parent = this.question.parent;
34306
+ let index = 0;
34307
+ while (!!parent && index < level && SurveyHelper.isChoiceItemPanel(parent)) {
34308
+ index++;
34309
+ parent = parent.parent;
34310
+ }
34311
+ return !!parent && index < level;
34312
+ }
34313
+ get showPanel() {
34314
+ return this.getPropertyValue("showPanel", false);
34315
+ }
34316
+ set showPanel(val) {
34317
+ if (val && !this.canShowPanel())
34318
+ return;
34319
+ if (val) {
34320
+ this.item.panel.onFirstRendering();
34321
+ }
34322
+ this.expandCollapseManager.setChoicesState(this.item, val, this);
34323
+ this.expandCollapse(val);
34324
+ }
34325
+ expandCollapse(val) {
34326
+ this.setPropertyValue("showPanel", val);
34327
+ }
34328
+ togglePanel() {
34329
+ this.showPanel = !this.showPanel;
34330
+ }
34331
+ setupShowPanel() {
34332
+ const state = this.expandCollapseManager.isChoiceExpanded(this.item);
34333
+ if (state) {
34334
+ this.showPanel = true;
34335
+ }
34336
+ }
34162
34337
  }
34163
34338
  __decorate([
34164
34339
  property({ defaultValue: false })
@@ -35432,6 +35607,9 @@ class PropertyGridEditorCondition extends PropertyGridEditorExpression {
35432
35607
  PropertyGridEditorCollection.register(new PropertyGridEditorExpression());
35433
35608
  PropertyGridEditorCollection.register(new PropertyGridEditorCondition());
35434
35609
 
35610
+ function getSeparator() {
35611
+ return getItemValueSeparator();
35612
+ }
35435
35613
  class FastEntryEditorBase extends PropertyEditorSetupValue {
35436
35614
  constructor(choices, options = null, className = "item", names = []) {
35437
35615
  super(options);
@@ -35531,7 +35709,7 @@ class FastEntryEditorBase extends PropertyEditorSetupValue {
35531
35709
  for (var i = 0; i < texts.length; i++) {
35532
35710
  if (!texts[i])
35533
35711
  continue;
35534
- var elements = texts[i].split(ItemValue.Separator);
35712
+ var elements = texts[i].split(getSeparator());
35535
35713
  var valueItem = Serializer.createClass(this.className);
35536
35714
  this.names.forEach((name, i) => {
35537
35715
  valueItem[name] = elements[i];
@@ -35563,7 +35741,7 @@ class FastEntryEditorBase extends PropertyEditorSetupValue {
35563
35741
  let str = texts[i];
35564
35742
  if (!str)
35565
35743
  continue;
35566
- let value = str.split(ItemValue.Separator)[0];
35744
+ let value = str.split(getSeparator())[0];
35567
35745
  if (values[value])
35568
35746
  return value;
35569
35747
  values[value] = true;
@@ -35588,7 +35766,7 @@ class FastEntryEditorBase extends PropertyEditorSetupValue {
35588
35766
  }
35589
35767
  if (!Helpers.isValueEmpty(str)) {
35590
35768
  for (var i = 0; i < separatorCounter; i++) {
35591
- text += ItemValue.Separator;
35769
+ text += getSeparator();
35592
35770
  }
35593
35771
  text += str;
35594
35772
  separatorCounter = 1;
@@ -37169,8 +37347,8 @@ class CreatorPreset extends CreatorPresetBase {
37169
37347
  }
37170
37348
 
37171
37349
  let Version;
37172
- Version = `${"2.3.10"}`;
37173
- checkLibraryVersion(`${"2.3.10"}`, "survey-creator-core");
37350
+ Version = `${"2.3.12"}`;
37351
+ checkLibraryVersion(`${"2.3.12"}`, "survey-creator-core");
37174
37352
 
37175
- export { AceJsonEditorModel, ColorCalculator, CreatorAction, CreatorBase, CreatorEvent, CreatorPreset, CreatorPresetBase, CreatorPresetPropertyGrid, CreatorPresetPropertyGridDefinition, CreatorPresetTabs, CreatorPresetToolbox, CreatorPresetToolboxConfigurator, CreatorPresetToolboxDefinition, CreatorResponsivityManager, CreatorThemeModel, CreatorThemes, DEFAULT_MONITOR_DPI, DefaultFonts, DragDropSurveyElements, EditorLocalization, EmptySurveyCreatorOptions, FooterToolbarActionContainer, HEXToRGB, HSBToRGB, HueColorCalculator, ImageItemValueWrapperViewModel, ItemValueWrapperViewModel, JsonDuplicateNameError, JsonEditorBaseModel, LogicEvent, LogoImageViewModel, MatrixCellWrapperEditSurvey, MatrixCellWrapperViewModel, MenuButton, ObjType, ObjectSelector, ObjectSelectorItem, ObjectSelectorModel, PageAdorner, PageNavigatorViewModel, PagesController, PredefinedBackgroundColors, PredefinedColors, PredefinedCreatorThemes, PredefinedThemes, PropertyEditorSetupValue, PropertyGridCellsEditor, PropertyGridEditor, PropertyGridEditorBackgroundCornerRadius, PropertyGridEditorBindings, PropertyGridEditorBoolean, PropertyGridEditorCollection, PropertyGridEditorColor, PropertyGridEditorColorWithAlpha, PropertyGridEditorCondition, PropertyGridEditorDateTime, PropertyGridEditorDropdown, PropertyGridEditorExpression, PropertyGridEditorFontSettings, PropertyGridEditorHtml, PropertyGridEditorImageSize, PropertyGridEditorMatrix, PropertyGridEditorMatrixCalculatedValues, PropertyGridEditorMatrixColumns, PropertyGridEditorMatrixHtmlConditions, PropertyGridEditorMatrixItemValues, PropertyGridEditorMatrixLayoutColumns, PropertyGridEditorMatrixMultipleTypes, PropertyGridEditorMatrixMutlipleTextItems, PropertyGridEditorMatrixPages, PropertyGridEditorMatrixRateValues, PropertyGridEditorMatrixTriggers, PropertyGridEditorMatrixUrlConditions, PropertyGridEditorMatrixValidators, PropertyGridEditorNumber, PropertyGridEditorPage, PropertyGridEditorQuestion, PropertyGridEditorQuestionCarryForward, PropertyGridEditorQuestionHeader, PropertyGridEditorQuestionMaskSettings, PropertyGridEditorQuestionRestfull, PropertyGridEditorQuestionSelectBase, PropertyGridEditorQuestionValue, PropertyGridEditorSet, PropertyGridEditorShadowEffects, PropertyGridEditorSpinEdit, PropertyGridEditorString, PropertyGridEditorStringArray, PropertyGridEditorStringBase, PropertyGridEditorSwitchToggle, PropertyGridEditorText, PropertyGridEditorUndefinedBoolean, PropertyGridLinkEditor, PropertyGridModel, PropertyGridPanelValueEditor, PropertyGridRowValueEditor, PropertyGridTitleActionsCreator, PropertyGridTriggerValueEditor, PropertyGridTriggerValueInLogicEditor, PropertyGridValueEditor, PropertyGridValueEditorBase, PropertyGridViewModel, PropertyJSONGenerator, QuestionAdornerViewModel, QuestionColorModel, QuestionCommentWithResetModel, QuestionConvertMode, QuestionConverter, QuestionDropdownAdornerViewModel, QuestionEmbeddedSurveyModel, QuestionFileEditorModel, QuestionImageAdornerViewModel, QuestionLinkValueModel, QuestionRatingAdornerViewModel, QuestionSpinEditorModel, QuestionTextWithResetModel, QuestionToolbox, QuestionToolboxCategory, QuestionToolboxItem, RGBToHSB, ResetValueAdorner, ResizeManager, RowViewModel, SearchManager, SearchManagerPropertyGrid, SearchManagerToolbox, SidebarHeaderModel, SidebarModel, SidebarPageModel, StringEditorConnector, StringEditorViewModelBase, StringItemsNavigatorBase, SurveyCreatorModel, SurveyHelper, SurveyJSON5, SurveyLogic, SurveyLogicUI, SurveyQuestionEditorDefinition, SurveyQuestionEditorPropertyDefinition, SurveyQuestionEditorTabDefinition, SurveyQuestionProperties, SurveyResultsItemModel, SurveyResultsModel, SurveySimulatorModel, SurveyTextWorker, SurveyTextWorkerError, SurveyTextWorkerJsonError, SurveyTextWorkerParserError, Switcher, TabControlModel, TabDesignerPlugin, TabDesignerViewModel, TabJsonEditorAcePlugin, TabJsonEditorBasePlugin, TabJsonEditorTextareaPlugin, TabLogicPlugin, TabTestPlugin, TabTranslationPlugin, TabbedMenuContainer, TabbedMenuItem, TabbedMenuMode, TestSurveyTabViewModel, TextareaJsonEditorModel, ThemeModelEditorDefinition, ThemeTabPlugin, ThemeTabViewModel, Themes, ToolbarActionContainer, ToolboxToolViewModel, Transaction, Translation, TranslationEditor, TranslationForEditor, TranslationGroup, TranslationItem, TranslationItemBase, TranslationItemString, UndoRedoAction, UndoRedoArrayAction, UndoRedoManager, UndoRedoPlugin, Version, assign, assignDefaultClasses, backgroundCornerRadiusFromCssVariable, backgroundCornerRadiusToCssVariable, calculateDragOverLocation, calculateIsEdge, calculateIsSide, capitalize, clearNewLines, colorsAreEqual, convertRgbaToString, copyCssClasses, copyObject, createBoxShadow, createBoxShadowReset, createColor, createExportCSVAction, createImportCSVAction, creatorThemeModelEditorDefinition, creatorThemeModelPropertyGridDefinition, defaultCreatorThemesOrder, defaultPropertyGridDefinition, defaultStrings, defaultThemesOrder, editableStringRendererName, editorLocalization, enStrings, findParentNode, focusFirstControl, fontsettingsFromCssVariable, fontsettingsToCssVariable, getAcceptedTypesByContentMode, getElementWrapperComponentData, getElementWrapperComponentName, getFirstNonTextElement, getItemValueWrapperComponentData, getItemValueWrapperComponentName, getLocString, getLocaleStrings, getNextItemText, getNextItemValue, getNextValue, getNodesFromKoComponentInfo, getOS, getPredefinedBackgoundColorsChoices, getPredefinedColorsItemValues, getQuestionContentWrapperComponentName, getQuestionFromObj, getRGBaChannelValues, getRowWrapperComponentData, getRowWrapperComponentName, iconsV1, iconsV2, ignoreUndoRedo, imageMimeTypes, ingectAlpha, initLogicOperator, initialSettingsAllowShowEmptyTitleInDesignMode, initializeDesignTimeSurveyModel, isStringEditable, isTextInput, listComponentCss, editorLocalization as localization, logicCss, notShortCircuitAnd, parseBoxShadow, parseColor, parseRgbaFromString, propertyGridCss, registerAdorner, registerCreatorTheme, registerSurveyTheme, removeAdorners, roundTo2Decimals, saveToFileHandler, scrollElementIntoView, select, setSurveyJSONForPropertyGrid, settings, setupLocale, simulatorDevices, svgBundle, themeModelPropertyGridDefinition, toggleHovered, translationCss, trimBoxShadowValue, trimEmptyFields, undoRedoTransaction, updateBackgroundCornerRadiusJSON, updateFontSettingsJSON, updateShadowEffectsJSON, updateThemeEditorsDefaultFontFamily, updatecoloralphaJSON, wrapTextByCurlyBraces };
37353
+ export { AceJsonEditorModel, ColorCalculator, CreatorAction, CreatorBase, CreatorEvent, CreatorPreset, CreatorPresetBase, CreatorPresetPropertyGrid, CreatorPresetPropertyGridDefinition, CreatorPresetTabs, CreatorPresetToolbox, CreatorPresetToolboxConfigurator, CreatorPresetToolboxDefinition, CreatorResponsivityManager, CreatorThemeModel, CreatorThemes, DEFAULT_MONITOR_DPI, DefaultFonts, DragDropSurveyElements, EditorLocalization, EmptySurveyCreatorOptions, FooterToolbarActionContainer, HEXToRGB, HSBToRGB, HueColorCalculator, ImageItemValueWrapperViewModel, ItemValueWrapperViewModel, JsonDuplicateNameError, JsonEditorBaseModel, LogicEvent, LogoImageViewModel, MatrixCellWrapperEditSurvey, MatrixCellWrapperViewModel, MenuButton, ObjType, ObjectSelector, ObjectSelectorItem, ObjectSelectorModel, PageAdorner, PageNavigatorViewModel, PagesController, PredefinedBackgroundColors, PredefinedColors, PredefinedCreatorThemes, PredefinedThemes, PropertyEditorSetupValue, PropertyGridCellsEditor, PropertyGridEditor, PropertyGridEditorBackgroundCornerRadius, PropertyGridEditorBindings, PropertyGridEditorBoolean, PropertyGridEditorCollection, PropertyGridEditorColor, PropertyGridEditorColorWithAlpha, PropertyGridEditorCondition, PropertyGridEditorDateTime, PropertyGridEditorDropdown, PropertyGridEditorExpression, PropertyGridEditorFontSettings, PropertyGridEditorHtml, PropertyGridEditorImageSize, PropertyGridEditorMatrix, PropertyGridEditorMatrixCalculatedValues, PropertyGridEditorMatrixColumns, PropertyGridEditorMatrixHtmlConditions, PropertyGridEditorMatrixItemValues, PropertyGridEditorMatrixLayoutColumns, PropertyGridEditorMatrixMultipleTypes, PropertyGridEditorMatrixMutlipleTextItems, PropertyGridEditorMatrixPages, PropertyGridEditorMatrixRateValues, PropertyGridEditorMatrixTriggers, PropertyGridEditorMatrixUrlConditions, PropertyGridEditorMatrixValidators, PropertyGridEditorNumber, PropertyGridEditorPage, PropertyGridEditorQuestion, PropertyGridEditorQuestionCarryForward, PropertyGridEditorQuestionHeader, PropertyGridEditorQuestionMaskSettings, PropertyGridEditorQuestionRestfull, PropertyGridEditorQuestionSelectBase, PropertyGridEditorQuestionValue, PropertyGridEditorSet, PropertyGridEditorShadowEffects, PropertyGridEditorSpinEdit, PropertyGridEditorString, PropertyGridEditorStringArray, PropertyGridEditorStringBase, PropertyGridEditorSwitchToggle, PropertyGridEditorText, PropertyGridEditorUndefinedBoolean, PropertyGridLinkEditor, PropertyGridModel, PropertyGridPanelValueEditor, PropertyGridRowValueEditor, PropertyGridTitleActionsCreator, PropertyGridTriggerValueEditor, PropertyGridTriggerValueInLogicEditor, PropertyGridValueEditor, PropertyGridValueEditorBase, PropertyGridViewModel, PropertyJSONGenerator, QuestionAdornerViewModel, QuestionColorModel, QuestionCommentWithResetModel, QuestionConvertMode, QuestionConverter, QuestionDropdownAdornerViewModel, QuestionEmbeddedSurveyModel, QuestionFileEditorModel, QuestionImageAdornerViewModel, QuestionLinkValueModel, QuestionRatingAdornerViewModel, QuestionSpinEditorModel, QuestionTextWithResetModel, QuestionToolbox, QuestionToolboxCategory, QuestionToolboxItem, RGBToHSB, ResetValueAdorner, ResizeManager, RowViewModel, SearchManager, SearchManagerPropertyGrid, SearchManagerToolbox, SidebarHeaderModel, SidebarModel, SidebarPageModel, StringEditorConnector, StringEditorViewModelBase, StringItemsNavigatorBase, SurveyCreatorModel, SurveyHelper, SurveyJSON5, SurveyLogic, SurveyLogicUI, SurveyQuestionEditorDefinition, SurveyQuestionEditorPropertyDefinition, SurveyQuestionEditorTabDefinition, SurveyQuestionProperties, SurveyResultsItemModel, SurveyResultsModel, SurveySimulatorModel, SurveyTextWorker, SurveyTextWorkerError, SurveyTextWorkerJsonError, SurveyTextWorkerParserError, Switcher, TabControlModel, TabDesignerPlugin, TabDesignerViewModel, TabJsonEditorAcePlugin, TabJsonEditorBasePlugin, TabJsonEditorTextareaPlugin, TabLogicPlugin, TabTestPlugin, TabTranslationPlugin, TabbedMenuContainer, TabbedMenuItem, TabbedMenuMode, TestSurveyTabViewModel, TextareaJsonEditorModel, ThemeModelEditorDefinition, ThemeTabPlugin, ThemeTabViewModel, Themes, ToolbarActionContainer, ToolboxToolViewModel, Transaction, Translation, TranslationEditor, TranslationForEditor, TranslationGroup, TranslationItem, TranslationItemBase, TranslationItemString, UndoRedoAction, UndoRedoArrayAction, UndoRedoManager, UndoRedoPlugin, Version, assign, assignDefaultClasses, backgroundCornerRadiusFromCssVariable, backgroundCornerRadiusToCssVariable, calculateDragOverLocation, calculateIsEdge, calculateIsSide, capitalize, clearNewLines, colorsAreEqual, convertRgbaToString, copyCssClasses, copyObject, createBoxShadow, createBoxShadowReset, createColor, createExportCSVAction, createImportCSVAction, creatorThemeModelEditorDefinition, creatorThemeModelPropertyGridDefinition, defaultCreatorThemesOrder, defaultPropertyGridDefinition, defaultStrings, defaultThemesOrder, editableStringRendererName, editorLocalization, enStrings, findParentNode, focusFirstControl, fontsettingsFromCssVariable, fontsettingsToCssVariable, getAcceptedTypesByContentMode, getElementWrapperComponentData, getElementWrapperComponentName, getFirstNonTextElement, getItemValueSeparator, getItemValueWrapperComponentData, getItemValueWrapperComponentName, getLocString, getLocaleStrings, getNextItemText, getNextItemValue, getNextValue, getNodesFromKoComponentInfo, getOS, getPredefinedBackgoundColorsChoices, getPredefinedColorsItemValues, getQuestionContentWrapperComponentName, getQuestionFromObj, getRGBaChannelValues, getRowWrapperComponentData, getRowWrapperComponentName, iconsV1, iconsV2, ignoreUndoRedo, imageMimeTypes, ingectAlpha, initLogicOperator, initialSettingsAllowShowEmptyTitleInDesignMode, initializeDesignTimeSurveyModel, isStringEditable, isTextInput, listComponentCss, editorLocalization as localization, logicCss, notShortCircuitAnd, parseBoxShadow, parseColor, parseRgbaFromString, propertyGridCss, registerAdorner, registerCreatorTheme, registerSurveyTheme, removeAdorners, roundTo2Decimals, saveToFileHandler, scrollElementIntoView, select, setSurveyJSONForPropertyGrid, settings, setupLocale, simulatorDevices, svgBundle, themeModelPropertyGridDefinition, toggleHovered, translationCss, trimBoxShadowValue, trimEmptyFields, undoRedoTransaction, updateBackgroundCornerRadiusJSON, updateFontSettingsJSON, updateShadowEffectsJSON, updateThemeEditorsDefaultFontFamily, updatecoloralphaJSON, wrapTextByCurlyBraces };
37176
37354
  //# sourceMappingURL=survey-creator-core.mjs.map