@bigbinary/neeto-form-frontend 3.1.0 → 3.2.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.
package/dist/index.cjs.js CHANGED
@@ -42,6 +42,7 @@ var Button$1 = require('@bigbinary/neetoui/Button');
42
42
  var Accordion = require('@bigbinary/neetoui/Accordion');
43
43
  var Input = require('@bigbinary/neetoui/formik/Input');
44
44
  var yup = require('yup');
45
+ var Radio = require('@bigbinary/neetoui/formik/Radio');
45
46
  var Checkbox$1 = require('@bigbinary/neetoui/formik/Checkbox');
46
47
  var Checkbox = require('@bigbinary/neetoui/Checkbox');
47
48
  var Delete = require('@bigbinary/neeto-icons/Delete');
@@ -61,19 +62,22 @@ var libphonenumberJs = require('libphonenumber-js');
61
62
  var EditorContent = require('@bigbinary/neeto-editor/EditorContent');
62
63
  var NeetoUIMultiEmailInput = require('@bigbinary/neetoui/MultiEmailInput');
63
64
  var PhoneNumber = require('@bigbinary/neeto-molecules/PhoneNumber');
65
+ var path = require('path');
66
+ var Refresh = require('@bigbinary/neeto-icons/Refresh');
67
+ var Input$1 = require('@bigbinary/neetoui/Input');
68
+ var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
69
+ var ReCAPTCHA = require('react-google-recaptcha');
64
70
  var localeData = require('dayjs/plugin/localeData');
65
71
  var utc = require('dayjs/plugin/utc');
66
72
  var weekday = require('dayjs/plugin/weekday');
67
73
  var weekOfYear = require('dayjs/plugin/weekOfYear');
68
74
  var DatePicker = require('@bigbinary/neetoui/DatePicker');
69
- var path = require('path');
70
- var Input$1 = require('@bigbinary/neetoui/Input');
71
75
  var activestorage = require('@rails/activestorage');
72
76
  var reactDropzone = require('react-dropzone');
73
77
  var FileGeneric = require('@bigbinary/neeto-icons/FileGeneric');
74
78
  var framerMotion = require('framer-motion');
75
79
  var Select$1 = require('@bigbinary/neetoui/Select');
76
- var Radio = require('@bigbinary/neetoui/Radio');
80
+ var Radio$1 = require('@bigbinary/neetoui/Radio');
77
81
  var Textarea$1 = require('@bigbinary/neetoui/Textarea');
78
82
  var server = require('react-dom/server');
79
83
 
@@ -124,6 +128,7 @@ var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button$1);
124
128
  var Accordion__default = /*#__PURE__*/_interopDefaultLegacy(Accordion);
125
129
  var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
126
130
  var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
131
+ var Radio__default = /*#__PURE__*/_interopDefaultLegacy(Radio);
127
132
  var Checkbox__default$1 = /*#__PURE__*/_interopDefaultLegacy(Checkbox$1);
128
133
  var Checkbox__default = /*#__PURE__*/_interopDefaultLegacy(Checkbox);
129
134
  var Delete__default = /*#__PURE__*/_interopDefaultLegacy(Delete);
@@ -141,16 +146,18 @@ var Check__default = /*#__PURE__*/_interopDefaultLegacy(Check);
141
146
  var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
142
147
  var EditorContent__default = /*#__PURE__*/_interopDefaultLegacy(EditorContent);
143
148
  var NeetoUIMultiEmailInput__default = /*#__PURE__*/_interopDefaultLegacy(NeetoUIMultiEmailInput);
149
+ var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
150
+ var Refresh__default = /*#__PURE__*/_interopDefaultLegacy(Refresh);
151
+ var Input__default$1 = /*#__PURE__*/_interopDefaultLegacy(Input$1);
152
+ var ReCAPTCHA__default = /*#__PURE__*/_interopDefaultLegacy(ReCAPTCHA);
144
153
  var localeData__default = /*#__PURE__*/_interopDefaultLegacy(localeData);
145
154
  var utc__default = /*#__PURE__*/_interopDefaultLegacy(utc);
146
155
  var weekday__default = /*#__PURE__*/_interopDefaultLegacy(weekday);
147
156
  var weekOfYear__default = /*#__PURE__*/_interopDefaultLegacy(weekOfYear);
148
157
  var DatePicker__default = /*#__PURE__*/_interopDefaultLegacy(DatePicker);
149
- var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
150
- var Input__default$1 = /*#__PURE__*/_interopDefaultLegacy(Input$1);
151
158
  var FileGeneric__default = /*#__PURE__*/_interopDefaultLegacy(FileGeneric);
152
159
  var Select__default$1 = /*#__PURE__*/_interopDefaultLegacy(Select$1);
153
- var Radio__default = /*#__PURE__*/_interopDefaultLegacy(Radio);
160
+ var Radio__default$1 = /*#__PURE__*/_interopDefaultLegacy(Radio$1);
154
161
  var Textarea__default$1 = /*#__PURE__*/_interopDefaultLegacy(Textarea$1);
155
162
 
156
163
  var BASE_URL = "/form";
@@ -461,6 +468,9 @@ var QUESTION_KIND = {
461
468
  },
462
469
  FILE_UPLOAD: {
463
470
  value: "file_upload"
471
+ },
472
+ CAPTCHA: {
473
+ value: "captcha"
464
474
  }
