survey-react 1.12.22 → 1.12.24

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.22
2
+ * surveyjs - Survey JavaScript library v1.12.24
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1703,7 +1703,7 @@ module.exports = "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\
1703
1703
 
1704
1704
  /***/ "./src/entries/react.ts":
1705
1705
  /*!********************************************!*\
1706
- !*** ./src/entries/react.ts + 288 modules ***!
1706
+ !*** ./src/entries/react.ts + 289 modules ***!
1707
1707
  \********************************************/
1708
1708
  /*! 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, QuestionFilePage, 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, getLocaleString, getLocaleStrings, setupLocale, 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, renamedIcons, getIconNameFromProxy, InputMaskBase, InputMaskPattern, InputMaskNumeric, InputMaskDateTime, InputMaskCurrency, CssClassBuilder, TextAreaModel, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, StylesManager, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgThemeSets, addIconsToThemeSet, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, activateLazyRenderingChecks, 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, PopupModal */
1709
1709
  /*! ModuleConcatenation bailout: Cannot concat with external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react"} (<- Module is not an ECMAScript module) */
@@ -4466,12 +4466,14 @@ var JsonMetadata = /** @class */ (function () {
4466
4466
  return;
4467
4467
  var schemaProperties = classSchema.properties;
4468
4468
  var requiredProps = [];
4469
- if (classInfo.name === "question" || classInfo.name === "panel") {
4469
+ if (classInfo.name === "question") {
4470
4470
  schemaProperties.type = { type: "string" };
4471
4471
  requiredProps.push("type");
4472
4472
  }
4473
4473
  for (var i = 0; i < classInfo.properties.length; i++) {
4474
4474
  var prop = classInfo.properties[i];
4475
+ if (prop.isSerializable === false)
4476
+ continue;
4475
4477
  if (!!classInfo.parentName && !!Serializer.findProperty(classInfo.parentName, prop.name))
4476
4478
  continue;
4477
4479
  schemaProperties[prop.name] = this.generateSchemaProperty(prop, schemaDef, isRoot);
@@ -12678,9 +12680,6 @@ var action_BaseAction = /** @class */ (function (_super) {
12678
12680
  action_decorate([
12679
12681
  jsonobject_property()
12680
12682
  ], BaseAction.prototype, "pressed", void 0);
12681
- action_decorate([
12682
- jsonobject_property()
12683
- ], BaseAction.prototype, "data", void 0);
12684
12683
  action_decorate([
12685
12684
  jsonobject_property()
12686
12685
  ], BaseAction.prototype, "popupModel", void 0);
@@ -14140,7 +14139,7 @@ var survey_element_SurveyElement = /** @class */ (function (_super) {
14140
14139
  },
14141
14140
  set: function (val) {
14142
14141
  this.setPropertyValue("state", val);
14143
- this.renderedIsExpanded = !(this.state === "collapsed" && !this.isDesignMode);
14142
+ this.renderedIsExpanded = !this.isCollapsed;
14144
14143
  },
14145
14144
  enumerable: false,
14146
14145
  configurable: true
@@ -14342,6 +14341,9 @@ var survey_element_SurveyElement = /** @class */ (function (_super) {
14342
14341
  this.updateDescriptionVisibility(this.description);
14343
14342
  this.clearCssClasses();
14344
14343
  }
14344
+ this.blockAnimations();
14345
+ this.renderedIsExpanded = !this.isCollapsed;
14346
+ this.releaseAnimations();
14345
14347
  };
14346
14348
  SurveyElement.prototype.canRunConditions = function () {
14347
14349
  return _super.prototype.canRunConditions.call(this) && !!this.data;
@@ -15434,15 +15436,13 @@ var localizablestring_LocalizableString = /** @class */ (function () {
15434
15436
  configurable: true
15435
15437
  });
15436
15438
  LocalizableString.prototype.calcText = function () {
15437
- var res = this.pureText;
15438
- if (res &&
15439
- this.owner &&
15440
- this.owner.getProcessedText &&
15441
- res.indexOf("{") > -1) {
15439
+ var pureText = this.pureText;
15440
+ var res = pureText;
15441
+ if (res && this.owner && this.owner.getProcessedText && res.indexOf("{") > -1) {
15442
15442
  res = this.owner.getProcessedText(res);
15443
15443
  }
15444
15444
  if (this.onGetTextCallback)
15445
- res = this.onGetTextCallback(res);
15445
+ res = this.onGetTextCallback(res, pureText);
15446
15446
  return res;
15447
15447
  };
15448
15448
  Object.defineProperty(LocalizableString.prototype, "pureText", {
@@ -19063,8 +19063,8 @@ var question_Question = /** @class */ (function (_super) {
19063
19063
  var _this = this;
19064
19064
  var locTitleValue = _super.prototype.createLocTitleProperty.call(this);
19065
19065
  locTitleValue.storeDefaultText = true;
19066
- locTitleValue.onGetTextCallback = function (text) {
19067
- if (!text) {
19066
+ locTitleValue.onGetTextCallback = function (text, nonProcessedText) {
19067
+ if (!text && !nonProcessedText) {
19068
19068
  text = _this.getDefaultTitle();
19069
19069
  }
19070
19070
  if (!_this.survey)
@@ -21435,8 +21435,10 @@ var question_Question = /** @class */ (function (_super) {
21435
21435
  }
21436
21436
  if (!values)
21437
21437
  values = this.defaultValueExpression ? this.data.getFilteredValues() : {};
21438
- if (!properties)
21438
+ if (!properties) {
21439
21439
  properties = this.defaultValueExpression ? this.data.getFilteredProperties() : {};
21440
+ properties["question"] = this;
21441
+ }
21440
21442
  if (!!runner && runner.canRun) {
21441
21443
  runner.onRunComplete = function (res) {
21442
21444
  if (res == undefined)
@@ -22512,9 +22514,6 @@ var itemvalue_ItemValue = /** @class */ (function (_super) {
22512
22514
  _this.ownerPropertyName = "";
22513
22515
  _this.locTextValue = new localizablestring_LocalizableString(_this, true, "text");
22514
22516
  _this.locTextValue.onStrChanged = function (oldValue, newValue) {
22515
- if (newValue == _this.value) {
22516
- newValue = undefined;
22517
- }
22518
22517
  _this.propertyValueChanged("text", oldValue, newValue);
22519
22518
  };
22520
22519
  _this.locTextValue.onGetTextCallback = function (txt) {
@@ -24529,9 +24528,7 @@ var textPreProcessor_TextPreProcessor = /** @class */ (function () {
24529
24528
  enumerable: false,
24530
24529
  configurable: true
24531
24530
  });
24532
- TextPreProcessor.prototype.process = function (text, returnDisplayValue, doEncoding) {
24533
- if (returnDisplayValue === void 0) { returnDisplayValue = false; }
24534
- if (doEncoding === void 0) { doEncoding = false; }
24531
+ TextPreProcessor.prototype.process = function (text, returnDisplayValue, doEncoding, replaceUndefinedValues) {
24535
24532
  this.hasAllValuesOnLastRunValue = true;
24536
24533
  if (!text)
24537
24534
  return text;
@@ -24540,28 +24537,28 @@ var textPreProcessor_TextPreProcessor = /** @class */ (function () {
24540
24537
  var items = this.getItems(text);
24541
24538
  for (var i = items.length - 1; i >= 0; i--) {
24542
24539
  var item = items[i];
24543
- var name = this.getName(text.substring(item.start + 1, item.end));
24544
- if (!name)
24545
- continue;
24546
- var textValue = new TextPreProcessorValue(name, returnDisplayValue);
24547
- this.onProcess(textValue);
24548
- if (!textValue.isExists) {
24549
- if (textValue.canProcess) {
24550
- this.hasAllValuesOnLastRunValue = false;
24540
+ var name_1 = this.getName(text.substring(item.start + 1, item.end));
24541
+ if (!!name_1) {
24542
+ var textValue = new TextPreProcessorValue(name_1, returnDisplayValue === true);
24543
+ this.onProcess(textValue);
24544
+ if (!textValue.isExists) {
24545
+ if (textValue.canProcess) {
24546
+ this.hasAllValuesOnLastRunValue = false;
24547
+ }
24548
+ }
24549
+ if (textValue.isExists || replaceUndefinedValues) {
24550
+ if (helpers_Helpers.isValueEmpty(textValue.value)) {
24551
+ this.hasAllValuesOnLastRunValue = false;
24552
+ }
24553
+ var replacedValue = !helpers_Helpers.isValueEmpty(textValue.value)
24554
+ ? textValue.value
24555
+ : "";
24556
+ if (doEncoding) {
24557
+ replacedValue = encodeURIComponent(replacedValue);
24558
+ }
24559
+ text = text.substring(0, item.start) + replacedValue + text.substring(item.end + 1);
24551
24560
  }
24552
- continue;
24553
- }
24554
- if (helpers_Helpers.isValueEmpty(textValue.value)) {
24555
- this.hasAllValuesOnLastRunValue = false;
24556
- }
24557
- var replacedValue = !helpers_Helpers.isValueEmpty(textValue.value)
24558
- ? textValue.value
24559
- : "";
24560
- if (doEncoding) {
24561
- replacedValue = encodeURIComponent(replacedValue);
24562
24561
  }
24563
- text =
24564
- text.substring(0, item.start) + replacedValue + text.substring(item.end + 1);
24565
24562
  }
24566
24563
  return text;
24567
24564
  };
@@ -24573,12 +24570,19 @@ var textPreProcessor_TextPreProcessor = /** @class */ (function () {
24573
24570
  return textValue;
24574
24571
  };
24575
24572
  Object.defineProperty(TextPreProcessor.prototype, "hasAllValuesOnLastRun", {
24576
- get: function () {
24577
- return !!this.hasAllValuesOnLastRunValue;
24578
- },
24573
+ get: function () { return !!this.hasAllValuesOnLastRunValue; },
24579
24574
  enumerable: false,
24580
24575
  configurable: true
24581
24576
  });
24577
+ TextPreProcessor.prototype.processText = function (text, returnDisplayValue) {
24578
+ return this.process(text, returnDisplayValue);
24579
+ };
24580
+ TextPreProcessor.prototype.processTextEx = function (params) {
24581
+ var res = { hasAllValuesOnLastRun: true, text: params.text };
24582
+ res.text = this.process(params.text, params.returnDisplayValue, params.doEncoding, params.replaceUndefinedValues);
24583
+ res.hasAllValuesOnLastRun = this.hasAllValuesOnLastRun;
24584
+ return res;
24585
+ };
24582
24586
  TextPreProcessor.prototype.getItems = function (text) {
24583
24587
  var items = [];
24584
24588
  var length = text.length;
@@ -24684,27 +24688,31 @@ var textPreProcessor_QuestionTextProcessor = /** @class */ (function () {
24684
24688
  textValue.value = new conditionProcessValue_ProcessValue().getValue(textValue.name, values);
24685
24689
  };
24686
24690
  QuestionTextProcessor.prototype.processText = function (text, returnDisplayValue) {
24687
- if (this.survey && this.survey.isDesignMode)
24688
- return text;
24689
- text = this.textPreProcessor.process(text, returnDisplayValue);
24690
- text = this.processTextCore(this.getParentTextProcessor(), text, returnDisplayValue);
24691
- return this.processTextCore(this.survey, text, returnDisplayValue);
24691
+ var params = { text: text, returnDisplayValue: returnDisplayValue };
24692
+ return this.processTextEx(params).text;
24692
24693
  };
24693
24694
  QuestionTextProcessor.prototype.processTextEx = function (params) {
24694
- params.text = this.processText(params.text, params.returnDisplayValue);
24695
- var hasAllValuesOnLastRun = this.textPreProcessor.hasAllValuesOnLastRun;
24695
+ var _a;
24696
24696
  var res = { hasAllValuesOnLastRun: true, text: params.text };
24697
- if (this.survey) {
24698
- res = this.survey.processTextEx(params);
24697
+ if (!params.runAtDesign && ((_a = this.survey) === null || _a === void 0 ? void 0 : _a.isDesignMode))
24698
+ return res;
24699
+ var processors = new Array();
24700
+ this.addTextPreProcessor(processors, this.textPreProcessor);
24701
+ this.addTextPreProcessor(processors, this.getParentTextProcessor());
24702
+ this.addTextPreProcessor(processors, this.survey);
24703
+ for (var i = 0; i < processors.length; i++) {
24704
+ var processor = processors[i];
24705
+ params.text = res.text;
24706
+ var processorRes = processor.processTextEx(params);
24707
+ res.text = processorRes.text;
24708
+ res.hasAllValuesOnLastRun = res.hasAllValuesOnLastRun && processorRes.hasAllValuesOnLastRun;
24699
24709
  }
24700
- res.hasAllValuesOnLastRun =
24701
- res.hasAllValuesOnLastRun && hasAllValuesOnLastRun;
24702
24710
  return res;
24703
24711
  };
24704
- QuestionTextProcessor.prototype.processTextCore = function (textProcessor, text, returnDisplayValue) {
24705
- if (!textProcessor)
24706
- return text;
24707
- return textProcessor.processText(text, returnDisplayValue);
24712
+ QuestionTextProcessor.prototype.addTextPreProcessor = function (list, textProcessor) {
24713
+ if (!textProcessor || list.indexOf(textProcessor) > -1)
24714
+ return;
24715
+ list.push(textProcessor);
24708
24716
  };
24709
24717
  return QuestionTextProcessor;
24710
24718
  }());
@@ -25638,9 +25646,10 @@ var question_custom_QuestionCompositeModel = /** @class */ (function (_super) {
25638
25646
  }
25639
25647
  this.initElement(res);
25640
25648
  res.readOnly = this.isReadOnly;
25641
- res.questions.forEach(function (q) { return q.onUpdateCssClassesCallback = function (css) {
25642
- _this.onUpdateQuestionCssClasses(q, css);
25643
- }; });
25649
+ res.questions.forEach(function (q) {
25650
+ q.setParentQuestion(_this);
25651
+ q.onUpdateCssClassesCallback = function (css) { _this.onUpdateQuestionCssClasses(q, css); };
25652
+ });
25644
25653
  this.setAfterRenderCallbacks(res);
25645
25654
  return res;
25646
25655
  };
@@ -28609,11 +28618,10 @@ var question_matrixdropdownrendered_QuestionMatrixDropdownRenderedTable = /** @c
28609
28618
  if (this.matrix.isMobile) {
28610
28619
  actions.unshift(new action_Action({
28611
28620
  id: "show-detail-mobile",
28612
- title: "Show Details",
28621
+ title: new ComputedUpdater(function () { return row.isDetailPanelShowing ? _this.matrix.getLocalizationString("hideDetails") : _this.matrix.getLocalizationString("showDetails"); }),
28613
28622
  showTitle: true,
28614
28623
  location: "end",
28615
28624
  action: function (context) {
28616
- context.title = row.isDetailPanelShowing ? _this.matrix.getLocalizationString("showDetails") : _this.matrix.getLocalizationString("hideDetails");
28617
28625
  row.showHideDetailPanelClick();
28618
28626
  },
28619
28627
  }));
@@ -30945,8 +30953,11 @@ var question_matrixdropdownbase_QuestionMatrixDropdownModelBase = /** @class */
30945
30953
  var rows = this.generatedVisibleRows;
30946
30954
  if (rowIndex >= rows.length)
30947
30955
  return null;
30948
- var newValue = this.createNewValue();
30949
- return this.getRowValueCore(rows[rowIndex], newValue);
30956
+ var val = this.value;
30957
+ var rowVal = this.getRowValueCore(rows[rowIndex], val);
30958
+ if (this.isValueSurveyElement(val))
30959
+ return rowVal;
30960
+ return helpers_Helpers.getUnbindValue(rowVal);
30950
30961
  };
30951
30962
  QuestionMatrixDropdownModelBase.prototype.checkIfValueInRowDuplicated = function (checkedRow, cellQuestion) {
30952
30963
  if (!this.generatedVisibleRows)
@@ -34291,6 +34302,8 @@ var defaultV2Css = {
34291
34302
  progressBtnIcon: "icon-progressbuttonv2",
34292
34303
  noEntriesPlaceholder: "sd-paneldynamic__placeholder sd-question__placeholder",
34293
34304
  compact: "sd-element--with-frame sd-element--compact",
34305
+ tabsContainer: "sd-paneldynamic__tabs-container",
34306
+ tabsContainerWithHeader: "sd-paneldynamic__tabs-container--with-header",
34294
34307
  tabsRoot: "sd-tabs-toolbar",
34295
34308
  tabsLeft: "sd-tabs-toolbar--left",
34296
34309
  tabsRight: "sd-tabs-toolbar--right",
@@ -38205,7 +38218,8 @@ var panel_PanelModelBase = /** @class */ (function (_super) {
38205
38218
  return false;
38206
38219
  };
38207
38220
  PanelModelBase.prototype.getIsPageVisible = function (exceptionQuestion) {
38208
- return this.visible && this.getIsContentVisible(exceptionQuestion);
38221
+ var isContentVisible = this.getIsContentVisible(exceptionQuestion);
38222
+ return this.visible && isContentVisible;
38209
38223
  };
38210
38224
  PanelModelBase.prototype.setVisibleIndex = function (index) {
38211
38225
  if (!this.isVisible || index < 0) {
@@ -48065,7 +48079,7 @@ var survey_SurveyModel = /** @class */ (function (_super) {
48065
48079
  var doEncoding = params.doEncoding === undefined ? settings.web.encodeUrlParams : params.doEncoding;
48066
48080
  var text = params.text;
48067
48081
  if (params.runAtDesign || !this.isDesignMode) {
48068
- text = this.textPreProcessor.process(text, params.returnDisplayValue === true, doEncoding);
48082
+ text = this.textPreProcessor.process(text, params.returnDisplayValue === true, doEncoding, params.replaceUndefinedValues);
48069
48083
  }
48070
48084
  var res = { text: text, hasAllValuesOnLastRun: true };
48071
48085
  res.hasAllValuesOnLastRun = this.textPreProcessor.hasAllValuesOnLastRun;
@@ -49693,6 +49707,14 @@ var question_baseselect_QuestionSelectBase = /** @class */ (function (_super) {
49693
49707
  res.text = text;
49694
49708
  return res;
49695
49709
  };
49710
+ QuestionSelectBase.prototype.hasErrors = function (fireCallback, rec) {
49711
+ if (fireCallback === void 0) { fireCallback = true; }
49712
+ if (rec === void 0) { rec = null; }
49713
+ if (!rec || rec.isOnValueChanged !== true) {
49714
+ this.clearIncorrectValues();
49715
+ }
49716
+ return _super.prototype.hasErrors.call(this, fireCallback, rec);
49717
+ };
49696
49718
  Object.defineProperty(QuestionSelectBase.prototype, "isUsingCarryForward", {
49697
49719
  get: function () {
49698
49720
  return !!this.carryForwardQuestionType;
@@ -60066,7 +60088,7 @@ var question_ranking_QuestionRankingModel = /** @class */ (function (_super) {
60066
60088
  }
60067
60089
  };
60068
60090
  _this.startDrag = function (event) {
60069
- var choice = itemvalue_ItemValue.getItemByValue(_this.activeChoices, _this.draggedChoiceValue);
60091
+ var choice = itemvalue_ItemValue.getItemByValue(_this.visibleChoices, _this.draggedChoiceValue);
60070
60092
  _this.dragDropRankingChoices.startDrag(event, choice, _this, _this.draggedTargetNode);
60071
60093
  };
60072
60094
  _this.handlePointerUp = function (event, choice, node) {
@@ -66874,6 +66896,13 @@ var QuestionPanelDynamicItemTextProcessor = /** @class */ (function (_super) {
66874
66896
  };
66875
66897
  return QuestionPanelDynamicItemTextProcessor;
66876
66898
  }(textPreProcessor_QuestionTextProcessor));
66899
+ var PanelDynamicTabbedMenuItem = /** @class */ (function (_super) {
66900
+ question_paneldynamic_extends(PanelDynamicTabbedMenuItem, _super);
66901
+ function PanelDynamicTabbedMenuItem(innerItem) {
66902
+ return _super.call(this, innerItem) || this;
66903
+ }
66904
+ return PanelDynamicTabbedMenuItem;
66905
+ }(action_Action));
66877
66906
  var question_paneldynamic_QuestionPanelDynamicItem = /** @class */ (function () {
66878
66907
  function QuestionPanelDynamicItem(data, panel) {
66879
66908
  this.data = data;
@@ -68257,7 +68286,7 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
68257
68286
  set: function (val) {
68258
68287
  this.setPropertyValue("tabAlign", val);
68259
68288
  if (this.isRenderModeTab) {
68260
- this.additionalTitleToolbar.containerCss = this.getAdditionalTitleToolbarCss();
68289
+ this.tabbedMenu.containerCss = this.getTabbedMenuCss();
68261
68290
  }
68262
68291
  },
68263
68292
  enumerable: false,
@@ -68277,18 +68306,6 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
68277
68306
  enumerable: false,
68278
68307
  configurable: true
68279
68308
  });
68280
- Object.defineProperty(QuestionPanelDynamicModel.prototype, "hasTitleOnLeftTop", {
68281
- get: function () {
68282
- if (this.isRenderModeTab && this.visiblePanelCount > 0)
68283
- return true;
68284
- if (!this.hasTitle)
68285
- return false;
68286
- var location = this.getTitleLocation();
68287
- return location === "left" || location === "top";
68288
- },
68289
- enumerable: false,
68290
- configurable: true
68291
- });
68292
68309
  QuestionPanelDynamicModel.prototype.setVisibleIndex = function (value) {
68293
68310
  if (!this.isVisible)
68294
68311
  return 0;
@@ -68675,8 +68692,8 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
68675
68692
  for (var i = 0; i < panels.length; i++) {
68676
68693
  panels[i].locStrsChanged();
68677
68694
  }
68678
- if (this.additionalTitleToolbar) {
68679
- this.additionalTitleToolbar.locStrsChanged();
68695
+ if (this.tabbedMenu) {
68696
+ this.tabbedMenu.locStrsChanged();
68680
68697
  }
68681
68698
  };
68682
68699
  QuestionPanelDynamicModel.prototype.clearIncorrectValues = function () {
@@ -69412,14 +69429,16 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
69412
69429
  get: function () {
69413
69430
  var showTab = this.isRenderModeTab && !!this.visiblePanelCount;
69414
69431
  return new CssClassBuilder()
69415
- .append(this.cssClasses.header)
69416
- .append(this.cssClasses.headerTop, this.hasTitleOnTop || showTab)
69417
- .append(this.cssClasses.headerTab, showTab)
69432
+ .append(_super.prototype.getCssHeader.call(this, this.cssClasses))
69433
+ .append(this.cssClasses.headerTab, this.hasTitleOnTop && showTab)
69418
69434
  .toString();
69419
69435
  },
69420
69436
  enumerable: false,
69421
69437
  configurable: true
69422
69438
  });
69439
+ QuestionPanelDynamicModel.prototype.getTabsContainerCss = function () {
69440
+ return new CssClassBuilder().append(this.cssClasses.tabsContainer).append(this.cssClasses.tabsContainerWithHeader, this.hasTitleOnTop).toString();
69441
+ };
69423
69442
  QuestionPanelDynamicModel.prototype.getPanelWrapperCss = function (panel) {
69424
69443
  return new CssClassBuilder()
69425
69444
  .append(this.cssClasses.panelWrapper, !panel || panel.visible)
@@ -69482,25 +69501,29 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
69482
69501
  return true;
69483
69502
  return false;
69484
69503
  };
69485
- Object.defineProperty(QuestionPanelDynamicModel.prototype, "hasAdditionalTitleToolbar", {
69504
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "hasTabbedMenu", {
69486
69505
  get: function () {
69487
69506
  return this.isRenderModeTab && this.visiblePanels.length > 0;
69488
69507
  },
69489
69508
  enumerable: false,
69490
69509
  configurable: true
69491
69510
  });
69492
- QuestionPanelDynamicModel.prototype.getAdditionalTitleToolbar = function () {
69493
- if (!this.isRenderModeTab)
69494
- return null;
69495
- if (!this.additionalTitleToolbarValue) {
69496
- this.additionalTitleToolbarValue = new adaptive_container_AdaptiveActionContainer();
69497
- this.additionalTitleToolbarValue.dotsItem.popupModel.showPointer = false;
69498
- this.additionalTitleToolbarValue.dotsItem.popupModel.verticalPosition = "bottom";
69499
- this.additionalTitleToolbarValue.dotsItem.popupModel.horizontalPosition = "center";
69500
- this.updateElementCss(false);
69501
- }
69502
- return this.additionalTitleToolbarValue;
69503
- };
69511
+ Object.defineProperty(QuestionPanelDynamicModel.prototype, "tabbedMenu", {
69512
+ get: function () {
69513
+ if (!this.isRenderModeTab)
69514
+ return null;
69515
+ if (!this.tabbedMenuValue) {
69516
+ this.tabbedMenuValue = new adaptive_container_AdaptiveActionContainer();
69517
+ this.tabbedMenuValue.dotsItem.popupModel.showPointer = false;
69518
+ this.tabbedMenuValue.dotsItem.popupModel.verticalPosition = "bottom";
69519
+ this.tabbedMenuValue.dotsItem.popupModel.horizontalPosition = "center";
69520
+ this.updateElementCss(false);
69521
+ }
69522
+ return this.tabbedMenuValue;
69523
+ },
69524
+ enumerable: false,
69525
+ configurable: true
69526
+ });
69504
69527
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "footerToolbar", {
69505
69528
  get: function () {
69506
69529
  if (!this.footerToolbarValue) {
@@ -69595,19 +69618,21 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
69595
69618
  return options.title;
69596
69619
  };
69597
69620
  locTitle.sharedData = this.locTemplateTabTitle;
69598
- var isActive = this.getPanelVisibleIndexById(panel.id) === this.currentIndex;
69599
- var newItem = new action_Action({
69600
- id: panel.id,
69621
+ var panelId = panel.id;
69622
+ var isActive = this.getPanelVisibleIndexById(panelId) === this.currentIndex;
69623
+ var newItem = new PanelDynamicTabbedMenuItem({
69624
+ id: this.id + "_tab_" + panelId,
69625
+ panelId: panelId,
69601
69626
  pressed: isActive,
69602
69627
  locTitle: locTitle,
69603
69628
  disableHide: isActive,
69604
69629
  action: function () {
69605
- _this.currentIndex = _this.getPanelVisibleIndexById(newItem.id);
69630
+ _this.currentIndex = _this.getPanelVisibleIndexById(panelId);
69606
69631
  }
69607
69632
  });
69608
69633
  return newItem;
69609
69634
  };
69610
- QuestionPanelDynamicModel.prototype.getAdditionalTitleToolbarCss = function (cssClasses) {
69635
+ QuestionPanelDynamicModel.prototype.getTabbedMenuCss = function (cssClasses) {
69611
69636
  var css = cssClasses !== null && cssClasses !== void 0 ? cssClasses : this.cssClasses;
69612
69637
  return new CssClassBuilder()
69613
69638
  .append(css.tabsRoot)
@@ -69622,8 +69647,8 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
69622
69647
  if (this.currentIndex < 0 || this.currentIndex >= this.visiblePanelCount)
69623
69648
  return;
69624
69649
  var panel = this.visiblePanelsCore[this.currentIndex];
69625
- this.additionalTitleToolbar.renderedActions.forEach(function (action) {
69626
- var isActive = action.id === panel.id;
69650
+ this.tabbedMenu.renderedActions.forEach(function (action) {
69651
+ var isActive = action.panelId === panel.id;
69627
69652
  action.pressed = isActive;
69628
69653
  action.disableHide = isActive;
69629
69654
  //should raise update if dimensions are not changed but action is active now
@@ -69645,22 +69670,22 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
69645
69670
  for (var i = 0; i < visPanels.length; i++) {
69646
69671
  _loop_1(i);
69647
69672
  }
69648
- this.additionalTitleToolbar.setItems(items);
69673
+ this.tabbedMenu.setItems(items);
69649
69674
  };
69650
69675
  QuestionPanelDynamicModel.prototype.addTabFromToolbar = function (panel, index) {
69651
69676
  if (!this.isRenderModeTab)
69652
69677
  return;
69653
69678
  var newItem = this.createTabByPanel(panel, index);
69654
- this.additionalTitleToolbar.actions.splice(index, 0, newItem);
69679
+ this.tabbedMenu.actions.splice(index, 0, newItem);
69655
69680
  this.updateTabToolbarItemsPressedState();
69656
69681
  };
69657
69682
  QuestionPanelDynamicModel.prototype.removeTabFromToolbar = function (panel) {
69658
69683
  if (!this.isRenderModeTab)
69659
69684
  return;
69660
- var removedItem = this.additionalTitleToolbar.getActionById(panel.id);
69685
+ var removedItem = this.tabbedMenu.actions.find(function (a) { return a.panelId == panel.id; });
69661
69686
  if (!removedItem)
69662
69687
  return;
69663
- this.additionalTitleToolbar.actions.splice(this.additionalTitleToolbar.actions.indexOf(removedItem), 1);
69688
+ this.tabbedMenu.actions.splice(this.tabbedMenu.actions.indexOf(removedItem), 1);
69664
69689
  this.updateTabToolbarItemsPressedState();
69665
69690
  };
69666
69691
  Object.defineProperty(QuestionPanelDynamicModel.prototype, "showLegacyNavigation", {
@@ -69684,12 +69709,12 @@ var question_paneldynamic_QuestionPanelDynamicModel = /** @class */ (function (_
69684
69709
  };
69685
69710
  QuestionPanelDynamicModel.prototype.calcCssClasses = function (css) {
69686
69711
  var classes = _super.prototype.calcCssClasses.call(this, css);
69687
- var additionalTitleToolbar = this.additionalTitleToolbar;
69688
- if (!!additionalTitleToolbar) {
69689
- additionalTitleToolbar.containerCss = this.getAdditionalTitleToolbarCss(classes);
69690
- additionalTitleToolbar.cssClasses = classes.tabs;
69691
- additionalTitleToolbar.dotsItem.cssClasses = classes.tabs;
69692
- additionalTitleToolbar.dotsItem.popupModel.contentComponentData.model.cssClasses = css.list;
69712
+ var tabbedMenu = this.tabbedMenu;
69713
+ if (!!tabbedMenu) {
69714
+ tabbedMenu.containerCss = this.getTabbedMenuCss(classes);
69715
+ tabbedMenu.cssClasses = classes.tabs;
69716
+ tabbedMenu.dotsItem.cssClasses = classes.tabs;
69717
+ tabbedMenu.dotsItem.popupModel.contentComponentData.model.cssClasses = css.list;
69693
69718
  }
69694
69719
  return classes;
69695
69720
  };
@@ -72717,9 +72742,9 @@ Serializer.addClass("currencymask", [
72717
72742
 
72718
72743
  var Version;
72719
72744
  var ReleaseDate;
72720
- Version = "" + "1.12.22";
72745
+ Version = "" + "1.12.24";
72721
72746
  settings.version = Version;
72722
- ReleaseDate = "" + "2025-02-05";
72747
+ ReleaseDate = "" + "2025-02-19";
72723
72748
  function checkLibraryVersion(ver, libraryName) {
72724
72749
  if (Version != ver) {
72725
72750
  var str = "survey-core has version '" + Version + "' and " + libraryName
@@ -82679,6 +82704,120 @@ setupLocale({ localeCode: "fil", strings: philippinesStrings, nativeName: "filip
82679
82704
  // tabTitlePlaceholder: "New Panel" => "Bagong Panel"// deselectAllItemText: "Deselect all" => "Alisin ang pagpili ng lahat"
82680
82705
  // textNoDigitsAllow: "Numbers are not allowed." => "Bawal ang mga numero."
82681
82706
 
82707
+ // CONCATENATED MODULE: ./packages/survey-core/src/localization/slovenian.ts
82708
+
82709
+ var slovenianStrings = {
82710
+ pagePrevText: "Prejšnja",
82711
+ pageNextText: "Naslednja",
82712
+ completeText: "Zaključi",
82713
+ previewText: "Predogled",
82714
+ editText: "Uredi",
82715
+ startSurveyText: "Začni",
82716
+ otherItemText: "Drugo (opišite)",
82717
+ noneItemText: "Noben",
82718
+ refuseItemText: "Zavrni odgovor",
82719
+ dontKnowItemText: "Ne vem",
82720
+ selectAllItemText: "Izberi vse",
82721
+ deselectAllItemText: "Odstrani izbiro",
82722
+ progressText: "Stran {0} od {1}",
82723
+ indexText: "{0} od {1}",
82724
+ panelDynamicProgressText: "{0} od {1}",
82725
+ panelDynamicTabTextFormat: "Plošča {panelIndex}",
82726
+ questionsProgressText: "Odgovorjeno {0}/{1} vprašanj",
82727
+ emptySurvey: "Anketa ne vsebuje vidnih elementov.",
82728
+ completingSurvey: "Hvala, ker ste izpolnili anketo",
82729
+ completingSurveyBefore: "To anketo ste že izpolnili.",
82730
+ loadingSurvey: "Nalaganje ankete...",
82731
+ placeholder: "Izberite...",
82732
+ ratingOptionsCaption: "Izberite...",
82733
+ value: "vrednost",
82734
+ requiredError: "Odgovor je obvezen.",
82735
+ requiredErrorInPanel: "Obvezen odgovor: odgovorite na vsaj eno vprašanje.",
82736
+ requiredInAllRowsError: "Obvezen odgovor: odgovorite na vsa vprašanja v vrsticah.",
82737
+ eachRowUniqueError: "Vsaka vrstica mora imeti edinstveno vrednost.",
82738
+ numericError: "Vrednost mora biti številčna.",
82739
+ minError: "Vrednost ne sme biti manjša od {0}",
82740
+ maxError: "Vrednost ne sme biti večja od {0}",
82741
+ textNoDigitsAllow: "Številke niso dovoljene.",
82742
+ textMinLength: "Vnesite vsaj {0} znakov.",
82743
+ textMaxLength: "Vnesite največ {0} znakov.",
82744
+ textMinMaxLength: "Vnesite vsaj {0} in največ {1} znakov.",
82745
+ minRowCountError: "Izpolnite vsaj {0} vrstic.",
82746
+ minSelectError: "Izberite vsaj {0} možnosti.",
82747
+ maxSelectError: "Izberite največ {0} možnosti.",
82748
+ numericMinMax: "'{0}' mora biti vsaj {1} in največ {2}",
82749
+ numericMin: "'{0}' mora biti vsaj {1}",
82750
+ numericMax: "'{0}' mora biti največ {1}",
82751
+ invalidEmail: "Vnesite veljaven e-poštni naslov.",
82752
+ invalidExpression: "Izraz: {0} mora vrniti 'true'.",
82753
+ urlRequestError: "Zahteva je vrnila napako '{0}'. {1}",
82754
+ urlGetChoicesError: "Zahteva je vrnila prazne podatke ali lastnost 'path' ni pravilna.",
82755
+ exceedMaxSize: "Velikost datoteke ne sme presegati {0}.",
82756
+ noUploadFilesHandler: "Datotek ni mogoče naložiti. Dodajte obravnavo za dogodek 'onUploadFiles'.",
82757
+ otherRequiredError: "Obvezen odgovor: vnesite drugo vrednost.",
82758
+ uploadingFile: "Vaša datoteka se nalaga. Počakajte nekaj sekund in poskusite znova.",
82759
+ loadingFile: "Nalaganje...",
82760
+ chooseFile: "Izberite datoteko...",
82761
+ noFileChosen: "Ni izbrane datoteke",
82762
+ filePlaceholder: "Povlecite in spustite datoteko tukaj ali kliknite spodnji gumb za izbiro datoteke za nalaganje.",
82763
+ confirmDelete: "Ste prepričani, da želite izbrisati ta zapis?",
82764
+ keyDuplicationError: "Ta vrednost mora biti edinstvena.",
82765
+ addColumn: "Dodaj stolpec",
82766
+ addRow: "Dodaj vrstico",
82767
+ removeRow: "Odstrani",
82768
+ noRowsText: "Ni vrstic.",
82769
+ addPanel: "Dodaj novo",
82770
+ removePanel: "Odstrani",
82771
+ showDetails: "Prikaži podrobnosti",
82772
+ hideDetails: "Skrij podrobnosti",
82773
+ choices_Item: "postavka",
82774
+ choices_Choice: "Možnost izbire",
82775
+ matrix_column: "Stolpec",
82776
+ matrix_row: "Vrstica",
82777
+ multipletext_itemname: "besedilo",
82778
+ savingData: "Rezultati se shranjujejo na strežnik...",
82779
+ savingDataError: "Prišlo je do napake in rezultatov ni bilo mogoče shraniti.",
82780
+ savingDataSuccess: "Rezultati so bili uspešno shranjeni!",
82781
+ savingExceedSize: "Vaš odgovor presega 64 KB. Zmanjšajte velikost datotek in poskusite znova ali se obrnite na lastnika ankete.",
82782
+ saveAgainButton: "Poskusite znova",
82783
+ timerMin: "min",
82784
+ timerSec: "sek",
82785
+ timerSpentAll: "Na tej strani ste porabili {0}, skupno {1}.",
82786
+ timerSpentPage: "Na tej strani ste porabili {0}.",
82787
+ timerSpentSurvey: "Skupaj ste porabili {0}.",
82788
+ timerLimitAll: "Na tej strani ste porabili {0} od {1} in skupno {2} od {3}.",
82789
+ timerLimitPage: "Na tej strani ste porabili {0} od {1}.",
82790
+ timerLimitSurvey: "Skupaj ste porabili {0} od {1}.",
82791
+ clearCaption: "Počisti",
82792
+ signaturePlaceHolder: "Podpišite se tukaj",
82793
+ signaturePlaceHolderReadOnly: "Ni podpisa",
82794
+ chooseFileCaption: "Izberi datoteko",
82795
+ takePhotoCaption: "Slikaj",
82796
+ photoPlaceholder: "Kliknite spodnji gumb, da posnamete fotografijo s kamero.",
82797
+ fileOrPhotoPlaceholder: "Povlecite in spustite datoteko za nalaganje ali posnemite fotografijo s kamero.",
82798
+ replaceFileCaption: "Zamenjaj datoteko",
82799
+ removeFileCaption: "Odstrani to datoteko",
82800
+ booleanCheckedLabel: "Da",
82801
+ booleanUncheckedLabel: "Ne",
82802
+ confirmRemoveFile: "Ste prepričani, da želite odstraniti to datoteko: {0}?",
82803
+ confirmRemoveAllFiles: "Ste prepričani, da želite odstraniti vse datoteke?",
82804
+ questionTitlePatternText: "Naslov vprašanja",
82805
+ modalCancelButtonText: "Prekliči",
82806
+ modalApplyButtonText: "Uporabi",
82807
+ filterStringPlaceholder: "Vnesite za iskanje...",
82808
+ emptyMessage: "Ni podatkov za prikaz",
82809
+ noEntriesText: "Ni še vnosov.\nKliknite spodnji gumb za dodajanje novega vnosa.",
82810
+ noEntriesReadonlyText: "Ni vnosov",
82811
+ tabTitlePlaceholder: "Nova plošča",
82812
+ more: "Več",
82813
+ tagboxDoneButtonCaption: "V redu",
82814
+ selectToRankEmptyRankedAreaText: "Vse možnosti so izbrane za razvrščanje",
82815
+ selectToRankEmptyUnrankedAreaText: "Povlecite izbire sem, da jih razvrstite",
82816
+ ok: "V redu",
82817
+ cancel: "Prekliči",
82818
+ };
82819
+ setupLocale({ localeCode: "sl", strings: slovenianStrings, nativeName: "slovenščina", englishName: "Slovenian" });
82820
+
82682
82821
  // CONCATENATED MODULE: ./packages/survey-core/entries/chunks/localization.ts
82683
82822
 
82684
82823
 
@@ -82730,6 +82869,7 @@ setupLocale({ localeCode: "fil", strings: philippinesStrings, nativeName: "filip
82730
82869
 
82731
82870
 
82732
82871
 
82872
+
82733
82873
 
82734
82874
 
82735
82875
  // CONCATENATED MODULE: ./src/entries/chunks/localization.ts
@@ -83308,19 +83448,17 @@ var element_SurveyRowElement = /** @class */ (function (_super) {
83308
83448
  el.focusIn();
83309
83449
  }
83310
83450
  };
83311
- return (external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { className: css.questionWrapper, style: element.rootStyle, "data-key": innerElement.key, key: innerElement.key, onFocus: focusIn, ref: this.rootRef }, innerElement));
83451
+ return (external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { className: css.questionWrapper, style: element.rootStyle, "data-key": element.name + this.index, onFocus: focusIn, ref: this.rootRef }, innerElement));
83312
83452
  };
83313
83453
  SurveyRowElement.prototype.createElement = function (element, elementIndex) {
83314
- var index = elementIndex ? "-" + elementIndex : 0;
83315
83454
  if (!this.row.isNeedRender) {
83316
- return ReactElementFactory.Instance.createElement(element.skeletonComponentName, { key: element.name + index, element: element, css: this.css, });
83455
+ return ReactElementFactory.Instance.createElement(element.skeletonComponentName, { element: element, css: this.css, });
83317
83456
  }
83318
83457
  var elementType = element.getTemplate();
83319
83458
  if (!ReactElementFactory.Instance.isElementRegistered(elementType)) {
83320
83459
  elementType = "question";
83321
83460
  }
83322
83461
  return ReactElementFactory.Instance.createElement(elementType, {
83323
- key: element.name + index,
83324
83462
  element: element,
83325
83463
  creator: this.creator,
83326
83464
  survey: this.survey,
@@ -83400,9 +83538,7 @@ var row_SurveyRow = /** @class */ (function (_super) {
83400
83538
  SurveyRow.prototype.renderElementContent = function () {
83401
83539
  var _this = this;
83402
83540
  var elements = this.row.visibleElements.map(function (element, elementIndex) {
83403
- var index = elementIndex ? "-" + elementIndex : 0;
83404
- var key = element.name + index;
83405
- return (external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"](element_SurveyRowElement, { element: element, index: elementIndex, row: _this.row, survey: _this.survey, creator: _this.creator, css: _this.css, key: key }));
83541
+ return (external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"](element_SurveyRowElement, { element: element, index: elementIndex, row: _this.row, survey: _this.survey, creator: _this.creator, css: _this.css, key: element.id }));
83406
83542
  });
83407
83543
  return (external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { ref: this.rootRef, className: this.row.getRowCss() }, elements));
83408
83544
  };
@@ -84714,7 +84850,6 @@ var reactquestion_SurveyQuestion = /** @class */ (function (_super) {
84714
84850
  var el = this.rootRef.current;
84715
84851
  if (el && el.getAttribute("data-rendered") !== "r") {
84716
84852
  el.setAttribute("data-rendered", "r");
84717
- el.setAttribute("data-name", this.question.name);
84718
84853
  if (this.question.afterRender) {
84719
84854
  this.question.afterRender(el);
84720
84855
  }
@@ -84765,7 +84900,7 @@ var reactquestion_SurveyQuestion = /** @class */ (function (_super) {
84765
84900
  var rootStyle = question.getRootStyle();
84766
84901
  var questionContent = this.wrapQuestionContent(this.renderQuestionContent());
84767
84902
  return (external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"](external_root_React_commonjs2_react_commonjs_react_amd_react_["Fragment"], null,
84768
- external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { ref: this.rootRef, id: question.id, className: question.getRootCss(), style: rootStyle, role: question.ariaRole, "aria-required": this.question.ariaRequired, "aria-invalid": this.question.ariaInvalid, "aria-labelledby": question.ariaLabelledBy, "aria-describedby": question.ariaDescribedBy, "aria-expanded": question.ariaExpanded },
84903
+ external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { ref: this.rootRef, id: question.id, className: question.getRootCss(), style: rootStyle, role: question.ariaRole, "aria-required": this.question.ariaRequired, "aria-invalid": this.question.ariaInvalid, "aria-labelledby": question.ariaLabelledBy, "aria-describedby": question.ariaDescribedBy, "aria-expanded": question.ariaExpanded, "data-name": question.name },
84769
84904
  errorsAboveQuestion,
84770
84905
  headerTop,
84771
84906
  questionContent,
@@ -89759,6 +89894,8 @@ var reactquestion_paneldynamic_SurveyQuestionPanelDynamic = /** @class */ (funct
89759
89894
  var navV2 = this.renderNavigatorV2();
89760
89895
  var noEntriesPlaceholder = this.renderPlaceholder();
89761
89896
  return (external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { className: this.question.cssClasses.root },
89897
+ this.question.hasTabbedMenu ? external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { className: this.question.getTabsContainerCss() },
89898
+ external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"](action_bar_SurveyActionBar, { model: this.question.tabbedMenu })) : null,
89762
89899
  noEntriesPlaceholder,
89763
89900
  navTop,
89764
89901
  external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { className: this.question.cssClasses.panelsContainer }, panels),
@@ -90802,7 +90939,7 @@ var imagepicker_SurveyQuestionImagePickerItem = /** @class */ (function (_super)
90802
90939
  }
90803
90940
  var renderedItem = (external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { className: itemClass },
90804
90941
  external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("label", { className: cssClasses.label },
90805
- external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("input", { className: cssClasses.itemControl, id: this.question.getItemId(item), type: this.question.inputType, name: this.question.questionName, checked: isChecked, value: item.value, disabled: !this.question.getItemEnabled(item), readOnly: this.question.isReadOnlyAttr, onChange: this.handleOnChange, "aria-required": this.question.ariaRequired, "aria-label": this.question.ariaLabel, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
90942
+ external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("input", { className: cssClasses.itemControl, id: this.question.getItemId(item), type: this.question.inputType, name: this.question.questionName, checked: isChecked, value: item.value, disabled: !this.question.getItemEnabled(item), readOnly: this.question.isReadOnlyAttr, onChange: this.handleOnChange, "aria-required": this.question.ariaRequired, "aria-label": item.locText.renderedHtml, "aria-invalid": this.question.ariaInvalid, "aria-errormessage": this.question.ariaErrormessage }),
90806
90943
  external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { className: this.question.cssClasses.itemDecorator },
90807
90944
  external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"]("div", { className: this.question.cssClasses.imageContainer },
90808
90945
  !!this.question.cssClasses.checkedItemDecorator ?