@bigbinary/neeto-form-frontend 4.2.10 → 4.3.0

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.
Files changed (52) hide show
  1. package/app/javascript/src/translations/en.json +12 -1
  2. package/app/javascript/src/translations/hu.json +220 -0
  3. package/dist/BuildForm.js +74 -6
  4. package/dist/BuildForm.js.map +1 -1
  5. package/dist/ExternalForm.js +4 -4
  6. package/dist/Submission.js +1 -1
  7. package/dist/UrlBuilder.js +5 -4
  8. package/dist/UrlBuilder.js.map +1 -1
  9. package/dist/{buildForm-DcE5kFvR.js → buildForm-DA1LRDwr.js} +2 -2
  10. package/dist/{buildForm-DcE5kFvR.js.map → buildForm-DA1LRDwr.js.map} +1 -1
  11. package/dist/{buildForm-CooylMLL.js → buildForm-vzjjarhs.js} +2 -2
  12. package/dist/{buildForm-CooylMLL.js.map → buildForm-vzjjarhs.js.map} +1 -1
  13. package/dist/cjs/BuildForm.js +74 -6
  14. package/dist/cjs/BuildForm.js.map +1 -1
  15. package/dist/cjs/ExternalForm.js +4 -4
  16. package/dist/cjs/Submission.js +1 -1
  17. package/dist/cjs/UrlBuilder.js +5 -4
  18. package/dist/cjs/UrlBuilder.js.map +1 -1
  19. package/dist/cjs/hooks.js +4 -4
  20. package/dist/cjs/index.js +6 -6
  21. package/dist/{constants-BjWWA3Oq.js → constants-BEKfDeAd.js} +53 -25
  22. package/dist/constants-BEKfDeAd.js.map +1 -0
  23. package/dist/{constants-51SEJjzI.js → constants-B_OEW8Yc.js} +2 -1
  24. package/dist/constants-B_OEW8Yc.js.map +1 -0
  25. package/dist/{constants-C9wKMfgo.js → constants-DcN-Mvx7.js} +2 -1
  26. package/dist/constants-DcN-Mvx7.js.map +1 -0
  27. package/dist/{constants-QPLZ_r-D.js → constants-Dcy0vCkf.js} +51 -26
  28. package/dist/constants-Dcy0vCkf.js.map +1 -0
  29. package/dist/hooks.js +4 -4
  30. package/dist/{index-D4URTv1p.js → index-BQf-XQOv.js} +2 -2
  31. package/dist/{index-D4URTv1p.js.map → index-BQf-XQOv.js.map} +1 -1
  32. package/dist/{index-DnHrq-hl.js → index-DGvqFcqA.js} +2 -2
  33. package/dist/{index-DnHrq-hl.js.map → index-DGvqFcqA.js.map} +1 -1
  34. package/dist/index.js +6 -6
  35. package/dist/main.css +1 -1
  36. package/dist/main.css.map +1 -1
  37. package/dist/{useFormSubmission-BGNEnxvm.js → useFormSubmission-C7RL4Doz.js} +2 -2
  38. package/dist/{useFormSubmission-BGNEnxvm.js.map → useFormSubmission-C7RL4Doz.js.map} +1 -1
  39. package/dist/{useFormSubmission-BUPnuOSG.js → useFormSubmission-CzjIcsVB.js} +2 -2
  40. package/dist/{useFormSubmission-BUPnuOSG.js.map → useFormSubmission-CzjIcsVB.js.map} +1 -1
  41. package/dist/{utils-Dn-q4QBc.js → utils-BgH6USlj.js} +148 -33
  42. package/dist/utils-BgH6USlj.js.map +1 -0
  43. package/dist/{utils-Ch7Ggngj.js → utils-CjySOwOO.js} +148 -33
  44. package/dist/utils-CjySOwOO.js.map +1 -0
  45. package/package.json +18 -19
  46. package/types.d.ts +3 -0
  47. package/dist/constants-51SEJjzI.js.map +0 -1
  48. package/dist/constants-BjWWA3Oq.js.map +0 -1
  49. package/dist/constants-C9wKMfgo.js.map +0 -1
  50. package/dist/constants-QPLZ_r-D.js.map +0 -1
  51. package/dist/utils-Ch7Ggngj.js.map +0 -1
  52. package/dist/utils-Dn-q4QBc.js.map +0 -1
