survey-react 1.12.2 → 1.12.3

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.
package/survey.react.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.12.2
2
+ * surveyjs - Survey JavaScript library v1.12.3
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
  */
@@ -964,7 +964,7 @@ module.exports = "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\
964
964
  /*!********************************************!*\
965
965
  !*** ./src/entries/react.ts + 282 modules ***!
966
966
  \********************************************/
967
- /*! 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, 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, TextAreaModel, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, StylesManager, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, createPopupModelWithListModel, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model, bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss, Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, SurveyQuestionRankingItemContent, RatingItem, RatingItemStar, RatingItemSmiley, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionMatrixCell, SurveyQuestionHtml, SurveyQuestionFile, SurveyFileChooseButton, SurveyFilePreview, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, ListItemContent, ListItemGroup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, QuestionErrorComponent, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SvgBundleComponent */
967
+ /*! 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, 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, prepareElementForVerticalAnimation, cleanHtmlElementAfterAnimation, classesToSelector, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, TextAreaModel, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, StylesManager, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, createPopupModelWithListModel, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AnimationUtils, AnimationPropertyUtils, AnimationGroupUtils, AnimationProperty, AnimationBoolean, AnimationGroup, AnimationTab, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model, bootstrapThemeName, bootstrapThemeColors, bootstrapThemeCssRules, bootstrapMaterialThemeName, bootstrapMaterialThemeColors, bootstrapMaterialThemeCssRules, defaultBootstrapCss, defaultBootstrapMaterialCss, Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, SurveyQuestionRankingItemContent, RatingItem, RatingItemStar, RatingItemSmiley, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionMatrixCell, SurveyQuestionHtml, SurveyQuestionFile, SurveyFileChooseButton, SurveyFilePreview, SurveyQuestionMultipleText, SurveyQuestionRadiogroup, SurveyQuestionRadioItem, SurveyQuestionText, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionEmpty, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionPanelDynamic, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionExpression, PopupSurvey, SurveyWindow, ReactQuestionFactory, ReactElementFactory, SurveyQuestionImagePicker, SurveyQuestionImage, SurveyQuestionSignaturePad, SurveyQuestionButtonGroup, SurveyQuestionCustom, SurveyQuestionComposite, Popup, ListItemContent, ListItemGroup, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, QuestionErrorComponent, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SvgBundleComponent */
968
968
  /*! ModuleConcatenation bailout: Cannot concat with external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react"} (<- Module is not an ECMAScript module) */
969
969
  /*! ModuleConcatenation bailout: Cannot concat with external {"root":"ReactDOM","commonjs2":"react-dom","commonjs":"react-dom","amd":"react-dom"} (<- Module is not an ECMAScript module) */
