survey-js-ui 2.0.4 → 2.0.5

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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v2.0.4
2
+ * surveyjs - Survey JavaScript library v2.0.5
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
  */
@@ -1422,21 +1422,13 @@ class SurveyQuestion extends SurveyElementBase {
1422
1422
  };
1423
1423
  var cssClasses = question.cssClasses;
1424
1424
  var questionRender = this.renderQuestion();
1425
- var errorsTop = this.question.showErrorOnTop
1426
- ? this.renderErrors(cssClasses, "top")
1427
- : null;
1428
- var errorsBottom = this.question.showErrorOnBottom
1429
- ? this.renderErrors(cssClasses, "bottom")
1430
- : null;
1431
1425
  var comment = question && question.hasComment ? this.renderComment(cssClasses) : null;
1432
1426
  var descriptionUnderInput = question.hasDescriptionUnderInput
1433
1427
  ? this.renderDescription()
1434
1428
  : null;
1435
1429
  return (_$1("div", { className: question.cssContent || undefined, style: contentStyle, role: "presentation" },
1436
- errorsTop,
1437
1430
  questionRender,
1438
1431
  comment,
1439
- errorsBottom,
1440
1432
  descriptionUnderInput));
1441
1433
  }
1442
1434
  renderElement() {
@@ -1513,9 +1505,6 @@ class SurveyElementErrors extends ReactSurveyElement {
1513
1505
  get creator() {
1514
1506
  return this.props.creator;
1515
1507
  }
1516
- get location() {
1517
- return this.props.location;
1518
- }
1519
1508
  getState(prevState = null) {
1520
1509
  return !prevState ? { error: 0 } : { error: prevState.error + 1 };
1521
1510
  }
@@ -1895,7 +1884,7 @@ class PopupModal extends SurveyElementBase {
1895
1884
  PopupModal.modalDescriptors = [];
1896
1885
 
1897
1886
  /*!
1898
- * surveyjs - Survey JavaScript library v2.0.4
1887
+ * surveyjs - Survey JavaScript library v2.0.5
1899
1888
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
1900
1889
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
1901
1890
  */
@@ -1963,7 +1952,7 @@ var iconsV1 = {
1963
1952
  };
1964
1953
 
1965
1954
  /*!
1966
- * surveyjs - Survey JavaScript library v2.0.4
1955
+ * surveyjs - Survey JavaScript library v2.0.5
1967
1956
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
1968
1957
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
1969
1958
  */
@@ -2633,8 +2622,9 @@ class SurveyQuestionCheckbox extends SurveyQuestionElementBase {
2633
2622
  if (this.question.blockedRow) {
2634
2623
  return _$1("div", { className: cssClasses.rootRow }, this.getItems(cssClasses, this.question.dataChoices));
2635
2624
  }
2636
- else
2625
+ else {
2637
2626
  return _$1(k$2, null, this.getItems(cssClasses, this.question.bodyItems));
2627
+ }
2638
2628
  }
2639
2629
  getItems(cssClasses, choices) {
2640
2630
  var renderedItems = [];
@@ -3382,14 +3372,14 @@ class SurveyQuestionMatrix extends SurveyQuestionElementBase {
3382
3372
  var key = "row-" + row.name + "-" + i;
3383
3373
  rows.push(_$1(SurveyQuestionMatrixRow, { key: key, question: this.question, cssClasses: cssClasses, row: row, isFirst: i == 0 }));
3384
3374
  }
3385
- var header = !this.question.showHeader ? null : (_$1("thead", null,
3375
+ var header = !this.question.showHeader ? null : (_$1("thead", { role: "presentation" },
3386
3376
  _$1("tr", null,
3387
3377
  rowsTH,
3388
3378
  headers)));
3389
3379
  return (_$1("div", { className: cssClasses.tableWrapper, ref: root => (this.setControl(root)) },
3390
- _$1("fieldset", null,
3391
- _$1("legend", { className: "sv-hidden" }, this.question.locTitle.renderedHtml),
3392
- _$1("table", { className: this.question.getTableCss() },
3380
+ _$1("fieldset", { role: "radiogroup" },
3381
+ _$1("legend", { className: "sv-visuallyhidden" }, this.question.locTitle.renderedHtml),
3382
+ _$1("table", { className: this.question.getTableCss(), role: "presentation" },
3393
3383
  header,
3394
3384
  _$1("tbody", null, rows)))));
3395
3385
  }
@@ -3567,24 +3557,6 @@ class LoadingIndicatorComponent extends x$2 {
3567
3557
  }
3568
3558
  }
3569
3559
 
3570
- class SurveyFileChooseButton extends ReactSurveyElement {
3571
- constructor(props) {
3572
- super(props);
3573
- }
3574
- get question() {
3575
- return (this.props.item && this.props.item.data.question) || this.props.data.question;
3576
- }
3577
- render() {
3578
- return attachKey2click(_$1("label", { tabIndex: 0, className: this.question.getChooseFileCss(), htmlFor: this.question.inputId, "aria-label": this.question.chooseButtonText, onClick: (e) => this.question.chooseFile(e.nativeEvent) },
3579
- (!!this.question.cssClasses.chooseFileIconId) ? _$1(SvgIcon, { title: this.question.chooseButtonText, iconName: this.question.cssClasses.chooseFileIconId, size: "auto" }) : null,
3580
- _$1("span", null, this.question.chooseButtonText)));
3581
- }
3582
- }
3583
- ReactElementFactory.Instance.registerElement("sv-file-choose-btn", (props) => {
3584
- return _$1(SurveyFileChooseButton, props);
3585
- });
3586
-
3587
- // import { ReactElementFactory, SurveyFileChooseButton } from "../entries/react-ui-model";
3588
3560
  class SurveyQuestionFile extends SurveyQuestionElementBase {
3589
3561
  constructor(props) {
3590
3562
  super(props);
@@ -3597,8 +3569,6 @@ class SurveyQuestionFile extends SurveyQuestionElementBase {
3597
3569
  const loadingIndicator = this.question.showLoadingIndicator ? this.renderLoadingIndicator() : null;
3598
3570
  const video = this.question.isPlayingVideo ? this.renderVideo() : null;
3599
3571
  const fileDecorator = this.question.showFileDecorator ? this.renderFileDecorator() : null;
3600
- const clearButton = this.question.showRemoveButton ? this.renderClearButton(this.question.cssClasses.removeButton) : null;
3601
- const clearButtonBottom = this.question.showRemoveButtonBottom ? this.renderClearButton(this.question.cssClasses.removeButtonBottom) : null;
3602
3572
  const fileNavigator = this.question.fileNavigatorVisible ? (_$1(SurveyActionBar, { model: this.question.fileNavigator })) : null;
3603
3573
  let fileInput;
3604
3574
  if (this.question.isReadOnlyAttr) {
@@ -3619,30 +3589,18 @@ class SurveyQuestionFile extends SurveyQuestionElementBase {
3619
3589
  fileDecorator,
3620
3590
  loadingIndicator,
3621
3591
  video,
3622
- clearButton,
3623
3592
  preview,
3624
- clearButtonBottom,
3625
3593
  fileNavigator)));
3626
3594
  }
3627
3595
  renderFileDecorator() {
3628
- const chooseButton = this.question.showChooseButton ? this.renderChooseButton() : null;
3629
3596
  const actionsContainer = this.question.actionsContainerVisible ? _$1(SurveyActionBar, { model: this.question.actionsContainer }) : null;
3630
3597
  const noFileChosen = this.question.isEmpty() ? (_$1("span", { className: this.question.cssClasses.noFileChosen }, this.question.noFileChosenCaption)) : null;
3631
3598
  return (_$1("div", { className: this.question.getFileDecoratorCss() },
3632
3599
  _$1("span", { className: this.question.cssClasses.dragAreaPlaceholder }, this.renderLocString(this.question.locRenderedPlaceholder)),
3633
3600
  _$1("div", { className: this.question.cssClasses.wrapper },
3634
- chooseButton,
3635
3601
  actionsContainer,
3636
3602
  noFileChosen)));
3637
3603
  }
3638
- renderChooseButton() {
3639
- return _$1(SurveyFileChooseButton, { data: { question: this.question } });
3640
- }
3641
- renderClearButton(className) {
3642
- return !this.question.isUploading ? (_$1("button", { type: "button", onClick: this.question.doClean, className: className },
3643
- _$1("span", null, this.question.clearButtonCaption),
3644
- (!!this.question.cssClasses.removeButtonIconId) ? _$1(SvgIcon, { iconName: this.question.cssClasses.removeButtonIconId, size: "auto", title: this.question.clearButtonCaption }) : null)) : null;
3645
- }
3646
3604
  renderPreview() {
3647
3605
  return ReactElementFactory.Instance.createElement("sv-file-preview", { question: this.question });
3648
3606
  }
@@ -3662,6 +3620,23 @@ ReactQuestionFactory.Instance.registerQuestion("file", props => {
3662
3620
  return _$1(SurveyQuestionFile, props);
3663
3621
  });
3664
3622
 
3623
+ class SurveyFileChooseButton extends ReactSurveyElement {
3624
+ constructor(props) {
3625
+ super(props);
3626
+ }
3627
+ get question() {
3628
+ return (this.props.item && this.props.item.data.question) || this.props.data.question;
3629
+ }
3630
+ render() {
3631
+ return attachKey2click(_$1("label", { tabIndex: 0, className: this.question.getChooseFileCss(), htmlFor: this.question.inputId, "aria-label": this.question.chooseButtonText, onClick: (e) => this.question.chooseFile(e.nativeEvent) },
3632
+ (!!this.question.cssClasses.chooseFileIconId) ? _$1(SvgIcon, { title: this.question.chooseButtonText, iconName: this.question.cssClasses.chooseFileIconId, size: "auto" }) : null,
3633
+ _$1("span", null, this.question.chooseButtonText)));
3634
+ }
3635
+ }
3636
+ ReactElementFactory.Instance.registerElement("sv-file-choose-btn", (props) => {
3637
+ return _$1(SurveyFileChooseButton, props);
3638
+ });
3639
+
3665
3640
  class SurveyFileItem extends SurveyElementBase {
3666
3641
  get question() {
3667
3642
  return this.props.question;
@@ -3720,8 +3695,7 @@ class SurveyFilePreview extends SurveyElementBase {
3720
3695
  }, title: val.name, download: val.name, style: { width: this.question.imageWidth } }, val.name)));
3721
3696
  }
3722
3697
  renderElement() {
3723
- const content = this.question.supportFileNavigator ? this.question.renderedPages.map((page, index) => { return (_$1(SurveyFilePage, { page: page, question: this.question, key: page.id })); })
3724
- : this.question.previewValue.map((item, index) => { return (_$1(SurveyFileItem, { item: item, question: this.question, key: index })); });
3698
+ const content = this.question.renderedPages.map((page, index) => { return (_$1(SurveyFilePage, { page: page, question: this.question, key: page.id })); });
3725
3699
  return _$1("div", { className: this.question.cssClasses.fileList || undefined }, content);
3726
3700
  }
3727
3701
  canRender() {
@@ -3849,8 +3823,9 @@ class SurveyQuestionRadiogroup extends SurveyQuestionElementBase {
3849
3823
  if (this.question.blockedRow) {
3850
3824
  return _$1("div", { className: cssClasses.rootRow }, this.getItems(cssClasses, this.question.dataChoices));
3851
3825
  }
3852
- else
3826
+ else {
3853
3827
  return _$1(k$2, null, this.getItems(cssClasses, this.question.bodyItems));
3828
+ }
3854
3829
  }
3855
3830
  getItems(cssClasses, choices) {
3856
3831
  var items = [];
@@ -4089,7 +4064,7 @@ class SurveyQuestionBoolean extends SurveyQuestionElementBase {
4089
4064
  const cssClasses = this.question.cssClasses;
4090
4065
  const itemClass = this.question.getItemCss();
4091
4066
  return (_$1("div", { className: cssClasses.root, onKeyDown: this.handleOnKeyDown },
4092
- _$1("label", { className: itemClass, onClick: this.handleOnClick },
4067
+ _$1("label", { className: itemClass },
4093
4068
  _$1("input", { ref: this.checkRef, type: "checkbox", name: this.question.name, value: this.question.booleanValue === null
4094
4069
  ? ""
4095
4070
  : this.question.booleanValue, id: this.question.inputId, className: cssClasses.control, disabled: this.question.isDisabledAttr, readOnly: this.question.isReadOnlyAttr, checked: this.question.booleanValue || false, onChange: this.handleOnChange, role: this.question.a11y_input_ariaRole, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage }),
@@ -4432,10 +4407,7 @@ class SurveyQuestionMatrixDropdownBase extends SurveyQuestionElementBase {
4432
4407
  return this.renderTableDiv();
4433
4408
  }
4434
4409
  renderTableDiv() {
4435
- var divStyle = this.question.showHorizontalScroll
4436
- ? { overflowX: "scroll" }
4437
- : {};
4438
- return (_$1("div", { style: divStyle, className: this.question.cssClasses.tableWrapper, ref: (root) => (this.setControl(root)) },
4410
+ return (_$1("div", { className: this.question.cssClasses.tableWrapper, ref: (root) => (this.setControl(root)) },
4439
4411
  _$1(SurveyQuestionMatrixTable, { question: this.question, creator: this.creator, wrapCell: (cell, element, reason) => this.wrapCell(cell, element, reason) })));
4440
4412
  }
4441
4413
  }
@@ -4524,7 +4496,7 @@ class SurveyQuestionMatrixDropdownCell extends SurveyQuestionAndErrorsCell {
4524
4496
  row: this.cell.row,
4525
4497
  column: this.cell.cell.column,
4526
4498
  };
4527
- this.question.survey.matrixAfterCellRender(this.question, options);
4499
+ this.question.survey.matrixAfterCellRender(options);
4528
4500
  this.question.afterRenderCore(el);
4529
4501
  }
4530
4502
  }
@@ -4669,77 +4641,6 @@ ReactElementFactory.Instance.registerElement("sv-matrixdynamic-add-btn", (props)
4669
4641
  return _$1(SurveyQuestionMatrixDynamicAddButton, props);
4670
4642
  });
4671
4643
 
4672
- class SurveyQuestionPanelDynamicAction extends ReactSurveyElement {
4673
- constructor(props) {
4674
- super(props);
4675
- }
4676
- get data() {
4677
- return (this.props.item && this.props.item.data) || this.props.data;
4678
- }
4679
- get question() {
4680
- return (this.props.item && this.props.item.data.question) || this.props.data.question;
4681
- }
4682
- }
4683
- class SurveyQuestionPanelDynamicAddButton extends SurveyQuestionPanelDynamicAction {
4684
- constructor() {
4685
- super(...arguments);
4686
- this.handleClick = (event) => {
4687
- this.question.addPanelUI();
4688
- };
4689
- }
4690
- renderElement() {
4691
- if (!this.question.canAddPanel)
4692
- return null;
4693
- const btnText = this.renderLocString(this.question.locAddPanelText);
4694
- return (_$1("button", { type: "button", id: this.question.addButtonId, className: this.question.getAddButtonCss(), onClick: this.handleClick },
4695
- _$1("span", { className: this.question.cssClasses.buttonAddText }, btnText)));
4696
- }
4697
- }
4698
- ReactElementFactory.Instance.registerElement("sv-paneldynamic-add-btn", (props) => {
4699
- return _$1(SurveyQuestionPanelDynamicAddButton, props);
4700
- });
4701
-
4702
- class SurveyQuestionPanelDynamicNextButton extends SurveyQuestionPanelDynamicAction {
4703
- constructor() {
4704
- super(...arguments);
4705
- this.handleClick = (event) => {
4706
- this.question.goToNextPanel();
4707
- };
4708
- }
4709
- renderElement() {
4710
- return (_$1("div", { title: this.question.panelNextText, onClick: this.handleClick, className: this.question.getNextButtonCss() },
4711
- _$1(SvgIcon, { iconName: this.question.cssClasses.progressBtnIcon, size: "auto" })));
4712
- }
4713
- }
4714
- ReactElementFactory.Instance.registerElement("sv-paneldynamic-next-btn", (props) => {
4715
- return _$1(SurveyQuestionPanelDynamicNextButton, props);
4716
- });
4717
-
4718
- class SurveyQuestionPanelDynamicPrevButton extends SurveyQuestionPanelDynamicAction {
4719
- constructor() {
4720
- super(...arguments);
4721
- this.handleClick = (event) => {
4722
- this.question.goToPrevPanel();
4723
- };
4724
- }
4725
- renderElement() {
4726
- return (_$1("div", { title: this.question.panelPrevText, onClick: this.handleClick, className: this.question.getPrevButtonCss() },
4727
- _$1(SvgIcon, { iconName: this.question.cssClasses.progressBtnIcon, size: "auto" })));
4728
- }
4729
- }
4730
- ReactElementFactory.Instance.registerElement("sv-paneldynamic-prev-btn", (props) => {
4731
- return _$1(SurveyQuestionPanelDynamicPrevButton, props);
4732
- });
4733
-
4734
- class SurveyQuestionPanelDynamicProgressText extends SurveyQuestionPanelDynamicAction {
4735
- renderElement() {
4736
- return (_$1("div", { className: this.question.cssClasses.progressText }, this.question.progressText));
4737
- }
4738
- }
4739
- ReactElementFactory.Instance.registerElement("sv-paneldynamic-progress-text", (props) => {
4740
- return _$1(SurveyQuestionPanelDynamicProgressText, props);
4741
- });
4742
-
4743
4644
  class SurveyQuestionPanelDynamic extends SurveyQuestionElementBase {
4744
4645
  constructor(props) {
4745
4646
  super(props);
@@ -4777,14 +4678,8 @@ class SurveyQuestionPanelDynamic extends SurveyQuestionElementBase {
4777
4678
  this.question.renderedPanels.forEach((panel, index) => {
4778
4679
  panels.push(_$1(SurveyQuestionPanelDynamicItem, { key: panel.id, element: panel, question: this.question, index: index, cssClasses: this.question.cssClasses, isDisplayMode: this.isDisplayMode, creator: this.creator }));
4779
4680
  });
4780
- const btnAdd = this.question.isRenderModeList && this.question["showLegacyNavigation"]
4781
- ? this.renderAddRowButton()
4782
- : null;
4783
- const navTop = this.question.isProgressTopShowing
4784
- ? this.renderNavigator()
4785
- : null;
4786
- const navBottom = this.question.isProgressBottomShowing
4787
- ? this.renderNavigator()
4681
+ const rangeTop = this.question.isRangeShowing && this.question.isProgressTopShowing
4682
+ ? this.renderRange()
4788
4683
  : null;
4789
4684
  const navV2 = this.renderNavigatorV2();
4790
4685
  const noEntriesPlaceholder = this.renderPlaceholder();
@@ -4792,46 +4687,10 @@ class SurveyQuestionPanelDynamic extends SurveyQuestionElementBase {
4792
4687
  this.question.hasTabbedMenu ? _$1("div", { className: this.question.getTabsContainerCss() },
4793
4688
  _$1(SurveyActionBar, { model: this.question.tabbedMenu })) : null,
4794
4689
  noEntriesPlaceholder,
4795
- navTop,
4690
+ rangeTop,
4796
4691
  _$1("div", { className: this.question.cssClasses.panelsContainer }, panels),
4797
- navBottom,
4798
- btnAdd,
4799
4692
  navV2));
4800
4693
  }
4801
- renderNavigator() {
4802
- if (!this.question["showLegacyNavigation"]) {
4803
- if (this.question.isRangeShowing && this.question.isProgressTopShowing) {
4804
- return this.renderRange();
4805
- }
4806
- else {
4807
- return null;
4808
- }
4809
- }
4810
- const range = this.question.isRangeShowing ? this.renderRange() : null;
4811
- const btnPrev = this.rendrerPrevButton();
4812
- const btnNext = this.rendrerNextButton();
4813
- const btnAdd = this.renderAddRowButton();
4814
- const progressClass = this.question.isProgressTopShowing
4815
- ? this.question.cssClasses.progressTop
4816
- : this.question.cssClasses.progressBottom;
4817
- return (_$1("div", { className: progressClass },
4818
- _$1("div", { style: { clear: "both" } },
4819
- _$1("div", { className: this.question.cssClasses.progressContainer },
4820
- btnPrev,
4821
- range,
4822
- btnNext),
4823
- btnAdd,
4824
- this.renderProgressText())));
4825
- }
4826
- renderProgressText() {
4827
- return (_$1(SurveyQuestionPanelDynamicProgressText, { data: { question: this.question } }));
4828
- }
4829
- rendrerPrevButton() {
4830
- return (_$1(SurveyQuestionPanelDynamicPrevButton, { data: { question: this.question } }));
4831
- }
4832
- rendrerNextButton() {
4833
- return (_$1(SurveyQuestionPanelDynamicNextButton, { data: { question: this.question } }));
4834
- }
4835
4694
  renderRange() {
4836
4695
  return (_$1("div", { className: this.question.cssClasses.progress },
4837
4696
  _$1("div", { className: this.question.cssClasses.progressBar, style: { width: this.question.progress }, role: "progressbar" })));
@@ -5821,6 +5680,36 @@ ReactElementFactory.Instance.registerElement("sv-matrix-detail-button", props =>
5821
5680
  return _$1(SurveyQuestionMatrixDetailButton, props);
5822
5681
  });
5823
5682
 
5683
+ class SurveyQuestionPanelDynamicAction extends ReactSurveyElement {
5684
+ constructor(props) {
5685
+ super(props);
5686
+ }
5687
+ get data() {
5688
+ return (this.props.item && this.props.item.data) || this.props.data;
5689
+ }
5690
+ get question() {
5691
+ return (this.props.item && this.props.item.data.question) || this.props.data.question;
5692
+ }
5693
+ }
5694
+ class SurveyQuestionPanelDynamicAddButton extends SurveyQuestionPanelDynamicAction {
5695
+ constructor() {
5696
+ super(...arguments);
5697
+ this.handleClick = (event) => {
5698
+ this.question.addPanelUI();
5699
+ };
5700
+ }
5701
+ renderElement() {
5702
+ if (!this.question.canAddPanel)
5703
+ return null;
5704
+ const btnText = this.renderLocString(this.question.locAddPanelText);
5705
+ return (_$1("button", { type: "button", id: this.question.addButtonId, className: this.question.getAddButtonCss(), onClick: this.handleClick },
5706
+ _$1("span", { className: this.question.cssClasses.buttonAddText }, btnText)));
5707
+ }
5708
+ }
5709
+ ReactElementFactory.Instance.registerElement("sv-paneldynamic-add-btn", (props) => {
5710
+ return _$1(SurveyQuestionPanelDynamicAddButton, props);
5711
+ });
5712
+
5824
5713
  class SurveyQuestionPanelDynamicRemoveButton extends SurveyQuestionPanelDynamicAction {
5825
5714
  constructor() {
5826
5715
  super(...arguments);
@@ -5840,6 +5729,47 @@ ReactElementFactory.Instance.registerElement("sv-paneldynamic-remove-btn", (prop
5840
5729
  return _$1(SurveyQuestionPanelDynamicRemoveButton, props);
5841
5730
  });
5842
5731
 
5732
+ class SurveyQuestionPanelDynamicPrevButton extends SurveyQuestionPanelDynamicAction {
5733
+ constructor() {
5734
+ super(...arguments);
5735
+ this.handleClick = (event) => {
5736
+ this.question.goToPrevPanel();
5737
+ };
5738
+ }
5739
+ renderElement() {
5740
+ return (_$1("div", { title: this.question.panelPrevText, onClick: this.handleClick, className: this.question.getPrevButtonCss() },
5741
+ _$1(SvgIcon, { iconName: this.question.cssClasses.progressBtnIcon, size: "auto" })));
5742
+ }
5743
+ }
5744
+ ReactElementFactory.Instance.registerElement("sv-paneldynamic-prev-btn", (props) => {
5745
+ return _$1(SurveyQuestionPanelDynamicPrevButton, props);
5746
+ });
5747
+
5748
+ class SurveyQuestionPanelDynamicNextButton extends SurveyQuestionPanelDynamicAction {
5749
+ constructor() {
5750
+ super(...arguments);
5751
+ this.handleClick = (event) => {
5752
+ this.question.goToNextPanel();
5753
+ };
5754
+ }
5755
+ renderElement() {
5756
+ return (_$1("div", { title: this.question.panelNextText, onClick: this.handleClick, className: this.question.getNextButtonCss() },
5757
+ _$1(SvgIcon, { iconName: this.question.cssClasses.progressBtnIcon, size: "auto" })));
5758
+ }
5759
+ }
5760
+ ReactElementFactory.Instance.registerElement("sv-paneldynamic-next-btn", (props) => {
5761
+ return _$1(SurveyQuestionPanelDynamicNextButton, props);
5762
+ });
5763
+
5764
+ class SurveyQuestionPanelDynamicProgressText extends SurveyQuestionPanelDynamicAction {
5765
+ renderElement() {
5766
+ return (_$1("div", { className: this.question.cssClasses.progressText }, this.question.progressText));
5767
+ }
5768
+ }
5769
+ ReactElementFactory.Instance.registerElement("sv-paneldynamic-progress-text", (props) => {
5770
+ return _$1(SurveyQuestionPanelDynamicProgressText, props);
5771
+ });
5772
+
5843
5773
  class SurveyNavigationButton extends ReactSurveyElement {
5844
5774
  get item() {
5845
5775
  return this.props.item;
@@ -6105,7 +6035,7 @@ SurveyModel.prototype["render"] = function (element = null) {
6105
6035
  }
6106
6036
  };
6107
6037
  const preact = React;
6108
- checkLibraryVersion(`${"2.0.4"}`, "survey-js-ui");
6038
+ checkLibraryVersion(`${"2.0.5"}`, "survey-js-ui");
6109
6039
 
6110
6040
  export { CharacterCounterComponent, O as Children, x$2 as Component, ComponentsContainer, k$2 as Fragment, Header, HeaderCell, HeaderMobile, List, ListItemContent, ListItemGroup, LoadingIndicatorComponent, LogoImage, MatrixRow, NotifierComponent, Popup, PopupModal, PopupSurvey, N as PureComponent, QuestionErrorComponent, RatingDropdownItem, RatingItem, RatingItemSmiley, RatingItemStar, ReactElementFactory, ReactQuestionFactory, ReactSurveyElement, ReactSurveyElementsWrapper, Scroll, Skeleton, Cn as StrictMode, Survey, SurveyActionBar, SurveyElementBase, SurveyElementErrors, SurveyFileChooseButton, SurveyFilePreview, SurveyFlowPanel, SurveyHeader, SurveyLocStringEditor, SurveyLocStringViewer, SurveyNavigationBase, SurveyNavigationButton, SurveyPage, SurveyPanel, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestion, SurveyQuestionAndErrorsCell, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionButtonGroup, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionComment, SurveyQuestionCommentItem, SurveyQuestionComposite, SurveyQuestionCustom, SurveyQuestionDropdown, SurveyQuestionDropdownBase, SurveyQuestionDropdownSelect, SurveyQuestionElementBase, SurveyQuestionEmpty, SurveyQuestionExpression, SurveyQuestionFile, SurveyQuestionHtml, SurveyQuestionImage, SurveyQuestionImagePicker, SurveyQuestionMatrix, SurveyQuestionMatrixCell, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixRow, SurveyQuestionMultipleText, SurveyQuestionOptionItem, SurveyQuestionPanelDynamic, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicProgressText, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionRadioItem, SurveyQuestionRadiogroup, SurveyQuestionRanking, SurveyQuestionRankingItem, SurveyQuestionRankingItemContent, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionSignaturePad, SurveyQuestionTagbox, SurveyQuestionTagboxItem, SurveyQuestionText, SurveyRow, SurveyTimerPanel, SurveyWindow, P as Suspense, B as SuspenseList, SvgBundleComponent, SvgIcon, TagboxFilterString, TitleActions, TitleElement, attachKey2click, _n as cloneElement, K$1 as createContext, _$1 as createElement, dn as createFactory, $ as createPortal, b$1 as createRef, Sn as findDOMNode, En as flushSync, D as forwardRef, tn as hydrate, mn as isFragment, yn as isMemo, pn as isValidElement, z as lazy, M as memo, preact, nn as render, renderPopupSurvey, renderSurvey, R as startTransition, bn as unmountComponentAtNode, gn as unstable_batchedUpdates, q$1 as useCallback, x$1 as useContext, P$1 as useDebugValue, w as useDeferredValue, y as useEffect, g$1 as useId, F$1 as useImperativeHandle, I as useInsertionEffect, _ as useLayoutEffect, T$1 as useMemo, h as useReducer, A$1 as useRef, d as useState, C as useSyncExternalStore, k as useTransition, vn as version };
6111
6041
  //# sourceMappingURL=survey-js-ui.mjs.map