@@ -3,13 +3,13 @@
3
3
  var React = require('react');
4
4
  var formik = require('formik');
5
5
  var neetoCist = require('@bigbinary/neeto-cist');
6
- var index = require('./index-D4URTv1p.js');
6
+ var index = require('./index-BQf-XQOv.js');
7
7
  var utils = require('@bigbinary/neeto-commons-frontend/utils');
8
8
  var libphonenumberJs = require('libphonenumber-js');
9
9
  var ramda = require('ramda');
10
10
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
11
11
  var EditorContent = require('@bigbinary/neeto-editor/EditorContent');
12
- var constants$1 = require('./constants-C9wKMfgo.js');
12
+ var constants$1 = require('./constants-DcN-Mvx7.js');
13
13
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
14
14
  var Plus = require('@bigbinary/neeto-icons/Plus');
15
15
  var Button = require('@bigbinary/neetoui/Button');
@@ -24,7 +24,7 @@ var yup = require('yup');
24
24
  var i18next = require('i18next');
25
25
  var jsxRuntime = require('react/jsx-runtime');
26
26
  var _toArray = require('@babel/runtime/helpers/toArray');
27
- var constants = require('./constants-BjWWA3Oq.js');
27
+ var constants = require('./constants-BEKfDeAd.js');
28
28
  var classnames = require('classnames');
29
29
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
30
30
  var Refresh = require('@bigbinary/neeto-icons/Refresh');
@@ -292,7 +292,7 @@ var getMultipleOptionsFromURL = function getMultipleOptionsFromURL(_ref2) {
292
292
  return allOptions.includes(option.label);
293
293
  });
294
294
  };
