survey-js-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
  */
@@ -1005,7 +1005,7 @@ class SurveyActionBar extends SurveyElementBase {
1005
1005
  }
1006
1006
  componentDidMount() {
1007
1007
  super.componentDidMount();
1008
- if (!this.model.hasActions)
1008
+ if (!this.model.hasVisibleActions)
1009
1009
  return;
1010
1010
  const container = this.rootRef.current;
1011
1011
  if (!!container) {
@@ -1021,7 +1021,7 @@ class SurveyActionBar extends SurveyElementBase {
1021
1021
  if (prevProps.model != this.props.model) {
1022
1022
  prevProps.model.resetResponsivityManager();
1023
1023
  }
1024
- if (!!this.model.hasActions) {
1024
+ if (!!this.model.hasVisibleActions) {
1025
1025
  const container = this.rootRef.current;
1026
1026
  if (!!container) {
1027
1027
  this.model.initResponsivityManager(container, (callback) => { setTimeout(callback, 100); });
@@ -1035,7 +1035,7 @@ class SurveyActionBar extends SurveyElementBase {
1035
1035
  if (!this.model.hasActions)
1036
1036
  return null;
1037
1037
  const items = this.renderItems();
1038
- return (_$1("div", { ref: this.rootRef, className: this.model.getRootCss(), onClick: this.handleClick ? function (event) {
1038
+ return (_$1("div", { ref: this.rootRef, style: this.model.getRootStyle(), className: this.model.getRootCss(), onClick: this.handleClick ? function (event) {
1039
1039
  event.stopPropagation();
1040
1040
  } : undefined }, items));
1041
1041
  }
@@ -1503,7 +1503,7 @@ class SurveyQuestion extends SurveyElementBase {
1503
1503
  var descriptionUnderInput = question.hasDescriptionUnderInput
1504
1504
  ? this.renderDescription()
1505
1505
  : null;
1506
- return (_$1("div", { className: question.cssContent || undefined, style: contentStyle, role: "presentation" },
1506
+ return (_$1("div", { className: question.cssContent || undefined, style: contentStyle, "aria-hidden": question.contentAriaHidden, role: "presentation" },
1507
1507
  questionRender,
1508
1508
  comment,
1509
1509
  descriptionUnderInput));
@@ -1978,7 +1978,7 @@ class PopupModal extends SurveyElementBase {
1978
1978
  PopupModal.modalDescriptors = [];
1979
1979
 
1980
1980
  /*!
1981
- * surveyjs - Survey JavaScript library v2.2.0
1981
+ * surveyjs - Survey JavaScript library v2.2.2
1982
1982
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
1983
1983
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
1984
1984
  */
@@ -2048,7 +2048,7 @@ var iconsV1 = {
2048
2048
  };
2049
2049
 
2050
2050
  /*!
2051
- * surveyjs - Survey JavaScript library v2.2.0
2051
+ * surveyjs - Survey JavaScript library v2.2.2
2052
2052
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
2053
2053
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
2054
2054
  */
@@ -3248,7 +3248,7 @@ class SurveyQuestionDropdownBase extends SurveyQuestionUncontrolledElement {
3248
3248
  else {
3249
3249
  selectElement = _$1(k$2, null,
3250
3250
  this.renderInput(),
3251
- _$1(Popup, { model: dropdownListModel.popupModel }));
3251
+ this.question.isInputReadOnly ? null : _$1(Popup, { model: dropdownListModel.popupModel }));
3252
3252
  }
3253
3253
  return (_$1("div", { className: cssClasses.selectWrapper, onClick: this.click }, selectElement));
3254
3254
  }
@@ -3264,12 +3264,6 @@ class SurveyQuestionDropdownBase extends SurveyQuestionUncontrolledElement {
3264
3264
  renderInput() {
3265
3265
  const dropdownListModel = this.dropdownListModel;
3266
3266
  let valueElement = this.renderValueElement();
3267
- const { root } = settings.environment;
3268
- const onInputChange = (e) => {
3269
- if (e.target === root.activeElement) {
3270
- dropdownListModel.inputStringRendered = e.target.value;
3271
- }
3272
- };
3273
3267
  return (_$1("div", { id: this.question.inputId, className: this.question.getControlClass(), tabIndex: dropdownListModel.noTabIndex ? undefined : 0,
3274
3268
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
3275
3269
  // @ts-ignore
@@ -3283,9 +3277,19 @@ class SurveyQuestionDropdownBase extends SurveyQuestionUncontrolledElement {
3283
3277
  _$1("span", { style: { visibility: "hidden" }, "data-bind": "text: model.filterString" }, dropdownListModel.inputStringRendered),
3284
3278
  _$1("span", null, dropdownListModel.hintStringSuffix))) : null,
3285
3279
  valueElement,
3286
- _$1("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 })),
3280
+ dropdownListModel.needRenderInput ? this.renderFilterInput() : null),
3287
3281
  this.renderEditorButtons()));
3288
3282
  }
3283
+ renderFilterInput() {
3284
+ const { root } = settings.environment;
3285
+ const dropdownListModel = this.dropdownListModel;
3286
+ const onInputChange = (e) => {
3287
+ if (e.target === root.activeElement) {
3288
+ dropdownListModel.inputStringRendered = e.target.value;
3289
+ }
3290
+ };
3291
+ return _$1("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 });
3292
+ }
3289
3293
  renderOther(cssClasses) {
3290
3294
  return (_$1("div", { className: this.question.getCommentAreaCss(true) },
3291
3295
  _$1(SurveyQuestionOtherValueItem, { question: this.question, otherCss: cssClasses.other, cssClasses: cssClasses, isDisplayMode: this.isDisplayMode, isOther: true })));
@@ -3377,7 +3381,7 @@ class SurveyQuestionTagbox extends SurveyQuestionDropdownBase {
3377
3381
  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)) },
3378
3382
  _$1("div", { className: this.question.cssClasses.controlValue },
3379
3383
  items,
3380
- _$1(TagboxFilterString, { model: dropdownListModel, question: this.question })),
3384
+ dropdownListModel.needRenderInput ? _$1(TagboxFilterString, { model: dropdownListModel, question: this.question }) : null),
3381
3385
  this.renderEditorButtons()));
3382
3386
  }
3383
3387
  renderElement() {
@@ -4308,7 +4312,7 @@ class MatrixRow extends SurveyElementBase {
4308
4312
  const model = this.model;
4309
4313
  if (!model.visible)
4310
4314
  return null;
4311
- return (_$1("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));
4315
+ return (_$1("tr", { ref: this.root, className: model.className, "data-sv-drop-target-matrix-row": model.dropTargetId, onPointerDown: (event) => this.onPointerDownHandler(event) }, this.props.children));
4312
4316
  }
4313
4317
  }
4314
4318
  ReactElementFactory.Instance.registerElement("sv-matrix-row", (props) => {
@@ -4826,7 +4830,7 @@ class SurveyQuestionPanelDynamic extends SurveyQuestionElementBase {
4826
4830
  return (_$1("div", { className: this.question.cssClasses.footer },
4827
4831
  _$1("hr", { className: this.question.cssClasses.separator }),
4828
4832
  range,
4829
- this.question.footerToolbar.visibleActions.length ? (_$1("div", { className: this.question.cssClasses.footerButtonsContainer },
4833
+ this.question.footerToolbar.hasVisibleActions ? (_$1("div", { className: this.question.cssClasses.footerButtonsContainer },
4830
4834
  _$1(SurveyActionBar, { model: this.question.footerToolbar }))) : null));
4831
4835
  }
4832
4836
  renderPlaceholder(cssClasses) {
@@ -5300,7 +5304,7 @@ class SurveyQuestionSlider extends SurveyQuestionElementBase {
5300
5304
  }
5301
5305
  getRangeInput() {
5302
5306
  const { renderedMax: max, renderedMin: min, step, cssClasses, handleRangeOnChange, handleRangePointerDown, handleRangePointerUp } = this.question;
5303
- return _$1("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); } });
5307
+ return _$1("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); } });
5304
5308
  }
5305
5309
  getLabels() {
5306
5310
  const labels = [];
@@ -6294,7 +6298,7 @@ SurveyModel.prototype["render"] = function (element = null) {
6294
6298
  }
6295
6299
  };
6296
6300
  const preact = React;
6297
- checkLibraryVersion(`${"2.2.0"}`, "survey-js-ui");
6301
+ checkLibraryVersion(`${"2.2.2"}`, "survey-js-ui");
6298
6302
 
6299
6303
  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, SliderLabelItem, 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, 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, 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, pn as isFragment, yn as isMemo, mn 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 };
6300
6304
  //# sourceMappingURL=survey-js-ui.mjs.map