970
970
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -1160,6 +1160,9 @@ __webpack_require__.d(__webpack_exports__, "increaseHeightByContent", function()
1160
1160
  __webpack_require__.d(__webpack_exports__, "createSvg", function() { return /* reexport */ createSvg; });
1161
1161
  __webpack_require__.d(__webpack_exports__, "chooseFiles", function() { return /* reexport */ chooseFiles; });
1162
1162
  __webpack_require__.d(__webpack_exports__, "sanitizeEditableContent", function() { return /* reexport */ sanitizeEditableContent; });
1163
+ __webpack_require__.d(__webpack_exports__, "prepareElementForVerticalAnimation", function() { return /* reexport */ prepareElementForVerticalAnimation; });
1164
+ __webpack_require__.d(__webpack_exports__, "cleanHtmlElementAfterAnimation", function() { return /* reexport */ cleanHtmlElementAfterAnimation; });
1165
+ __webpack_require__.d(__webpack_exports__, "classesToSelector", function() { return /* reexport */ classesToSelector; });
1163
1166
  __webpack_require__.d(__webpack_exports__, "InputMaskBase", function() { return /* reexport */ mask_base_InputMaskBase; });
1164
1167
  __webpack_require__.d(__webpack_exports__, "InputMaskPattern", function() { return /* reexport */ mask_pattern_InputMaskPattern; });
1165
1168
  __webpack_require__.d(__webpack_exports__, "InputMaskNumeric", function() { return /* reexport */ mask_numeric_InputMaskNumeric; });
@@ -1710,7 +1713,7 @@ var helpers_Helpers = /** @class */ (function () {
1710
1713
  var value = newValue ? newValue.length : "0";
1711
1714
  return [value, maxLength].join("/");
1712
1715
  };
1713
- Helpers.getNumberByIndex = function (index, startIndexStr) {
1716
+ Helpers.getNumberByIndex = function (index, startIndexStr, parentIndex) {
1714
1717
  if (index < 0)
1715
1718
  return "";
1716
1719
  var startIndex = 1;
@@ -1719,16 +1722,19 @@ var helpers_Helpers = /** @class */ (function () {
1719
1722
  var isNumeric = true;
1720
1723
  var strIndex = "A";
1721
1724
  var str = "";
1725
+ var hasDigitFunc = function (str) {
1726
+ if (!str)
1727
+ return false;
1728
+ for (var i = 0; i < str.length; i++) {
1729
+ if (Helpers.isCharDigit(str[i]))
1730
+ return true;
1731
+ }
1732
+ return false;
1733
+ };
1722
1734
  if (!!startIndexStr) {
1723
1735
  str = startIndexStr;
1724
1736
  var ind = str.length - 1;
1725
- var hasDigit = false;
1726
- for (var i = 0; i < str.length; i++) {
1727
- if (Helpers.isCharDigit(str[i])) {
1728
- hasDigit = true;
1729
- break;
1730
- }
1731
- }
1737
+ var hasDigit = hasDigitFunc(str);
1732
1738
  var checkLetter = function () {
1733
1739
  return ((hasDigit && !Helpers.isCharDigit(str[ind])) ||
1734
1740
  Helpers.isCharNotLetterAndDigit(str[ind]));
@@ -1758,6 +1764,9 @@ var helpers_Helpers = /** @class */ (function () {
1758
1764
  postfix = newPostfix;
1759
1765
  }
1760
1766
  }
1767
+ if (parentIndex > -1 && hasDigitFunc(prefix)) {
1768
+ prefix = this.getNumberByIndex(parentIndex, prefix);
1769
+ }
1761
1770
  if (isNumeric) {
1762
1771
  var val = (index + startIndex).toString();
1763
1772
  while (val.length < strIndex.length)
@@ -12778,7 +12787,7 @@ var survey_element_SurveyElementCore = /** @class */ (function (_super) {
12778
12787
  return this.getLocalizableStringText("title", this.getDefaultTitleValue());
12779
12788
  },
12780
12789
  set: function (val) {
12781
- this.setLocalizableStringText("title", val);
12790
+ this.setTitleValue(val);
12782
12791
  },
12783
12792
  enumerable: false,
12784
12793
  configurable: true
@@ -12791,6 +12800,9 @@ var survey_element_SurveyElementCore = /** @class */ (function (_super) {
12791
12800
  configurable: true
12792
12801
  });
12793
12802
  SurveyElementCore.prototype.getDefaultTitleValue = function () { return undefined; };
12803
+ SurveyElementCore.prototype.setTitleValue = function (val) {
12804
+ this.setLocalizableStringText("title", val);
12805
+ };
12794
12806
  SurveyElementCore.prototype.updateDescriptionVisibility = function (newDescription) {
12795
12807
  var showPlaceholder = false;
12796
12808
  if (this.isDesignMode) {
@@ -19424,6 +19436,8 @@ var question_Question = /** @class */ (function (_super) {
19424
19436
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
19425
19437
  *
19426
19438
  * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
19439
+ *
19440
+ * [View Demo](https://surveyjs.io/form-library/examples/how-to-conditionally-make-input-field-read-only/ (linkStyle))
19427
19441
  * @see readOnly
19428
19442
  * @see isReadOnly
19429
19443
  */
@@ -19449,6 +19463,20 @@ var question_Question = /** @class */ (function (_super) {
19449
19463
  this.runDefaultValueExpression(this.defaultValueRunner, values, properties);
19450
19464
  }
19451
19465
  };
19466
+ Object.defineProperty(Question.prototype, "isInDesignMode", {
19467
+ get: function () {
19468
+ return !this.isContentElement && this.isDesignMode;
19469
+ },
19470
+ enumerable: false,
19471
+ configurable: true
19472
+ });
19473
+ Object.defineProperty(Question.prototype, "isInDesignModeV2", {
19474
+ get: function () {
19475
+ return !this.isContentElement && this.isDesignModeV2;
19476
+ },
19477
+ enumerable: false,
19478
+ configurable: true
19479
+ });
19452
19480
  Object.defineProperty(Question.prototype, "no", {
19453
19481
  /**
19454
19482
  * A question number or letter (depends on the `questionStartIndex` property of the question container (panel, page, or survey)).
@@ -19466,9 +19494,11 @@ var question_Question = /** @class */ (function (_super) {
19466
19494
  configurable: true
19467
19495
  });
19468
19496
  Question.prototype.calcNo = function () {
19497
+ var _a;
19469
19498
  if (!this.hasTitle || this.hideNumber)
19470
19499
  return "";
19471
- var no = helpers_Helpers.getNumberByIndex(this.visibleIndex, this.getStartIndex());
19500
+ var parentIndex = (_a = this.parent) === null || _a === void 0 ? void 0 : _a.visibleIndex;
19501
+ var no = helpers_Helpers.getNumberByIndex(this.visibleIndex, this.getStartIndex(), parentIndex);
19472
19502
  if (!!this.survey) {
19473
19503
  no = this.survey.getUpdatedQuestionNo(this, no);
19474
19504
  }
@@ -19848,7 +19878,7 @@ var question_Question = /** @class */ (function (_super) {
19848
19878
  *
19849
19879
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
19850
19880
  *
19851
- * [View Demo](https://surveyjs.io/form-library/examples/trigger-setvalue/ (linkStyle))
19881
+ * [View Demo](https://surveyjs.io/form-library/examples/set-question-value-dynamically/ (linkStyle))
19852
19882
  * @see setValueIf
19853
19883
  */
19854
19884
  get: function () {
@@ -19866,7 +19896,7 @@ var question_Question = /** @class */ (function (_super) {
19866
19896
  *
19867
19897
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
19868
19898
  *
19869
- * [View Demo](https://surveyjs.io/form-library/examples/trigger-setvalue/ (linkStyle))
19899
+ * [View Demo](https://surveyjs.io/form-library/examples/set-question-value-dynamically/ (linkStyle))
19870
19900
  * @see resetValueIf
19871
19901
  */
19872
19902
  get: function () {
@@ -19884,7 +19914,7 @@ var question_Question = /** @class */ (function (_super) {
19884
19914
  *
19885
19915
  * You can use `setValueExpression` as a standalone property or in conjunction with the [`setValueIf`](#setValueIf) expression, in which case the calculated question value applies only when `setValueIf` evaluates to `true`.
19886
19916
  *
19887
- * [View Demo](https://surveyjs.io/form-library/examples/trigger-setvalue/ (linkStyle))
19917
+ * [View Demo](https://surveyjs.io/form-library/examples/set-question-value-dynamically/ (linkStyle))
19888
19918
  * @see defaultValueExpression
19889
19919
  * @see resetValueIf
19890
19920
  */
@@ -21056,7 +21086,7 @@ Serializer.addClass("question", [
21056
21086
  name: "title:text", serializationProperty: "locTitle", layout: "row", dependsOn: "name",
21057
21087
  onPropertyEditorUpdate: function (obj, editor) {
21058
21088
  if (!!obj && !!editor) {
21059
- editor.placeholder = obj.name;
21089
+ editor.placeholder = obj.getDefaultTitle();
21060
21090
  }
21061
21091
  }
21062
21092
  },
@@ -22299,8 +22329,8 @@ var choicesRestful_ChoicesRestful = /** @class */ (function (_super) {
22299
22329
  .replace(ChoicesRestful.noCacheText, "");
22300
22330
  }
22301
22331
  if (textProcessor) {
22302
- var pUrl = textProcessor.processTextEx(urlText, false, settings.web.encodeUrlParams);
22303
- var pPath = textProcessor.processTextEx(this.path, false, settings.web.encodeUrlParams);
22332
+ var pUrl = textProcessor.processTextEx({ text: urlText, runAtDesign: true });
22333
+ var pPath = textProcessor.processTextEx({ text: this.path, runAtDesign: true });
22304
22334
  if (!pUrl.hasAllValuesOnLastRun || !pPath.hasAllValuesOnLastRun) {
22305
22335
  this.processedUrl = "";
22306
22336
  this.processedPath = "";
@@ -23002,10 +23032,11 @@ var martixBase_QuestionMatrixBaseModel = /** @class */ (function (_super) {
23002
23032
  }
23003
23033
  };
23004
23034
  QuestionMatrixBaseModel.prototype.isVisibleCore = function () {
23035
+ var _a;
23005
23036
  var res = _super.prototype.isVisibleCore.call(this);
23006
23037
  if (!res || !this.hideIfRowsEmpty)
23007
23038
  return res;
23008
- return this.visibleRows.length > 0;
23039
+ return ((_a = this.visibleRows) === null || _a === void 0 ? void 0 : _a.length) > 0;
23009
23040
  };
23010
23041
  QuestionMatrixBaseModel.prototype.shouldRunColumnExpression = function () {
23011
23042
  return !this.survey || !this.survey.areInvisibleElementsShowing;
@@ -23357,12 +23388,12 @@ var textPreProcessor_QuestionTextProcessor = /** @class */ (function () {
23357
23388
  text = this.processTextCore(this.getParentTextProcessor(), text, returnDisplayValue);
23358
23389
  return this.processTextCore(this.survey, text, returnDisplayValue);
23359
23390
  };
23360
- QuestionTextProcessor.prototype.processTextEx = function (text, returnDisplayValue) {
23361
- text = this.processText(text, returnDisplayValue);
23391
+ QuestionTextProcessor.prototype.processTextEx = function (params) {
23392
+ params.text = this.processText(params.text, params.returnDisplayValue);
23362
23393
  var hasAllValuesOnLastRun = this.textPreProcessor.hasAllValuesOnLastRun;
23363
- var res = { hasAllValuesOnLastRun: true, text: text };
23394
+ var res = { hasAllValuesOnLastRun: true, text: params.text };
23364
23395
  if (this.survey) {
23365
- res = this.survey.processTextEx(text, returnDisplayValue, false);
23396
+ res = this.survey.processTextEx(params);
23366
23397
  }
23367
23398
  res.hasAllValuesOnLastRun =
23368
23399
  res.hasAllValuesOnLastRun && hasAllValuesOnLastRun;
@@ -24512,6 +24543,13 @@ var question_custom_QuestionCompositeModel = /** @class */ (function (_super) {
24512
24543
  };
24513
24544
  }
24514
24545
  };
24546
+ Object.defineProperty(QuestionCompositeModel.prototype, "ariaRole", {
24547
+ get: function () {
24548
+ return "group";
24549
+ },
24550
+ enumerable: false,
24551
+ configurable: true
24552
+ });
24515
24553
  QuestionCompositeModel.ItemVariableName = "composite";
24516
24554
  return QuestionCompositeModel;
24517
24555
  }(question_custom_QuestionCustomModelBase));
@@ -29138,6 +29176,7 @@ var question_matrixdropdownbase_QuestionMatrixDropdownModelBase = /** @class */
29138
29176
  counter++;
29139
29177
  } while (!helpers_Helpers.isTwoValueEquals(prevTotalValue, this.totalValue) &&
29140
29178
  counter < 3);
29179
+ this.updateVisibilityBasedOnRows();
29141
29180
  };
29142
29181
  QuestionMatrixDropdownModelBase.prototype.runTriggers = function (name, value) {
29143
29182
  _super.prototype.runTriggers.call(this, name, value);
@@ -29318,7 +29357,7 @@ var question_matrixdropdownbase_QuestionMatrixDropdownModelBase = /** @class */
29318
29357
  * }
29319
29358
  * ```
29320
29359
  *
29321
- * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [onTextMarkdown](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with Showdown](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
29360
+ * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [onTextMarkdown](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with markdown-it](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
29322
29361
  *
29323
29362
  * If you add custom properties, refer to the following help topic to learn how to serialize them into JSON: [Add Custom Properties to Property Grid](https://surveyjs.io/survey-creator/documentation/property-grid#add-custom-properties-to-the-property-grid).
29324
29363
  *
@@ -32441,6 +32480,12 @@ var question_matrixdynamic_QuestionMatrixDynamicModel = /** @class */ (function
32441
32480
  QuestionMatrixDynamicModel.prototype.updateValueFromSurvey = function (newValue, clearData) {
32442
32481
  if (clearData === void 0) { clearData = false; }
32443
32482
  this.setRowCountValueFromData = true;
32483
+ if (this.minRowCount > 0 && helpers_Helpers.isValueEmpty(newValue) && !helpers_Helpers.isValueEmpty(this.defaultRowValue)) {
32484
+ newValue = [];
32485
+ for (var i = 0; i < this.minRowCount; i++) {
32486
+ newValue.push(helpers_Helpers.createCopy(this.defaultRowValue));
32487
+ }
32488
+ }
32444
32489
  _super.prototype.updateValueFromSurvey.call(this, newValue, clearData);
32445
32490
  this.setRowCountValueFromData = false;
32446
32491
  };
@@ -32685,7 +32730,6 @@ var defaultV2Css = {
32685
32730
  titleExpanded: "sd-element__title--expanded",
32686
32731
  titleCollapsed: "sd-element__title--collapsed",
32687
32732
  titleDisabled: "sd-element__title--disabled",
32688
- titleHidden: "sd-element__title--hidden",
32689
32733
  titleOnExpand: "sd-panel__title--expanded",
32690
32734
  titleOnError: "sd-panel__title--error",
32691
32735
  titleBar: "sd-action-title-bar",
@@ -32698,7 +32742,6 @@ var defaultV2Css = {
32698
32742
  footer: "sd-panel__footer",
32699
32743
  requiredText: "sd-panel__required-text",
32700
32744
  header: "sd-panel__header sd-element__header sd-element__header--location-top",
32701
- headerHidden: "sd-panel__header--hidden",
32702
32745
  collapsed: "sd-element--collapsed",
32703
32746
  expanded: "sd-element--expanded",
32704
32747
  expandable: "sd-element--expandable",
@@ -33397,6 +33440,7 @@ var defaultV2Css = {
33397
33440
  rootSelectToRankEmptyValueMod: "sv-ranking--select-to-rank-empty-value",
33398
33441
  rootSelectToRankAlignVertical: "sv-ranking--select-to-rank-vertical",
33399
33442
  rootSelectToRankAlignHorizontal: "sv-ranking--select-to-rank-horizontal",
33443
+ rootSelectToRankSwapAreas: "sv-ranking--select-to-rank-swap-areas",
33400
33444
  item: "sv-ranking-item",
33401
33445
  itemContent: "sv-ranking-item__content sd-ranking-item__content",
33402
33446
  itemIndex: "sv-ranking-item__index sd-ranking-item__index",
@@ -34212,7 +34256,13 @@ var header_Cover = /** @class */ (function (_super) {
34212
34256
  };
34213
34257
  Object.defineProperty(Cover.prototype, "renderedHeight", {
34214
34258
  get: function () {
34215
- return this.height && (this.survey && !this.survey.isMobile || !this.survey) ? Math.max(this.height, this.actualHeight + 40) + "px" : undefined;
34259
+ if (this.survey && !this.survey.isMobile || !this.survey) {
34260
+ return this.height ? Math.max(this.height, this.actualHeight + 40) + "px" : undefined;
34261
+ }
34262
+ if (this.survey && this.survey.isMobile) {
34263
+ return this.mobileHeight ? Math.max(this.mobileHeight, this.actualHeight + 40) + "px" : undefined;
34264
+ }
34265
+ return undefined;
34216
34266
  },
34217
34267
  enumerable: false,
34218
34268
  configurable: true
@@ -34313,6 +34363,9 @@ var header_Cover = /** @class */ (function (_super) {
34313
34363
  header_decorate([
34314
34364
  jsonobject_property()
34315
34365
  ], Cover.prototype, "height", void 0);
34366
+ header_decorate([
34367
+ jsonobject_property()
34368
+ ], Cover.prototype, "mobileHeight", void 0);
34316
34369
  header_decorate([
34317
34370
  jsonobject_property()
34318
34371
  ], Cover.prototype, "inheritWidthFrom", void 0);
@@ -34394,6 +34447,7 @@ var header_Cover = /** @class */ (function (_super) {
34394
34447
 
34395
34448
  Serializer.addClass("cover", [
34396
34449
  { name: "height:number", minValue: 0, default: 256 },
34450
+ { name: "mobileHeight:number", minValue: 0, default: 0 },
34397
34451
  { name: "inheritWidthFrom", default: "container" },
34398
34452
  { name: "textAreaWidth:number", minValue: 0, default: 512 },
34399
34453
  { name: "textGlowEnabled:boolean" },
@@ -35084,6 +35138,9 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
35084
35138
  _this.registerPropertyChangedHandlers(["questionStartIndex", "showQuestionNumbers"], function () {
35085
35139
  _this.updateVisibleIndexes();
35086
35140
  });
35141
+ _this.registerPropertyChangedHandlers(["title"], function () {
35142
+ _this.calcHasTextInTitle();
35143
+ });
35087
35144
  _this.dragDropPanelHelper = new drag_drop_panel_helper_v1_DragDropPanelHelperV1(_this);
35088
35145
  return _this;
35089
35146
  }
@@ -35158,10 +35215,13 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
35158
35215
  col.onPropertyValueChangedCallback = _this.onColumnPropertyValueChangedCallback;
35159
35216
  });
35160
35217
  };
35218
+ PanelModelBase.prototype.calcHasTextInTitle = function () {
35219
+ this.hasTextInTitle = !!this.title;
35220
+ };
35161
35221
  Object.defineProperty(PanelModelBase.prototype, "hasTitle", {
35162
35222
  get: function () {
35163
- return ((this.canShowTitle() && this.locTitle.textOrHtml.length > 0) ||
35164
- (this.isDesignMode && (this.showTitle && this.isInteractiveDesignElement && settings.designMode.showEmptyTitles)));
35223
+ return ((this.canShowTitle() && (this.hasTextInTitle || this.locTitle.textOrHtml.length > 0)) ||
35224
+ (this.isDesignMode && !(settings.supportCreatorV2 && this.isPanel) && this.showTitle && settings.designMode.showEmptyTitles));
35165
35225
  },
35166
35226
  enumerable: false,
35167
35227
  configurable: true
@@ -35649,6 +35709,7 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
35649
35709
  * @see questions
35650
35710
  */
35651
35711
  get: function () {
35712
+ base_Base.collectDependency(this, "elements");
35652
35713
  return this.elementsValue;
35653
35714
  },
35654
35715
  enumerable: false,
@@ -36161,6 +36222,7 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
36161
36222
  }
36162
36223
  this.onElementVisibilityChanged(this);
36163
36224
  this.releaseAnimations();
36225
+ this.calcHasTextInTitle();
36164
36226
  };
36165
36227
  PanelModelBase.prototype.onFirstRendering = function () {
36166
36228
  _super.prototype.onFirstRendering.call(this);
@@ -36913,6 +36975,9 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
36913
36975
  panel_decorate([
36914
36976
  jsonobject_property({ defaultValue: true })
36915
36977
  ], PanelModelBase.prototype, "showTitle", void 0);
36978
+ panel_decorate([
36979
+ jsonobject_property({ defaultValue: false })
36980
+ ], PanelModelBase.prototype, "hasTextInTitle", void 0);
36916
36981
  panel_decorate([
36917
36982
  jsonobject_property({ defaultValue: true })
36918
36983
  ], PanelModelBase.prototype, "showDescription", void 0);
@@ -36943,9 +37008,6 @@ var panel_PanelModel = /** @class */ (function (_super) {
36943
37008
  });
36944
37009
  _this.registerPropertyChangedHandlers(["indent", "innerIndent", "rightIndent"], function () { _this.onIndentChanged(); });
36945
37010
  _this.registerPropertyChangedHandlers(["colSpan"], function () { var _a; (_a = _this.parent) === null || _a === void 0 ? void 0 : _a.updateColumns(); });
36946
- _this.registerPropertyChangedHandlers(["title"], function () {
36947
- _this.calcHasTextInTitle();
36948
- });
36949
37011
  return _this;
36950
37012
  }
36951
37013
  PanelModel.prototype.getType = function () {
@@ -36965,37 +37027,15 @@ var panel_PanelModel = /** @class */ (function (_super) {
36965
37027
  }
36966
37028
  return _super.prototype.getSurvey.call(this, live);
36967
37029
  };
36968
- Object.defineProperty(PanelModel.prototype, "hasTextInTitle", {
36969
- get: function () {
36970
- return this.getPropertyValue("hasTextInTitle");
36971
- },
36972
- enumerable: false,
36973
- configurable: true
36974
- });
36975
- PanelModel.prototype.calcHasTextInTitle = function () {
36976
- this.setPropertyValue("hasTextInTitle", !!this.title);
36977
- };
36978
37030
  PanelModel.prototype.onSurveyLoad = function () {
36979
37031
  _super.prototype.onSurveyLoad.call(this);
36980
37032
  this.onIndentChanged();
36981
- this.calcHasTextInTitle();
36982
37033
  };
36983
37034
  PanelModel.prototype.onSetData = function () {
36984
37035
  _super.prototype.onSetData.call(this);
36985
37036
  this.onIndentChanged();
36986
37037
  this.calcHasTextInTitle();
36987
37038
  };
36988
- Object.defineProperty(PanelModel.prototype, "cssHeader", {
36989
- get: function () {
36990
- return new CssClassBuilder()
36991
- .append(this.cssClasses.panel.header)
36992
- .append(this.cssClasses.panel.headerHidden, !this.hasTextInTitle &&
36993
- !this.hasDescription &&
36994
- this.isDesignMode).toString();
36995
- },
36996
- enumerable: false,
36997
- configurable: true
36998
- });
36999
37039
  Object.defineProperty(PanelModel.prototype, "isPanel", {
37000
37040
  get: function () {
37001
37041
  return true;
@@ -37134,7 +37174,7 @@ var panel_PanelModel = /** @class */ (function (_super) {
37134
37174
  var _this = this;
37135
37175
  var locTitleValue = _super.prototype.createLocTitleProperty.call(this);
37136
37176
  locTitleValue.onGetTextCallback = function (text) {
37137
- if (!text && (_this.state !== "default" || (_this.isDesignMode && _this.isDefaultV2Theme && _this.isInteractiveDesignElement))) {
37177
+ if (!text && (_this.state !== "default")) {
37138
37178
  text = _this.name;
37139
37179
  }
37140
37180
  return text;
@@ -37297,10 +37337,7 @@ var panel_PanelModel = /** @class */ (function (_super) {
37297
37337
  };
37298
37338
  Object.defineProperty(PanelModel.prototype, "cssTitle", {
37299
37339
  get: function () {
37300
- return new CssClassBuilder()
37301
- .append(this.getCssTitle(this.cssClasses.panel))
37302
- .append(this.cssClasses.panel.titleHidden, !this.hasTextInTitle && this.isDesignMode)
37303
- .toString();
37340
+ return this.getCssTitle(this.cssClasses.panel);
37304
37341
  },
37305
37342
  enumerable: false,
37306
37343
  configurable: true
@@ -37783,6 +37820,10 @@ var page_PageModel = /** @class */ (function (_super) {
37783
37820
  PageModel.prototype.canShowTitle = function () {
37784
37821
  return this.survey && this.survey.showPageTitles;
37785
37822
  };
37823
+ PageModel.prototype.setTitleValue = function (val) {
37824
+ _super.prototype.setTitleValue.call(this, val);
37825
+ this.navigationLocStrChanged();
37826
+ };
37786
37827
  Object.defineProperty(PageModel.prototype, "navigationTitle", {
37787
37828
  /**
37788
37829
  * A caption displayed on a navigation button in the TOC or progress bar. Applies when [`showTOC`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showTOC) is `true` or when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar), [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) is set to `"pages"`, and [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarShowPageTitles) is `true`.
@@ -38367,24 +38408,8 @@ function tryFocusPage(survey, panel) {
38367
38408
  return true;
38368
38409
  }
38369
38410
  function createTOCListModel(survey, onAction) {
38370
- var _a;
38371
- var pagesSource = survey.questionsOnPageMode === "singlePage" ? (_a = survey.pages[0]) === null || _a === void 0 ? void 0 : _a.elements : survey.pages;
38372
- var items = (pagesSource || []).map(function (page) {
38373
- return new action_Action({
38374
- id: page.name,
38375
- locTitle: page.locNavigationTitle,
38376
- action: function () {
38377
- DomDocumentHelper.activeElementBlur();
38378
- !!onAction && onAction();
38379
- if (page instanceof page_PageModel) {
38380
- return survey.tryNavigateToPage(page);
38381
- }
38382
- return tryFocusPage(survey, page);
38383
- },
38384
- visible: new ComputedUpdater(function () { return page.isVisible && !(page["isStartPage"]); })
38385
- });
38386
- });
38387
- var selectedItem = items.filter(function (i) { return !!survey.currentPage && i.id === survey.currentPage.name; })[0] || items.filter(function (i) { return i.id === pagesSource[0].name; })[0];
38411
+ var items = getTOCItems(survey, onAction);
38412
+ var selectedItem = items.filter(function (i) { return !!survey.currentPage && i.id === survey.currentPage.name; })[0] || items[0];
38388
38413
  var listOptions = {
38389
38414
  items: items,
38390
38415
  onSelectionChanged: function (item) {
@@ -38400,10 +38425,35 @@ function createTOCListModel(survey, onAction) {
38400
38425
  var listModel = new list_ListModel(listOptions);
38401
38426
  listModel.allowSelection = false;
38402
38427
  survey.onCurrentPageChanged.add(function (s, o) {
38403
- listModel.selectedItem = items.filter(function (i) { return !!survey.currentPage && i.id === survey.currentPage.name; })[0];
38428
+ listModel.selectedItem = listModel.actions.filter(function (i) { return !!survey.currentPage && i.id === survey.currentPage.name; })[0];
38404
38429
  });
38430
+ survey.registerFunctionOnPropertyValueChanged("pages", function () {
38431
+ listModel.setItems(getTOCItems(survey, onAction));
38432
+ }, "toc");
38405
38433
  return listModel;
38406
38434
  }
38435
+ function getTOCItems(survey, onAction) {
38436
+ var _a;
38437
+ var pagesSource = survey.questionsOnPageMode === "singlePage" ? (_a = survey.pages[0]) === null || _a === void 0 ? void 0 : _a.elements : survey.pages;
38438
+ var items = (pagesSource || []).map(function (page) {
38439
+ return new action_Action({
38440
+ id: page.name,
38441
+ locTitle: page.locNavigationTitle,
38442
+ action: function () {
38443
+ DomDocumentHelper.activeElementBlur();
38444
+ !!onAction && onAction();
38445
+ if (page instanceof page_PageModel) {
38446
+ return survey.tryNavigateToPage(page);
38447
+ }
38448
+ return tryFocusPage(survey, page);
38449
+ },
38450
+ visible: new ComputedUpdater(function () {
38451
+ return page.isVisible && !(page["isStartPage"]);
38452
+ })
38453
+ });
38454
+ });
38455
+ return items;
38456
+ }
38407
38457
  function getTocRootCss(survey, isMobile) {
38408
38458
  if (isMobile === void 0) { isMobile = false; }
38409
38459
  var rootCss = surveyToc_TOCModel.RootStyle;
@@ -38474,6 +38524,7 @@ var surveyToc_TOCModel = /** @class */ (function () {
38474
38524
  configurable: true
38475
38525
  });
38476
38526
  TOCModel.prototype.dispose = function () {
38527
+ this.survey.unRegisterFunctionOnPropertyValueChanged("pages", "toc");
38477
38528
  this.popupModel.dispose();
38478
38529
  this.listModel.dispose();
38479
38530
  };
@@ -45928,13 +45979,15 @@ var survey_SurveyModel = /** @class */ (function (_super) {
45928
45979
  return this.processText(options.html, true);
45929
45980
  };
45930
45981
  SurveyModel.prototype.processText = function (text, returnDisplayValue) {
45931
- return this.processTextEx(text, returnDisplayValue, false).text;
45982
+ return this.processTextEx({ text: text, returnDisplayValue: returnDisplayValue, doEncoding: false }).text;
45932
45983
  };
45933
- SurveyModel.prototype.processTextEx = function (text, returnDisplayValue, doEncoding) {
45934
- var res = {
45935
- text: this.processTextCore(text, returnDisplayValue, doEncoding),
45936
- hasAllValuesOnLastRun: true,
45937
- };
45984
+ SurveyModel.prototype.processTextEx = function (params) {
45985
+ var doEncoding = params.doEncoding === undefined ? settings.web.encodeUrlParams : params.doEncoding;
45986
+ var text = params.text;
45987
+ if (params.runAtDesign || !this.isDesignMode) {
45988
+ text = this.textPreProcessor.process(text, params.returnDisplayValue === true, doEncoding);
45989
+ }
45990
+ var res = { text: text, hasAllValuesOnLastRun: true };
45938
45991
  res.hasAllValuesOnLastRun = this.textPreProcessor.hasAllValuesOnLastRun;
45939
45992
  return res;
45940
45993
  };
@@ -45952,12 +46005,6 @@ var survey_SurveyModel = /** @class */ (function (_super) {
45952
46005
  enumerable: false,
45953
46006
  configurable: true
45954
46007
  });
45955
- SurveyModel.prototype.processTextCore = function (text, returnDisplayValue, doEncoding) {
45956
- if (doEncoding === void 0) { doEncoding = false; }
45957
- if (this.isDesignMode)
45958
- return text;
45959
- return this.textPreProcessor.process(text, returnDisplayValue, doEncoding);
45960
- };
45961
46008
  SurveyModel.prototype.getSurveyMarkdownHtml = function (element, text, name) {
45962
46009
  var options = {
45963
46010
  element: element,
@@ -48192,7 +48239,7 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
48192
48239
  * }
48193
48240
  * ```
48194
48241
  *
48195
- * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [onTextMarkdown](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with Showdown](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
48242
+ * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [`onTextMarkdown`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with markdown-it](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
48196
48243
  *
48197
48244
  * If you add custom properties, refer to the following help topic to learn how to serialize them into JSON: [Add Custom Properties to Property Grid](https://surveyjs.io/survey-creator/documentation/property-grid#add-custom-properties-to-the-property-grid).
48198
48245
  *
@@ -48228,7 +48275,7 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
48228
48275
  this.isLockVisibleChoices = !!question && question.name === val;
48229
48276
  if (!!question && question.name !== val) {
48230
48277
  question.removeDependedQuestion(this);
48231
- if (this.isDesignMode && !this.isLoadingFromJson && !!val) {
48278
+ if (this.isInDesignMode && !this.isLoadingFromJson && !!val) {
48232
48279
  this.setPropertyValue("choicesFromQuestion", undefined);
48233
48280
  }
48234
48281
  }
@@ -48575,8 +48622,8 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
48575
48622
  };
48576
48623
  Object.defineProperty(QuestionSelectBase.prototype, "isAddDefaultItems", {
48577
48624
  get: function () {
48578
- return settings.showDefaultItemsInCreatorV2 && this.isDesignModeV2 &&
48579
- !this.customWidget && !this.isContentElement;
48625
+ return settings.showDefaultItemsInCreatorV2 && this.isInDesignModeV2 &&
48626
+ !this.customWidget;
48580
48627
  },
48581
48628
  enumerable: false,
48582
48629
  configurable: true
@@ -48702,7 +48749,7 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
48702
48749
  });
48703
48750
  Object.defineProperty(QuestionSelectBase.prototype, "isEmptyActiveChoicesInDesign", {
48704
48751
  get: function () {
48705
- return this.isDesignModeV2 && (this.hasChoicesUrl || this.isMessagePanelVisible);
48752
+ return this.isInDesignModeV2 && (this.hasChoicesUrl || this.isMessagePanelVisible);
48706
48753
  },
48707
48754
  enumerable: false,
48708
48755
  configurable: true
@@ -48742,7 +48789,7 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
48742
48789
  return !!question && question.isValueArray ? question : null;
48743
48790
  };
48744
48791
  QuestionSelectBase.prototype.getChoicesFromArrayQuestion = function (question) {
48745
- if (this.isDesignMode)
48792
+ if (this.isInDesignMode)
48746
48793
  return [];
48747
48794
  var val = question.value;
48748
48795
  if (!Array.isArray(val))
@@ -48767,7 +48814,7 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
48767
48814
  return keys.length > 0 ? keys[0] : undefined;
48768
48815
  };
48769
48816
  QuestionSelectBase.prototype.getChoicesFromSelectQuestion = function (question) {
48770
- if (this.isDesignMode)
48817
+ if (this.isInDesignMode)
48771
48818
  return [];
48772
48819
  var res = [];
48773
48820
  var isSelected = this.choicesFromQuestionMode == "selected"
@@ -48942,7 +48989,7 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
48942
48989
  };
48943
48990
  QuestionSelectBase.prototype.runChoicesByUrl = function () {
48944
48991
  this.updateIsUsingRestful();
48945
- if (!this.choicesByUrl || this.isLoadingFromJson || this.isRunningChoices || this.isDesignModeV2)
48992
+ if (!this.choicesByUrl || this.isLoadingFromJson || this.isRunningChoices || this.isInDesignModeV2)
48946
48993
  return;
48947
48994
  var processor = this.surveyImpl
48948
48995
  ? this.surveyImpl.getTextProcessor()
@@ -49110,7 +49157,7 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
49110
49157
  return !choices || choices.length > 0;
49111
49158
  };
49112
49159
  QuestionSelectBase.prototype.sortVisibleChoices = function (array) {
49113
- if (this.isDesignMode)
49160
+ if (this.isInDesignMode)
49114
49161
  return array;
49115
49162
  var order = this.choicesOrder.toLowerCase();
49116
49163
  if (order == "asc")
@@ -49335,7 +49382,7 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
49335
49382
  });
49336
49383
  Object.defineProperty(QuestionSelectBase.prototype, "headItems", {
49337
49384
  get: function () {
49338
- var count = (this.separateSpecialChoices || this.isDesignMode) ? this.headItemsCount : 0;
49385
+ var count = (this.separateSpecialChoices || this.isInDesignMode) ? this.headItemsCount : 0;
49339
49386
  var res = [];
49340
49387
  for (var i = 0; i < count; i++) {
49341
49388
  if (this.renderedChoices[i]) {
@@ -49349,7 +49396,7 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
49349
49396
  });
49350
49397
  Object.defineProperty(QuestionSelectBase.prototype, "footItems", {
49351
49398
  get: function () {
49352
- var count = (this.separateSpecialChoices || this.isDesignMode) ? this.footItemsCount : 0;
49399
+ var count = (this.separateSpecialChoices || this.isInDesignMode) ? this.footItemsCount : 0;
49353
49400
  var res = [];
49354
49401
  var items = this.renderedChoices;
49355
49402
  for (var i = 0; i < count; i++) {
@@ -49396,7 +49443,7 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
49396
49443
  var columns = [];
49397
49444
  var colCount = this.getCurrentColCount();
49398
49445
  if (this.hasColumns && this.renderedChoices.length > 0) {
49399
- var choicesToBuildColumns = (!this.separateSpecialChoices && !this.isDesignMode) ?
49446
+ var choicesToBuildColumns = (!this.separateSpecialChoices && !this.isInDesignMode) ?
49400
49447
  this.renderedChoices : this.dataChoices;
49401
49448
  if (settings.showItemsInOrder == "column") {
49402
49449
  var prevIndex = 0;
@@ -54723,7 +54770,7 @@ var question_multipletext_QuestionMultipleTextModel = /** @class */ (function (_
54723
54770
  * }
54724
54771
  * ```
54725
54772
  *
54726
- * To enable Markdown support for the `title` property, implement Markdown-to-HTML conversion in the [`onTextMarkdown`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with Showdown](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
54773
+ * To enable Markdown support for the `title` property, implement Markdown-to-HTML conversion in the [`onTextMarkdown`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with markdown-it](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
54727
54774
  * @see itemTitleWidth
54728
54775
  * @see addItem
54729
54776
  */
@@ -57238,19 +57285,31 @@ var choices_DragDropChoices = /** @class */ (function (_super) {
57238
57285
  return false;
57239
57286
  return true;
57240
57287
  };
57241
- DragDropChoices.prototype.calculateIsBottom = function (clientY) {
57242
- var choices = this.getVisibleChoices();
57243
- return (choices.indexOf(this.dropTarget) - choices.indexOf(this.draggedElement) >
57244
- 0);
57288
+ DragDropChoices.prototype.isDropTargetDoesntChanged = function (newIsBottom) {
57289
+ return (this.dropTarget === this.prevDropTarget && newIsBottom === this.isBottom);
57290
+ };
57291
+ DragDropChoices.prototype.calculateIsBottom = function (clientY, dropTargetNode) {
57292
+ var rect = dropTargetNode.getBoundingClientRect();
57293
+ return clientY >= rect.y + rect.height / 2;
57245
57294
  };
57246
57295
  DragDropChoices.prototype.afterDragOver = function (dropTargetNode) {
57247
- if (this.isDropTargetDoesntChanged(this.isBottom))
57248
- return;
57296
+ //if (this.isDropTargetDoesntChanged(this.isBottom)) return;
57249
57297
  var choices = this.getVisibleChoices();
57250
57298
  var dropTargetIndex = choices.indexOf(this.dropTarget);
57251
57299
  var draggedElementIndex = choices.indexOf(this.draggedElement);
57252
- choices.splice(draggedElementIndex, 1);
57253
- choices.splice(dropTargetIndex, 0, this.draggedElement);
57300
+ if (draggedElementIndex < dropTargetIndex && this.isBottom === true) {
57301
+ // drag "down"
57302
+ choices.splice(draggedElementIndex, 1);
57303
+ choices.splice(dropTargetIndex, 0, this.draggedElement);
57304
+ }
57305
+ else if (draggedElementIndex > dropTargetIndex && this.isBottom === false) {
57306
+ // drag "up"
57307
+ choices.splice(dropTargetIndex, 1);
57308
+ choices.splice(draggedElementIndex, 0, this.dropTarget);
57309
+ }
57310
+ else {
57311
+ return;
57312
+ }
57254
57313
  if (this.parentElement.getType() === "imagepicker")
57255
57314
  return;
57256
57315
  if (draggedElementIndex !== dropTargetIndex) {
@@ -57410,10 +57469,9 @@ var ranking_choices_DragDropRankingChoices = /** @class */ (function (_super) {
57410
57469
  };
57411
57470
  DragDropRankingChoices.prototype.calculateIsBottom = function (clientY, dropTargetNode) {
57412
57471
  if (this.dropTarget instanceof itemvalue_ItemValue && this.draggedElement !== this.dropTarget) {
57413
- var rect = dropTargetNode.getBoundingClientRect();
57414
- return clientY >= rect.y + rect.height / 2;
57472
+ return _super.prototype.calculateIsBottom.call(this, clientY, dropTargetNode);
57415
57473
  }
57416
- return _super.prototype.calculateIsBottom.call(this, clientY);
57474
+ return false;
57417
57475
  };
57418
57476
  DragDropRankingChoices.prototype.getIndices = function (model, fromChoicesArray, toChoicesArray) {
57419
57477
  var fromIndex = fromChoicesArray.indexOf(this.draggedElement);
@@ -57771,6 +57829,7 @@ var question_ranking_QuestionRankingModel = /** @class */ (function (_super) {
57771
57829
  .append(this.cssClasses.rootSelectToRankEmptyValueMod, this.isEmpty())
57772
57830
  .append(this.cssClasses.rootSelectToRankAlignHorizontal, this.selectToRankEnabled && this.renderedSelectToRankAreasLayout === "horizontal")
57773
57831
  .append(this.cssClasses.rootSelectToRankAlignVertical, this.selectToRankEnabled && this.renderedSelectToRankAreasLayout === "vertical")
57832
+ .append(this.cssClasses.rootSelectToRankSwapAreas, this.selectToRankEnabled && this.renderedSelectToRankAreasLayout === "horizontal" && this.selectToRankSwapAreas)
57774
57833
  .toString();
57775
57834
  },
57776
57835
  enumerable: false,
@@ -58192,6 +58251,16 @@ var question_ranking_QuestionRankingModel = /** @class */ (function (_super) {
58192
58251
  enumerable: false,
58193
58252
  configurable: true
58194
58253
  });
58254
+ Object.defineProperty(QuestionRankingModel.prototype, "selectToRankSwapAreas", {
58255
+ get: function () {
58256
+ return this.getPropertyValue("selectToRankSwapAreas", false);
58257
+ },
58258
+ set: function (val) {
58259
+ this.setPropertyValue("selectToRankSwapAreas", val);
58260
+ },
58261
+ enumerable: false,
58262
+ configurable: true
58263
+ });
58195
58264
  Object.defineProperty(QuestionRankingModel.prototype, "selectToRankAreasLayout", {
58196
58265
  /**
58197
58266
  * Specifies the layout of the ranked and unranked areas. Applies when [`selectToRankEnabled`](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model#selectToRankEnabled) is `true`.
@@ -58321,6 +58390,13 @@ Serializer.addClass("ranking", [
58321
58390
  visible: true,
58322
58391
  isSerializable: true,
58323
58392
  },
58393
+ {
58394
+ name: "selectToRankSwapAreas:switch",
58395
+ default: false,
58396
+ visible: false,
58397
+ isSerializable: true,
58398
+ dependsOn: "selectToRankEnabled",
58399
+ },
58324
58400
  {
58325
58401
  name: "selectToRankAreasLayout",
58326
58402
  default: "horizontal",
@@ -60674,7 +60750,7 @@ var question_rating_QuestionRatingModel = /** @class */ (function (_super) {
60674
60750
  *
60675
60751
  * If you add custom properties, refer to the following help topic to learn how to serialize them into JSON: [Add Custom Properties to Property Grid](https://surveyjs.io/survey-creator/documentation/property-grid#add-custom-properties-to-the-property-grid).
60676
60752
  *
60677
- * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [onTextMarkdown](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with Showdown](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
60753
+ * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [onTextMarkdown](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with markdown-it](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
60678
60754
  *
60679
60755
  * If you need to specify only the `value` property, you can set the `rateValues` property to an array of numbers, for example, `[ 3, 6, 10 ]`. These values are both saved in survey results and used as display text.
60680
60756
  *
@@ -65318,8 +65394,11 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
65318
65394
  value = [];
65319
65395
  if (value.length == this.panelCount)
65320
65396
  return;
65321
- for (var i = value.length; i < this.panelCount; i++)
65322
- value.push({});
65397
+ for (var i = value.length; i < this.panelCount; i++) {
65398
+ var panelValue = this.panels[i].getValue();
65399
+ var val = !helpers_Helpers.isValueEmpty(panelValue) ? panelValue : {};
65400
+ value.push(val);
65401
+ }
65323
65402
  if (value.length > this.panelCount) {
65324
65403
  value.splice(this.panelCount, value.length - this.panelCount);
65325
65404
  }
@@ -70040,8 +70119,8 @@ Serializer.addClass("currencymask", [
70040
70119
 
70041
70120
  var Version;
70042
70121
  var ReleaseDate;
70043
- Version = "" + "1.12.2";
70044
- ReleaseDate = "" + "2024-09-16";
70122
+ Version = "" + "1.12.3";
70123
+ ReleaseDate = "" + "2024-09-24";
70045
70124
  function checkLibraryVersion(ver, libraryName) {
70046
70125
  if (Version != ver) {
70047
70126
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -70742,6 +70821,7 @@ var defaultStandardCss = {
70742
70821
  rootSelectToRankMod: "sv-ranking--select-to-rank",
70743
70822
  rootSelectToRankAlignVertical: "sv-ranking--select-to-rank-vertical",
70744
70823
  rootSelectToRankAlignHorizontal: "sv-ranking--select-to-rank-horizontal",
70824
+ rootSelectToRankSwapAreas: "sv-ranking--select-to-rank-swap-areas",
70745
70825
  item: "sv-ranking-item",
70746
70826
  itemContent: "sv-ranking-item__content",
70747
70827
  itemIndex: "sv-ranking-item__index",
@@ -71176,6 +71256,7 @@ var modernCss = {
71176
71256
  rootSelectToRankMod: "sv-ranking--select-to-rank",
71177
71257
  rootSelectToRankAlignVertical: "sv-ranking--select-to-rank-vertical",
71178
71258
  rootSelectToRankAlignHorizontal: "sv-ranking--select-to-rank-horizontal",
71259
+ rootSelectToRankSwapAreas: "sv-ranking--select-to-rank-swap-areas",
71179
71260
  item: "sv-ranking-item",
71180
71261
  itemContent: "sv-ranking-item__content",
71181
71262
  itemIndex: "sv-ranking-item__index",
@@ -72066,6 +72147,7 @@ var cssbootstrapmaterial_defaultCss = {
72066
72147
  rootSelectToRankMod: "sv-ranking--select-to-rank",
72067
72148
  rootSelectToRankAlignVertical: "sv-ranking--select-to-rank-vertical",
72068
72149
  rootSelectToRankAlignHorizontal: "sv-ranking--select-to-rank-horizontal",
72150
+ rootSelectToRankSwapAreas: "sv-ranking--select-to-rank-swap-areas",
72069
72151
  item: "sv-ranking-item",
72070
72152
  itemContent: "sv-ranking-item__content",
72071
72153
  itemIndex: "sv-ranking-item__index",