295
- var getStarRatingFromUrl = function getStarRatingFromUrl(_ref3) {
295
+ var getStarRatingOrOpinionScaleFromUrl = function getStarRatingOrOpinionScaleFromUrl(_ref3) {
296
296
  var minValue = _ref3.minValue,
297
297
  maxValue = _ref3.maxValue,
298
298
  fieldCodes = _ref3.fieldCodes,
@@ -485,9 +485,10 @@ var generateInitValues = function generateInitValues(_ref9) {
485
485
  return;
486
486
  }
487
487
  case constants.QUESTION_KIND.STAR_RATING.value:
488
+ case constants.QUESTION_KIND.OPINION_SCALE.value:
488
489
  {
489
490
  var _valuesMap$id$value4, _valuesMap7;
490
- initValues[id] = (_valuesMap$id$value4 = (_valuesMap7 = valuesMap) === null || _valuesMap7 === void 0 || (_valuesMap7 = _valuesMap7[id]) === null || _valuesMap7 === void 0 ? void 0 : _valuesMap7.value) !== null && _valuesMap$id$value4 !== void 0 ? _valuesMap$id$value4 : getStarRatingFromUrl({
491
+ initValues[id] = (_valuesMap$id$value4 = (_valuesMap7 = valuesMap) === null || _valuesMap7 === void 0 || (_valuesMap7 = _valuesMap7[id]) === null || _valuesMap7 === void 0 ? void 0 : _valuesMap7.value) !== null && _valuesMap$id$value4 !== void 0 ? _valuesMap$id$value4 : getStarRatingOrOpinionScaleFromUrl({
491
492
  minValue: minValue,
492
493
  maxValue: maxValue,
493
494
  fieldCodes: fieldCodes,
@@ -715,19 +716,28 @@ var validateStarRatingField = function validateStarRatingField(_ref8) {
715
716
  }
716
717
  return schema.trim();
717
718
  };
718
- var validateTermsField = function validateTermsField(_ref9) {
719
- var _ref9$isRequired = _ref9.isRequired,
720
- isRequired = _ref9$isRequired === void 0 ? true : _ref9$isRequired;
721
- return isRequired ? yup__namespace["boolean"]().oneOf([true], t("neetoForm.common.mustAcceptTermsAndConditions")) : yup__namespace["boolean"]().notRequired();
719
+ var validateOpinionScaleField = function validateOpinionScaleField(_ref9) {
720
+ var label = _ref9.label,
721
+ isRequired = _ref9.isRequired;
722
+ var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string"));
723
+ if (isRequired) {
724
+ schema = schema.required(getSelectMinError(t("neetoForm.common.selection")));
725
+ }
726
+ return schema.trim();
722
727
  };
723
- var validateConditionField = function validateConditionField(_ref10) {
728
+ var validateTermsField = function validateTermsField(_ref10) {
724
729
  var _ref10$isRequired = _ref10.isRequired,
725
730
  isRequired = _ref10$isRequired === void 0 ? true : _ref10$isRequired;
731
+ return isRequired ? yup__namespace["boolean"]().oneOf([true], t("neetoForm.common.mustAcceptTermsAndConditions")) : yup__namespace["boolean"]().notRequired();
732
+ };
733
+ var validateConditionField = function validateConditionField(_ref11) {
734
+ var _ref11$isRequired = _ref11.isRequired,
735
+ isRequired = _ref11$isRequired === void 0 ? true : _ref11$isRequired;
726
736
  return isRequired ? yup__namespace["boolean"]().oneOf([true], t("neetoForm.common.mustAcceptCondition")) : yup__namespace["boolean"]().notRequired();
727
737
  };
728
- var validateDateField = function validateDateField(_ref11) {
729
- var label = _ref11.label,
730
- isRequired = _ref11.isRequired;
738
+ var validateDateField = function validateDateField(_ref12) {
739
+ var label = _ref12.label,
740
+ isRequired = _ref12.isRequired;
731
741
  var schema = yup__namespace.string().test("is valid date", getInvalidTypeError(label, "date"), function (value) {
732
742
  return neetoCist.isNotPresent(value) || isValidDate(value);
733
743
  });
@@ -736,8 +746,8 @@ var validateDateField = function validateDateField(_ref11) {
736
746
  }
737
747
  return schema;
738
748
  };
739
- var validateMultiEmailField = function validateMultiEmailField(_ref12) {
740
- var isRequired = _ref12.isRequired;
749
+ var validateMultiEmailField = function validateMultiEmailField(_ref13) {
750
+ var isRequired = _ref13.isRequired;
741
751
  var schema = yup__namespace.array().of(yup__namespace.object().shape({
742
752
  value: yup__namespace.string().email(getInvalidFieldError("Email")).trim()
743
753
  })).nullable();
@@ -749,17 +759,17 @@ var validateMultiEmailField = function validateMultiEmailField(_ref12) {
749
759
  var editorHasValue = function editorHasValue(content) {
750
760
  return !utils$1.isEditorEmpty(content);
751
761
  };
752
- var validateRichTextField = function validateRichTextField(_ref13) {
753
- var isRequired = _ref13.isRequired;
762
+ var validateRichTextField = function validateRichTextField(_ref14) {
763
+ var isRequired = _ref14.isRequired;
754
764
  var schema = yup__namespace.string();
755
765
  if (isRequired) {
756
766
  schema = schema.test("required", getRequiredFieldError("content"), editorHasValue);
757
767
  }
758
768
  return schema.trim();
759
769
  };
760
- var validateFileUploadField = function validateFileUploadField(_ref14) {
761
- var isRequired = _ref14.isRequired,
762
- multipleFilesAllowed = _ref14.multipleFilesAllowed;
770
+ var validateFileUploadField = function validateFileUploadField(_ref15) {
771
+ var isRequired = _ref15.isRequired,
772
+ multipleFilesAllowed = _ref15.multipleFilesAllowed;
763
773
  var files_schema = yup__namespace.array();
764
774
  if (isRequired) {
765
775
  files_schema = files_schema.of(yup__namespace.object().shape({
@@ -772,19 +782,19 @@ var validateFileUploadField = function validateFileUploadField(_ref14) {
772
782
  files: files_schema
773
783
  });
774
784
  };
775
- var validateCaptchaField = function validateCaptchaField(_ref15) {
776
- var variant = _ref15.variant;
785
+ var validateCaptchaField = function validateCaptchaField(_ref16) {
786
+ var variant = _ref16.variant;
777
787
  return variant === constants$1.CAPTCHA_TYPES.MATH_CAPTCHA ? yup__namespace.mixed().test("verification failed", t("neetoForm.error.captchaVerificationFailed"), function (value) {
778
788
  return neetoCist.isNotPresent(value) || value;
779
789
  }).transform(function (value) {
780
790
  return value === "" ? null : value;
781
791
  }).required(t("neetoForm.error.incompleteCaptcha")) : yup__namespace.string().trim().required(t("neetoForm.error.incompleteCaptcha"));
782
792
  };
783
- var fieldKindValidatorMap = (_fieldKindValidatorMa = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fieldKindValidatorMa, constants.QUESTION_KIND.EMAIL.value, validateEmailField), constants.QUESTION_KIND.NAME.value, validateNameField), constants.QUESTION_KIND.PHONE.value, validateTextField), constants.QUESTION_KIND.TEXT.value, validateTextField), constants.QUESTION_KIND.QUESTION.value, validateTextField), constants.QUESTION_KIND.TEXTAREA.value, validateTextField), constants.QUESTION_KIND.DECIMAL.value, validateTextField), constants.QUESTION_KIND.INTEGER.value, validateTextField), constants.QUESTION_KIND.DROPDOWN.value, validateSingleChoiceField), constants.QUESTION_KIND.RADIO.value, validateSingleChoiceField), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fieldKindValidatorMa, constants.QUESTION_KIND.CHECKBOX.value, validateMultiChoiceField), constants.QUESTION_KIND.RATING.value, validateRatingField), constants.QUESTION_KIND.TERMS.value, validateTermsField), constants.QUESTION_KIND.DATE.value, validateDateField), constants.QUESTION_KIND.STAR_RATING.value, validateStarRatingField), constants.QUESTION_KIND.ADDITIONAL_GUESTS.value, validateMultiEmailField), constants.QUESTION_KIND.RICH_TEXT.value, validateRichTextField), constants.QUESTION_KIND.CONDITION.value, validateConditionField), constants.QUESTION_KIND.FILE_UPLOAD.value, validateFileUploadField), constants.QUESTION_KIND.CAPTCHA.value, validateCaptchaField), _defineProperty(_fieldKindValidatorMa, constants.QUESTION_KIND.SMS_REMINDER.value, validateTextField));
784
- var validateFieldValue = function validateFieldValue(_ref16) {
785
- var kind = _ref16.kind,
786
- customValidator = _ref16.customValidator,
787
- otherProps = _objectWithoutProperties(_ref16, _excluded$4);
793
+ var fieldKindValidatorMap = (_fieldKindValidatorMa = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fieldKindValidatorMa, constants.QUESTION_KIND.EMAIL.value, validateEmailField), constants.QUESTION_KIND.NAME.value, validateNameField), constants.QUESTION_KIND.PHONE.value, validateTextField), constants.QUESTION_KIND.TEXT.value, validateTextField), constants.QUESTION_KIND.QUESTION.value, validateTextField), constants.QUESTION_KIND.TEXTAREA.value, validateTextField), constants.QUESTION_KIND.DECIMAL.value, validateTextField), constants.QUESTION_KIND.INTEGER.value, validateTextField), constants.QUESTION_KIND.DROPDOWN.value, validateSingleChoiceField), constants.QUESTION_KIND.RADIO.value, validateSingleChoiceField), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fieldKindValidatorMa, constants.QUESTION_KIND.CHECKBOX.value, validateMultiChoiceField), constants.QUESTION_KIND.RATING.value, validateRatingField), constants.QUESTION_KIND.TERMS.value, validateTermsField), constants.QUESTION_KIND.DATE.value, validateDateField), constants.QUESTION_KIND.STAR_RATING.value, validateStarRatingField), constants.QUESTION_KIND.OPINION_SCALE.value, validateOpinionScaleField), constants.QUESTION_KIND.ADDITIONAL_GUESTS.value, validateMultiEmailField), constants.QUESTION_KIND.RICH_TEXT.value, validateRichTextField), constants.QUESTION_KIND.CONDITION.value, validateConditionField), constants.QUESTION_KIND.FILE_UPLOAD.value, validateFileUploadField), _defineProperty(_defineProperty(_fieldKindValidatorMa, constants.QUESTION_KIND.CAPTCHA.value, validateCaptchaField), constants.QUESTION_KIND.SMS_REMINDER.value, validateTextField));
794
+ var validateFieldValue = function validateFieldValue(_ref17) {
795
+ var kind = _ref17.kind,
796
+ customValidator = _ref17.customValidator,
797
+ otherProps = _objectWithoutProperties(_ref17, _excluded$4);
788
798
  return function (value) {
789
799
  if (!(kind in fieldKindValidatorMap)) return;
790
800
  var validator = fieldKindValidatorMap[kind];
@@ -794,7 +804,7 @@ var validateFieldValue = function validateFieldValue(_ref16) {
794
804
 
795
805
  // eslint-disable-next-line consistent-return, no-async-promise-executor
796
806
  return new Promise(/*#__PURE__*/function () {
797
- var _ref17 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(resolve) {
807
+ var _ref18 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(resolve) {
798
808
  return _regeneratorRuntime.wrap(function _callee$(_context) {
799
809
  while (1) switch (_context.prev = _context.next) {
800
810
  case 0:
@@ -816,7 +826,7 @@ var validateFieldValue = function validateFieldValue(_ref16) {
816
826
  }, _callee, null, [[0, 6]]);
817
827
  }));
818
828
  return function (_x) {
819
- return _ref17.apply(this, arguments);
829
+ return _ref18.apply(this, arguments);
820
830
  };
821
831
  }());
822
832
  };
@@ -850,7 +860,7 @@ var validateVerificationCode = function validateVerificationCode(context) {
850
860
 
851
861
  // eslint-disable-next-line no-async-promise-executor
852
862
  return new Promise(/*#__PURE__*/function () {
853
- var _ref18 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(resolve) {
863
+ var _ref19 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(resolve) {
854
864
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
855
865
  while (1) switch (_context2.prev = _context2.next) {
856
866
  case 0:
@@ -874,7 +884,7 @@ var validateVerificationCode = function validateVerificationCode(context) {
874
884
  }, _callee2, null, [[0, 6]]);
875
885
  }));
876
886
  return function (_x2) {
877
- return _ref18.apply(this, arguments);
887
+ return _ref19.apply(this, arguments);
878
888
  };
879
889
  }());
880
890
  };
@@ -1747,6 +1757,111 @@ var NameField = function NameField(props) {
1747
1757
  }));
