survey-react 1.9.120 → 1.9.122

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.9.120
2
+ * surveyjs - Survey JavaScript library v1.9.122
3
3
  * Copyright (c) 2015-2023 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1326,8 +1326,8 @@ var AdaptiveActionContainer = /** @class */ (function (_super) {
1326
1326
  this.updateItemMode(dimension, maxSize);
1327
1327
  }
1328
1328
  };
1329
- AdaptiveActionContainer.prototype.initResponsivityManager = function (container) {
1330
- this.responsivityManager = new _utils_responsivity_manager__WEBPACK_IMPORTED_MODULE_0__["ResponsivityManager"](container, this, ":scope > .sv-action:not(.sv-dots) > .sv-action__content");
1329
+ AdaptiveActionContainer.prototype.initResponsivityManager = function (container, delayedUpdateFunction) {
1330
+ this.responsivityManager = new _utils_responsivity_manager__WEBPACK_IMPORTED_MODULE_0__["ResponsivityManager"](container, this, ":scope > .sv-action:not(.sv-dots) > .sv-action__content", null, delayedUpdateFunction);
1331
1331
  };
1332
1332
  AdaptiveActionContainer.prototype.resetResponsivityManager = function () {
1333
1333
  if (!!this.responsivityManager) {
@@ -1539,7 +1539,7 @@ var ActionContainer = /** @class */ (function (_super) {
1539
1539
  this.sortItems();
1540
1540
  }
1541
1541
  };
1542
- ActionContainer.prototype.initResponsivityManager = function (container) {
1542
+ ActionContainer.prototype.initResponsivityManager = function (container, delayedUpdateFunction) {
1543
1543
  return;
1544
1544
  };
1545
1545
  ActionContainer.prototype.resetResponsivityManager = function () { };
@@ -1891,7 +1891,7 @@ var Base = /** @class */ (function () {
1891
1891
  * Returns `true` if a passed `value` is an empty string, array, or object or if it equals to `undefined` or `null`.
1892
1892
  *
1893
1893
  * @param value A value to be checked.
1894
- * @param trimString (Optional) When this parameter is `true`, the method ignores whitespace characters at the beginning and end of a string value. Pass `false` to disable this functionality.
1894
+ * @param trimString *(Optional)* When this parameter is `true`, the method ignores whitespace characters at the beginning and end of a string value. Pass `false` to disable this functionality.
1895
1895
  */
1896
1896
  Base.prototype.isValueEmpty = function (value, trimString) {
1897
1897
  if (trimString === void 0) { trimString = true; }
@@ -2098,7 +2098,7 @@ var Base = /** @class */ (function () {
2098
2098
  * If the property is not found or does not have a value, this method returns either `undefined`, `defaultValue` specified in the property configuration, or a value passed as the `defaultValue` parameter.
2099
2099
  *
2100
2100
  * @param name A property name.
2101
- * @param defaultValue (Optional) A value to return if the property is not found or does not have a value.
2101
+ * @param defaultValue *(Optional)* A value to return if the property is not found or does not have a value.
2102
2102
  */
2103
2103
  Base.prototype.getPropertyValue = function (name, defaultValue) {
2104
2104
  if (defaultValue === void 0) { defaultValue = null; }
@@ -2369,7 +2369,7 @@ var Base = /** @class */ (function () {
2369
2369
  * Registers a function to call when a property value changes.
2370
2370
  * @param propertyNames An array of one or multiple property names.
2371
2371
  * @param handler A function to call when one of the listed properties change.
2372
- * @param key (Optional) A key that identifies the current registration. If a function for one of the properties is already registered with the same key, the function will be overwritten. You can also use the key to subsequently unregister handlers.
2372
+ * @param key *(Optional)* A key that identifies the current registration. If a function for one of the properties is already registered with the same key, the function will be overwritten. You can also use the key to subsequently unregister handlers.
2373
2373
  * @see unregisterPropertyChangedHandlers
2374
2374
  */
2375
2375
  Base.prototype.registerPropertyChangedHandlers = function (propertyNames, handler, key) {
@@ -2381,7 +2381,7 @@ var Base = /** @class */ (function () {
2381
2381
  /**
2382
2382
  * Unregisters value change event handlers for the specified properties.
2383
2383
  * @param propertyNames An array of one or multiple property names.
2384
- * @param key (Optional) A key of the registration that you want to cancel.
2384
+ * @param key *(Optional)* A key of the registration that you want to cancel.
2385
2385
  * @see registerPropertyChangedHandlers
2386
2386
  */
2387
2387
  Base.prototype.unregisterPropertyChangedHandlers = function (propertyNames, key) {
@@ -5821,6 +5821,9 @@ var defaultV2Css = {
5821
5821
  rootDropdown: "sd-scrollable-container sd-scrollable-container--compact sd-selectbase",
5822
5822
  root: "sd-scrollable-container sd-rating",
5823
5823
  rootWrappable: "sd-scrollable-container sd-rating sd-rating--wrappable",
5824
+ rootLabelsTop: "sd-rating--labels-top",
5825
+ rootLabelsBottom: "sd-rating--labels-bottom",
5826
+ rootLabelsDiagonal: "sd-rating--labels-diagonal",
5824
5827
  item: "sd-rating__item",
5825
5828
  itemOnError: "sd-rating__item--error",
5826
5829
  itemHover: "sd-rating__item--allowhover",
@@ -8488,7 +8491,7 @@ var DropdownMultiSelectListModel = /** @class */ (function (_super) {
8488
8491
  if (!_onSelectionChanged) {
8489
8492
  _onSelectionChanged = function (item, status) {
8490
8493
  _this.resetFilterString();
8491
- if (item.value === "selectall") {
8494
+ if (item.id === "selectall") {
8492
8495
  _this.selectAllItems();
8493
8496
  }
8494
8497
  else if (status === "added" && item.value === _settings__WEBPACK_IMPORTED_MODULE_4__["settings"].noneItemValue) {
@@ -9423,8 +9426,8 @@ __webpack_require__.r(__webpack_exports__);
9423
9426
  //import "../../modern.scss";
9424
9427
  var Version;
9425
9428
  var ReleaseDate;
9426
- Version = "" + "1.9.120";
9427
- ReleaseDate = "" + "2023-12-04";
9429
+ Version = "" + "1.9.122";
9430
+ ReleaseDate = "" + "2023-12-19";
9428
9431
  function checkLibraryVersion(ver, libraryName) {
9429
9432
  if (Version != ver) {
9430
9433
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -10547,7 +10550,7 @@ var defaultBootstrapMaterialCss = _plugins_themes_bootstrapmaterial_cssbootstrap
10547
10550
  /*!***************************************!*\
10548
10551
  !*** ./src/entries/react-ui-model.ts ***!
10549
10552
  \***************************************/
10550
- /*! exports provided: Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, 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, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent */
10553
+ /*! exports provided: Survey, attachKey2click, ReactSurveyElementsWrapper, SurveyNavigationBase, SurveyTimerPanel, SurveyPage, SurveyRow, SurveyPanel, SurveyFlowPanel, SurveyQuestion, SurveyElementErrors, SurveyQuestionAndErrorsCell, ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, SurveyQuestionCommentItem, SurveyQuestionComment, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionRanking, SurveyQuestionRankingItem, RatingItem, RatingItemStar, RatingItemSmiley, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, 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, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SvgBundleComponent */
10551
10554
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10552
10555
 
10553
10556
  "use strict";
@@ -10824,6 +10827,9 @@ __webpack_require__.r(__webpack_exports__);
10824
10827
  /* harmony import */ var _react_components_loading_indicator__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ../react/components/loading-indicator */ "./src/react/components/loading-indicator.tsx");
10825
10828
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LoadingIndicatorComponent", function() { return _react_components_loading_indicator__WEBPACK_IMPORTED_MODULE_79__["LoadingIndicatorComponent"]; });
10826
10829
 
10830
+ /* harmony import */ var _react_svgbundle__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ../react/svgbundle */ "./src/react/svgbundle.tsx");
10831
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SvgBundleComponent", function() { return _react_svgbundle__WEBPACK_IMPORTED_MODULE_80__["SvgBundleComponent"]; });
10832
+
10827
10833
  // react
10828
10834
 
10829
10835
 
@@ -10903,6 +10909,7 @@ __webpack_require__.r(__webpack_exports__);
10903
10909
 
10904
10910
 
10905
10911
 
10912
+
10906
10913
 
10907
10914
 
10908
10915
  //Uncomment to include the "date" question type.
@@ -10915,7 +10922,7 @@ __webpack_require__.r(__webpack_exports__);
10915
10922
  /*!******************************!*\
10916
10923
  !*** ./src/entries/react.ts ***!
10917
10924
  \******************************/
10918
- /*! 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, 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, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, 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, RatingItem, RatingItemStar, RatingItemSmiley, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, 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, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent */
10925
+ /*! 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, 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, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, 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, RatingItem, RatingItemStar, RatingItemSmiley, RatingDropdownItem, TagboxFilterString, SurveyQuestionOptionItem, SurveyQuestionDropdownBase, SurveyQuestionDropdown, SurveyQuestionTagboxItem, SurveyQuestionTagbox, SurveyQuestionDropdownSelect, SurveyQuestionMatrix, SurveyQuestionMatrixRow, 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, List, TitleActions, TitleElement, SurveyActionBar, LogoImage, SurveyHeader, SvgIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicProgressText, SurveyNavigationButton, MatrixRow, Skeleton, NotifierComponent, ComponentsContainer, CharacterCounterComponent, HeaderMobile, HeaderCell, Header, SurveyLocStringViewer, SurveyLocStringEditor, LoadingIndicatorComponent, SvgBundleComponent */
10919
10926
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10920
10927
 
10921
10928
  "use strict";
@@ -11560,6 +11567,8 @@ __webpack_require__.r(__webpack_exports__);
11560
11567
 
11561
11568
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LoadingIndicatorComponent", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__["LoadingIndicatorComponent"]; });
11562
11569
 
11570
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SvgBundleComponent", function() { return _react_ui_model__WEBPACK_IMPORTED_MODULE_3__["SvgBundleComponent"]; });
11571
+
11563
11572
 
11564
11573
  // themes settings
11565
11574
 
@@ -16545,7 +16554,7 @@ var Cover = /** @class */ (function (_super) {
16545
16554
  Cover.prototype.updateHeaderClasses = function () {
16546
16555
  this.headerClasses = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__["CssClassBuilder"]()
16547
16556
  .append("sv-header")
16548
- .append("sv-header__without-background", (this.backgroundColor === "trasparent") && !this.backgroundImage)
16557
+ .append("sv-header__without-background", (this.backgroundColor === "transparent") && !this.backgroundImage)
16549
16558
  .append("sv-header__overlap", this.overlapEnabled)
16550
16559
  .toString();
16551
16560
  };
@@ -16664,6 +16673,13 @@ var Cover = /** @class */ (function (_super) {
16664
16673
  this.actualHeight = this.calculateActualHeight(logoHeight, titleHeight, descriptionHeight);
16665
16674
  }
16666
16675
  };
16676
+ Object.defineProperty(Cover.prototype, "hasBackground", {
16677
+ get: function () {
16678
+ return !!this.backgroundImage || this.backgroundColor !== "transparent";
16679
+ },
16680
+ enumerable: false,
16681
+ configurable: true
16682
+ });
16667
16683
  __decorate([
16668
16684
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__["property"])({ defaultValue: 0 })
16669
16685
  ], Cover.prototype, "actualHeight", void 0);
@@ -30511,11 +30527,22 @@ var PanelModelBase = /** @class */ (function (_super) {
30511
30527
  }
30512
30528
  }
30513
30529
  };
30514
- PanelModelBase.prototype.notifyStateChanged = function () {
30515
- _super.prototype.notifyStateChanged.call(this);
30530
+ PanelModelBase.prototype.notifyStateChanged = function (prevState) {
30531
+ var _this = this;
30532
+ _super.prototype.notifyStateChanged.call(this, prevState);
30516
30533
  if (this.isCollapsed) {
30517
30534
  this.questions.forEach(function (q) { return q.onHidingContent(); });
30518
30535
  }
30536
+ if (this.survey != null && !this.isLoadingFromJson && this.isExpanded && prevState === "collapsed") {
30537
+ var q_1 = this.getFirstQuestionToFocus(false);
30538
+ if (!!q_1) {
30539
+ setTimeout(function () {
30540
+ if (!_this.isDisposed && !!_this.survey) {
30541
+ _this.survey.scrollElementToTop(q_1, q_1, null, q_1.inputId, false);
30542
+ }
30543
+ }, 15);
30544
+ }
30545
+ }
30519
30546
  };
30520
30547
  Object.defineProperty(PanelModelBase.prototype, "isVisible", {
30521
30548
  /**
@@ -31029,11 +31056,11 @@ var PanelModel = /** @class */ (function (_super) {
31029
31056
  PanelModel.prototype.setNo = function (visibleIndex) {
31030
31057
  this.setPropertyValue("no", _helpers__WEBPACK_IMPORTED_MODULE_1__["Helpers"].getNumberByIndex(this.visibleIndex, this.getStartIndex()));
31031
31058
  };
31032
- PanelModel.prototype.notifyStateChanged = function () {
31059
+ PanelModel.prototype.notifyStateChanged = function (prevState) {
31033
31060
  if (!this.isLoadingFromJson) {
31034
31061
  this.locTitle.strChanged();
31035
31062
  }
31036
- _super.prototype.notifyStateChanged.call(this);
31063
+ _super.prototype.notifyStateChanged.call(this, prevState);
31037
31064
  };
31038
31065
  PanelModel.prototype.createLocTitleProperty = function () {
31039
31066
  var _this = this;
@@ -32770,7 +32797,7 @@ var PopupDropdownViewModel = /** @class */ (function (_super) {
32770
32797
  };
32771
32798
  _this.resizeWindowCallback = function () {
32772
32799
  if (!_this.isOverlay) {
32773
- _this.updatePosition(true, _survey__WEBPACK_IMPORTED_MODULE_5__["SurveyModel"].platform === "vue" || _survey__WEBPACK_IMPORTED_MODULE_5__["SurveyModel"].platform === "vue3");
32800
+ _this.updatePosition(true, _survey__WEBPACK_IMPORTED_MODULE_5__["SurveyModel"].platform === "vue" || _survey__WEBPACK_IMPORTED_MODULE_5__["SurveyModel"].platform === "vue3" || _survey__WEBPACK_IMPORTED_MODULE_5__["SurveyModel"].platform == "react");
32774
32801
  }
32775
32802
  };
32776
32803
  _this.clientY = 0;
@@ -34421,8 +34448,8 @@ var Question = /** @class */ (function (_super) {
34421
34448
  this.errors = [];
34422
34449
  }
34423
34450
  };
34424
- Question.prototype.notifyStateChanged = function () {
34425
- _super.prototype.notifyStateChanged.call(this);
34451
+ Question.prototype.notifyStateChanged = function (prevState) {
34452
+ _super.prototype.notifyStateChanged.call(this, prevState);
34426
34453
  if (this.isCollapsed) {
34427
34454
  this.onHidingContent();
34428
34455
  }
@@ -35922,9 +35949,9 @@ var Question = /** @class */ (function (_super) {
35922
35949
  return false;
35923
35950
  if (!!this.page && this.page.isStartPage)
35924
35951
  return false;
35925
- if (!this.survey || !this.valueName)
35952
+ if (!this.survey)
35926
35953
  return true;
35927
- return !this.survey.hasVisibleQuestionByValueName(this.valueName);
35954
+ return !this.survey.hasVisibleQuestionByValueName(this.getValueName());
35928
35955
  };
35929
35956
  Object.defineProperty(Question.prototype, "isParentVisible", {
35930
35957
  /**
@@ -39548,21 +39575,6 @@ var QuestionCheckboxBase = /** @class */ (function (_super) {
39548
39575
  enumerable: false,
39549
39576
  configurable: true
39550
39577
  });
39551
- QuestionCheckboxBase.prototype.clickItemHandler = function (item, checked) {
39552
- var newValue = [].concat(this.renderedValue || []);
39553
- var index = newValue.indexOf(item.value);
39554
- if (checked) {
39555
- if (index < 0) {
39556
- newValue.push(item.value);
39557
- }
39558
- }
39559
- else {
39560
- if (index > -1) {
39561
- newValue.splice(index, 1);
39562
- }
39563
- }
39564
- this.renderedValue = newValue;
39565
- };
39566
39578
  QuestionCheckboxBase.prototype.onParentChanged = function () {
39567
39579
  _super.prototype.onParentChanged.call(this);
39568
39580
  if (this.isFlowLayout) {
@@ -40396,9 +40408,10 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
40396
40408
  __extends(QuestionCheckboxModel, _super);
40397
40409
  function QuestionCheckboxModel(name) {
40398
40410
  var _this = _super.call(this, name) || this;
40399
- _this.selectAllItemValue = new _itemvalue__WEBPACK_IMPORTED_MODULE_4__["ItemValue"]("selectall");
40400
40411
  _this.invisibleOldValues = {};
40401
40412
  _this.isChangingValueOnClearIncorrect = false;
40413
+ _this.selectAllItemValue = new _itemvalue__WEBPACK_IMPORTED_MODULE_4__["ItemValue"]("");
40414
+ _this.selectAllItemValue.id = "selectall";
40402
40415
  var selectAllItemText = _this.createLocalizableString("selectAllText", _this.selectAllItem, true, "selectAllItemText");
40403
40416
  _this.selectAllItem.locOwner = _this;
40404
40417
  _this.selectAllItem.setLocText(selectAllItemText);
@@ -40508,23 +40521,25 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
40508
40521
  * @see showSelectAllItem
40509
40522
  */
40510
40523
  get: function () {
40524
+ if (this.isItemSelected(this.noneItem))
40525
+ return false;
40526
+ var items = this.getVisibleEnableItems();
40527
+ if (items.length === 0)
40528
+ return false;
40511
40529
  var val = this.value;
40512
- if (!val || !Array.isArray(val))
40530
+ if (!val || !Array.isArray(val) || val.length === 0)
40513
40531
  return false;
40514
- if (this.isItemSelected(this.noneItem))
40532
+ if (val.length < items.length)
40515
40533
  return false;
40516
- var allItemCount = this.visibleChoices.length;
40517
- var order = _settings__WEBPACK_IMPORTED_MODULE_7__["settings"].specialChoicesOrder;
40518
- if (this.hasOther)
40519
- allItemCount -= order.otherItem.length;
40520
- if (this.hasNone)
40521
- allItemCount -= order.noneItem.length;
40522
- if (this.hasSelectAll)
40523
- allItemCount -= order.selectAllItem.length;
40524
- var selectedCount = val.length;
40525
- if (this.isOtherSelected)
40526
- selectedCount--;
40527
- return selectedCount === allItemCount;
40534
+ var rVal = [];
40535
+ for (var i = 0; i < val.length; i++) {
40536
+ rVal.push(this.getRealValue(val[i]));
40537
+ }
40538
+ for (var i = 0; i < items.length; i++) {
40539
+ if (rVal.indexOf(items[i].value) < 0)
40540
+ return false;
40541
+ }
40542
+ return true;
40528
40543
  },
40529
40544
  set: function (val) {
40530
40545
  if (val) {
@@ -40548,16 +40563,37 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
40548
40563
  */
40549
40564
  QuestionCheckboxModel.prototype.selectAll = function () {
40550
40565
  var val = [];
40551
- for (var i = 0; i < this.visibleChoices.length; i++) {
40552
- var item = this.visibleChoices[i];
40553
- if (item === this.noneItem ||
40554
- item === this.otherItem ||
40555
- item === this.selectAllItem)
40556
- continue;
40557
- val.push(item.value);
40566
+ var items = this.getVisibleEnableItems();
40567
+ for (var i = 0; i < items.length; i++) {
40568
+ val.push(items[i].value);
40558
40569
  }
40559
40570
  this.renderedValue = val;
40560
40571
  };
40572
+ QuestionCheckboxModel.prototype.clickItemHandler = function (item, checked) {
40573
+ if (item === this.selectAllItem) {
40574
+ if (checked === true || checked === false) {
40575
+ this.isAllSelected = checked;
40576
+ }
40577
+ else {
40578
+ this.toggleSelectAll();
40579
+ }
40580
+ }
40581
+ else {
40582
+ var newValue = [].concat(this.renderedValue || []);
40583
+ var index = newValue.indexOf(item.value);
40584
+ if (checked) {
40585
+ if (index < 0) {
40586
+ newValue.push(item.value);
40587
+ }
40588
+ }
40589
+ else {
40590
+ if (index > -1) {
40591
+ newValue.splice(index, 1);
40592
+ }
40593
+ }
40594
+ this.renderedValue = newValue;
40595
+ }
40596
+ };
40561
40597
  QuestionCheckboxModel.prototype.isItemSelectedCore = function (item) {
40562
40598
  if (item === this.selectAllItem)
40563
40599
  return this.isAllSelected;
@@ -40683,24 +40719,51 @@ var QuestionCheckboxModel = /** @class */ (function (_super) {
40683
40719
  errors.push(minError);
40684
40720
  }
40685
40721
  };
40722
+ QuestionCheckboxModel.prototype.onVisibleChoicesChanged = function () {
40723
+ _super.prototype.onVisibleChoicesChanged.call(this);
40724
+ this.updateSelectAllItemProps();
40725
+ };
40686
40726
  QuestionCheckboxModel.prototype.onEnableItemCallBack = function (item) {
40687
40727
  if (!this.shouldCheckMaxSelectedChoices())
40688
40728
  return true;
40689
40729
  return this.isItemSelected(item);
40690
40730
  };
40691
40731
  QuestionCheckboxModel.prototype.onAfterRunItemsEnableCondition = function () {
40732
+ this.updateSelectAllItemProps();
40692
40733
  if (this.maxSelectedChoices < 1) {
40693
- this.selectAllItem.setIsEnabled(true);
40694
40734
  this.otherItem.setIsEnabled(true);
40695
40735
  return;
40696
40736
  }
40697
- if (this.hasSelectAll) {
40698
- this.selectAllItem.setIsEnabled(this.maxSelectedChoices >= this.activeChoices.length);
40699
- }
40700
40737
  if (this.hasOther) {
40701
40738
  this.otherItem.setIsEnabled(!this.shouldCheckMaxSelectedChoices() || this.isOtherSelected);
40702
40739
  }
40703
40740
  };
40741
+ QuestionCheckboxModel.prototype.updateSelectAllItemProps = function () {
40742
+ if (!this.hasSelectAll)
40743
+ return;
40744
+ this.selectAllItem.setIsEnabled(this.getSelectAllEnabled());
40745
+ };
40746
+ QuestionCheckboxModel.prototype.getSelectAllEnabled = function () {
40747
+ if (!this.hasSelectAll)
40748
+ return true;
40749
+ var items = this.activeChoices;
40750
+ var visCount = this.getVisibleEnableItems().length;
40751
+ var max = this.maxSelectedChoices;
40752
+ if (max > 0 && max < visCount)
40753
+ return false;
40754
+ return visCount > 0;
40755
+ };
40756
+ QuestionCheckboxModel.prototype.getVisibleEnableItems = function () {
40757
+ var res = new Array();
40758
+ var items = this.activeChoices;
40759
+ for (var i = 0; i < items.length; i++) {
40760
+ var item = items[i];
40761
+ if (item.isEnabled && item.isVisible) {
40762
+ res.push(item);
40763
+ }
40764
+ }
40765
+ return res;
40766
+ };
40704
40767
  QuestionCheckboxModel.prototype.shouldCheckMaxSelectedChoices = function () {
40705
40768
  if (this.maxSelectedChoices < 1)
40706
40769
  return false;
@@ -41525,6 +41588,22 @@ var QuestionCustomModelBase = /** @class */ (function (_super) {
41525
41588
  this.getElement().locStrsChanged();
41526
41589
  }
41527
41590
  };
41591
+ QuestionCustomModelBase.prototype.localeChanged = function () {
41592
+ _super.prototype.locStrsChanged.call(this);
41593
+ if (!!this.getElement()) {
41594
+ this.getElement().localeChanged();
41595
+ }
41596
+ };
41597
+ QuestionCustomModelBase.prototype.addUsedLocales = function (locales) {
41598
+ _super.prototype.addUsedLocales.call(this, locales);
41599
+ if (!!this.getElement()) {
41600
+ this.getElement().addUsedLocales(locales);
41601
+ }
41602
+ };
41603
+ QuestionCustomModelBase.prototype.needResponsiveWidth = function () {
41604
+ var el = this.getElement();
41605
+ return !!el ? el.needResponsiveWidth() : false;
41606
+ };
41528
41607
  QuestionCustomModelBase.prototype.createWrapper = function () { };
41529
41608
  QuestionCustomModelBase.prototype.onPropertyValueChanged = function (name, oldValue, newValue) {
41530
41609
  _super.prototype.onPropertyValueChanged.call(this, name, oldValue, newValue);
@@ -42609,7 +42688,7 @@ var QuestionDropdownModel = /** @class */ (function (_super) {
42609
42688
  };
42610
42689
  QuestionDropdownModel.prototype.onVisibleChoicesChanged = function () {
42611
42690
  _super.prototype.onVisibleChoicesChanged.call(this);
42612
- if (this.popupModel) {
42691
+ if (!this.isLoadingFromJson && this.popupModel) {
42613
42692
  this.dropdownListModel.updateItems();
42614
42693
  }
42615
42694
  };
@@ -43357,6 +43436,9 @@ function dataUrl2File(dataUrl, fileName, type) {
43357
43436
  var buffer = new Uint8Array(str.split("").map(function (c) { return c.charCodeAt(0); })).buffer;
43358
43437
  return new File([buffer], fileName, { type: type });
43359
43438
  }
43439
+ /**
43440
+ * A base class for question types that support file upload: `QuestionFileModel` and `QuestionSignaturePadModel`.
43441
+ */
43360
43442
  var QuestionFileModelBase = /** @class */ (function (_super) {
43361
43443
  __extends(QuestionFileModelBase, _super);
43362
43444
  function QuestionFileModelBase() {
@@ -45442,10 +45524,8 @@ var QuestionImagePickerModel = /** @class */ (function (_super) {
45442
45524
  *
45443
45525
  * Possible values:
45444
45526
  *
45445
- * - `"image"` - Images in one of the following formats: JPEG, GIF, PNG, APNG, SVG, BMP, ICO.
45527
+ * - `"image"` (default) - Images in one of the following formats: JPEG, GIF, PNG, APNG, SVG, BMP, ICO.
45446
45528
  * - `"video"` - Videos in one of the following formats: MP4, MOV, WMV, FLV, AVI, MKV.
45447
- * - `"youtube"` - Links to YouTube videos.
45448
- * - `"auto"` (default) - Selects one of the above based on the `imageLink` property value of each choice item.
45449
45529
  */
45450
45530
  get: function () {
45451
45531
  return this.getPropertyValue("contentMode");
@@ -53104,7 +53184,8 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
53104
53184
  * }
53105
53185
  * ```
53106
53186
  *
53107
- * 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/).
53187
+ * 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/).
53188
+ * @see itemTitleWidth
53108
53189
  * @see addItem
53109
53190
  */
53110
53191
  get: function () {
@@ -53118,8 +53199,8 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
53118
53199
  });
53119
53200
  /**
53120
53201
  * Adds a new input item.
53121
- * @param name An item name
53122
- * @param title (Optional) An item title
53202
+ * @param name An item name.
53203
+ * @param title *(Optional)* An item title.
53123
53204
  * @see items
53124
53205
  */
53125
53206
  QuestionMultipleTextModel.prototype.addItem = function (name, title) {
@@ -53253,6 +53334,23 @@ var QuestionMultipleTextModel = /** @class */ (function (_super) {
53253
53334
  enumerable: false,
53254
53335
  configurable: true
53255
53336
  });
53337
+ Object.defineProperty(QuestionMultipleTextModel.prototype, "itemTitleWidth", {
53338
+ /**
53339
+ * Specifies a uniform width for all text box titles. Accepts CSS values.
53340
+ *
53341
+ * Default value: `""` (the width of each title depends on the title length)
53342
+ * @see items
53343
+ * @see itemErrorLocation
53344
+ */
53345
+ get: function () {
53346
+ return this.getPropertyValue("itemTitleWidth") || "";
53347
+ },
53348
+ set: function (val) {
53349
+ this.setPropertyValue("itemTitleWidth", val);
53350
+ },
53351
+ enumerable: false,
53352
+ configurable: true
53353
+ });
53256
53354
  QuestionMultipleTextModel.prototype.onRowCreated = function (row) {
53257
53355
  return row;
53258
53356
  };
@@ -53607,7 +53705,8 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_4__["Serializer"].addClass("multipletext",
53607
53705
  { name: "!items:textitems", className: "multipletextitem", isArray: true },
53608
53706
  { name: "itemSize:number", minValue: 0 },
53609
53707
  { name: "colCount:number", default: 1, choices: [1, 2, 3, 4, 5] },
53610
- { name: "itemErrorLocation", default: "default", choices: ["default", "top", "bottom"], visible: false }
53708
+ { name: "itemErrorLocation", default: "default", choices: ["default", "top", "bottom"], visible: false },
53709
+ { name: "itemTitleWidth", category: "layout" }
53611
53710
  ], function () {
53612
53711
  return new QuestionMultipleTextModel("");
53613
53712
  }, "question");
@@ -54289,7 +54388,8 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
54289
54388
  if (this.isRenderModeList || this.useTemplatePanel)
54290
54389
  return;
54291
54390
  var curPanel = this.getPropertyValue("currentPanel");
54292
- if (!!val && this.visiblePanels.indexOf(val) < 0 || val === curPanel)
54391
+ var index = !!val ? this.visiblePanels.indexOf(val) : -1;
54392
+ if (!!val && index < 0 || val === curPanel)
54293
54393
  return;
54294
54394
  if (curPanel) {
54295
54395
  curPanel.onHidingContent();
@@ -54298,6 +54398,13 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
54298
54398
  this.updateFooterActions();
54299
54399
  this.updateTabToolbarItemsPressedState();
54300
54400
  this.fireCallback(this.currentIndexChangedCallback);
54401
+ if (index > -1 && this.survey) {
54402
+ var options = {
54403
+ panel: val,
54404
+ visiblePanelIndex: index
54405
+ };
54406
+ this.survey.dynamicPanelCurrentIndexChanged(this, options);
54407
+ }
54301
54408
  },
54302
54409
  enumerable: false,
54303
54410
  configurable: true
@@ -55129,48 +55236,59 @@ var QuestionPanelDynamicModel = /** @class */ (function (_super) {
55129
55236
  return newPanel;
55130
55237
  };
55131
55238
  /**
55132
- * Add a new dynamic panel based on the template Panel.
55133
- * @see template
55239
+ * Adds a new panel based on the [template](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#template).
55240
+ * @param index *(Optional)* An index at which to insert the new panel. `undefined` adds the panel to the end or inserts it after the current panel if [`renderMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#renderMode) is `"tab"`. A negative index (for instance, -1) adds the panel to the end in all cases, regardless of the `renderMode` value.
55134
55241
  * @see panelCount
55135
55242
  * @see panels
55136
- * @see renderMode
55137
55243
  */
55138
- QuestionPanelDynamicModel.prototype.addPanel = function () {
55139
- this.panelCount++;
55244
+ QuestionPanelDynamicModel.prototype.addPanel = function (index) {
55245
+ var curIndex = this.currentIndex;
55246
+ if (index === undefined) {
55247
+ index = curIndex < 0 ? this.panelCount : curIndex + 1;
55248
+ }
55249
+ if (index < 0 || index > this.panelCount) {
55250
+ index = this.panelCount;
55251
+ }
55252
+ this.updateValueOnAddingPanel(curIndex < 0 ? this.panelCount - 1 : curIndex, index);
55140
55253
  if (!this.isRenderModeList) {
55141
- this.currentIndex = this.panelCount - 1;
55254
+ this.currentIndex = index;
55142
55255
  }
55256
+ if (this.survey)
55257
+ this.survey.dynamicPanelAdded(this);
55258
+ return this.panels[index];
55259
+ };
55260
+ QuestionPanelDynamicModel.prototype.updateValueOnAddingPanel = function (prevIndex, index) {
55261
+ this.panelCount++;
55143
55262
  var newValue = this.value;
55263
+ if (!Array.isArray(newValue) || newValue.length !== this.panelCount)
55264
+ return;
55144
55265
  var hasModified = false;
55266
+ var lastIndex = this.panelCount - 1;
55267
+ if (index < lastIndex) {
55268
+ hasModified = true;
55269
+ var rec = newValue[lastIndex];
55270
+ newValue.splice(lastIndex, 1);
55271
+ newValue.splice(index, 0, rec);
55272
+ }
55145
55273
  if (!this.isValueEmpty(this.defaultPanelValue)) {
55146
- if (!!newValue &&
55147
- Array.isArray(newValue) &&
55148
- newValue.length == this.panelCount) {
55149
- hasModified = true;
55150
- this.copyValue(newValue[newValue.length - 1], this.defaultPanelValue);
55151
- }
55152
- }
55153
- if (this.defaultValueFromLastPanel &&
55154
- !!newValue &&
55155
- Array.isArray(newValue) &&
55156
- newValue.length > 1 &&
55157
- newValue.length == this.panelCount) {
55158
55274
  hasModified = true;
55159
- this.copyValue(newValue[newValue.length - 1], newValue[newValue.length - 2]);
55275
+ this.copyValue(newValue[index], this.defaultPanelValue);
55276
+ }
55277
+ if (this.defaultValueFromLastPanel && newValue.length > 1) {
55278
+ var fromIndex = prevIndex > -1 && prevIndex <= lastIndex ? prevIndex : lastIndex;
55279
+ hasModified = true;
55280
+ this.copyValue(newValue[index], newValue[fromIndex]);
55160
55281
  }
55161
55282
  if (hasModified) {
55162
55283
  this.value = newValue;
55163
55284
  }
55164
- if (this.survey)
55165
- this.survey.dynamicPanelAdded(this);
55166
- return this.panels[this.panelCount - 1];
55167
55285
  };
55168
55286
  QuestionPanelDynamicModel.prototype.canLeaveCurrentPanel = function () {
55169
55287
  return !(this.renderMode !== "list" && this.currentPanel && this.currentPanel.hasErrors(true, true));
55170
55288
  };
55171
- QuestionPanelDynamicModel.prototype.copyValue = function (src, dest) {
55172
- for (var key in dest) {
55173
- src[key] = dest[key];
55289
+ QuestionPanelDynamicModel.prototype.copyValue = function (dest, src) {
55290
+ for (var key in src) {
55291
+ dest[key] = src[key];
55174
55292
  }
55175
55293
  };
55176
55294
  /**
@@ -57607,9 +57725,10 @@ var QuestionRatingModel = /** @class */ (function (_super) {
57607
57725
  Object.defineProperty(QuestionRatingModel.prototype, "minRateDescription", {
57608
57726
  /**
57609
57727
  * Specifies a description for the minimum (first) rate value.
57728
+ * @see rateDescriptionLocation
57729
+ * @see displayRateDescriptionsAsExtremeItems
57610
57730
  * @see rateValues
57611
57731
  * @see rateMin
57612
- * @see displayRateDescriptionsAsExtremeItems
57613
57732
  */
57614
57733
  get: function () {
57615
57734
  return this.getLocalizableStringText("minRateDescription");
@@ -57631,9 +57750,10 @@ var QuestionRatingModel = /** @class */ (function (_super) {
57631
57750
  Object.defineProperty(QuestionRatingModel.prototype, "maxRateDescription", {
57632
57751
  /**
57633
57752
  * Specifies a description for the maximum (last) rate value.
57753
+ * @see rateDescriptionLocation
57754
+ * @see displayRateDescriptionsAsExtremeItems
57634
57755
  * @see rateValues
57635
57756
  * @see rateMax
57636
- * @see displayRateDescriptionsAsExtremeItems
57637
57757
  */
57638
57758
  get: function () {
57639
57759
  return this.getLocalizableStringText("maxRateDescription");
@@ -57765,8 +57885,18 @@ var QuestionRatingModel = /** @class */ (function (_super) {
57765
57885
  get: function () {
57766
57886
  var baseClass = ((this.displayMode == "buttons" || (!!this.survey && this.survey.isDesignMode)) && this.cssClasses.rootWrappable) ?
57767
57887
  this.cssClasses.rootWrappable : this.cssClasses.root;
57888
+ var rootClassModifier = "";
57889
+ if (this.hasMaxLabel || this.hasMinLabel) {
57890
+ if (this.rateDescriptionLocation == "top")
57891
+ rootClassModifier = this.cssClasses.rootLabelsTop;
57892
+ if (this.rateDescriptionLocation == "bottom")
57893
+ rootClassModifier = this.cssClasses.rootLabelsBottom;
57894
+ if (this.rateDescriptionLocation == "topBottom")
57895
+ rootClassModifier = this.cssClasses.rootLabelsDiagonal;
57896
+ }
57768
57897
  return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_6__["CssClassBuilder"]()
57769
57898
  .append(baseClass)
57899
+ .append(rootClassModifier)
57770
57900
  .append(this.cssClasses.itemSmall, this.itemSmallMode && this.rateType != "labels")
57771
57901
  .toString();
57772
57902
  },
@@ -58095,6 +58225,9 @@ var QuestionRatingModel = /** @class */ (function (_super) {
58095
58225
  }
58096
58226
  })
58097
58227
  ], QuestionRatingModel.prototype, "displayMode", void 0);
58228
+ __decorate([
58229
+ Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])()
58230
+ ], QuestionRatingModel.prototype, "rateDescriptionLocation", void 0);
58098
58231
  __decorate([
58099
58232
  Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__["property"])()
58100
58233
  ], QuestionRatingModel.prototype, "rateType", void 0);
@@ -58224,6 +58357,12 @@ _jsonobject__WEBPACK_IMPORTED_MODULE_2__["Serializer"].addClass("rating", [
58224
58357
  return obj.rateType == "labels";
58225
58358
  }
58226
58359
  },
58360
+ {
58361
+ name: "rateDescriptionLocation",
58362
+ default: "leftRight",
58363
+ category: "layout",
58364
+ choices: ["leftRight", "top", "bottom", "topBottom"],
58365
+ },
58227
58366
  {
58228
58367
  name: "displayMode",
58229
58368
  default: "auto",
@@ -58405,6 +58544,8 @@ var QuestionSignaturePadModel = /** @class */ (function (_super) {
58405
58544
  };
58406
58545
  };
58407
58546
  QuestionSignaturePadModel.prototype.refreshCanvas = function () {
58547
+ if (!this.canvas)
58548
+ return;
58408
58549
  if (!this.value) {
58409
58550
  this.canvas.getContext("2d").clearRect(0, 0, this.canvas.width * this.scale, this.canvas.height * this.scale);
58410
58551
  this.signaturePad.clear();
@@ -60896,7 +61037,7 @@ var SurveyActionBar = /** @class */ (function (_super) {
60896
61037
  return;
60897
61038
  var container = this.rootRef.current;
60898
61039
  if (!!container) {
60899
- this.model.initResponsivityManager(container);
61040
+ this.model.initResponsivityManager(container, function (callback) { setTimeout(callback); });
60900
61041
  }
60901
61042
  };
60902
61043
  SurveyActionBar.prototype.componentWillUnmount = function () {
@@ -61304,7 +61445,7 @@ var HeaderMobile = /** @class */ (function (_super) {
61304
61445
  this.model.survey.hasTitle ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-header__title", style: { maxWidth: this.model.textAreaWidth } },
61305
61446
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_title_title_element__WEBPACK_IMPORTED_MODULE_3__["TitleElement"], { element: this.model.survey }))) : null,
61306
61447
  this.model.survey.renderedHasDescription ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-header__description", style: { maxWidth: this.model.textAreaWidth } },
61307
- react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h5", { className: this.model.survey.css.description }, _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElementBase"].renderLocString(this.model.survey.locDescription)))) : null));
61448
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.survey.css.description }, _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElementBase"].renderLocString(this.model.survey.locDescription)))) : null));
61308
61449
  };
61309
61450
  return HeaderMobile;
61310
61451
  }(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component));
@@ -61335,7 +61476,7 @@ var HeaderCell = /** @class */ (function (_super) {
61335
61476
  this.model.showTitle ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-header__title", style: { maxWidth: this.model.textAreaWidth } },
61336
61477
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_title_title_element__WEBPACK_IMPORTED_MODULE_3__["TitleElement"], { element: this.model.survey }))) : null,
61337
61478
  this.model.showDescription ? (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: "sv-header__description", style: { maxWidth: this.model.textAreaWidth } },
61338
- react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h5", { className: this.model.survey.css.description }, _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElementBase"].renderLocString(this.model.survey.locDescription)))) : null)));
61479
+ react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.model.survey.css.description }, _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElementBase"].renderLocString(this.model.survey.locDescription)))) : null)));
61339
61480
  };
61340
61481
  return HeaderCell;
61341
61482
  }(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component));
@@ -63090,7 +63231,7 @@ var SurveyHeader = /** @class */ (function (_super) {
63090
63231
  var description = _reactquestion_element__WEBPACK_IMPORTED_MODULE_1__["SurveyElementBase"].renderLocString(this.survey.locDescription);
63091
63232
  return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.css.headerText, style: { maxWidth: this.survey.titleMaxWidth } },
63092
63233
  react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_title_title_element__WEBPACK_IMPORTED_MODULE_3__["TitleElement"], { element: this.survey }),
63093
- this.survey.renderedHasDescription ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h5", { className: this.css.description }, description) : null));
63234
+ this.survey.renderedHasDescription ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { className: this.css.description }, description) : null));
63094
63235
  };
63095
63236
  SurveyHeader.prototype.renderLogoImage = function (isRender) {
63096
63237
  if (!isRender)
@@ -65097,6 +65238,7 @@ __webpack_require__.r(__webpack_exports__);
65097
65238
  /* harmony import */ var _components_brand_info__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/brand-info */ "./src/react/components/brand-info.tsx");
65098
65239
  /* harmony import */ var _components_notifier__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/notifier */ "./src/react/components/notifier.tsx");
65099
65240
  /* harmony import */ var _components_components_container__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/components-container */ "./src/react/components/components-container.tsx");
65241
+ /* harmony import */ var _svgbundle__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./svgbundle */ "./src/react/svgbundle.tsx");
65100
65242
  var __extends = (undefined && undefined.__extends) || (function () {
65101
65243
  var extendStatics = function (d, b) {
65102
65244
  extendStatics = Object.setPrototypeOf ||
@@ -65134,6 +65276,7 @@ var __assign = (undefined && undefined.__assign) || function () {
65134
65276
 
65135
65277
 
65136
65278
 
65279
+
65137
65280
  var Survey = /** @class */ (function (_super) {
65138
65281
  __extends(Survey, _super);
65139
65282
  function Survey(props) {
@@ -65204,9 +65347,6 @@ var Survey = /** @class */ (function (_super) {
65204
65347
  this.destroySurvey();
65205
65348
  };
65206
65349
  Survey.prototype.doRender = function () {
65207
- if (this.survey["needRenderIcons"]) {
65208
- survey_core__WEBPACK_IMPORTED_MODULE_1__["SvgRegistry"].renderIcons();
65209
- }
65210
65350
  var renderResult;
65211
65351
  if (this.survey.state == "completed") {
65212
65352
  renderResult = this.renderCompleted();
@@ -65235,6 +65375,7 @@ var Survey = /** @class */ (function (_super) {
65235
65375
  var rootCss = this.survey.getRootCss();
65236
65376
  var cssClasses = this.rootNodeClassName ? this.rootNodeClassName + " " + rootCss : rootCss;
65237
65377
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { id: this.rootNodeId, ref: this.rootRef, className: cssClasses, style: this.survey.themeVariables },
65378
+ this.survey.needRenderIcons ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_svgbundle__WEBPACK_IMPORTED_MODULE_11__["SvgBundleComponent"], null) : null,
65238
65379
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: this.survey.wrapperFormCss },
65239
65380
  backgroundImage,
65240
65381
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("form", { onSubmit: onSubmit },
@@ -66462,9 +66603,6 @@ var SurveyQuestionCheckboxItem = /** @class */ (function (_super) {
66462
66603
  _this.handleOnChange = function (event) {
66463
66604
  _this.question.clickItemHandler(_this.item, event.target.checked);
66464
66605
  };
66465
- _this.selectAllChanged = function (event) {
66466
- _this.question.toggleSelectAll();
66467
- };
66468
66606
  return _this;
66469
66607
  }
66470
66608
  SurveyQuestionCheckboxItem.prototype.getStateElement = function () {
@@ -66538,16 +66676,12 @@ var SurveyQuestionCheckboxItem = /** @class */ (function (_super) {
66538
66676
  });
66539
66677
  SurveyQuestionCheckboxItem.prototype.renderCheckbox = function (isChecked, otherItem) {
66540
66678
  var id = this.question.getItemId(this.item);
66541
- var text = !this.hideCaption ? this.renderLocString(this.item.locText) : "";
66542
66679
  var itemClass = this.question.getItemClass(this.item);
66543
66680
  var labelClass = this.question.getLabelClass(this.item);
66544
- var onItemChanged = this.item == this.question.selectAllItem
66545
- ? this.selectAllChanged
66546
- : this.handleOnChange;
66547
66681
  var itemLabel = !this.hideCaption ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.cssClasses.controlLabel }, this.renderLocString(this.item.locText, this.textStyle)) : null;
66548
66682
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: itemClass, role: "presentation" },
66549
66683
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: labelClass },
66550
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { className: this.cssClasses.itemControl, type: "checkbox", role: "option", name: this.question.name + this.item.value, value: this.item.value != "selectall" ? this.item.value : undefined, id: id, style: this.inputStyle, disabled: !this.question.getItemEnabled(this.item), checked: isChecked, onChange: onItemChanged }),
66684
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("input", { className: this.cssClasses.itemControl, type: "checkbox", role: "option", name: this.question.name + this.item.id, value: this.item.value, id: id, style: this.inputStyle, disabled: !this.question.getItemEnabled(this.item), checked: isChecked, onChange: this.handleOnChange }),
66551
66685
  this.cssClasses.materialDecorator ?
66552
66686
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.cssClasses.materialDecorator }, this.question.itemSvgIcon ?
66553
66687
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", { className: this.cssClasses.itemDecorator },
@@ -68460,8 +68594,13 @@ var SurveyMultipleTextItem = /** @class */ (function (_super) {
68460
68594
  SurveyMultipleTextItem.prototype.renderElement = function () {
68461
68595
  var item = this.item;
68462
68596
  var cssClasses = this.cssClasses;
68597
+ var titleStyle = {};
68598
+ if (!!this.question.itemTitleWidth) {
68599
+ titleStyle.minWidth = this.question.itemTitleWidth;
68600
+ titleStyle.width = this.question.itemTitleWidth;
68601
+ }
68463
68602
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("label", { className: this.question.getItemLabelCss(item) },
68464
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: cssClasses.itemTitle },
68603
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: cssClasses.itemTitle, style: titleStyle },
68465
68604
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_title_title_content__WEBPACK_IMPORTED_MODULE_4__["TitleContent"], { element: item.editor, cssClasses: item.editor.cssClasses })),
68466
68605
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"](SurveyMultipleTextItemEditor, { cssClasses: cssClasses, itemCss: this.question.getItemCss(), question: item.editor, creator: this.creator })));
68467
68606
  };
@@ -70016,6 +70155,61 @@ _element_factory__WEBPACK_IMPORTED_MODULE_2__["ReactElementFactory"].Instance.re
70016
70155
  });
70017
70156
 
70018
70157
 
70158
+ /***/ }),
70159
+
70160
+ /***/ "./src/react/svgbundle.tsx":
70161
+ /*!*********************************!*\
70162
+ !*** ./src/react/svgbundle.tsx ***!
70163
+ \*********************************/
70164
+ /*! exports provided: SvgBundleComponent */
70165
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
70166
+
70167
+ "use strict";
70168
+ __webpack_require__.r(__webpack_exports__);
70169
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SvgBundleComponent", function() { return SvgBundleComponent; });
70170
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
70171
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
70172
+ /* harmony import */ var survey_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! survey-core */ "./src/entries/core.ts");
70173
+ var __extends = (undefined && undefined.__extends) || (function () {
70174
+ var extendStatics = function (d, b) {
70175
+ extendStatics = Object.setPrototypeOf ||
70176
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
70177
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
70178
+ return extendStatics(d, b);
70179
+ };
70180
+ return function (d, b) {
70181
+ if (typeof b !== "function" && b !== null)
70182
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
70183
+ extendStatics(d, b);
70184
+ function __() { this.constructor = d; }
70185
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
70186
+ };
70187
+ })();
70188
+
70189
+
70190
+ var SvgBundleComponent = /** @class */ (function (_super) {
70191
+ __extends(SvgBundleComponent, _super);
70192
+ function SvgBundleComponent(props) {
70193
+ var _this = _super.call(this, props) || this;
70194
+ _this.containerRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();
70195
+ return _this;
70196
+ }
70197
+ SvgBundleComponent.prototype.componentDidMount = function () {
70198
+ if (!!this.containerRef.current) {
70199
+ this.containerRef.current.innerHTML = survey_core__WEBPACK_IMPORTED_MODULE_1__["SvgRegistry"].iconsRenderedHtml();
70200
+ }
70201
+ };
70202
+ SvgBundleComponent.prototype.render = function () {
70203
+ var svgStyle = {
70204
+ display: "none"
70205
+ };
70206
+ return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("svg", { style: svgStyle, id: "sv-icon-holder-global-container", ref: this.containerRef });
70207
+ };
70208
+ return SvgBundleComponent;
70209
+ }(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component));
70210
+
70211
+
70212
+
70019
70213
  /***/ }),
70020
70214
 
70021
70215
  /***/ "./src/react/tagbox-filter.tsx":
@@ -71635,9 +71829,15 @@ var SurveyElement = /** @class */ (function (_super) {
71635
71829
  if (!el || !el.scrollIntoView)
71636
71830
  return false;
71637
71831
  var elemTop = scrollIfVisible ? -1 : el.getBoundingClientRect().top;
71638
- if (elemTop < 0)
71832
+ var needScroll = elemTop < 0;
71833
+ if (!needScroll && !!window) {
71834
+ var height = window.innerHeight;
71835
+ needScroll = height > 0 && height < elemTop;
71836
+ }
71837
+ if (needScroll) {
71639
71838
  el.scrollIntoView();
71640
- return elemTop < 0;
71839
+ }
71840
+ return needScroll;
71641
71841
  };
71642
71842
  SurveyElement.GetFirstNonTextElement = function (elements, removeSpaces) {
71643
71843
  if (removeSpaces === void 0) { removeSpaces = false; }
@@ -71684,6 +71884,7 @@ var SurveyElement = /** @class */ (function (_super) {
71684
71884
  _super.prototype.onPropertyValueChanged.call(this, name, oldValue, newValue);
71685
71885
  if (name === "state") {
71686
71886
  this.updateElementCss(false);
71887
+ this.notifyStateChanged(oldValue);
71687
71888
  if (this.stateChangedCallback)
71688
71889
  this.stateChangedCallback();
71689
71890
  }
@@ -71739,12 +71940,11 @@ var SurveyElement = /** @class */ (function (_super) {
71739
71940
  },
71740
71941
  set: function (val) {
71741
71942
  this.setPropertyValue("state", val);
71742
- this.notifyStateChanged();
71743
71943
  },
71744
71944
  enumerable: false,
71745
71945
  configurable: true
71746
71946
  });
71747
- SurveyElement.prototype.notifyStateChanged = function () {
71947
+ SurveyElement.prototype.notifyStateChanged = function (prevState) {
71748
71948
  if (this.survey) {
71749
71949
  this.survey.elementContentVisibilityChanged(this);
71750
71950
  }
@@ -73410,6 +73610,10 @@ var SurveyModel = /** @class */ (function (_super) {
73410
73610
  * [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
73411
73611
  */
73412
73612
  _this.onGetDynamicPanelTabTitle = _this.addEvent();
73613
+ /**
73614
+ * An event that is raised after the current panel is changed in a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) question.
73615
+ */
73616
+ _this.onDynamicPanelCurrentIndexChanged = _this.addEvent();
73413
73617
  /**
73414
73618
  * An event that is raised to define whether a question answer is correct. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
73415
73619
  */
@@ -75843,7 +76047,7 @@ var SurveyModel = /** @class */ (function (_super) {
75843
76047
  /**
75844
76048
  * Merges a specified data object with the object from the [`data`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#data) property.
75845
76049
  *
75846
- * Refer to the following help topic for more information: [Merge Question Values](https://surveyjs.io/form-library/documentation/design-survey/merge-question-values).
76050
+ * Refer to the following help topic for more information: [Populate Form Fields | Multiple Question Values](https://surveyjs.io/form-library/documentation/design-survey/pre-populate-form-fields#multiple-question-values).
75847
76051
  *
75848
76052
  * @param data A data object to merge. It should have the following structure: `{ questionName: questionValue, ... }`
75849
76053
  * @see setValue
@@ -77403,6 +77607,7 @@ var SurveyModel = /** @class */ (function (_super) {
77403
77607
  };
77404
77608
  SurveyModel.prototype.setupPagesForPageModes = function (isSinglePage) {
77405
77609
  this.questionHashesClear();
77610
+ this.isCreatingPagesForPreview = true;
77406
77611
  var startIndex = this.getPageStartIndex();
77407
77612
  _super.prototype.startLoadingFromJson.call(this);
77408
77613
  var newPages = this.createPagesForQuestionOnPageMode(isSinglePage, startIndex);
@@ -77417,6 +77622,7 @@ var SurveyModel = /** @class */ (function (_super) {
77417
77622
  }
77418
77623
  this.doElementsOnLoad();
77419
77624
  this.updateCurrentPage();
77625
+ this.isCreatingPagesForPreview = false;
77420
77626
  };
77421
77627
  SurveyModel.prototype.createPagesForQuestionOnPageMode = function (isSinglePage, startIndex) {
77422
77628
  if (isSinglePage) {
@@ -78068,7 +78274,8 @@ var SurveyModel = /** @class */ (function (_super) {
78068
78274
  SurveyModel.prototype.afterRenderPage = function (htmlElement) {
78069
78275
  var _this = this;
78070
78276
  if (!this.isDesignMode && !this.focusingQuestionInfo) {
78071
- setTimeout(function () { return _this.scrollToTopOnPageChange(!_this.isFirstPageRendering); }, 1);
78277
+ var doScroll_1 = !this.isFirstPageRendering;
78278
+ setTimeout(function () { return _this.scrollToTopOnPageChange(doScroll_1); }, 1);
78072
78279
  }
78073
78280
  this.focusQuestionInfo();
78074
78281
  this.isFirstPageRendering = false;
@@ -78287,6 +78494,10 @@ var SurveyModel = /** @class */ (function (_super) {
78287
78494
  options.question = question;
78288
78495
  this.onGetDynamicPanelTabTitle.fire(this, options);
78289
78496
  };
78497
+ SurveyModel.prototype.dynamicPanelCurrentIndexChanged = function (question, options) {
78498
+ options.question = question;
78499
+ this.onDynamicPanelCurrentIndexChanged.fire(this, options);
78500
+ };
78290
78501
  SurveyModel.prototype.dragAndDropAllow = function (options) {
78291
78502
  this.onDragDropAllow.fire(this, options);
78292
78503
  return options.allow;
@@ -78370,13 +78581,8 @@ var SurveyModel = /** @class */ (function (_super) {
78370
78581
  * question,
78371
78582
  * question.name,
78372
78583
  * question.value,
78373
- * (status, data) => {
78374
- * if (status === "success") {
78375
- * // Handle success
78376
- * }
78377
- * if (status === "error") {
78378
- * // Handle error
78379
- * }
78584
+ * (data, errors) => {
78585
+ * // ...
78380
78586
  * }
78381
78587
  * );
78382
78588
  * ```
@@ -78565,7 +78771,7 @@ var SurveyModel = /** @class */ (function (_super) {
78565
78771
  /**
78566
78772
  * Returns a question with a specified [`name`](https://surveyjs.io/form-library/documentation/api-reference/question#name).
78567
78773
  * @param name A question name
78568
- * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the question. Default value: `false` (uppercase and lowercase letters are treated as distinct).
78774
+ * @param caseInsensitive *(Optional)* A Boolean value that specifies case sensitivity when searching for the question. Default value: `false` (uppercase and lowercase letters are treated as distinct).
78569
78775
  * @returns A question with a specified name.
78570
78776
  * @see getAllQuestions
78571
78777
  * @see getQuestionByValueName
@@ -78593,7 +78799,7 @@ var SurveyModel = /** @class */ (function (_super) {
78593
78799
  *
78594
78800
  * > Since `valueName` does not have to be unique, multiple questions can have the same `valueName` value. In this case, the `getQuestionByValueName()` method returns the first such question. If you need to get all questions with the same `valueName`, call the `getQuestionsByValueName()` method.
78595
78801
  * @param valueName A question's `valueName` property value.
78596
- * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the question. Default value: `false` (uppercase and lowercase letters are treated as distinct).
78802
+ * @param caseInsensitive *(Optional)* A Boolean value that specifies case sensitivity when searching for the question. Default value: `false` (uppercase and lowercase letters are treated as distinct).
78597
78803
  * @returns A question with a specified `valueName`.
78598
78804
  * @see getAllQuestions
78599
78805
  * @see getQuestionByName
@@ -78606,7 +78812,7 @@ var SurveyModel = /** @class */ (function (_super) {
78606
78812
  /**
78607
78813
  * Returns all questions with a specified [`valueName`](https://surveyjs.io/form-library/documentation/api-reference/question#valueName). If a question's `valueName` is undefined, its [`name`](https://surveyjs.io/form-library/documentation/api-reference/question#name) property is used.
78608
78814
  * @param valueName A question's `valueName` property value.
78609
- * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the questions. Default value: `false` (uppercase and lowercase letters are treated as distinct).
78815
+ * @param caseInsensitive *(Optional)* A Boolean value that specifies case sensitivity when searching for the questions. Default value: `false` (uppercase and lowercase letters are treated as distinct).
78610
78816
  * @returns An array of questions with a specified `valueName`.
78611
78817
  * @see getAllQuestions
78612
78818
  * @see getQuestionByName
@@ -78631,7 +78837,7 @@ var SurveyModel = /** @class */ (function (_super) {
78631
78837
  /**
78632
78838
  * Returns an array of questions with specified [names](https://surveyjs.io/form-library/documentation/api-reference/question#name).
78633
78839
  * @param names An array of question names.
78634
- * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the questions. Default value: `false` (uppercase and lowercase letters are treated as distinct).
78840
+ * @param caseInsensitive *(Optional)* A Boolean value that specifies case sensitivity when searching for the questions. Default value: `false` (uppercase and lowercase letters are treated as distinct).
78635
78841
  * @returns An array of questions with specified names
78636
78842
  * @see getAllQuestions
78637
78843
  */
@@ -78749,7 +78955,7 @@ var SurveyModel = /** @class */ (function (_super) {
78749
78955
  /**
78750
78956
  * Returns a [panel](https://surveyjs.io/form-library/documentation/api-reference/panel-model) with a specified [`name`](https://surveyjs.io/form-library/documentation/api-reference/panel-model#name).
78751
78957
  * @param name A panel name.
78752
- * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the panel. Default value: `false` (uppercase and lowercase letters are treated as distinct).
78958
+ * @param caseInsensitive *(Optional)* A Boolean value that specifies case sensitivity when searching for the panel. Default value: `false` (uppercase and lowercase letters are treated as distinct).
78753
78959
  * @returns A panel with a specified name.
78754
78960
  * @see getAllPanels
78755
78961
  */
@@ -79581,6 +79787,8 @@ var SurveyModel = /** @class */ (function (_super) {
79581
79787
  SurveyModel.prototype.setValue = function (name, newQuestionValue, locNotification, allowNotifyValueChanged, questionName) {
79582
79788
  if (locNotification === void 0) { locNotification = false; }
79583
79789
  if (allowNotifyValueChanged === void 0) { allowNotifyValueChanged = true; }
79790
+ if (this.isCreatingPagesForPreview)
79791
+ return;
79584
79792
  var newValue = newQuestionValue;
79585
79793
  if (allowNotifyValueChanged) {
79586
79794
  newValue = this.questionOnValueChanging(name, newQuestionValue);
@@ -80313,6 +80521,9 @@ var SurveyModel = /** @class */ (function (_super) {
80313
80521
  return this.getLocalizationFormatString(strName, surveySpent, surveyLimit);
80314
80522
  };
80315
80523
  SurveyModel.prototype.getDisplayClockTime = function (val) {
80524
+ if (val < 0) {
80525
+ val = 0;
80526
+ }
80316
80527
  var min = Math.floor(val / 60);
80317
80528
  var sec = val % 60;
80318
80529
  var secStr = sec.toString();
@@ -80668,7 +80879,19 @@ var SurveyModel = /** @class */ (function (_super) {
80668
80879
  }
80669
80880
  }
80670
80881
  else if (this.state === "running" && isStrCiEqual(layoutElement.id, "progress-" + this.progressBarType)) {
80671
- if (container === "center") {
80882
+ var headerLayoutElement = this.layoutElements.filter(function (a) { return a.id === "advanced-header"; })[0];
80883
+ var advHeader = headerLayoutElement && headerLayoutElement.data;
80884
+ var isBelowHeader = !advHeader || advHeader.hasBackground;
80885
+ if (container === "header" && !isBelowHeader) {
80886
+ layoutElement.index = -150;
80887
+ if (this.isShowProgressBarOnTop && !this.isShowStartingPage) {
80888
+ containerLayoutElements.push(layoutElement);
80889
+ }
80890
+ }
80891
+ if (container === "center" && isBelowHeader) {
80892
+ if (!!layoutElement.index) {
80893
+ delete layoutElement.index;
80894
+ }
80672
80895
  if (this.isShowProgressBarOnTop && !this.isShowStartingPage) {
80673
80896
  containerLayoutElements.push(layoutElement);
80674
80897
  }
@@ -81862,10 +82085,6 @@ __webpack_require__.r(__webpack_exports__);
81862
82085
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SvgIconRegistry", function() { return SvgIconRegistry; });
81863
82086
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SvgRegistry", function() { return SvgRegistry; });
81864
82087
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SvgBundleViewModel", function() { return SvgBundleViewModel; });
81865
- /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./settings */ "./src/settings.ts");
81866
- /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/utils */ "./src/utils/utils.ts");
81867
-
81868
-
81869
82088
  var SvgIconData = /** @class */ (function () {
81870
82089
  function SvgIconData() {
81871
82090
  }
@@ -81927,16 +82146,6 @@ var SvgIconRegistry = /** @class */ (function () {
81927
82146
  var _this = this;
81928
82147
  return Object.keys(this.icons).map(function (icon) { return _this.icons[icon]; }).join("");
81929
82148
  };
81930
- SvgIconRegistry.prototype.renderIcons = function () {
81931
- var containerId = "sv-icon-holder-global-container";
81932
- if (!!_settings__WEBPACK_IMPORTED_MODULE_0__["settings"].environment && !_settings__WEBPACK_IMPORTED_MODULE_0__["settings"].environment.root.getElementById(containerId)) {
81933
- var iconsDiv = document.createElement("div");
81934
- iconsDiv.id = containerId;
81935
- iconsDiv.innerHTML = "<svg>" + this.iconsRenderedHtml() + "</svg>";
81936
- iconsDiv.style.display = "none";
81937
- Object(_utils_utils__WEBPACK_IMPORTED_MODULE_1__["getElement"])(_settings__WEBPACK_IMPORTED_MODULE_0__["settings"].environment.svgMountContainer).appendChild(iconsDiv);
81938
- }
81939
- };
81940
82149
  return SvgIconRegistry;
81941
82150
  }());
81942
82151
 
@@ -83389,13 +83598,14 @@ var __extends = (undefined && undefined.__extends) || (function () {
83389
83598
  })();
83390
83599
 
83391
83600
  var ResponsivityManager = /** @class */ (function () {
83392
- function ResponsivityManager(container, model, itemsSelector, dotsItemSize) {
83601
+ function ResponsivityManager(container, model, itemsSelector, dotsItemSize, delayedUpdateFunction) {
83393
83602
  var _this = this;
83394
83603
  if (dotsItemSize === void 0) { dotsItemSize = null; }
83395
83604
  this.container = container;
83396
83605
  this.model = model;
83397
83606
  this.itemsSelector = itemsSelector;
83398
83607
  this.dotsItemSize = dotsItemSize;
83608
+ this.delayedUpdateFunction = delayedUpdateFunction;
83399
83609
  this.resizeObserver = undefined;
83400
83610
  this.isInitialized = false;
83401
83611
  this.minDimensionConst = 56;
@@ -83446,6 +83656,16 @@ var ResponsivityManager = /** @class */ (function () {
83446
83656
  (currentAction.needSeparator ? this.separatorSize : 0)
83447
83657
  : currentAction.maxDimension;
83448
83658
  };
83659
+ ResponsivityManager.prototype.getRenderedVisibleActionsCount = function () {
83660
+ var _this = this;
83661
+ var count = 0;
83662
+ this.container.querySelectorAll(this.itemsSelector).forEach(function (item) {
83663
+ if (_this.calcItemSize(item) > 0) {
83664
+ count++;
83665
+ }
83666
+ });
83667
+ return count;
83668
+ };
83449
83669
  ResponsivityManager.prototype.calcItemsSizes = function () {
83450
83670
  var _this = this;
83451
83671
  var actions = this.model.actions;
@@ -83471,18 +83691,8 @@ var ResponsivityManager = /** @class */ (function () {
83471
83691
  if (this.isContainerVisible && !this.model.isResponsivenessDisabled) {
83472
83692
  if (!this.isInitialized) {
83473
83693
  this.model.setActionsMode("large");
83474
- var recalcItemSizes = function () {
83475
- _this.calcItemsSizes();
83476
- _this.isInitialized = true;
83477
- };
83478
- if (queueMicrotask) {
83479
- queueMicrotask(recalcItemSizes);
83480
- }
83481
- else {
83482
- recalcItemSizes();
83483
- }
83484
83694
  }
83485
- var processResponsiveness = function () {
83695
+ var processResponsiveness_1 = function () {
83486
83696
  var _a;
83487
83697
  var dotsItemSize = _this.dotsItemSize;
83488
83698
  if (!_this.dotsItemSize) {
@@ -83491,11 +83701,29 @@ var ResponsivityManager = /** @class */ (function () {
83491
83701
  }
83492
83702
  _this.model.fit(_this.getAvailableSpace(), dotsItemSize);
83493
83703
  };
83494
- if (queueMicrotask) {
83495
- queueMicrotask(processResponsiveness);
83704
+ if (!this.isInitialized) {
83705
+ var callback = function () {
83706
+ _this.calcItemsSizes();
83707
+ _this.isInitialized = true;
83708
+ processResponsiveness_1();
83709
+ };
83710
+ if (this.getRenderedVisibleActionsCount() < this.model.visibleActions.length) {
83711
+ if (this.delayedUpdateFunction) {
83712
+ this.delayedUpdateFunction(callback);
83713
+ }
83714
+ else if (queueMicrotask) {
83715
+ queueMicrotask(callback);
83716
+ }
83717
+ else {
83718
+ callback();
83719
+ }
83720
+ }
83721
+ else {
83722
+ callback();
83723
+ }
83496
83724
  }
83497
83725
  else {
83498
- processResponsiveness();
83726
+ processResponsiveness_1();
83499
83727
  }
83500
83728
  }
83501
83729
  };
@@ -83510,9 +83738,9 @@ var ResponsivityManager = /** @class */ (function () {
83510
83738
 
83511
83739
  var VerticalResponsivityManager = /** @class */ (function (_super) {
83512
83740
  __extends(VerticalResponsivityManager, _super);
83513
- function VerticalResponsivityManager(container, model, itemsSelector, dotsItemSize, minDimension) {
83741
+ function VerticalResponsivityManager(container, model, itemsSelector, dotsItemSize, minDimension, delayedUpdateFunction) {
83514
83742
  if (minDimension === void 0) { minDimension = 40; }
83515
- var _this = _super.call(this, container, model, itemsSelector, dotsItemSize) || this;
83743
+ var _this = _super.call(this, container, model, itemsSelector, dotsItemSize, delayedUpdateFunction) || this;
83516
83744
  _this.minDimensionConst = minDimension;
83517
83745
  _this.recalcMinDimensionConst = false;
83518
83746
  return _this;