survey-react-ui 2.2.0 → 2.2.2

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.2.0
2
+ * surveyjs - Survey JavaScript library v2.2.2
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
  */
@@ -952,7 +952,7 @@ class SurveyActionBar extends SurveyElementBase {
952
952
  }
953
953
  componentDidMount() {
954
954
  super.componentDidMount();
955
- if (!this.model.hasActions)
955
+ if (!this.model.hasVisibleActions)
956
956
  return;
957
957
  const container = this.rootRef.current;
958
958
  if (!!container) {
@@ -968,7 +968,7 @@ class SurveyActionBar extends SurveyElementBase {
968
968
  if (prevProps.model != this.props.model) {
969
969
  prevProps.model.resetResponsivityManager();
970
970
  }
971
- if (!!this.model.hasActions) {
971
+ if (!!this.model.hasVisibleActions) {
972
972
  const container = this.rootRef.current;
973
973
  if (!!container) {
974
974
  this.model.initResponsivityManager(container, (callback) => { setTimeout(callback, 100); });
@@ -982,7 +982,7 @@ class SurveyActionBar extends SurveyElementBase {
982
982
  if (!this.model.hasActions)
983
983
  return null;
984
984
  const items = this.renderItems();
985
- return (React.createElement("div", { ref: this.rootRef, className: this.model.getRootCss(), onClick: this.handleClick ? function (event) {
985
+ return (React.createElement("div", { ref: this.rootRef, style: this.model.getRootStyle(), className: this.model.getRootCss(), onClick: this.handleClick ? function (event) {
986
986
  event.stopPropagation();
987
987
  } : undefined }, items));
988
988
  }
@@ -1450,7 +1450,7 @@ class SurveyQuestion extends SurveyElementBase {
1450
1450
  var descriptionUnderInput = question.hasDescriptionUnderInput
1451
1451
  ? this.renderDescription()
1452
1452
  : null;
1453
- return (React.createElement("div", { className: question.cssContent || undefined, style: contentStyle, role: "presentation" },
1453
+ return (React.createElement("div", { className: question.cssContent || undefined, style: contentStyle, "aria-hidden": question.contentAriaHidden, role: "presentation" },
1454
1454
  questionRender,
1455
1455
  comment,
1456
1456
  descriptionUnderInput));
@@ -1925,7 +1925,7 @@ class PopupModal extends SurveyElementBase {
1925
1925
  PopupModal.modalDescriptors = [];
1926
1926
 
1927
1927
  /*!
1928
- * surveyjs - Survey JavaScript library v2.2.0
1928
+ * surveyjs - Survey JavaScript library v2.2.2
1929
1929
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
1930
1930
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
1931
1931
  */
@@ -1995,7 +1995,7 @@ var iconsV1 = {
1995
1995
  };
1996
1996
 
1997
1997
  /*!
1998
- * surveyjs - Survey JavaScript library v2.2.0
1998
+ * surveyjs - Survey JavaScript library v2.2.2
1999
1999
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
2000
2000
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
2001
2001
  */
@@ -3195,7 +3195,7 @@ class SurveyQuestionDropdownBase extends SurveyQuestionUncontrolledElement {
3195
3195
  else {
3196
3196
  selectElement = React.createElement(React.Fragment, null,
3197
3197
  this.renderInput(),
3198
- React.createElement(Popup, { model: dropdownListModel.popupModel }));
3198
+ this.question.isInputReadOnly ? null : React.createElement(Popup, { model: dropdownListModel.popupModel }));
3199
3199
  }
3200
3200
  return (React.createElement("div", { className: cssClasses.selectWrapper, onClick: this.click }, selectElement));
3201
3201
  }
@@ -3211,12 +3211,6 @@ class SurveyQuestionDropdownBase extends SurveyQuestionUncontrolledElement {
3211
3211
  renderInput() {
3212
3212
  const dropdownListModel = this.dropdownListModel;
3213
3213
  let valueElement = this.renderValueElement();
3214
- const { root } = settings.environment;
3215
- const onInputChange = (e) => {
3216
- if (e.target === root.activeElement) {
3217
- dropdownListModel.inputStringRendered = e.target.value;
3218
- }
3219
- };
3220
3214
  return (React.createElement("div", { id: this.question.inputId, className: this.question.getControlClass(), tabIndex: dropdownListModel.noTabIndex ? undefined : 0,
3221
3215
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
3222
3216
  // @ts-ignore
@@ -3230,9 +3224,19 @@ class SurveyQuestionDropdownBase extends SurveyQuestionUncontrolledElement {
3230
3224
  React.createElement("span", { style: { visibility: "hidden" }, "data-bind": "text: model.filterString" }, dropdownListModel.inputStringRendered),
3231
3225
  React.createElement("span", null, dropdownListModel.hintStringSuffix))) : null,
3232
3226
  valueElement,
3233
- React.createElement("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), ref: (element) => (this.inputElement = element), className: this.question.cssClasses.filterStringInput, role: dropdownListModel.ariaInputRole, "aria-required": dropdownListModel.ariaInputRequired, "aria-invalid": dropdownListModel.ariaInputInvalid, "aria-errormessage": dropdownListModel.ariaInputErrorMessage, "aria-expanded": dropdownListModel.ariaInputExpanded, "aria-label": dropdownListModel.ariaInputLabel, "aria-labelledby": dropdownListModel.ariaInputLabelledby, "aria-describedby": dropdownListModel.ariaInputDescribedby, "aria-controls": dropdownListModel.ariaInputControls, "aria-activedescendant": dropdownListModel.ariaInputActivedescendant, placeholder: dropdownListModel.placeholderRendered, readOnly: dropdownListModel.filterReadOnly ? true : undefined, tabIndex: dropdownListModel.noTabIndex ? undefined : -1, disabled: this.question.isDisabledAttr, inputMode: dropdownListModel.inputMode, onChange: (e) => { onInputChange(e); }, onBlur: this.blur, onFocus: this.focus })),
3227
+ dropdownListModel.needRenderInput ? this.renderFilterInput() : null),
3234
3228
  this.renderEditorButtons()));
3235
3229
  }
3230
+ renderFilterInput() {
3231
+ const { root } = settings.environment;
3232
+ const dropdownListModel = this.dropdownListModel;
3233
+ const onInputChange = (e) => {
3234
+ if (e.target === root.activeElement) {
3235
+ dropdownListModel.inputStringRendered = e.target.value;
3236
+ }
3237
+ };
3238
+ return React.createElement("input", { type: "text", autoComplete: "off", id: this.question.getInputId(), ref: (element) => (this.inputElement = element), className: this.question.cssClasses.filterStringInput, role: dropdownListModel.ariaInputRole, "aria-required": dropdownListModel.ariaInputRequired, "aria-invalid": dropdownListModel.ariaInputInvalid, "aria-errormessage": dropdownListModel.ariaInputErrorMessage, "aria-expanded": dropdownListModel.ariaInputExpanded, "aria-label": dropdownListModel.ariaInputLabel, "aria-labelledby": dropdownListModel.ariaInputLabelledby, "aria-describedby": dropdownListModel.ariaInputDescribedby, "aria-controls": dropdownListModel.ariaInputControls, "aria-activedescendant": dropdownListModel.ariaInputActivedescendant, placeholder: dropdownListModel.placeholderRendered, readOnly: dropdownListModel.filterReadOnly ? true : undefined, tabIndex: dropdownListModel.noTabIndex ? undefined : -1, disabled: this.question.isDisabledAttr, inputMode: dropdownListModel.inputMode, onChange: (e) => { onInputChange(e); }, onBlur: this.blur, onFocus: this.focus });
3239
+ }
3236
3240
  renderOther(cssClasses) {
3237
3241
  return (React.createElement("div", { className: this.question.getCommentAreaCss(true) },
3238
3242
  React.createElement(SurveyQuestionOtherValueItem, { question: this.question, otherCss: cssClasses.other, cssClasses: cssClasses, isDisplayMode: this.isDisplayMode, isOther: true })));
@@ -3324,7 +3328,7 @@ class SurveyQuestionTagbox extends SurveyQuestionDropdownBase {
3324
3328
  disabled: this.question.isInputReadOnly, required: this.question.isRequired, onKeyDown: this.keyhandler, onBlur: this.blur, role: dropdownListModel.ariaQuestionRole, "aria-required": dropdownListModel.ariaQuestionRequired, "aria-invalid": dropdownListModel.ariaQuestionInvalid, "aria-errormessage": dropdownListModel.ariaQuestionErrorMessage, "aria-label": dropdownListModel.ariaQuestionLabel, "aria-labelledby": dropdownListModel.ariaQuestionLabelledby, "aria-describedby": dropdownListModel.ariaQuestionDescribedby, "aria-expanded": dropdownListModel.ariaQuestionExpanded, "aria-controls": dropdownListModel.ariaQuestionControls, "aria-activedescendant": dropdownListModel.ariaQuestionActivedescendant, ref: (div) => (this.setControl(div)) },
3325
3329
  React.createElement("div", { className: this.question.cssClasses.controlValue },
3326
3330
  items,
3327
- React.createElement(TagboxFilterString, { model: dropdownListModel, question: this.question })),
3331
+ dropdownListModel.needRenderInput ? React.createElement(TagboxFilterString, { model: dropdownListModel, question: this.question }) : null),
3328
3332
  this.renderEditorButtons()));
3329
3333
  }
3330
3334
  renderElement() {
@@ -4255,7 +4259,7 @@ class MatrixRow extends SurveyElementBase {
4255
4259
  const model = this.model;
4256
4260
  if (!model.visible)
4257
4261
  return null;
4258
- return (React.createElement("tr", { ref: this.root, className: model.className, "data-sv-drop-target-matrix-row": model.row && model.row.id, onPointerDown: (event) => this.onPointerDownHandler(event) }, this.props.children));
4262
+ return (React.createElement("tr", { ref: this.root, className: model.className, "data-sv-drop-target-matrix-row": model.dropTargetId, onPointerDown: (event) => this.onPointerDownHandler(event) }, this.props.children));
4259
4263
  }
4260
4264
  }
4261
4265
  ReactElementFactory.Instance.registerElement("sv-matrix-row", (props) => {
@@ -4773,7 +4777,7 @@ class SurveyQuestionPanelDynamic extends SurveyQuestionElementBase {
4773
4777
  return (React.createElement("div", { className: this.question.cssClasses.footer },
4774
4778
  React.createElement("hr", { className: this.question.cssClasses.separator }),
4775
4779
  range,
4776
- this.question.footerToolbar.visibleActions.length ? (React.createElement("div", { className: this.question.cssClasses.footerButtonsContainer },
4780
+ this.question.footerToolbar.hasVisibleActions ? (React.createElement("div", { className: this.question.cssClasses.footerButtonsContainer },
4777
4781
  React.createElement(SurveyActionBar, { model: this.question.footerToolbar }))) : null));
4778
4782
  }
4779
4783
  renderPlaceholder(cssClasses) {
@@ -5247,7 +5251,7 @@ class SurveyQuestionSlider extends SurveyQuestionElementBase {
5247
5251
  }
5248
5252
  getRangeInput() {
5249
5253
  const { renderedMax: max, renderedMin: min, step, cssClasses, handleRangeOnChange, handleRangePointerDown, handleRangePointerUp } = this.question;
5250
- return React.createElement("input", { name: "range-input", ref: this.rangeInputRef, className: cssClasses.input, type: "range", "aria-hidden": "true", min: min, max: max, step: step, tabIndex: -1, onChange: (e) => { handleRangeOnChange(e.nativeEvent); }, onPointerDown: (e) => { e.persist(); handleRangePointerDown(e.nativeEvent, this.control); }, onPointerUp: (e) => { handleRangePointerUp(e.nativeEvent, this.control); } });
5254
+ return React.createElement("input", { name: "range-input", id: "sjs-slider-input-range-input", ref: this.rangeInputRef, className: cssClasses.input, type: "range", "aria-hidden": "true", min: min, max: max, step: step, tabIndex: -1, onChange: (e) => { handleRangeOnChange(e.nativeEvent); }, onPointerDown: (e) => { e.persist(); handleRangePointerDown(e.nativeEvent, this.control); }, onPointerUp: (e) => { handleRangePointerUp(e.nativeEvent, this.control); } });
5251
5255
  }
5252
5256
  getLabels() {
5253
5257
  const labels = [];
@@ -6192,7 +6196,7 @@ ReactElementFactory.Instance.registerElement(LocalizableString.editableRenderer,
6192
6196
  return React.createElement(SurveyLocStringEditor, props);
6193
6197
  });
6194
6198
 
6195
- checkLibraryVersion(`${"2.2.0"}`, "survey-react-ui");
6199
+ checkLibraryVersion(`${"2.2.2"}`, "survey-react-ui");
6196
6200
 
6197
6201
  export { CharacterCounterComponent, ComponentsContainer, Header, HeaderCell, HeaderMobile, List, ListItemContent, ListItemGroup, LoadingIndicatorComponent, LogoImage, MatrixRow, NotifierComponent, Popup, PopupModal, PopupSurvey, QuestionErrorComponent, RatingDropdownItem, RatingItem, RatingItemSmiley, RatingItemStar, ReactElementFactory, ReactQuestionFactory, ReactSurveyElement, ReactSurveyElementsWrapper, Scroll, Skeleton, SliderLabelItem, Survey, SurveyActionBar, SurveyElementBase, SurveyElementErrors, SurveyFileChooseButton, SurveyFilePreview, SurveyFlowPanel, SurveyHeader, SurveyLocStringEditor, SurveyLocStringViewer, SurveyNavigationBase, SurveyNavigationButton, SurveyPage, SurveyPanel, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestion, SurveyQuestionAndErrorsCell, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionButtonGroup, SurveyQuestionButtonGroupDropdown, 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, SurveyQuestionSlider, SurveyQuestionTagbox, SurveyQuestionTagboxItem, SurveyQuestionText, SurveyRow, SurveyTimerPanel, SurveyWindow, SvgBundleComponent, SvgIcon, TagboxFilterString, TitleActions, TitleElement, attachKey2click };
6198
6202
  //# sourceMappingURL=survey-react-ui.mjs.map