1748
1758
  };
1749
1759
 
1760
+ var OpinionScaleField = function OpinionScaleField(_ref) {
1761
+ var question = _ref.question,
1762
+ customValidator = _ref.customValidator;
1763
+ var name = question.id,
1764
+ kind = question.kind,
1765
+ isRequired = question.isRequired,
1766
+ minValue = question.minValue,
1767
+ maxValue = question.maxValue,
1768
+ isReadOnly = question.isReadOnly,
1769
+ hasOpinionLabels = question.hasOpinionLabels;
1770
+ var label = index.fieldWithFallback(question, "label");
1771
+ var leftOpinionLabel = index.fieldWithFallback(question, "leftOpinionLabel");
1772
+ var rightOpinionLabel = index.fieldWithFallback(question, "rightOpinionLabel");
1773
+ var _useField = formik.useField({
1774
+ name: name,
1775
+ validate: validateFieldValue({
1776
+ kind: kind,
1777
+ label: label,
1778
+ isRequired: isRequired,
1779
+ customValidator: customValidator
1780
+ })
1781
+ }),
1782
+ _useField2 = _slicedToArray(_useField, 3),
1783
+ field = _useField2[0],
1784
+ _useField2$ = _useField2[1],
1785
+ error = _useField2$.error,
1786
+ touched = _useField2$.touched,
1787
+ setValue = _useField2[2].setValue;
1788
+ var handleClick = function handleClick(event, index) {
1789
+ if (index !== parseInt(field.value)) return;
1790
+ event.preventDefault();
1791
+ setValue("");
1792
+ };
1793
+ var opinionScaleOptions = constants.generateArray(minValue, maxValue);
1794
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
1795
+ className: "neeto-form-engine-input__wrapper neeto-form-engine-opinion-scale",
1796
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
1797
+ className: "neeto-form-engine-input__label-wrapper",
1798
+ children: /*#__PURE__*/jsxRuntime.jsx("label", {
1799
+ className: "neeto-form-engine-label",
1800
+ "data-testid": "opinion-scale-input-label",
1801
+ children: getLabel(label, isRequired)
1802
+ })
1803
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
1804
+ className: "neeto-form-nano-opinion-scale",
1805
+ "data-testid": "form-opinion-scale",
1806
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
1807
+ className: "neeto-form-nano-opinion-scale__group",
1808
+ children: [hasOpinionLabels && /*#__PURE__*/jsxRuntime.jsx("div", {
1809
+ className: "neeto-form-nano-opinion-scale__labels-wrap neeto-form-nano-opinion-scale__labels-wrap-mobile",
1810
+ children: /*#__PURE__*/jsxRuntime.jsx("label", {
1811
+ className: "neeto-form-nano-opinion-scale__label",
1812
+ "data-testid": "opinion-scale-left-label",
1813
+ children: leftOpinionLabel
1814
+ })
1815
+ }), /*#__PURE__*/jsxRuntime.jsx("ul", {
1816
+ className: "neeto-form-nano-opinion-scale__list",
1817
+ "data-testid": "opinion-scale-list",
1818
+ children: opinionScaleOptions.map(function (step) {
1819
+ return /*#__PURE__*/jsxRuntime.jsx("li", {
1820
+ className: "neeto-form-nano-opinion-scale__item",
1821
+ "data-testid": "opinion-scale-list-item",
1822
+ children: /*#__PURE__*/jsxRuntime.jsxs("label", {
1823
+ className: "neeto-form-nano-opinion-scale__item-label",
1824
+ "data-testid": "opinion-scale-label",
1825
+ onClick: function onClick(event) {
1826
+ return handleClick(event, step);
1827
+ },
1828
+ children: [/*#__PURE__*/jsxRuntime.jsx(formik.Field, {
1829
+ name: name,
1830
+ checked: parseInt(field.value) === step,
1831
+ className: "neeto-form-nano-sr-only neeto-form-nano-opinion-scale__item-input",
1832
+ "data-testid": "opinion-scale-input-".concat(step),
1833
+ disabled: isReadOnly,
1834
+ type: "radio",
1835
+ value: step
1836
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
1837
+ className: "neeto-form-nano-opinion-scale__item-highlight",
1838
+ "data-testid": "opinion-scale-item-".concat(step),
1839
+ children: step
1840
+ })]
1841
+ })
1842
+ }, step);
1843
+ })
1844
+ }), hasOpinionLabels && /*#__PURE__*/jsxRuntime.jsxs("div", {
1845
+ className: "neeto-form-nano-opinion-scale__labels-wrap",
1846
+ children: [/*#__PURE__*/jsxRuntime.jsx("label", {
1847
+ className: "neeto-form-nano-opinion-scale__label neeto-form-nano-opinion-scale__label--start",
1848
+ "data-testid": "opinion-scale-left-label",
1849
+ children: leftOpinionLabel
1850
+ }), /*#__PURE__*/jsxRuntime.jsx("label", {
1851
+ className: "neeto-form-nano-opinion-scale__label neeto-form-nano-opinion-scale__label--end",
1852
+ "data-testid": "opinion-scale-right-label",
1853
+ children: rightOpinionLabel
1854
+ })]
1855
+ })]
1856
+ })
1857
+ }), touched && error && /*#__PURE__*/jsxRuntime.jsx("p", {
1858
+ className: "neeto-form-engine-input__error",
1859
+ "data-testid": "neeto-form-engine-opinion-scale-error",
1860
+ children: error
1861
+ })]
1862
+ });
1863
+ };
1864
+
1750
1865
  var ChoiceImage = function ChoiceImage(_ref) {
1751
1866
  var src = _ref.src,
1752
1867
  alt = _ref.alt,
@@ -2390,7 +2505,7 @@ var QUESTION_TO_COMPONENT_MAP = (_QUESTION_TO_COMPONEN = {}, _defineProperty(_de
2390
2505
  return /*#__PURE__*/jsxRuntime.jsx(EditorContent, {
2391
2506
  content: index.fieldWithFallback(question, "label", true)
2392
2507
  });
2393
- }), constants.QUESTION_KIND.TERMS.value, TermsField), constants.QUESTION_KIND.DATE.value, DateField), constants.QUESTION_KIND.STAR_RATING.value, StarRatingField), constants.QUESTION_KIND.ADDITIONAL_GUESTS.value, MultipleEmailInput), constants.QUESTION_KIND.RICH_TEXT.value, RichTextEditor), constants.QUESTION_KIND.CONDITION.value, ConditionField), constants.QUESTION_KIND.FILE_UPLOAD.value, FileUploadField), _defineProperty(_defineProperty(_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.CAPTCHA.value, CaptchaField), constants.QUESTION_KIND.SMS_REMINDER.value, PhoneNumberField));
2508
+ }), constants.QUESTION_KIND.TERMS.value, TermsField), constants.QUESTION_KIND.DATE.value, DateField), constants.QUESTION_KIND.STAR_RATING.value, StarRatingField), constants.QUESTION_KIND.OPINION_SCALE.value, OpinionScaleField), constants.QUESTION_KIND.ADDITIONAL_GUESTS.value, MultipleEmailInput), constants.QUESTION_KIND.RICH_TEXT.value, RichTextEditor), constants.QUESTION_KIND.CONDITION.value, ConditionField), _defineProperty(_defineProperty(_defineProperty(_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.FILE_UPLOAD.value, FileUploadField), constants.QUESTION_KIND.CAPTCHA.value, CaptchaField), constants.QUESTION_KIND.SMS_REMINDER.value, PhoneNumberField));
2394
2509
  var CAPTCHA_COMPONENT_MAP = _defineProperty(_defineProperty({}, constants$1.CAPTCHA_TYPES.RECAPTCHA_V2, Recaptcha), constants$1.CAPTCHA_TYPES.MATH_CAPTCHA, MathCaptcha);
2395
2510
 
2396
2511
  var getFieldComponent = function getFieldComponent(_ref) {
@@ -2431,4 +2546,4 @@ exports.getFieldComponent = getFieldComponent;
2431
2546
  exports.getWithExpiry = getWithExpiry;
2432
2547
  exports.mergeRefs = mergeRefs;
2433
2548
  exports.renderButtonsInOrder = renderButtonsInOrder;
2434
- //# sourceMappingURL=utils-Ch7Ggngj.js.map
2549
+ //# sourceMappingURL=utils-CjySOwOO.js.map