@bigbinary/neeto-form-frontend 3.5.0 → 3.7.1
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/app/javascript/src/translations/ar.json +1 -0
- package/app/javascript/src/translations/de.json +1 -0
- package/app/javascript/src/translations/en.json +6 -2
- package/app/javascript/src/translations/es.json +1 -0
- package/app/javascript/src/translations/fr.json +1 -0
- package/app/javascript/src/translations/nl.json +1 -0
- package/app/javascript/src/translations/pl.json +1 -0
- package/app/javascript/src/translations/pt.json +1 -0
- package/dist/BuildForm.js +112 -97
- package/dist/BuildForm.js.map +1 -1
- package/dist/ExternalForm.js +3 -3
- package/dist/Submission.js +2 -1
- package/dist/Submission.js.map +1 -1
- package/dist/UrlBuilder.js +4 -3
- package/dist/UrlBuilder.js.map +1 -1
- package/dist/{buildForm-4a5a5251.js → buildForm-042737cb.js} +3 -2
- package/dist/buildForm-042737cb.js.map +1 -0
- package/dist/{buildForm-77b32f08.js → buildForm-354c6d6d.js} +3 -2
- package/dist/buildForm-354c6d6d.js.map +1 -0
- package/dist/cjs/BuildForm.js +110 -95
- package/dist/cjs/BuildForm.js.map +1 -1
- package/dist/cjs/ExternalForm.js +3 -3
- package/dist/cjs/Submission.js +2 -1
- package/dist/cjs/Submission.js.map +1 -1
- package/dist/cjs/UrlBuilder.js +4 -3
- package/dist/cjs/UrlBuilder.js.map +1 -1
- package/dist/cjs/hooks.js +1 -1
- package/dist/cjs/index.js +5 -5
- package/dist/{constants-9310a7c2.js → constants-3d8a5374.js} +4 -2
- package/dist/constants-3d8a5374.js.map +1 -0
- package/dist/{constants-f0f38e6f.js → constants-43eac775.js} +4 -2
- package/dist/constants-43eac775.js.map +1 -0
- package/dist/{constants-8afd221a.js → constants-669f203a.js} +26 -6
- package/dist/constants-669f203a.js.map +1 -0
- package/dist/{constants-25c02c05.js → constants-ca5ca2b1.js} +29 -5
- package/dist/constants-ca5ca2b1.js.map +1 -0
- package/dist/hooks.js +1 -1
- package/dist/index.js +5 -5
- package/dist/{utils-a2abd77b.js → utils-0eabfa9b.js} +280 -278
- package/dist/utils-0eabfa9b.js.map +1 -0
- package/dist/{utils-3fcf4c2b.js → utils-b26ce7e8.js} +279 -277
- package/dist/utils-b26ce7e8.js.map +1 -0
- package/package.json +14 -14
- package/types.d.ts +1 -2
- package/dist/buildForm-4a5a5251.js.map +0 -1
- package/dist/buildForm-77b32f08.js.map +0 -1
- package/dist/constants-25c02c05.js.map +0 -1
- package/dist/constants-8afd221a.js.map +0 -1
- package/dist/constants-9310a7c2.js.map +0 -1
- package/dist/constants-f0f38e6f.js.map +0 -1
- package/dist/utils-3fcf4c2b.js.map +0 -1
- package/dist/utils-a2abd77b.js.map +0 -1
|
@@ -9,7 +9,7 @@ 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-
|
|
12
|
+
var constants$1 = require('./constants-ca5ca2b1.js');
|
|
13
13
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
14
14
|
var Button = require('@bigbinary/neetoui/Button');
|
|
15
15
|
var NeetoUIMultiEmailInput = require('@bigbinary/neetoui/MultiEmailInput');
|
|
@@ -22,9 +22,9 @@ var PhoneNumber = require('@bigbinary/neeto-molecules/PhoneNumber');
|
|
|
22
22
|
var yup = require('yup');
|
|
23
23
|
var i18next = require('i18next');
|
|
24
24
|
var jsxRuntime = require('react/jsx-runtime');
|
|
25
|
-
var constants = require('./constants-f0f38e6f.js');
|
|
26
|
-
var classnames = require('classnames');
|
|
27
25
|
var path = require('path');
|
|
26
|
+
var constants = require('./constants-43eac775.js');
|
|
27
|
+
var classnames = require('classnames');
|
|
28
28
|
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
29
29
|
var Refresh = require('@bigbinary/neeto-icons/Refresh');
|
|
30
30
|
var Input = require('@bigbinary/neetoui/Input');
|
|
@@ -78,8 +78,8 @@ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_obje
|
|
|
78
78
|
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
79
79
|
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
80
80
|
var i18next__default = /*#__PURE__*/_interopDefaultLegacy(i18next);
|
|
81
|
-
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
82
81
|
var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
|
|
82
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
83
83
|
var Refresh__default = /*#__PURE__*/_interopDefaultLegacy(Refresh);
|
|
84
84
|
var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
|
|
85
85
|
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
@@ -207,274 +207,9 @@ var getInvalidTypeError = function getInvalidTypeError(label, type) {
|
|
|
207
207
|
});
|
|
208
208
|
};
|
|
209
209
|
|
|
210
|
-
var _excluded$4 = ["kind", "customValidator"];
|
|
211
|
-
var _fieldKindValidatorMa;
|
|
212
210
|
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; }
|
|
213
211
|
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; }
|
|
214
212
|
var t$1 = clientI18nInstance.t;
|
|
215
|
-
yup__namespace.addMethod(yup__namespace.array, "unique", function () {
|
|
216
|
-
var field, message;
|
|
217
|
-
if (arguments.length > 1) {
|
|
218
|
-
field = arguments[0];
|
|
219
|
-
message = arguments[1];
|
|
220
|
-
} else {
|
|
221
|
-
message = arguments[0];
|
|
222
|
-
}
|
|
223
|
-
var getValue = function getValue(item) {
|
|
224
|
-
return field ? item[field] : item;
|
|
225
|
-
};
|
|
226
|
-
var valueInLowerCase = ramda.pipe(getValue, ramda.toLower);
|
|
227
|
-
return this.test("unique", message, function () {
|
|
228
|
-
var array = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
229
|
-
// ignore destroyed items in the array
|
|
230
|
-
var validItems = ramda.reject(ramda.prop("_destroy"), array);
|
|
231
|
-
var uniqueItems = new Set(ramda.map(valueInLowerCase, validItems));
|
|
232
|
-
|
|
233
|
-
// all items are unique
|
|
234
|
-
if (validItems.length === uniqueItems.size) return true;
|
|
235
|
-
return this.createError({
|
|
236
|
-
path: this.path,
|
|
237
|
-
message: message
|
|
238
|
-
});
|
|
239
|
-
});
|
|
240
|
-
});
|
|
241
|
-
var isValidDate = function isValidDate(date) {
|
|
242
|
-
return date && utils.dayjs(date).isValid();
|
|
243
|
-
};
|
|
244
|
-
var extractEmailDomain = function extractEmailDomain(email) {
|
|
245
|
-
return email === null || email === void 0 ? void 0 : email.split("@")[1];
|
|
246
|
-
};
|
|
247
|
-
var isEmailFromRestrictedDomain = function isEmailFromRestrictedDomain(email, restrictedDomains) {
|
|
248
|
-
var domain = extractEmailDomain(email);
|
|
249
|
-
return ramda.includes(domain, restrictedDomains);
|
|
250
|
-
};
|
|
251
|
-
var validateTextField = function validateTextField(_ref) {
|
|
252
|
-
var kind = _ref.kind,
|
|
253
|
-
label = _ref.label,
|
|
254
|
-
isRequired = _ref.isRequired;
|
|
255
|
-
var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string"));
|
|
256
|
-
if (kind === constants.QUESTION_KIND.PHONE.value) {
|
|
257
|
-
schema = PhoneNumber.validation(getInvalidFieldError(t$1("neetoForm.common.phoneNumberValidation")));
|
|
258
|
-
}
|
|
259
|
-
if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));
|
|
260
|
-
return schema.trim();
|
|
261
|
-
};
|
|
262
|
-
var validateEmailField = function validateEmailField(_ref2) {
|
|
263
|
-
var label = _ref2.label,
|
|
264
|
-
isRequired = _ref2.isRequired,
|
|
265
|
-
restrictedDomains = _ref2.restrictedDomains;
|
|
266
|
-
var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string")).email(getInvalidFieldError("Email")).test("verify domain", function (_ref3) {
|
|
267
|
-
var value = _ref3.value;
|
|
268
|
-
return t$1("neetoForm.error.emailFromRestrictedDomain", {
|
|
269
|
-
domain: extractEmailDomain(value)
|
|
270
|
-
});
|
|
271
|
-
}, function (value) {
|
|
272
|
-
return neetoCist.isNotPresent(value) || !isEmailFromRestrictedDomain(value, restrictedDomains);
|
|
273
|
-
});
|
|
274
|
-
if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));
|
|
275
|
-
return schema.trim();
|
|
276
|
-
};
|
|
277
|
-
var validateNameField = function validateNameField(_ref4) {
|
|
278
|
-
var label = _ref4.label,
|
|
279
|
-
isRequired = _ref4.isRequired;
|
|
280
|
-
var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string"));
|
|
281
|
-
if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));
|
|
282
|
-
return schema.trim();
|
|
283
|
-
};
|
|
284
|
-
var validateSingleChoiceField = function validateSingleChoiceField(_ref5) {
|
|
285
|
-
var label = _ref5.label,
|
|
286
|
-
isRequired = _ref5.isRequired;
|
|
287
|
-
var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string"));
|
|
288
|
-
if (isRequired) schema = schema.required(getSelectMinError("an"));
|
|
289
|
-
return schema.trim();
|
|
290
|
-
};
|
|
291
|
-
var validateMultiChoiceField = function validateMultiChoiceField(_ref6) {
|
|
292
|
-
var isRequired = _ref6.isRequired;
|
|
293
|
-
var schema = yup__namespace.array().of(yup__namespace["boolean"]());
|
|
294
|
-
if (isRequired) schema = schema.compact().min(1, getSelectMinError("an"));
|
|
295
|
-
return schema;
|
|
296
|
-
};
|
|
297
|
-
var validateRatingField = function validateRatingField(_ref7) {
|
|
298
|
-
var label = _ref7.label,
|
|
299
|
-
isRequired = _ref7.isRequired;
|
|
300
|
-
var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string"));
|
|
301
|
-
if (isRequired) schema = schema.required(getSelectMinError("an"));
|
|
302
|
-
return schema.trim();
|
|
303
|
-
};
|
|
304
|
-
var validateStarRatingField = function validateStarRatingField(_ref8) {
|
|
305
|
-
var label = _ref8.label,
|
|
306
|
-
isRequired = _ref8.isRequired;
|
|
307
|
-
var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string"));
|
|
308
|
-
if (isRequired) {
|
|
309
|
-
schema = schema.required(getSelectMinError("a", t$1("neetoForm.common.rating")));
|
|
310
|
-
}
|
|
311
|
-
return schema.trim();
|
|
312
|
-
};
|
|
313
|
-
var validateTermsField = function validateTermsField(_ref9) {
|
|
314
|
-
var _ref9$isRequired = _ref9.isRequired,
|
|
315
|
-
isRequired = _ref9$isRequired === void 0 ? true : _ref9$isRequired;
|
|
316
|
-
return isRequired ? yup__namespace["boolean"]().oneOf([true], t$1("neetoForm.common.mustAcceptTermsAndConditions")) : yup__namespace["boolean"]().notRequired();
|
|
317
|
-
};
|
|
318
|
-
var validateConditionField = function validateConditionField(_ref10) {
|
|
319
|
-
var _ref10$isRequired = _ref10.isRequired,
|
|
320
|
-
isRequired = _ref10$isRequired === void 0 ? true : _ref10$isRequired;
|
|
321
|
-
return isRequired ? yup__namespace["boolean"]().oneOf([true], t$1("neetoForm.common.mustAcceptCondition")) : yup__namespace["boolean"]().notRequired();
|
|
322
|
-
};
|
|
323
|
-
var validateDateField = function validateDateField(_ref11) {
|
|
324
|
-
var label = _ref11.label,
|
|
325
|
-
isRequired = _ref11.isRequired;
|
|
326
|
-
var schema = yup__namespace.string().test("is valid date", getInvalidTypeError(label, "date"), function (value) {
|
|
327
|
-
return neetoCist.isNotPresent(value) || isValidDate(value);
|
|
328
|
-
});
|
|
329
|
-
if (isRequired) {
|
|
330
|
-
schema = schema.required(getRequiredFieldError(label));
|
|
331
|
-
}
|
|
332
|
-
return schema;
|
|
333
|
-
};
|
|
334
|
-
var validateMultiEmailField = function validateMultiEmailField(_ref12) {
|
|
335
|
-
var isRequired = _ref12.isRequired;
|
|
336
|
-
var schema = yup__namespace.array().of(yup__namespace.object().shape({
|
|
337
|
-
value: yup__namespace.string().email(getInvalidFieldError("Email")).trim()
|
|
338
|
-
})).nullable();
|
|
339
|
-
if (isRequired) {
|
|
340
|
-
schema = schema.compact().min(1, getSelectMinError("an", t$1("neetoForm.common.email")));
|
|
341
|
-
}
|
|
342
|
-
return schema;
|
|
343
|
-
};
|
|
344
|
-
var editorHasValue = function editorHasValue(content) {
|
|
345
|
-
return !utils$1.isEditorEmpty(content);
|
|
346
|
-
};
|
|
347
|
-
var validateRichTextField = function validateRichTextField(_ref13) {
|
|
348
|
-
var isRequired = _ref13.isRequired;
|
|
349
|
-
var schema = yup__namespace.string();
|
|
350
|
-
if (isRequired) {
|
|
351
|
-
schema = schema.test("required", getRequiredFieldError("content"), editorHasValue);
|
|
352
|
-
}
|
|
353
|
-
return schema.trim();
|
|
354
|
-
};
|
|
355
|
-
var validateFileUploadField = function validateFileUploadField(_ref14) {
|
|
356
|
-
var isRequired = _ref14.isRequired,
|
|
357
|
-
multipleFilesAllowed = _ref14.multipleFilesAllowed;
|
|
358
|
-
var files_schema = yup__namespace.array();
|
|
359
|
-
if (isRequired) {
|
|
360
|
-
files_schema = files_schema.of(yup__namespace.object().shape({
|
|
361
|
-
name: yup__namespace.string(),
|
|
362
|
-
signedId: yup__namespace.string().required(t$1("neetoForm.fileUpload.validations.waitForUpload")),
|
|
363
|
-
url: yup__namespace.string().required(t$1("neetoForm.fileUpload.validations.waitForUpload"))
|
|
364
|
-
})).unique("name", t$1("neetoForm.fileUpload.validations.removeDuplicates")).min(1, multipleFilesAllowed ? t$1("neetoForm.fileUpload.validations.atLeastOneFileRequired") : t$1("neetoForm.fileUpload.validations.fileIsRequired"));
|
|
365
|
-
}
|
|
366
|
-
return yup__namespace.object().shape({
|
|
367
|
-
files: files_schema
|
|
368
|
-
});
|
|
369
|
-
};
|
|
370
|
-
var validateCaptchaField = function validateCaptchaField(_ref15) {
|
|
371
|
-
var variant = _ref15.variant;
|
|
372
|
-
return variant === constants$1.CAPTCHA_TYPES.MATH_CAPTCHA ? yup__namespace.mixed().test("verification failed", t$1("neetoForm.error.captchaVerificationFailed"), function (value) {
|
|
373
|
-
return neetoCist.isNotPresent(value) || value;
|
|
374
|
-
}).transform(function (value) {
|
|
375
|
-
return value === "" ? null : value;
|
|
376
|
-
}).required(t$1("neetoForm.error.incompleteCaptcha")) : yup__namespace.string().trim().required(t$1("neetoForm.error.incompleteCaptcha"));
|
|
377
|
-
};
|
|
378
|
-
var fieldKindValidatorMap = (_fieldKindValidatorMa = {}, _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.EMAIL.value, validateEmailField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.NAME.value, validateNameField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.PHONE.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.TEXT.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.QUESTION.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.TEXTAREA.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.DECIMAL.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.INTEGER.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.DROPDOWN.value, validateSingleChoiceField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.RADIO.value, validateSingleChoiceField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.CHECKBOX.value, validateMultiChoiceField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.RATING.value, validateRatingField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.TERMS.value, validateTermsField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.DATE.value, validateDateField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.STAR_RATING.value, validateStarRatingField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.ADDITIONAL_GUESTS.value, validateMultiEmailField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.RICH_TEXT.value, validateRichTextField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.CONDITION.value, validateConditionField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.FILE_UPLOAD.value, validateFileUploadField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.CAPTCHA.value, validateCaptchaField), _fieldKindValidatorMa);
|
|
379
|
-
var validateFieldValue = function validateFieldValue(_ref16) {
|
|
380
|
-
var kind = _ref16.kind,
|
|
381
|
-
customValidator = _ref16.customValidator,
|
|
382
|
-
otherProps = _objectWithoutProperties__default["default"](_ref16, _excluded$4);
|
|
383
|
-
return function (value) {
|
|
384
|
-
if (!(kind in fieldKindValidatorMap)) return;
|
|
385
|
-
var validator = fieldKindValidatorMap[kind];
|
|
386
|
-
var schema = customValidator || validator(_objectSpread$g({
|
|
387
|
-
kind: kind
|
|
388
|
-
}, otherProps));
|
|
389
|
-
|
|
390
|
-
// eslint-disable-next-line consistent-return, no-async-promise-executor
|
|
391
|
-
return new Promise( /*#__PURE__*/function () {
|
|
392
|
-
var _ref17 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(resolve) {
|
|
393
|
-
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
394
|
-
while (1) switch (_context.prev = _context.next) {
|
|
395
|
-
case 0:
|
|
396
|
-
_context.prev = 0;
|
|
397
|
-
_context.next = 3;
|
|
398
|
-
return schema.validate(value);
|
|
399
|
-
case 3:
|
|
400
|
-
resolve(undefined);
|
|
401
|
-
_context.next = 9;
|
|
402
|
-
break;
|
|
403
|
-
case 6:
|
|
404
|
-
_context.prev = 6;
|
|
405
|
-
_context.t0 = _context["catch"](0);
|
|
406
|
-
resolve(_context.t0.message);
|
|
407
|
-
case 9:
|
|
408
|
-
case "end":
|
|
409
|
-
return _context.stop();
|
|
410
|
-
}
|
|
411
|
-
}, _callee, null, [[0, 6]]);
|
|
412
|
-
}));
|
|
413
|
-
return function (_x) {
|
|
414
|
-
return _ref17.apply(this, arguments);
|
|
415
|
-
};
|
|
416
|
-
}());
|
|
417
|
-
};
|
|
418
|
-
};
|
|
419
|
-
|
|
420
|
-
var MultipleEmailInput = function MultipleEmailInput(_ref) {
|
|
421
|
-
var _jsx2;
|
|
422
|
-
var question = _ref.question,
|
|
423
|
-
customValidator = _ref.customValidator;
|
|
424
|
-
var name = question.id,
|
|
425
|
-
kind = question.kind,
|
|
426
|
-
isRequired = question.isRequired,
|
|
427
|
-
nodeId = question.nodeId;
|
|
428
|
-
var label = index.fieldWithFallback(question, "label");
|
|
429
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
430
|
-
t = _useTranslation.t;
|
|
431
|
-
var _useField = formik.useField({
|
|
432
|
-
name: name || nodeId,
|
|
433
|
-
validate: validateFieldValue({
|
|
434
|
-
kind: kind,
|
|
435
|
-
label: label,
|
|
436
|
-
isRequired: isRequired,
|
|
437
|
-
customValidator: customValidator
|
|
438
|
-
})
|
|
439
|
-
}),
|
|
440
|
-
_useField2 = _slicedToArray__default["default"](_useField, 3),
|
|
441
|
-
field = _useField2[0],
|
|
442
|
-
meta = _useField2[1],
|
|
443
|
-
_useField2$ = _useField2[2],
|
|
444
|
-
setValue = _useField2$.setValue,
|
|
445
|
-
setTouched = _useField2$.setTouched;
|
|
446
|
-
var _useState = React.useState(neetoCist.isPresent(field.value)),
|
|
447
|
-
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
448
|
-
isInputVisible = _useState2[0],
|
|
449
|
-
setIsInputVisible = _useState2[1];
|
|
450
|
-
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
451
|
-
className: "neeto-form-engine-input__wrapper",
|
|
452
|
-
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
453
|
-
className: "neeto-ui-w-full",
|
|
454
|
-
children: isInputVisible ? /*#__PURE__*/jsxRuntime.jsx(NeetoUIMultiEmailInput__default["default"], {
|
|
455
|
-
isRequired: isRequired,
|
|
456
|
-
label: label,
|
|
457
|
-
error: meta.touched ? meta.error : "",
|
|
458
|
-
helpText: t("neetoForm.common.addGuestsHelper"),
|
|
459
|
-
name: field.name,
|
|
460
|
-
placeholder: index.fieldWithFallback(question, "placeholder"),
|
|
461
|
-
value: field.value,
|
|
462
|
-
onBlur: function onBlur() {
|
|
463
|
-
return setTouched(true);
|
|
464
|
-
},
|
|
465
|
-
onChange: setValue
|
|
466
|
-
}) : /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], (_jsx2 = {
|
|
467
|
-
label: label
|
|
468
|
-
}, _defineProperty__default["default"](_jsx2, "label", t("neetoForm.common.addGuests")), _defineProperty__default["default"](_jsx2, "style", "secondary"), _defineProperty__default["default"](_jsx2, "onClick", function onClick() {
|
|
469
|
-
return setIsInputVisible(true);
|
|
470
|
-
}), _jsx2))
|
|
471
|
-
})
|
|
472
|
-
});
|
|
473
|
-
};
|
|
474
|
-
|
|
475
|
-
function ownKeys$f(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; }
|
|
476
|
-
function _objectSpread$f(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$f(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$f(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
477
|
-
var t = clientI18nInstance.t;
|
|
478
213
|
var toEmailValues = function toEmailValues() {
|
|
479
214
|
var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
480
215
|
return values.map(function (value) {
|
|
@@ -567,7 +302,7 @@ var generateInitValues = function generateInitValues(_ref7) {
|
|
|
567
302
|
var valuesMap = {};
|
|
568
303
|
if (initialValues) {
|
|
569
304
|
valuesMap = initialValues.reduce(function (acc, answer) {
|
|
570
|
-
return _objectSpread$
|
|
305
|
+
return _objectSpread$g(_objectSpread$g({}, acc), {}, _defineProperty__default["default"]({}, answer.questionId, {
|
|
571
306
|
value: answer.value,
|
|
572
307
|
optionIds: answer.optionIds
|
|
573
308
|
}));
|
|
@@ -658,6 +393,7 @@ var generateInitValues = function generateInitValues(_ref7) {
|
|
|
658
393
|
return;
|
|
659
394
|
}
|
|
660
395
|
case constants.QUESTION_KIND.PHONE.value:
|
|
396
|
+
case constants.QUESTION_KIND.SMS_REMINDER.value:
|
|
661
397
|
{
|
|
662
398
|
var _valuesMap$id$value3, _valuesMap6;
|
|
663
399
|
initValues[id] = (_valuesMap$id$value3 = (_valuesMap6 = valuesMap) === null || _valuesMap6 === void 0 || (_valuesMap6 = _valuesMap6[id]) === null || _valuesMap6 === void 0 ? void 0 : _valuesMap6.value) !== null && _valuesMap$id$value3 !== void 0 ? _valuesMap$id$value3 : getPhoneNumberFromUrl(fieldCodes, fieldCode);
|
|
@@ -713,7 +449,7 @@ var generateFormResponse = function generateFormResponse(response, questions) {
|
|
|
713
449
|
kind: kind
|
|
714
450
|
});
|
|
715
451
|
});
|
|
716
|
-
} else if (kind
|
|
452
|
+
} else if (isPhoneNumberField(kind)) {
|
|
717
453
|
formResponse.push({
|
|
718
454
|
questionId: id,
|
|
719
455
|
value: responseValue ? libphonenumberJs.parsePhoneNumber(responseValue).formatInternational() : "",
|
|
@@ -769,21 +505,21 @@ var renderErrorMessage = function renderErrorMessage(errorObject, maxFileSize, i
|
|
|
769
505
|
var code = error.code;
|
|
770
506
|
switch (code) {
|
|
771
507
|
case constants.ERROR_CODES.FILE_TOO_LARGE:
|
|
772
|
-
return t("neetoForm.fileUpload.dropzone.errors.fileTooLarge", {
|
|
508
|
+
return t$1("neetoForm.fileUpload.dropzone.errors.fileTooLarge", {
|
|
773
509
|
fileName: file.name,
|
|
774
510
|
maxSize: Math.round(maxFileSize / 1048576)
|
|
775
511
|
});
|
|
776
512
|
case constants.ERROR_CODES.FILE_INVALID_TYPE:
|
|
777
|
-
return t("neetoForm.fileUpload.dropzone.errors.fileInvalidType", {
|
|
513
|
+
return t$1("neetoForm.fileUpload.dropzone.errors.fileInvalidType", {
|
|
778
514
|
fileType: path__default["default"].extname(file.name)
|
|
779
515
|
});
|
|
780
516
|
case constants.ERROR_CODES.TOO_MANY_FILES:
|
|
781
517
|
if (!isMultiple) {
|
|
782
|
-
return t("neetoForm.fileUpload.dropzone.errors.tooManyFiles");
|
|
518
|
+
return t$1("neetoForm.fileUpload.dropzone.errors.tooManyFiles");
|
|
783
519
|
}
|
|
784
520
|
}
|
|
785
521
|
}
|
|
786
|
-
return t("neetoForm.fileUpload.dropzone.errors.defaultError", {
|
|
522
|
+
return t$1("neetoForm.fileUpload.dropzone.errors.defaultError", {
|
|
787
523
|
fileName: file.name
|
|
788
524
|
});
|
|
789
525
|
};
|
|
@@ -795,6 +531,272 @@ var getSelectedRating = function getSelectedRating(value) {
|
|
|
795
531
|
var parsedValue = parseInt(value);
|
|
796
532
|
return isNaN(parsedValue) ? -1 : parsedValue;
|
|
797
533
|
};
|
|
534
|
+
var isPhoneNumberField = ramda.includes(ramda.__, [constants.QUESTION_KIND.PHONE.value, constants.QUESTION_KIND.SMS_REMINDER.value]);
|
|
535
|
+
|
|
536
|
+
var _excluded$4 = ["kind", "customValidator"];
|
|
537
|
+
var _fieldKindValidatorMa;
|
|
538
|
+
function ownKeys$f(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; }
|
|
539
|
+
function _objectSpread$f(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$f(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$f(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
540
|
+
var t = clientI18nInstance.t;
|
|
541
|
+
yup__namespace.addMethod(yup__namespace.array, "unique", function () {
|
|
542
|
+
var field, message;
|
|
543
|
+
if (arguments.length > 1) {
|
|
544
|
+
field = arguments[0];
|
|
545
|
+
message = arguments[1];
|
|
546
|
+
} else {
|
|
547
|
+
message = arguments[0];
|
|
548
|
+
}
|
|
549
|
+
var getValue = function getValue(item) {
|
|
550
|
+
return field ? item[field] : item;
|
|
551
|
+
};
|
|
552
|
+
var valueInLowerCase = ramda.pipe(getValue, ramda.toLower);
|
|
553
|
+
return this.test("unique", message, function () {
|
|
554
|
+
var array = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
555
|
+
// ignore destroyed items in the array
|
|
556
|
+
var validItems = ramda.reject(ramda.prop("_destroy"), array);
|
|
557
|
+
var uniqueItems = new Set(ramda.map(valueInLowerCase, validItems));
|
|
558
|
+
|
|
559
|
+
// all items are unique
|
|
560
|
+
if (validItems.length === uniqueItems.size) return true;
|
|
561
|
+
return this.createError({
|
|
562
|
+
path: this.path,
|
|
563
|
+
message: message
|
|
564
|
+
});
|
|
565
|
+
});
|
|
566
|
+
});
|
|
567
|
+
var isValidDate = function isValidDate(date) {
|
|
568
|
+
return date && utils.dayjs(date).isValid();
|
|
569
|
+
};
|
|
570
|
+
var extractEmailDomain = function extractEmailDomain(email) {
|
|
571
|
+
return email === null || email === void 0 ? void 0 : email.split("@")[1];
|
|
572
|
+
};
|
|
573
|
+
var isEmailFromRestrictedDomain = function isEmailFromRestrictedDomain(email, restrictedDomains) {
|
|
574
|
+
var domain = extractEmailDomain(email);
|
|
575
|
+
return ramda.includes(domain, restrictedDomains);
|
|
576
|
+
};
|
|
577
|
+
var validateTextField = function validateTextField(_ref) {
|
|
578
|
+
var kind = _ref.kind,
|
|
579
|
+
label = _ref.label,
|
|
580
|
+
isRequired = _ref.isRequired;
|
|
581
|
+
var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string"));
|
|
582
|
+
if (isPhoneNumberField(kind)) {
|
|
583
|
+
schema = PhoneNumber.validation(getInvalidFieldError(t("neetoForm.common.phoneNumberValidation")));
|
|
584
|
+
}
|
|
585
|
+
if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));
|
|
586
|
+
return schema.trim();
|
|
587
|
+
};
|
|
588
|
+
var validateEmailField = function validateEmailField(_ref2) {
|
|
589
|
+
var label = _ref2.label,
|
|
590
|
+
isRequired = _ref2.isRequired,
|
|
591
|
+
restrictedDomains = _ref2.restrictedDomains;
|
|
592
|
+
var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string")).email(getInvalidFieldError("Email")).test("verify domain", function (_ref3) {
|
|
593
|
+
var value = _ref3.value;
|
|
594
|
+
return t("neetoForm.error.emailFromRestrictedDomain", {
|
|
595
|
+
domain: extractEmailDomain(value)
|
|
596
|
+
});
|
|
597
|
+
}, function (value) {
|
|
598
|
+
return neetoCist.isNotPresent(value) || !isEmailFromRestrictedDomain(value, restrictedDomains);
|
|
599
|
+
});
|
|
600
|
+
if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));
|
|
601
|
+
return schema.trim();
|
|
602
|
+
};
|
|
603
|
+
var validateNameField = function validateNameField(_ref4) {
|
|
604
|
+
var label = _ref4.label,
|
|
605
|
+
isRequired = _ref4.isRequired;
|
|
606
|
+
var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string"));
|
|
607
|
+
if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));
|
|
608
|
+
return schema.trim();
|
|
609
|
+
};
|
|
610
|
+
var validateSingleChoiceField = function validateSingleChoiceField(_ref5) {
|
|
611
|
+
var label = _ref5.label,
|
|
612
|
+
isRequired = _ref5.isRequired;
|
|
613
|
+
var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string"));
|
|
614
|
+
if (isRequired) schema = schema.required(getSelectMinError("an"));
|
|
615
|
+
return schema.trim();
|
|
616
|
+
};
|
|
617
|
+
var validateMultiChoiceField = function validateMultiChoiceField(_ref6) {
|
|
618
|
+
var isRequired = _ref6.isRequired;
|
|
619
|
+
var schema = yup__namespace.array().of(yup__namespace["boolean"]());
|
|
620
|
+
if (isRequired) schema = schema.compact().min(1, getSelectMinError("an"));
|
|
621
|
+
return schema;
|
|
622
|
+
};
|
|
623
|
+
var validateRatingField = function validateRatingField(_ref7) {
|
|
624
|
+
var label = _ref7.label,
|
|
625
|
+
isRequired = _ref7.isRequired;
|
|
626
|
+
var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string"));
|
|
627
|
+
if (isRequired) schema = schema.required(getSelectMinError("an"));
|
|
628
|
+
return schema.trim();
|
|
629
|
+
};
|
|
630
|
+
var validateStarRatingField = function validateStarRatingField(_ref8) {
|
|
631
|
+
var label = _ref8.label,
|
|
632
|
+
isRequired = _ref8.isRequired;
|
|
633
|
+
var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string"));
|
|
634
|
+
if (isRequired) {
|
|
635
|
+
schema = schema.required(getSelectMinError("a", t("neetoForm.common.rating")));
|
|
636
|
+
}
|
|
637
|
+
return schema.trim();
|
|
638
|
+
};
|
|
639
|
+
var validateTermsField = function validateTermsField(_ref9) {
|
|
640
|
+
var _ref9$isRequired = _ref9.isRequired,
|
|
641
|
+
isRequired = _ref9$isRequired === void 0 ? true : _ref9$isRequired;
|
|
642
|
+
return isRequired ? yup__namespace["boolean"]().oneOf([true], t("neetoForm.common.mustAcceptTermsAndConditions")) : yup__namespace["boolean"]().notRequired();
|
|
643
|
+
};
|
|
644
|
+
var validateConditionField = function validateConditionField(_ref10) {
|
|
645
|
+
var _ref10$isRequired = _ref10.isRequired,
|
|
646
|
+
isRequired = _ref10$isRequired === void 0 ? true : _ref10$isRequired;
|
|
647
|
+
return isRequired ? yup__namespace["boolean"]().oneOf([true], t("neetoForm.common.mustAcceptCondition")) : yup__namespace["boolean"]().notRequired();
|
|
648
|
+
};
|
|
649
|
+
var validateDateField = function validateDateField(_ref11) {
|
|
650
|
+
var label = _ref11.label,
|
|
651
|
+
isRequired = _ref11.isRequired;
|
|
652
|
+
var schema = yup__namespace.string().test("is valid date", getInvalidTypeError(label, "date"), function (value) {
|
|
653
|
+
return neetoCist.isNotPresent(value) || isValidDate(value);
|
|
654
|
+
});
|
|
655
|
+
if (isRequired) {
|
|
656
|
+
schema = schema.required(getRequiredFieldError(label));
|
|
657
|
+
}
|
|
658
|
+
return schema;
|
|
659
|
+
};
|
|
660
|
+
var validateMultiEmailField = function validateMultiEmailField(_ref12) {
|
|
661
|
+
var isRequired = _ref12.isRequired;
|
|
662
|
+
var schema = yup__namespace.array().of(yup__namespace.object().shape({
|
|
663
|
+
value: yup__namespace.string().email(getInvalidFieldError("Email")).trim()
|
|
664
|
+
})).nullable();
|
|
665
|
+
if (isRequired) {
|
|
666
|
+
schema = schema.compact().min(1, getSelectMinError("an", t("neetoForm.common.email")));
|
|
667
|
+
}
|
|
668
|
+
return schema;
|
|
669
|
+
};
|
|
670
|
+
var editorHasValue = function editorHasValue(content) {
|
|
671
|
+
return !utils$1.isEditorEmpty(content);
|
|
672
|
+
};
|
|
673
|
+
var validateRichTextField = function validateRichTextField(_ref13) {
|
|
674
|
+
var isRequired = _ref13.isRequired;
|
|
675
|
+
var schema = yup__namespace.string();
|
|
676
|
+
if (isRequired) {
|
|
677
|
+
schema = schema.test("required", getRequiredFieldError("content"), editorHasValue);
|
|
678
|
+
}
|
|
679
|
+
return schema.trim();
|
|
680
|
+
};
|
|
681
|
+
var validateFileUploadField = function validateFileUploadField(_ref14) {
|
|
682
|
+
var isRequired = _ref14.isRequired,
|
|
683
|
+
multipleFilesAllowed = _ref14.multipleFilesAllowed;
|
|
684
|
+
var files_schema = yup__namespace.array();
|
|
685
|
+
if (isRequired) {
|
|
686
|
+
files_schema = files_schema.of(yup__namespace.object().shape({
|
|
687
|
+
name: yup__namespace.string(),
|
|
688
|
+
signedId: yup__namespace.string().required(t("neetoForm.fileUpload.validations.waitForUpload")),
|
|
689
|
+
url: yup__namespace.string().required(t("neetoForm.fileUpload.validations.waitForUpload"))
|
|
690
|
+
})).unique("name", t("neetoForm.fileUpload.validations.removeDuplicates")).min(1, multipleFilesAllowed ? t("neetoForm.fileUpload.validations.atLeastOneFileRequired") : t("neetoForm.fileUpload.validations.fileIsRequired"));
|
|
691
|
+
}
|
|
692
|
+
return yup__namespace.object().shape({
|
|
693
|
+
files: files_schema
|
|
694
|
+
});
|
|
695
|
+
};
|
|
696
|
+
var validateCaptchaField = function validateCaptchaField(_ref15) {
|
|
697
|
+
var variant = _ref15.variant;
|
|
698
|
+
return variant === constants$1.CAPTCHA_TYPES.MATH_CAPTCHA ? yup__namespace.mixed().test("verification failed", t("neetoForm.error.captchaVerificationFailed"), function (value) {
|
|
699
|
+
return neetoCist.isNotPresent(value) || value;
|
|
700
|
+
}).transform(function (value) {
|
|
701
|
+
return value === "" ? null : value;
|
|
702
|
+
}).required(t("neetoForm.error.incompleteCaptcha")) : yup__namespace.string().trim().required(t("neetoForm.error.incompleteCaptcha"));
|
|
703
|
+
};
|
|
704
|
+
var fieldKindValidatorMap = (_fieldKindValidatorMa = {}, _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.EMAIL.value, validateEmailField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.NAME.value, validateNameField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.PHONE.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.TEXT.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.QUESTION.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.TEXTAREA.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.DECIMAL.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.INTEGER.value, validateTextField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.DROPDOWN.value, validateSingleChoiceField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.RADIO.value, validateSingleChoiceField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.CHECKBOX.value, validateMultiChoiceField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.RATING.value, validateRatingField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.TERMS.value, validateTermsField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.DATE.value, validateDateField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.STAR_RATING.value, validateStarRatingField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.ADDITIONAL_GUESTS.value, validateMultiEmailField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.RICH_TEXT.value, validateRichTextField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.CONDITION.value, validateConditionField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.FILE_UPLOAD.value, validateFileUploadField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.CAPTCHA.value, validateCaptchaField), _defineProperty__default["default"](_fieldKindValidatorMa, constants.QUESTION_KIND.SMS_REMINDER.value, validateTextField), _fieldKindValidatorMa);
|
|
705
|
+
var validateFieldValue = function validateFieldValue(_ref16) {
|
|
706
|
+
var kind = _ref16.kind,
|
|
707
|
+
customValidator = _ref16.customValidator,
|
|
708
|
+
otherProps = _objectWithoutProperties__default["default"](_ref16, _excluded$4);
|
|
709
|
+
return function (value) {
|
|
710
|
+
if (!(kind in fieldKindValidatorMap)) return;
|
|
711
|
+
var validator = fieldKindValidatorMap[kind];
|
|
712
|
+
var schema = customValidator || validator(_objectSpread$f({
|
|
713
|
+
kind: kind
|
|
714
|
+
}, otherProps));
|
|
715
|
+
|
|
716
|
+
// eslint-disable-next-line consistent-return, no-async-promise-executor
|
|
717
|
+
return new Promise( /*#__PURE__*/function () {
|
|
718
|
+
var _ref17 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(resolve) {
|
|
719
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
720
|
+
while (1) switch (_context.prev = _context.next) {
|
|
721
|
+
case 0:
|
|
722
|
+
_context.prev = 0;
|
|
723
|
+
_context.next = 3;
|
|
724
|
+
return schema.validate(value);
|
|
725
|
+
case 3:
|
|
726
|
+
resolve(undefined);
|
|
727
|
+
_context.next = 9;
|
|
728
|
+
break;
|
|
729
|
+
case 6:
|
|
730
|
+
_context.prev = 6;
|
|
731
|
+
_context.t0 = _context["catch"](0);
|
|
732
|
+
resolve(_context.t0.message);
|
|
733
|
+
case 9:
|
|
734
|
+
case "end":
|
|
735
|
+
return _context.stop();
|
|
736
|
+
}
|
|
737
|
+
}, _callee, null, [[0, 6]]);
|
|
738
|
+
}));
|
|
739
|
+
return function (_x) {
|
|
740
|
+
return _ref17.apply(this, arguments);
|
|
741
|
+
};
|
|
742
|
+
}());
|
|
743
|
+
};
|
|
744
|
+
};
|
|
745
|
+
|
|
746
|
+
var MultipleEmailInput = function MultipleEmailInput(_ref) {
|
|
747
|
+
var _jsx2;
|
|
748
|
+
var question = _ref.question,
|
|
749
|
+
customValidator = _ref.customValidator;
|
|
750
|
+
var name = question.id,
|
|
751
|
+
kind = question.kind,
|
|
752
|
+
isRequired = question.isRequired,
|
|
753
|
+
nodeId = question.nodeId;
|
|
754
|
+
var label = index.fieldWithFallback(question, "label");
|
|
755
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
756
|
+
t = _useTranslation.t;
|
|
757
|
+
var _useField = formik.useField({
|
|
758
|
+
name: name || nodeId,
|
|
759
|
+
validate: validateFieldValue({
|
|
760
|
+
kind: kind,
|
|
761
|
+
label: label,
|
|
762
|
+
isRequired: isRequired,
|
|
763
|
+
customValidator: customValidator
|
|
764
|
+
})
|
|
765
|
+
}),
|
|
766
|
+
_useField2 = _slicedToArray__default["default"](_useField, 3),
|
|
767
|
+
field = _useField2[0],
|
|
768
|
+
meta = _useField2[1],
|
|
769
|
+
_useField2$ = _useField2[2],
|
|
770
|
+
setValue = _useField2$.setValue,
|
|
771
|
+
setTouched = _useField2$.setTouched;
|
|
772
|
+
var _useState = React.useState(neetoCist.isPresent(field.value)),
|
|
773
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
774
|
+
isInputVisible = _useState2[0],
|
|
775
|
+
setIsInputVisible = _useState2[1];
|
|
776
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
777
|
+
className: "neeto-form-engine-input__wrapper",
|
|
778
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
779
|
+
className: "neeto-ui-w-full",
|
|
780
|
+
children: isInputVisible ? /*#__PURE__*/jsxRuntime.jsx(NeetoUIMultiEmailInput__default["default"], {
|
|
781
|
+
isRequired: isRequired,
|
|
782
|
+
label: label,
|
|
783
|
+
error: meta.touched ? meta.error : "",
|
|
784
|
+
helpText: t("neetoForm.common.addGuestsHelper"),
|
|
785
|
+
name: field.name,
|
|
786
|
+
placeholder: index.fieldWithFallback(question, "placeholder"),
|
|
787
|
+
value: field.value,
|
|
788
|
+
onBlur: function onBlur() {
|
|
789
|
+
return setTouched(true);
|
|
790
|
+
},
|
|
791
|
+
onChange: setValue
|
|
792
|
+
}) : /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], (_jsx2 = {
|
|
793
|
+
label: label
|
|
794
|
+
}, _defineProperty__default["default"](_jsx2, "label", t("neetoForm.common.addGuests")), _defineProperty__default["default"](_jsx2, "style", "secondary"), _defineProperty__default["default"](_jsx2, "onClick", function onClick() {
|
|
795
|
+
return setIsInputVisible(true);
|
|
796
|
+
}), _jsx2))
|
|
797
|
+
})
|
|
798
|
+
});
|
|
799
|
+
};
|
|
798
800
|
|
|
799
801
|
var CaptchaField = function CaptchaField(_ref) {
|
|
800
802
|
var question = _ref.question,
|
|
@@ -2168,7 +2170,7 @@ var QUESTION_TO_COMPONENT_MAP = (_QUESTION_TO_COMPONEN = {}, _defineProperty__de
|
|
|
2168
2170
|
return /*#__PURE__*/jsxRuntime.jsx(EditorContent__default["default"], {
|
|
2169
2171
|
content: index.fieldWithFallback(question, "label", true)
|
|
2170
2172
|
});
|
|
2171
|
-
}), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.TERMS.value, TermsField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.DATE.value, DateField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.STAR_RATING.value, StarRatingField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.ADDITIONAL_GUESTS.value, MultipleEmailInput), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.RICH_TEXT.value, RichTextEditor), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.CONDITION.value, ConditionField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.FILE_UPLOAD.value, FileUploadField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.CAPTCHA.value, CaptchaField), _QUESTION_TO_COMPONEN);
|
|
2173
|
+
}), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.TERMS.value, TermsField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.DATE.value, DateField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.STAR_RATING.value, StarRatingField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.ADDITIONAL_GUESTS.value, MultipleEmailInput), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.RICH_TEXT.value, RichTextEditor), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.CONDITION.value, ConditionField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.FILE_UPLOAD.value, FileUploadField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.CAPTCHA.value, CaptchaField), _defineProperty__default["default"](_QUESTION_TO_COMPONEN, constants.QUESTION_KIND.SMS_REMINDER.value, PhoneNumberField), _QUESTION_TO_COMPONEN);
|
|
2172
2174
|
var CAPTCHA_COMPONENT_MAP = (_CAPTCHA_COMPONENT_MA = {}, _defineProperty__default["default"](_CAPTCHA_COMPONENT_MA, constants$1.CAPTCHA_TYPES.RECAPTCHA_V2, Recaptcha), _defineProperty__default["default"](_CAPTCHA_COMPONENT_MA, constants$1.CAPTCHA_TYPES.MATH_CAPTCHA, MathCaptcha), _CAPTCHA_COMPONENT_MA);
|
|
2173
2175
|
|
|
2174
2176
|
var getFieldComponent = function getFieldComponent(_ref) {
|
|
@@ -2205,4 +2207,4 @@ exports.getFieldComponent = getFieldComponent;
|
|
|
2205
2207
|
exports.getWithExpiry = getWithExpiry;
|
|
2206
2208
|
exports.mergeRefs = mergeRefs;
|
|
2207
2209
|
exports.renderButtonsInOrder = renderButtonsInOrder;
|
|
2208
|
-
//# sourceMappingURL=utils-
|
|
2210
|
+
//# sourceMappingURL=utils-b26ce7e8.js.map
|