465
475
  };
466
476
  var RATING_VALUES = {
@@ -954,7 +964,12 @@ var QUESTION_TYPES = {
954
964
  STAR_RATING: "star_rating",
955
965
  RATING: "rating",
956
966
  DATE: "date",
957
- FILE_UPLOAD: "file_upload"
967
+ FILE_UPLOAD: "file_upload",
968
+ CAPTCHA: "captcha"
969
+ };
970
+ var CAPTCHA_TYPES = {
971
+ RECAPTCHA_V2: "recaptcha_v2",
972
+ MATH_CAPTCHA: "math_captcha"
958
973
  };
959
974
 
960
975
  var PARAGRAPH$1 = QUESTION_TYPES.PARAGRAPH,
@@ -963,12 +978,14 @@ var PARAGRAPH$1 = QUESTION_TYPES.PARAGRAPH,
963
978
  CHECKBOX$2 = QUESTION_TYPES.CHECKBOX,
964
979
  RADIO$2 = QUESTION_TYPES.RADIO,
965
980
  DROPDOWN$2 = QUESTION_TYPES.DROPDOWN,
966
- FILE_UPLOAD$3 = QUESTION_TYPES.FILE_UPLOAD;
981
+ FILE_UPLOAD$3 = QUESTION_TYPES.FILE_UPLOAD,
982
+ CAPTCHA$3 = QUESTION_TYPES.CAPTCHA;
967
983
  var DEFAULT_AVAILABLE_LANGUAGES = [{
968
984
  code: "en",
969
985
  name: "English"
970
986
  }];
971
- var QUESTIONS_WITHOUT_FIELD_CODE = [PARAGRAPH$1, TERMS_AND_CONDITION$1, CONDITION$1, FILE_UPLOAD$3];
987
+ var MANDATORY_KINDS = [CAPTCHA$3];
988
+ var QUESTIONS_WITHOUT_FIELD_CODE = [PARAGRAPH$1, TERMS_AND_CONDITION$1, CONDITION$1, FILE_UPLOAD$3, CAPTCHA$3];
972
989
  var QUESTIONS_INITIAL_VALUE = {
973
990
  enabled: false,
974
991
  questions: [{
@@ -1253,7 +1270,8 @@ var NAME$1 = QUESTION_TYPES.NAME,
1253
1270
  STAR_RATING$2 = QUESTION_TYPES.STAR_RATING,
1254
1271
  RATING$2 = QUESTION_TYPES.RATING,
1255
1272
  DATE$1 = QUESTION_TYPES.DATE,
1256
- FILE_UPLOAD$2 = QUESTION_TYPES.FILE_UPLOAD;
1273
+ FILE_UPLOAD$2 = QUESTION_TYPES.FILE_UPLOAD,
1274
+ CAPTCHA$2 = QUESTION_TYPES.CAPTCHA;
1257
1275
  var DEFAULT_OPTIONS = new Array(MINIMUM_OPTIONS).fill({
1258
1276
  label: ""
1259
1277
  });
@@ -1410,6 +1428,15 @@ var QUESTION_KINDS = [{
1410
1428
  multipleFilesAllowed: true,
1411
1429
  allowedFileTypes: DEFAULT_ALLOWED_FILE_TYPES
1412
1430
  }
1431
+ }, {
1432
+ type: CAPTCHA$2,
1433
+ label: i18next.t("neetoForm.fields.captcha"),
1434
+ isSingular: true,
1435
+ defaults: {
1436
+ label: "",
1437
+ isRequired: true,
1438
+ variant: CAPTCHA_TYPES.RECAPTCHA_V2
1439
+ }
1413
1440
  }];
1414
1441
 
1415
1442
  // To show the question type as label in accordion
@@ -1957,8 +1984,9 @@ var NAME = QUESTION_TYPES.NAME,
1957
1984
  STAR_RATING$1 = QUESTION_TYPES.STAR_RATING,
1958
1985
  RATING$1 = QUESTION_TYPES.RATING,
1959
1986
  DATE = QUESTION_TYPES.DATE,
1960
- FILE_UPLOAD$1 = QUESTION_TYPES.FILE_UPLOAD;
1961
- var QUESTIONS_WITH_ADDITIONAL_DATA = [].concat(_toConsumableArray__default["default"](SELECTABLE_KINDS), [STAR_RATING$1, RATING$1, FILE_UPLOAD$1]);
1987
+ FILE_UPLOAD$1 = QUESTION_TYPES.FILE_UPLOAD,
1988
+ CAPTCHA$1 = QUESTION_TYPES.CAPTCHA;
1989
+ var QUESTIONS_WITH_ADDITIONAL_DATA = [].concat(_toConsumableArray__default["default"](SELECTABLE_KINDS), [STAR_RATING$1, RATING$1, FILE_UPLOAD$1, CAPTCHA$1]);
1962
1990
  var QUESTIONS_WITH_PLACEHOLDERS = [NAME, PHONE, EMAIL, ADDITIONAL_GUESTS, TEXT, TEXTAREA, RICH_TEXT, INTEGER, DECIMAL, DATE];
1963
1991
  var DEFAULT_PLACEHOLDERS = {
1964
1992
  CHECKBOX: i18next.t("neetoForm.questions.common.questionFields.field.labelExample", {
@@ -1985,11 +2013,14 @@ var FormikAdaptiveInput = function FormikAdaptiveInput(_ref) {
1985
2013
  name = _ref.name,
1986
2014
  otherProps = _objectWithoutProperties__default["default"](_ref, _excluded$b);
1987
2015
  var _useFormikContext = formik.useFormikContext(),
2016
+ dirty = _useFormikContext.dirty,
2017
+ isValid = _useFormikContext.isValid,
1988
2018
  submitForm = _useFormikContext.submitForm;
1989
2019
  var handleKeyDown = function handleKeyDown(event) {
1990
2020
  if (event.key !== "Enter" || event.shiftKey) return;
1991
2021
  event.preventDefault();
1992
- submitForm();
2022
+ if (reactUtils.isMetaKeyPressed(event)) return;
2023
+ dirty && isValid && submitForm();
1993
2024
  };
1994
2025
  var handleFocus = function handleFocus(element) {
1995
2026
  var end = element.value.length;
@@ -2503,6 +2534,24 @@ var Edit = function Edit(_ref) {
2503
2534
  });
2504
2535
  };
2505
2536
 
2537
+ var Captcha = reactUtils.withT(function (_ref) {
2538
+ var t = _ref.t;
2539
+ return /*#__PURE__*/jsxRuntime.jsxs(Radio__default["default"], {
2540
+ label: t("neetoForm.common.captchaType"),
2541
+ labelProps: {
2542
+ required: true
2543
+ },
2544
+ name: "variant",
2545
+ children: [/*#__PURE__*/jsxRuntime.jsx(Radio__default["default"].Item, {
2546
+ label: t("neetoForm.common.reCaptchaV2"),
2547
+ value: CAPTCHA_TYPES.RECAPTCHA_V2
2548
+ }), /*#__PURE__*/jsxRuntime.jsx(Radio__default["default"].Item, {
2549
+ label: t("neetoForm.common.mathCaptcha"),
2550
+ value: CAPTCHA_TYPES.MATH_CAPTCHA
2551
+ })]
2552
+ });
2553
+ });
2554
+
2506
2555
  var FileGroup = function FileGroup(_ref) {
2507
2556
  var name = _ref.name,
2508
2557
  label = _ref.label,
@@ -2832,7 +2881,8 @@ var CHECKBOX = QUESTION_TYPES.CHECKBOX,
2832
2881
  DROPDOWN = QUESTION_TYPES.DROPDOWN,
2833
2882
  STAR_RATING = QUESTION_TYPES.STAR_RATING,
2834
2883
  RATING = QUESTION_TYPES.RATING,
2835
- FILE_UPLOAD = QUESTION_TYPES.FILE_UPLOAD;
2884
+ FILE_UPLOAD = QUESTION_TYPES.FILE_UPLOAD,
2885
+ CAPTCHA = QUESTION_TYPES.CAPTCHA;
2836
2886
  var transformValueForOption = function transformValueForOption(_ref) {
2837
2887
  var label = _ref.label,
2838
2888
  type = _ref.type;
@@ -2854,6 +2904,8 @@ var renderAdditionalData = function renderAdditionalData(_ref2) {
2854
2904
  return /*#__PURE__*/jsxRuntime.jsx(StarRating$2, {});
2855
2905
  case FILE_UPLOAD:
2856
2906
  return /*#__PURE__*/jsxRuntime.jsx(FileUpload$1, {});
2907
+ case CAPTCHA:
2908
+ return /*#__PURE__*/jsxRuntime.jsx(Captcha, {});
2857
2909
  default:
2858
2910
  return null;
2859
2911
  }
@@ -3279,7 +3331,7 @@ var BuildForm = function BuildForm(_ref) {
3279
3331
  };
3280
3332
  var isRequiredField = isFieldRequired !== null && isFieldRequired !== void 0 ? isFieldRequired : function (_ref5) {
3281
3333
  var kind = _ref5.kind;
3282
- return requiredFields.includes(kind);
3334
+ return ramda.concat(MANDATORY_KINDS, requiredFields).includes(kind);
3283
3335
  };
3284
3336
  var isDisabledFieldLabel = isFieldLabelDisabled !== null && isFieldLabelDisabled !== void 0 ? isFieldLabelDisabled : function () {
3285
3337
  return false;
@@ -3593,7 +3645,7 @@ var getInvalidTypeError = function getInvalidTypeError(label, type) {
3593
3645
  });
3594
3646
  };
3595
3647
 
3596
- var _excluded$4 = ["kind", "label", "isRequired", "customValidator"];
3648
+ var _excluded$4 = ["kind", "customValidator"];
3597
3649
  var _fieldKindValidatorMa;
3598
3650
  function ownKeys$j(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3599
3651
  function _objectSpread$j(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$j(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$j(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -3738,25 +3790,29 @@ var validateFileUploadField = function validateFileUploadField(_ref13) {
3738
3790
  files: files_schema
3739
3791
  });
3740
3792
  };
3741
- var fieldKindValidatorMap = (_fieldKindValidatorMa = {}, _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.EMAIL.value, validateEmailField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.NAME.value, validateNameField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.PHONE.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.TEXT.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.QUESTION.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.TEXTAREA.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.DECIMAL.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.INTEGER.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.DROPDOWN.value, validateSingleChoiceField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.RADIO.value, validateSingleChoiceField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.CHECKBOX.value, validateMultiChoiceField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.RATING.value, validateRatingField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.TERMS.value, validateTermsField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.DATE.value, validateDateField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.STAR_RATING.value, validateStarRatingField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.ADDITIONAL_GUESTS.value, validateMultiEmailField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.RICH_TEXT.value, validateRichTextField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.CONDITION.value, validateConditionField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.FILE_UPLOAD.value, validateFileUploadField), _fieldKindValidatorMa);
3742
- var validateFieldValue = function validateFieldValue(_ref14) {
3743
- var kind = _ref14.kind,
3744
- label = _ref14.label,
3745
- isRequired = _ref14.isRequired,
3746
- customValidator = _ref14.customValidator,
3747
- otherProps = _objectWithoutProperties__default["default"](_ref14, _excluded$4);
3793
+ var validateCaptchaField = function validateCaptchaField(_ref14) {
3794
+ var variant = _ref14.variant;
3795
+ return variant === CAPTCHA_TYPES.MATH_CAPTCHA ? yup__namespace.mixed().test("verification failed", t$1("neetoForm.error.captchaVerificationFailed"), function (value) {
3796
+ return neetoCist.isNotPresent(value) || value;
3797
+ }).transform(function (value) {
3798
+ return value === "" ? null : value;
3799
+ }).required(t$1("neetoForm.error.incompleteCaptcha")) : yup__namespace.string().trim().required(t$1("neetoForm.error.incompleteCaptcha"));
3800
+ };
3801
+ var fieldKindValidatorMap = (_fieldKindValidatorMa = {}, _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.EMAIL.value, validateEmailField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.NAME.value, validateNameField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.PHONE.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.TEXT.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.QUESTION.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.TEXTAREA.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.DECIMAL.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.INTEGER.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.DROPDOWN.value, validateSingleChoiceField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.RADIO.value, validateSingleChoiceField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.CHECKBOX.value, validateMultiChoiceField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.RATING.value, validateRatingField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.TERMS.value, validateTermsField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.DATE.value, validateDateField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.STAR_RATING.value, validateStarRatingField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.ADDITIONAL_GUESTS.value, validateMultiEmailField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.RICH_TEXT.value, validateRichTextField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.CONDITION.value, validateConditionField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.FILE_UPLOAD.value, validateFileUploadField), _defineProperty__default["default"](_fieldKindValidatorMa, QUESTION_KIND.CAPTCHA.value, validateCaptchaField), _fieldKindValidatorMa);
3802
+ var validateFieldValue = function validateFieldValue(_ref15) {
3803
+ var kind = _ref15.kind,
3804
+ customValidator = _ref15.customValidator,
3805
+ otherProps = _objectWithoutProperties__default["default"](_ref15, _excluded$4);
3748
3806
  return function (value) {
3749
3807
  if (!(kind in fieldKindValidatorMap)) return;
3750
3808
  var validator = fieldKindValidatorMap[kind];
3751
3809
  var schema = customValidator || validator(_objectSpread$j({
3752
- kind: kind,
3753
- label: label,
3754
- isRequired: isRequired
3810
+ kind: kind
3755
3811
  }, otherProps));
3756
3812
 
3757
3813
  // eslint-disable-next-line consistent-return, no-async-promise-executor
3758
3814
  return new Promise( /*#__PURE__*/function () {
3759
- var _ref15 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(resolve) {
3815
+ var _ref16 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(resolve) {
3760
3816
  return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
3761
3817
  while (1) switch (_context.prev = _context.next) {
3762
3818
  case 0:
@@ -3778,7 +3834,7 @@ var validateFieldValue = function validateFieldValue(_ref14) {
3778
3834
  }, _callee, null, [[0, 6]]);
3779
3835
  }));
3780
3836
  return function (_x) {
3781
- return _ref15.apply(this, arguments);
3837
+ return _ref16.apply(this, arguments);
3782
3838
  };
3783
3839
  }());
3784
3840
  };
@@ -3841,39 +3897,6 @@ var MultipleEmailInput = function MultipleEmailInput(_ref) {
3841
3897
 
3842
3898
  function ownKeys$i(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3843
3899
  function _objectSpread$i(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$i(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$i(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3844
- var ConditionField = function ConditionField(_ref) {
3845
- var question = _ref.question,
3846
- customValidator = _ref.customValidator;
3847
- var name = question.id,
3848
- kind = question.kind,
3849
- isRequired = question.isRequired,
3850
- nodeId = question.nodeId;
3851
- var label = fieldWithFallback(question, "label");
3852
- return /*#__PURE__*/jsxRuntime.jsx(formik.Field, {
3853
- name: name || nodeId,
3854
- validate: validateFieldValue({
3855
- kind: kind,
3856
- label: label,
3857
- isRequired: isRequired,
3858
- customValidator: customValidator
3859
- }),
3860
- children: function children(_ref2) {
3861
- var meta = _ref2.meta,
3862
- field = _ref2.field;
3863
- return /*#__PURE__*/jsxRuntime.jsx(Checkbox__default["default"], _objectSpread$i(_objectSpread$i({}, _objectSpread$i(_objectSpread$i({}, field), {}, {
3864
- label: label,
3865
- name: name
3866
- })), {}, {
3867
- checked: field.value,
3868
- error: meta.touched ? meta.error : "",
3869
- required: isRequired
3870
- }));
3871
- }
3872
- });
3873
- };
3874
-
3875
- function ownKeys$h(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3876
- function _objectSpread$h(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$h(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$h(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3877
3900
  var t = clientI18nInstance.t;
3878
3901
  var toEmailValues = function toEmailValues() {
3879
3902
  var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -3967,7 +3990,7 @@ var generateInitValues = function generateInitValues(_ref7) {
3967
3990
  var valuesMap = {};
3968
3991
  if (initialValues) {
3969
3992
  valuesMap = initialValues.reduce(function (acc, answer) {
3970
- return _objectSpread$h(_objectSpread$h({}, acc), {}, _defineProperty__default["default"]({}, answer.questionId, {
3993
+ return _objectSpread$i(_objectSpread$i({}, acc), {}, _defineProperty__default["default"]({}, answer.questionId, {
3971
3994
  value: answer.value,
3972
3995
  optionIds: answer.optionIds
3973
3996
  }));
@@ -4196,6 +4219,211 @@ var getSelectedRating = function getSelectedRating(value) {
4196
4219
  return isNaN(parsedValue) ? -1 : parsedValue;
4197
4220
  };
4198
4221
 
4222
+ var CaptchaField = function CaptchaField(_ref) {
4223
+ var question = _ref.question,
4224
+ preview = _ref.preview,
4225
+ customValidator = _ref.customValidator,
4226
+ captchaRef = _ref.captchaRef;
4227
+ var name = question.id,
4228
+ kind = question.kind,
4229
+ isRequired = question.isRequired,
4230
+ variant = question.variant,
4231
+ nodeId = question.nodeId;
4232
+ var label = fieldWithFallback(question, "label");
4233
+ var _useField = formik.useField({
4234
+ name: name || nodeId,
4235
+ validate: validateFieldValue({
4236
+ kind: kind,
4237
+ label: label,
4238
+ isRequired: isRequired,
4239
+ customValidator: customValidator,
4240
+ variant: variant
4241
+ })
4242
+ }),
4243
+ _useField2 = _slicedToArray__default["default"](_useField, 3);
4244
+ _useField2[0];
4245
+ var _useField2$ = _useField2[1],
4246
+ touched = _useField2$.touched,
4247
+ error = _useField2$.error,
4248
+ _useField2$2 = _useField2[2],
4249
+ setValue = _useField2$2.setValue,
4250
+ setTouched = _useField2$2.setTouched;
4251
+ var handleVerifyCaptcha = function handleVerifyCaptcha(response) {
4252
+ setTouched(true);
4253
+ setValue(response);
4254
+ };
4255
+ var Component = CAPTCHA_COMPONENT_MAP[variant];
4256
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
4257
+ className: "neeto-form-engine-input__wrapper",
4258
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
4259
+ className: "neeto-form-engine-input__label-wrapper",
4260
+ children: label && /*#__PURE__*/jsxRuntime.jsx("label", {
4261
+ className: "neeto-form-engine-label",
4262
+ children: getLabel(label, isRequired)
4263
+ })
4264
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
4265
+ className: classnames__default["default"]({
4266
+ "pointer-events-none": preview
4267
+ }),
4268
+ children: /*#__PURE__*/jsxRuntime.jsx(Component, {
4269
+ captchaRef: captchaRef,
4270
+ handleVerifyCaptcha: handleVerifyCaptcha,
4271
+ handleBlur: function handleBlur() {
4272
+ return setTouched(true);
4273
+ }
4274
+ })
4275
+ }), touched && error && /*#__PURE__*/jsxRuntime.jsx("p", {
4276
+ className: "neeto-form-engine-input__error",
4277
+ "data-cy": "neeto-form-engine-captcha-error",
4278
+ children: error
4279
+ })]
4280
+ });
4281
+ };
4282
+
4283
+ var MATH_OPERATORS = {
4284
+ PLUS: "+",
4285
+ MINUS: "-"
4286
+ };
4287
+
4288
+ var generateRandomOperation = function generateRandomOperation() {
4289
+ var firstNumber = neetoCist.getRandomInt(1, 50);
4290
+ var secondNumber = neetoCist.getRandomInt(1, 50);
4291
+ var operator = neetoCist.randomPick.apply(void 0, _toConsumableArray__default["default"](ramda.values(MATH_OPERATORS)));
4292
+ return {
4293
+ firstNumber: firstNumber,
4294
+ secondNumber: secondNumber,
4295
+ operator: operator
4296
+ };
4297
+ };
4298
+
4299
+ var MathCaptcha = function MathCaptcha(_ref) {
4300
+ var captchaRef = _ref.captchaRef,
4301
+ handleVerifyCaptcha = _ref.handleVerifyCaptcha,
4302
+ handleBlur = _ref.handleBlur;
4303
+ var _useState = React$2.useState(generateRandomOperation()),
4304
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
4305
+ operation = _useState2[0],
4306
+ setOperation = _useState2[1];
4307
+ var _useState3 = React$2.useState(""),
4308
+ _useState4 = _slicedToArray__default["default"](_useState3, 2),
4309
+ userInput = _useState4[0],
4310
+ setUserInput = _useState4[1];
4311
+ var firstNumber = operation.firstNumber,
4312
+ secondNumber = operation.secondNumber,
4313
+ operator = operation.operator;
4314
+ var resetCaptcha = function resetCaptcha() {
4315
+ setOperation(generateRandomOperation());
4316
+ setUserInput("");
4317
+ };
4318
+ React$2.useImperativeHandle(captchaRef, function () {
4319
+ return {
4320
+ reset: resetCaptcha
4321
+ };
4322
+ });
4323
+ var calculateResult = function calculateResult() {
4324
+ switch (operator) {
4325
+ case MATH_OPERATORS.PLUS:
4326
+ return firstNumber + secondNumber;
4327
+ case MATH_OPERATORS.MINUS:
4328
+ return firstNumber - secondNumber;
4329
+ default:
4330
+ return null;
4331
+ }
4332
+ };
4333
+ var verifyCaptcha = function verifyCaptcha() {
4334
+ var result = calculateResult();
4335
+ if (result === null) return;
4336
+ handleVerifyCaptcha(result === Number(userInput));
4337
+ };
4338
+ reactUtils.useUpdateEffect(function () {
4339
+ verifyCaptcha();
4340
+ }, [userInput]);
4341
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
4342
+ className: "neeto-form-nano-math-captcha",
4343
+ ref: captchaRef,
4344
+ children: [/*#__PURE__*/jsxRuntime.jsx("button", {
4345
+ className: "neeto-form-nano-math-captcha__button",
4346
+ type: "button",
4347
+ onClick: resetCaptcha,
4348
+ children: /*#__PURE__*/jsxRuntime.jsx(Refresh__default["default"], {})
4349
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
4350
+ className: "neeto-form-nano-math-captcha__equation",
4351
+ children: [/*#__PURE__*/jsxRuntime.jsx("span", {
4352
+ children: firstNumber
4353
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
4354
+ children: operator
4355
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
4356
+ children: secondNumber
4357
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
4358
+ children: "="
4359
+ })]
4360
+ }), /*#__PURE__*/jsxRuntime.jsx(Input__default$1["default"], {
4361
+ required: true,
4362
+ className: "neeto-form-nano-math-captcha__input",
4363
+ value: userInput,
4364
+ onBlur: handleBlur,
4365
+ onChange: utils.withEventTargetValue(setUserInput)
4366
+ })]
4367
+ });
4368
+ };
4369
+
4370
+ var Recaptcha = function Recaptcha(_ref) {
4371
+ var captchaRef = _ref.captchaRef,
4372
+ handleVerifyCaptcha = _ref.handleVerifyCaptcha;
4373
+ var verifyRecaptcha = function verifyRecaptcha(response) {
4374
+ if (response === null) {
4375
+ return;
4376
+ }
4377
+ handleVerifyCaptcha(response);
4378
+ };
4379
+ var expiredRecaptcha = function expiredRecaptcha() {
4380
+ var _captchaRef$current;
4381
+ captchaRef === null || captchaRef === void 0 || (_captchaRef$current = captchaRef.current) === null || _captchaRef$current === void 0 || _captchaRef$current.reset();
4382
+ handleVerifyCaptcha("");
4383
+ };
4384
+ return /*#__PURE__*/jsxRuntime.jsx(ReCAPTCHA__default["default"], {
4385
+ hl: clientI18nInstance.language,
4386
+ ref: captchaRef,
4387
+ sitekey: initializers.globalProps.formNanoRecaptchaV2SiteKey,
4388
+ onChange: verifyRecaptcha,
4389
+ onErrored: neetoCist.noop,
4390
+ onExpired: expiredRecaptcha
4391
+ }, clientI18nInstance.language);
4392
+ };
4393
+
4394
+ function ownKeys$h(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4395
+ function _objectSpread$h(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$h(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$h(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4396
+ var ConditionField = function ConditionField(_ref) {
4397
+ var question = _ref.question,
4398
+ customValidator = _ref.customValidator;
4399
+ var name = question.id,
4400
+ kind = question.kind,
4401
+ isRequired = question.isRequired,
4402
+ nodeId = question.nodeId;
4403
+ var label = fieldWithFallback(question, "label");
4404
+ return /*#__PURE__*/jsxRuntime.jsx(formik.Field, {
4405
+ name: name || nodeId,
4406
+ validate: validateFieldValue({
4407
+ kind: kind,
4408
+ label: label,
4409
+ isRequired: isRequired,
4410
+ customValidator: customValidator
4411
+ }),
4412
+ children: function children(_ref2) {
4413
+ var meta = _ref2.meta,
4414
+ field = _ref2.field;
4415
+ return /*#__PURE__*/jsxRuntime.jsx(Checkbox__default["default"], _objectSpread$h(_objectSpread$h({}, _objectSpread$h(_objectSpread$h({}, field), {}, {
4416
+ label: label,
4417
+ name: name
4418
+ })), {}, {
4419
+ checked: field.value,
4420
+ error: meta.touched ? meta.error : "",
4421
+ required: isRequired
4422
+ }));
4423
+ }
4424
+ });
4425
+ };
4426
+
4199
4427
  var _excluded$3 = ["value"];
4200
4428
  function ownKeys$g(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4201
4429
  function _objectSpread$g(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$g(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$g(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -4705,15 +4933,15 @@ var FilePreview = reactUtils.withT(function (_ref) {
4705
4933
  }) : ""
4706
4934
  })]
4707
4935
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
4708
- className: classnames__default["default"]("neeto-form-engine-file-upload__actions"),
4936
+ className: "neeto-form-engine-file-upload__actions",
4709
4937
  children: [/*#__PURE__*/jsxRuntime.jsx("span", {
4710
4938
  className: classnames__default["default"]("neeto-form-engine-file-upload__success-indicator", {
4711
4939
  "neeto-form-engine-file-upload__success-indicator--active": file.url
4712
4940
  }),
4713
4941
  children: file.url && /*#__PURE__*/jsxRuntime.jsx(Check__default["default"], {})
4714
4942
  }), /*#__PURE__*/jsxRuntime.jsx("button", {
4943
+ className: "neeto-form-engine-file-upload__button--red neeto-form-engine-file-upload__remove-button",
4715
4944
  type: "button",
4716
- className: classnames__default["default"]("neeto-form-engine-file-upload__button--red neeto-form-engine-file-upload__remove-button"),
4717
4945
  onClick: cancel,
4718
4946
  children: /*#__PURE__*/jsxRuntime.jsx(Close__default["default"], {})
4719
4947
  })]
@@ -4864,8 +5092,8 @@ var Choices = function Choices(_ref) {
4864
5092
  onChange = _ref.onChange,
4865
5093
  error = _ref.error;
4866
5094
  var isCheckBox = type === "checkbox";
4867
- var ChoiceWrapper = isCheckBox ? "div" : Radio__default["default"];
4868
- var Component = isCheckBox ? Checkbox__default["default"] : Radio__default["default"].Item;
5095
+ var ChoiceWrapper = isCheckBox ? "div" : Radio__default$1["default"];
5096
+ var Component = isCheckBox ? Checkbox__default["default"] : Radio__default$1["default"].Item;
4869
5097
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
4870
5098
  className: "neeto-form-engine-choices__wrapper",
4871
5099
  "data-cy": "".concat(neetoCist.hyphenate(label), "-select-container-wrapper"),
@@ -5357,13 +5585,14 @@ var TextField = function TextField(_ref) {
5357
5585
  }));
5358
5586
  };
5359
5587
 
5360
- var _QUESTION_TO_COMPONEN;
5588
+ var _QUESTION_TO_COMPONEN, _CAPTCHA_COMPONENT_MA;
5361
5589
  var QUESTION_TO_COMPONENT_MAP = (_QUESTION_TO_COMPONEN = {}, _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.TEXT.value, TextField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.NAME.value, NameField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.EMAIL.value, EmailField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.INTEGER.value, TextField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.DECIMAL.value, TextField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.PHONE.value, PhoneNumberField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.QUESTION.value, TextField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.TEXTAREA.value, TextField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.CHECKBOX.value, OptionsField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.RADIO.value, OptionsField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.DROPDOWN.value, OptionsField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.RATING.value, RatingField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.PARAGRAPH.value, function (_ref) {
5362
5590
  var question = _ref.question;
5363
5591
  return /*#__PURE__*/jsxRuntime.jsx(EditorContent__default["default"], {
5364
5592
  content: fieldWithFallback(question, "label", true)
5365
5593
  });
5366
- }), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.TERMS.value, TermsField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.DATE.value, DateField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.STAR_RATING.value, StarRatingField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.ADDITIONAL_GUESTS.value, MultipleEmailInput), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.RICH_TEXT.value, RichTextEditor), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.CONDITION.value, ConditionField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.FILE_UPLOAD.value, FileUploadField), _QUESTION_TO_COMPONEN);
5594
+ }), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.TERMS.value, TermsField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.DATE.value, DateField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.STAR_RATING.value, StarRatingField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.ADDITIONAL_GUESTS.value, MultipleEmailInput), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.RICH_TEXT.value, RichTextEditor), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.CONDITION.value, ConditionField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.FILE_UPLOAD.value, FileUploadField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, QUESTION_KIND.CAPTCHA.value, CaptchaField), _QUESTION_TO_COMPONEN);
5595
+ var CAPTCHA_COMPONENT_MAP = (_CAPTCHA_COMPONENT_MA = {}, _defineProperty__default["default"](_CAPTCHA_COMPONENT_MA, CAPTCHA_TYPES.RECAPTCHA_V2, Recaptcha), _defineProperty__default["default"](_CAPTCHA_COMPONENT_MA, CAPTCHA_TYPES.MATH_CAPTCHA, MathCaptcha), _CAPTCHA_COMPONENT_MA);
5367
5596
 
5368
5597
  var getFieldComponent = function getFieldComponent(_ref) {
5369
5598
  var kind = _ref.kind;
@@ -5415,9 +5644,8 @@ const SvgSuccess = props => /*#__PURE__*/React__namespace.createElement("svg", _
5415
5644
  height: 344
5416
5645
  }))));
5417
5646
 
5418
- var Success = function Success() {
5419
- var _useTranslation = reactI18next.useTranslation(),
5420
- t = _useTranslation.t;
5647
+ var Success = reactUtils.withT(function (_ref) {
5648
+ var t = _ref.t;
5421
5649
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
5422
5650
  className: "flex h-full w-full flex-col items-center justify-center space-y-4",
5423
5651
  children: [/*#__PURE__*/jsxRuntime.jsx(SvgSuccess, {}), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
@@ -5428,7 +5656,7 @@ var Success = function Success() {
5428
5656
  children: t("neetoForm.successPage.title2")
5429
5657
  })]
5430
5658
  });
5431
- };
5659
+ });
5432
5660
  var Success$1 = /*#__PURE__*/React$2.memo(Success);
5433
5661
 
5434
5662
  function _createForOfIteratorHelper$1(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
@@ -5500,6 +5728,7 @@ var ExternalForm = function ExternalForm(_ref) {
5500
5728
  var formRef = React$2.useRef();
5501
5729
  var formikInnerRef = React$2.useRef();
5502
5730
  var editorRef = React$2.useRef();
5731
+ var captchaRef = React$2.useRef(null);
5503
5732
  var queryClient = reactQuery.useQueryClient();
5504
5733
  React$2.useEffect(function () {
5505
5734
  if (ramda.equals(language, clientI18nInstance.resolvedLanguage)) return;
@@ -5656,7 +5885,7 @@ var ExternalForm = function ExternalForm(_ref) {
5656
5885
  };
5657
5886
  }();
5658
5887
  var _onReset = function onReset(e, handleReset) {
5659
- var _editorRef$current, _formDomProps$onReset;
5888
+ var _editorRef$current, _captchaRef$current, _formDomProps$onReset;
5660
5889
  if (clearValuesOnReset) {
5661
5890
  clearLocalStorageValues("".concat(formId, "/values"));
5662
5891
  setLocalValues(generateInitValues({
@@ -5667,6 +5896,7 @@ var ExternalForm = function ExternalForm(_ref) {
5667
5896
  });
5668
5897
  }
5669
5898
  editorRef === null || editorRef === void 0 || (_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 || (_editorRef$current = _editorRef$current.editor) === null || _editorRef$current === void 0 || (_editorRef$current = _editorRef$current.commands) === null || _editorRef$current === void 0 || _editorRef$current.setContent("");
5899
+ (_captchaRef$current = captchaRef.current) === null || _captchaRef$current === void 0 || _captchaRef$current.reset();
5670
5900
  handleReset(e);
5671
5901
  formDomProps === null || formDomProps === void 0 || (_formDomProps$onReset = formDomProps.onReset) === null || _formDomProps$onReset === void 0 || _formDomProps$onReset.call(formDomProps, e);
5672
5902
  };
@@ -5783,6 +6013,7 @@ var ExternalForm = function ExternalForm(_ref) {
5783
6013
  var FieldComponent = getFieldComponent(question);
5784
6014
  return /*#__PURE__*/jsxRuntime.jsxs(React$2.Fragment, {
5785
6015
  children: [/*#__PURE__*/jsxRuntime.jsx(FieldComponent, {
6016
+ captchaRef: captchaRef,
5786
6017
  editorProps: editorProps,
5787
6018
  editorRef: editorRef,
5788
6019
  preview: preview,
@@ -8374,7 +8605,13 @@ var linkifyDecorator = function linkifyDecorator(decoratedHref, decoratedText, k
8374
8605
  children: decoratedText
8375
8606
  }, key);
8376
8607
  };
8377
- var filterResponses = neetoCist.removeBy({
8608
+ var filterResponses = function filterResponses(responses, kinds) {
8609
+ var filteredResponses = neetoCist.removeBy({
8610
+ kind: ramda.includes(ramda.__, kinds)
8611
+ }, responses);
8612
+ return filterAdditionalGuestResponses(filteredResponses);
8613
+ };
8614
+ var filterAdditionalGuestResponses = neetoCist.removeBy({
8378
8615
  kind: QUESTION_KIND.ADDITIONAL_GUESTS.value,
8379
8616
  value: neetoCist.isNotPresent
8380
8617
  });
@@ -8437,7 +8674,9 @@ var Submission = function Submission(_ref2) {
8437
8674
  _ref2$questionLabelPr = _ref2.questionLabelProps,
8438
8675
  questionLabelProps = _ref2$questionLabelPr === void 0 ? {} : _ref2$questionLabelPr,
8439
8676
  _ref2$answerProps = _ref2.answerProps,
8440
- answerProps = _ref2$answerProps === void 0 ? {} : _ref2$answerProps;
8677
+ answerProps = _ref2$answerProps === void 0 ? {} : _ref2$answerProps,
8678
+ _ref2$omitKinds = _ref2.omitKinds,
8679
+ omitKinds = _ref2$omitKinds === void 0 ? [] : _ref2$omitKinds;
8441
8680
  var _useSubmission = useSubmission({
8442
8681
  formId: formId,
8443
8682
  submissionId: submissionId,
@@ -8450,7 +8689,7 @@ var Submission = function Submission(_ref2) {
8450
8689
  } : _useSubmission$data,
8451
8690
  isLoading = _useSubmission.isLoading;
8452
8691
  var responses = submission.responses;
8453
- var filteredResponses = filterResponses(responses);
8692
+ var filteredResponses = filterResponses(responses, omitKinds);
8454
8693
  var renderSubmittedValue = function renderSubmittedValue(kind, value) {
8455
8694
  switch (kind) {
8456
8695
  case QUESTION_KIND.RICH_TEXT.value: