@bigbinary/neeto-form-frontend 3.4.2 → 3.7.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/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 +113 -97
- package/dist/BuildForm.js.map +1 -1
- package/dist/ExternalForm.js +3 -8
- package/dist/ExternalForm.js.map +1 -1
- package/dist/Submission.js +2 -1
- package/dist/Submission.js.map +1 -1
- package/dist/UrlBuilder.js +5 -9
- 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 +111 -95
- package/dist/cjs/BuildForm.js.map +1 -1
- package/dist/cjs/ExternalForm.js +3 -8
- package/dist/cjs/ExternalForm.js.map +1 -1
- package/dist/cjs/Submission.js +2 -1
- package/dist/cjs/Submission.js.map +1 -1
- package/dist/cjs/UrlBuilder.js +5 -9
- package/dist/cjs/UrlBuilder.js.map +1 -1
- package/dist/cjs/hooks.js +1 -1
- package/dist/cjs/index.js +5 -10
- package/dist/cjs/index.js.map +1 -1
- 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 -10
- package/dist/index.js.map +1 -1
- package/dist/{utils-1ab9e83f.js → utils-0eabfa9b.js} +281 -288
- package/dist/utils-0eabfa9b.js.map +1 -0
- package/dist/{utils-38cc949e.js → utils-b26ce7e8.js} +287 -299
- 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-1ab9e83f.js.map +0 -1
- package/dist/utils-38cc949e.js.map +0 -1
|
@@ -4,12 +4,12 @@ var React = require('react');
|
|
|
4
4
|
var formik = require('formik');
|
|
5
5
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
6
6
|
var index = require('./index-b6bb805c.js');
|
|
7
|
-
var
|
|
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-
|
|
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');
|
|
@@ -17,26 +17,21 @@ var reactI18next = require('react-i18next');
|
|
|
17
17
|
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
18
18
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
19
19
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
20
|
-
var utils = require('@bigbinary/neeto-editor/utils');
|
|
20
|
+
var utils$1 = require('@bigbinary/neeto-editor/utils');
|
|
21
21
|
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
|
-
var utils$1 = require('@bigbinary/neeto-commons-frontend/utils');
|
|
30
29
|
var Refresh = require('@bigbinary/neeto-icons/Refresh');
|
|
31
30
|
var Input = require('@bigbinary/neetoui/Input');
|
|
32
31
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
33
32
|
var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
34
33
|
var ReCAPTCHA = require('react-google-recaptcha');
|
|
35
34
|
var Checkbox = require('@bigbinary/neetoui/Checkbox');
|
|
36
|
-
var localeData = require('dayjs/plugin/localeData');
|
|
37
|
-
var utc = require('dayjs/plugin/utc');
|
|
38
|
-
var weekday = require('dayjs/plugin/weekday');
|
|
39
|
-
var weekOfYear = require('dayjs/plugin/weekOfYear');
|
|
40
35
|
var DatePicker = require('@bigbinary/neetoui/DatePicker');
|
|
41
36
|
var Label = require('@bigbinary/neetoui/Label');
|
|
42
37
|
var Typography = require('@bigbinary/neetoui/Typography');
|
|
@@ -73,7 +68,6 @@ function _interopNamespace(e) {
|
|
|
73
68
|
}
|
|
74
69
|
|
|
75
70
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
76
|
-
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
77
71
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
78
72
|
var EditorContent__default = /*#__PURE__*/_interopDefaultLegacy(EditorContent);
|
|
79
73
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
@@ -84,17 +78,13 @@ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_obje
|
|
|
84
78
|
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
85
79
|
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
86
80
|
var i18next__default = /*#__PURE__*/_interopDefaultLegacy(i18next);
|
|
87
|
-
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
88
81
|
var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
|
|
82
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
89
83
|
var Refresh__default = /*#__PURE__*/_interopDefaultLegacy(Refresh);
|
|
90
84
|
var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
|
|
91
85
|
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
92
86
|
var ReCAPTCHA__default = /*#__PURE__*/_interopDefaultLegacy(ReCAPTCHA);
|
|
93
87
|
var Checkbox__default = /*#__PURE__*/_interopDefaultLegacy(Checkbox);
|
|
94
|
-
var localeData__default = /*#__PURE__*/_interopDefaultLegacy(localeData);
|
|
95
|
-
var utc__default = /*#__PURE__*/_interopDefaultLegacy(utc);
|
|
96
|
-
var weekday__default = /*#__PURE__*/_interopDefaultLegacy(weekday);
|
|
97
|
-
var weekOfYear__default = /*#__PURE__*/_interopDefaultLegacy(weekOfYear);
|
|
98
88
|
var DatePicker__default = /*#__PURE__*/_interopDefaultLegacy(DatePicker);
|
|
99
89
|
var Label__default = /*#__PURE__*/_interopDefaultLegacy(Label);
|
|
100
90
|
var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
|
|
@@ -118,7 +108,7 @@ var clearLocalStorageValues = function clearLocalStorageValues(key) {
|
|
|
118
108
|
};
|
|
119
109
|
var setWithExpiry = function setWithExpiry(key, value) {
|
|
120
110
|
var expireInDays = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
121
|
-
var expiryDate =
|
|
111
|
+
var expiryDate = utils.dayjs().add(expireInDays, "day").toDate();
|
|
122
112
|
var item = {
|
|
123
113
|
value: value,
|
|
124
114
|
localStorageExpiry: expiryDate.getTime()
|
|
@@ -217,274 +207,9 @@ var getInvalidTypeError = function getInvalidTypeError(label, type) {
|
|
|
217
207
|
});
|
|
218
208
|
};
|
|
219
209
|
|
|
220
|
-
var _excluded$4 = ["kind", "customValidator"];
|
|
221
|
-
var _fieldKindValidatorMa;
|
|
222
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; }
|
|
223
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; }
|
|
224
212
|
var t$1 = clientI18nInstance.t;
|
|
225
|
-
yup__namespace.addMethod(yup__namespace.array, "unique", function () {
|
|
226
|
-
var field, message;
|
|
227
|
-
if (arguments.length > 1) {
|
|
228
|
-
field = arguments[0];
|
|
229
|
-
message = arguments[1];
|
|
230
|
-
} else {
|
|
231
|
-
message = arguments[0];
|
|
232
|
-
}
|
|
233
|
-
var getValue = function getValue(item) {
|
|
234
|
-
return field ? item[field] : item;
|
|
235
|
-
};
|
|
236
|
-
var valueInLowerCase = ramda.pipe(getValue, ramda.toLower);
|
|
237
|
-
return this.test("unique", message, function () {
|
|
238
|
-
var array = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
239
|
-
// ignore destroyed items in the array
|
|
240
|
-
var validItems = ramda.reject(ramda.prop("_destroy"), array);
|
|
241
|
-
var uniqueItems = new Set(ramda.map(valueInLowerCase, validItems));
|
|
242
|
-
|
|
243
|
-
// all items are unique
|
|
244
|
-
if (validItems.length === uniqueItems.size) return true;
|
|
245
|
-
return this.createError({
|
|
246
|
-
path: this.path,
|
|
247
|
-
message: message
|
|
248
|
-
});
|
|
249
|
-
});
|
|
250
|
-
});
|
|
251
|
-
var isValidDate = function isValidDate(date) {
|
|
252
|
-
return date && dayjs__default["default"](date).isValid();
|
|
253
|
-
};
|
|
254
|
-
var extractEmailDomain = function extractEmailDomain(email) {
|
|
255
|
-
return email === null || email === void 0 ? void 0 : email.split("@")[1];
|
|
256
|
-
};
|
|
257
|
-
var isEmailFromRestrictedDomain = function isEmailFromRestrictedDomain(email, restrictedDomains) {
|
|
258
|
-
var domain = extractEmailDomain(email);
|
|
259
|
-
return ramda.includes(domain, restrictedDomains);
|
|
260
|
-
};
|
|
261
|
-
var validateTextField = function validateTextField(_ref) {
|
|
262
|
-
var kind = _ref.kind,
|
|
263
|
-
label = _ref.label,
|
|
264
|
-
isRequired = _ref.isRequired;
|
|
265
|
-
var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string"));
|
|
266
|
-
if (kind === constants.QUESTION_KIND.PHONE.value) {
|
|
267
|
-
schema = PhoneNumber.validation(getInvalidFieldError(t$1("neetoForm.common.phoneNumberValidation")));
|
|
268
|
-
}
|
|
269
|
-
if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));
|
|
270
|
-
return schema.trim();
|
|
271
|
-
};
|
|
272
|
-
var validateEmailField = function validateEmailField(_ref2) {
|
|
273
|
-
var label = _ref2.label,
|
|
274
|
-
isRequired = _ref2.isRequired,
|
|
275
|
-
restrictedDomains = _ref2.restrictedDomains;
|
|
276
|
-
var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string")).email(getInvalidFieldError("Email")).test("verify domain", function (_ref3) {
|
|
277
|
-
var value = _ref3.value;
|
|
278
|
-
return t$1("neetoForm.error.emailFromRestrictedDomain", {
|
|
279
|
-
domain: extractEmailDomain(value)
|
|
280
|
-
});
|
|
281
|
-
}, function (value) {
|
|
282
|
-
return neetoCist.isNotPresent(value) || !isEmailFromRestrictedDomain(value, restrictedDomains);
|
|
283
|
-
});
|
|
284
|
-
if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));
|
|
285
|
-
return schema.trim();
|
|
286
|
-
};
|
|
287
|
-
var validateNameField = function validateNameField(_ref4) {
|
|
288
|
-
var label = _ref4.label,
|
|
289
|
-
isRequired = _ref4.isRequired;
|
|
290
|
-
var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string"));
|
|
291
|
-
if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));
|
|
292
|
-
return schema.trim();
|
|
293
|
-
};
|
|
294
|
-
var validateSingleChoiceField = function validateSingleChoiceField(_ref5) {
|
|
295
|
-
var label = _ref5.label,
|
|
296
|
-
isRequired = _ref5.isRequired;
|
|
297
|
-
var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string"));
|
|
298
|
-
if (isRequired) schema = schema.required(getSelectMinError("an"));
|
|
299
|
-
return schema.trim();
|
|
300
|
-
};
|
|
301
|
-
var validateMultiChoiceField = function validateMultiChoiceField(_ref6) {
|
|
302
|
-
var isRequired = _ref6.isRequired;
|
|
303
|
-
var schema = yup__namespace.array().of(yup__namespace["boolean"]());
|
|
304
|
-
if (isRequired) schema = schema.compact().min(1, getSelectMinError("an"));
|
|
305
|
-
return schema;
|
|
306
|
-
};
|
|
307
|
-
var validateRatingField = function validateRatingField(_ref7) {
|
|
308
|
-
var label = _ref7.label,
|
|
309
|
-
isRequired = _ref7.isRequired;
|
|
310
|
-
var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string"));
|
|
311
|
-
if (isRequired) schema = schema.required(getSelectMinError("an"));
|
|
312
|
-
return schema.trim();
|
|
313
|
-
};
|
|
314
|
-
var validateStarRatingField = function validateStarRatingField(_ref8) {
|
|
315
|
-
var label = _ref8.label,
|
|
316
|
-
isRequired = _ref8.isRequired;
|
|
317
|
-
var schema = yup__namespace.string().typeError(getInvalidTypeError(label, "string"));
|
|
318
|
-
if (isRequired) {
|
|
319
|
-
schema = schema.required(getSelectMinError("a", t$1("neetoForm.common.rating")));
|
|
320
|
-
}
|
|
321
|
-
return schema.trim();
|
|
322
|
-
};
|
|
323
|
-
var validateTermsField = function validateTermsField(_ref9) {
|
|
324
|
-
var _ref9$isRequired = _ref9.isRequired,
|
|
325
|
-
isRequired = _ref9$isRequired === void 0 ? true : _ref9$isRequired;
|
|
326
|
-
return isRequired ? yup__namespace["boolean"]().oneOf([true], t$1("neetoForm.common.mustAcceptTermsAndConditions")) : yup__namespace["boolean"]().notRequired();
|
|
327
|
-
};
|
|
328
|
-
var validateConditionField = function validateConditionField(_ref10) {
|
|
329
|
-
var _ref10$isRequired = _ref10.isRequired,
|
|
330
|
-
isRequired = _ref10$isRequired === void 0 ? true : _ref10$isRequired;
|
|
331
|
-
return isRequired ? yup__namespace["boolean"]().oneOf([true], t$1("neetoForm.common.mustAcceptCondition")) : yup__namespace["boolean"]().notRequired();
|
|
332
|
-
};
|
|
333
|
-
var validateDateField = function validateDateField(_ref11) {
|
|
334
|
-
var label = _ref11.label,
|
|
335
|
-
isRequired = _ref11.isRequired;
|
|
336
|
-
var schema = yup__namespace.string().test("is valid date", getInvalidTypeError(label, "date"), function (value) {
|
|
337
|
-
return neetoCist.isNotPresent(value) || isValidDate(value);
|
|
338
|
-
});
|
|
339
|
-
if (isRequired) {
|
|
340
|
-
schema = schema.required(getRequiredFieldError(label));
|
|
341
|
-
}
|
|
342
|
-
return schema;
|
|
343
|
-
};
|
|
344
|
-
var validateMultiEmailField = function validateMultiEmailField(_ref12) {
|
|
345
|
-
var isRequired = _ref12.isRequired;
|
|
346
|
-
var schema = yup__namespace.array().of(yup__namespace.object().shape({
|
|
347
|
-
value: yup__namespace.string().email(getInvalidFieldError("Email")).trim()
|
|
348
|
-
})).nullable();
|
|
349
|
-
if (isRequired) {
|
|
350
|
-
schema = schema.compact().min(1, getSelectMinError("an", t$1("neetoForm.common.email")));
|
|
351
|
-
}
|
|
352
|
-
return schema;
|
|
353
|
-
};
|
|
354
|
-
var editorHasValue = function editorHasValue(content) {
|
|
355
|
-
return !utils.isEditorEmpty(content);
|
|
356
|
-
};
|
|
357
|
-
var validateRichTextField = function validateRichTextField(_ref13) {
|
|
358
|
-
var isRequired = _ref13.isRequired;
|
|
359
|
-
var schema = yup__namespace.string();
|
|
360
|
-
if (isRequired) {
|
|
361
|
-
schema = schema.test("required", getRequiredFieldError("content"), editorHasValue);
|
|
362
|
-
}
|
|
363
|
-
return schema.trim();
|
|
364
|
-
};
|
|
365
|
-
var validateFileUploadField = function validateFileUploadField(_ref14) {
|
|
366
|
-
var isRequired = _ref14.isRequired,
|
|
367
|
-
multipleFilesAllowed = _ref14.multipleFilesAllowed;
|
|
368
|
-
var files_schema = yup__namespace.array();
|
|
369
|
-
if (isRequired) {
|
|
370
|
-
files_schema = files_schema.of(yup__namespace.object().shape({
|
|
371
|
-
name: yup__namespace.string(),
|
|
372
|
-
signedId: yup__namespace.string().required(t$1("neetoForm.fileUpload.validations.waitForUpload")),
|
|
373
|
-
url: yup__namespace.string().required(t$1("neetoForm.fileUpload.validations.waitForUpload"))
|
|
374
|
-
})).unique("name", t$1("neetoForm.fileUpload.validations.removeDuplicates")).min(1, multipleFilesAllowed ? t$1("neetoForm.fileUpload.validations.atLeastOneFileRequired") : t$1("neetoForm.fileUpload.validations.fileIsRequired"));
|
|
375
|
-
}
|
|
376
|
-
return yup__namespace.object().shape({
|
|
377
|
-
files: files_schema
|
|
378
|
-
});
|
|
379
|
-
};
|
|
380
|
-
var validateCaptchaField = function validateCaptchaField(_ref15) {
|
|
381
|
-
var variant = _ref15.variant;
|
|
382
|
-
return variant === constants$1.CAPTCHA_TYPES.MATH_CAPTCHA ? yup__namespace.mixed().test("verification failed", t$1("neetoForm.error.captchaVerificationFailed"), function (value) {
|
|
383
|
-
return neetoCist.isNotPresent(value) || value;
|
|
384
|
-
}).transform(function (value) {
|
|
385
|
-
return value === "" ? null : value;
|
|
386
|
-
}).required(t$1("neetoForm.error.incompleteCaptcha")) : yup__namespace.string().trim().required(t$1("neetoForm.error.incompleteCaptcha"));
|
|
387
|
-
};
|
|
388
|
-
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);
|
|
389
|
-
var validateFieldValue = function validateFieldValue(_ref16) {
|
|
390
|
-
var kind = _ref16.kind,
|
|
391
|
-
customValidator = _ref16.customValidator,
|
|
392
|
-
otherProps = _objectWithoutProperties__default["default"](_ref16, _excluded$4);
|
|
393
|
-
return function (value) {
|
|
394
|
-
if (!(kind in fieldKindValidatorMap)) return;
|
|
395
|
-
var validator = fieldKindValidatorMap[kind];
|
|
396
|
-
var schema = customValidator || validator(_objectSpread$g({
|
|
397
|
-
kind: kind
|
|
398
|
-
}, otherProps));
|
|
399
|
-
|
|
400
|
-
// eslint-disable-next-line consistent-return, no-async-promise-executor
|
|
401
|
-
return new Promise( /*#__PURE__*/function () {
|
|
402
|
-
var _ref17 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(resolve) {
|
|
403
|
-
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
404
|
-
while (1) switch (_context.prev = _context.next) {
|
|
405
|
-
case 0:
|
|
406
|
-
_context.prev = 0;
|
|
407
|
-
_context.next = 3;
|
|
408
|
-
return schema.validate(value);
|
|
409
|
-
case 3:
|
|
410
|
-
resolve(undefined);
|
|
411
|
-
_context.next = 9;
|
|
412
|
-
break;
|
|
413
|
-
case 6:
|
|
414
|
-
_context.prev = 6;
|
|
415
|
-
_context.t0 = _context["catch"](0);
|
|
416
|
-
resolve(_context.t0.message);
|
|
417
|
-
case 9:
|
|
418
|
-
case "end":
|
|
419
|
-
return _context.stop();
|
|
420
|
-
}
|
|
421
|
-
}, _callee, null, [[0, 6]]);
|
|
422
|
-
}));
|
|
423
|
-
return function (_x) {
|
|
424
|
-
return _ref17.apply(this, arguments);
|
|
425
|
-
};
|
|
426
|
-
}());
|
|
427
|
-
};
|
|
428
|
-
};
|
|
429
|
-
|
|
430
|
-
var MultipleEmailInput = function MultipleEmailInput(_ref) {
|
|
431
|
-
var _jsx2;
|
|
432
|
-
var question = _ref.question,
|
|
433
|
-
customValidator = _ref.customValidator;
|
|
434
|
-
var name = question.id,
|
|
435
|
-
kind = question.kind,
|
|
436
|
-
isRequired = question.isRequired,
|
|
437
|
-
nodeId = question.nodeId;
|
|
438
|
-
var label = index.fieldWithFallback(question, "label");
|
|
439
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
440
|
-
t = _useTranslation.t;
|
|
441
|
-
var _useField = formik.useField({
|
|
442
|
-
name: name || nodeId,
|
|
443
|
-
validate: validateFieldValue({
|
|
444
|
-
kind: kind,
|
|
445
|
-
label: label,
|
|
446
|
-
isRequired: isRequired,
|
|
447
|
-
customValidator: customValidator
|
|
448
|
-
})
|
|
449
|
-
}),
|
|
450
|
-
_useField2 = _slicedToArray__default["default"](_useField, 3),
|
|
451
|
-
field = _useField2[0],
|
|
452
|
-
meta = _useField2[1],
|
|
453
|
-
_useField2$ = _useField2[2],
|
|
454
|
-
setValue = _useField2$.setValue,
|
|
455
|
-
setTouched = _useField2$.setTouched;
|
|
456
|
-
var _useState = React.useState(neetoCist.isPresent(field.value)),
|
|
457
|
-
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
458
|
-
isInputVisible = _useState2[0],
|
|
459
|
-
setIsInputVisible = _useState2[1];
|
|
460
|
-
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
461
|
-
className: "neeto-form-engine-input__wrapper",
|
|
462
|
-
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
463
|
-
className: "neeto-ui-w-full",
|
|
464
|
-
children: isInputVisible ? /*#__PURE__*/jsxRuntime.jsx(NeetoUIMultiEmailInput__default["default"], {
|
|
465
|
-
isRequired: isRequired,
|
|
466
|
-
label: label,
|
|
467
|
-
error: meta.touched ? meta.error : "",
|
|
468
|
-
helpText: t("neetoForm.common.addGuestsHelper"),
|
|
469
|
-
name: field.name,
|
|
470
|
-
placeholder: index.fieldWithFallback(question, "placeholder"),
|
|
471
|
-
value: field.value,
|
|
472
|
-
onBlur: function onBlur() {
|
|
473
|
-
return setTouched(true);
|
|
474
|
-
},
|
|
475
|
-
onChange: setValue
|
|
476
|
-
}) : /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], (_jsx2 = {
|
|
477
|
-
label: label
|
|
478
|
-
}, _defineProperty__default["default"](_jsx2, "label", t("neetoForm.common.addGuests")), _defineProperty__default["default"](_jsx2, "style", "secondary"), _defineProperty__default["default"](_jsx2, "onClick", function onClick() {
|
|
479
|
-
return setIsInputVisible(true);
|
|
480
|
-
}), _jsx2))
|
|
481
|
-
})
|
|
482
|
-
});
|
|
483
|
-
};
|
|
484
|
-
|
|
485
|
-
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; }
|
|
486
|
-
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; }
|
|
487
|
-
var t = clientI18nInstance.t;
|
|
488
213
|
var toEmailValues = function toEmailValues() {
|
|
489
214
|
var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
490
215
|
return values.map(function (value) {
|
|
@@ -577,7 +302,7 @@ var generateInitValues = function generateInitValues(_ref7) {
|
|
|
577
302
|
var valuesMap = {};
|
|
578
303
|
if (initialValues) {
|
|
579
304
|
valuesMap = initialValues.reduce(function (acc, answer) {
|
|
580
|
-
return _objectSpread$
|
|
305
|
+
return _objectSpread$g(_objectSpread$g({}, acc), {}, _defineProperty__default["default"]({}, answer.questionId, {
|
|
581
306
|
value: answer.value,
|
|
582
307
|
optionIds: answer.optionIds
|
|
583
308
|
}));
|
|
@@ -668,6 +393,7 @@ var generateInitValues = function generateInitValues(_ref7) {
|
|
|
668
393
|
return;
|
|
669
394
|
}
|
|
670
395
|
case constants.QUESTION_KIND.PHONE.value:
|
|
396
|
+
case constants.QUESTION_KIND.SMS_REMINDER.value:
|
|
671
397
|
{
|
|
672
398
|
var _valuesMap$id$value3, _valuesMap6;
|
|
673
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);
|
|
@@ -723,7 +449,7 @@ var generateFormResponse = function generateFormResponse(response, questions) {
|
|
|
723
449
|
kind: kind
|
|
724
450
|
});
|
|
725
451
|
});
|
|
726
|
-
} else if (kind
|
|
452
|
+
} else if (isPhoneNumberField(kind)) {
|
|
727
453
|
formResponse.push({
|
|
728
454
|
questionId: id,
|
|
729
455
|
value: responseValue ? libphonenumberJs.parsePhoneNumber(responseValue).formatInternational() : "",
|
|
@@ -779,21 +505,21 @@ var renderErrorMessage = function renderErrorMessage(errorObject, maxFileSize, i
|
|
|
779
505
|
var code = error.code;
|
|
780
506
|
switch (code) {
|
|
781
507
|
case constants.ERROR_CODES.FILE_TOO_LARGE:
|
|
782
|
-
return t("neetoForm.fileUpload.dropzone.errors.fileTooLarge", {
|
|
508
|
+
return t$1("neetoForm.fileUpload.dropzone.errors.fileTooLarge", {
|
|
783
509
|
fileName: file.name,
|
|
784
510
|
maxSize: Math.round(maxFileSize / 1048576)
|
|
785
511
|
});
|
|
786
512
|
case constants.ERROR_CODES.FILE_INVALID_TYPE:
|
|
787
|
-
return t("neetoForm.fileUpload.dropzone.errors.fileInvalidType", {
|
|
513
|
+
return t$1("neetoForm.fileUpload.dropzone.errors.fileInvalidType", {
|
|
788
514
|
fileType: path__default["default"].extname(file.name)
|
|
789
515
|
});
|
|
790
516
|
case constants.ERROR_CODES.TOO_MANY_FILES:
|
|
791
517
|
if (!isMultiple) {
|
|
792
|
-
return t("neetoForm.fileUpload.dropzone.errors.tooManyFiles");
|
|
518
|
+
return t$1("neetoForm.fileUpload.dropzone.errors.tooManyFiles");
|
|
793
519
|
}
|
|
794
520
|
}
|
|
795
521
|
}
|
|
796
|
-
return t("neetoForm.fileUpload.dropzone.errors.defaultError", {
|
|
522
|
+
return t$1("neetoForm.fileUpload.dropzone.errors.defaultError", {
|
|
797
523
|
fileName: file.name
|
|
798
524
|
});
|
|
799
525
|
};
|
|
@@ -805,6 +531,272 @@ var getSelectedRating = function getSelectedRating(value) {
|
|
|
805
531
|
var parsedValue = parseInt(value);
|
|
806
532
|
return isNaN(parsedValue) ? -1 : parsedValue;
|
|
807
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
|
+
};
|
|
808
800
|
|
|
809
801
|
var CaptchaField = function CaptchaField(_ref) {
|
|
810
802
|
var question = _ref.question,
|
|
@@ -949,7 +941,7 @@ var MathCaptcha = function MathCaptcha(_ref) {
|
|
|
949
941
|
className: "neeto-form-nano-math-captcha__input",
|
|
950
942
|
value: userInput,
|
|
951
943
|
onBlur: handleBlur,
|
|
952
|
-
onChange: utils
|
|
944
|
+
onChange: utils.withEventTargetValue(setUserInput)
|
|
953
945
|
})]
|
|
954
946
|
});
|
|
955
947
|
};
|
|
@@ -1014,10 +1006,6 @@ var ConditionField = function ConditionField(_ref) {
|
|
|
1014
1006
|
var _excluded$3 = ["value"];
|
|
1015
1007
|
function ownKeys$d(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; }
|
|
1016
1008
|
function _objectSpread$d(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$d(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$d(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1017
|
-
dayjs__default["default"].extend(weekOfYear__default["default"]);
|
|
1018
|
-
dayjs__default["default"].extend(weekday__default["default"]);
|
|
1019
|
-
dayjs__default["default"].extend(localeData__default["default"]);
|
|
1020
|
-
dayjs__default["default"].extend(utc__default["default"]);
|
|
1021
1009
|
var DateField = function DateField(_ref) {
|
|
1022
1010
|
var question = _ref.question,
|
|
1023
1011
|
customValidator = _ref.customValidator;
|
|
@@ -1104,7 +1092,7 @@ var EmailField = function EmailField(_ref) {
|
|
|
1104
1092
|
_useField2$2 = _useField2[2],
|
|
1105
1093
|
setValue = _useField2$2.setValue,
|
|
1106
1094
|
setTouched = _useField2$2.setTouched;
|
|
1107
|
-
var handleFieldChange = utils
|
|
1095
|
+
var handleFieldChange = utils.withEventTargetValue(setValue);
|
|
1108
1096
|
return /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], _objectSpread$c(_objectSpread$c({}, _objectSpread$c(_objectSpread$c({
|
|
1109
1097
|
type: type
|
|
1110
1098
|
}, field), {}, {
|
|
@@ -1656,7 +1644,7 @@ var NameField = function NameField(_ref) {
|
|
|
1656
1644
|
_useField2$2 = _useField2[2],
|
|
1657
1645
|
setValue = _useField2$2.setValue,
|
|
1658
1646
|
setTouched = _useField2$2.setTouched;
|
|
1659
|
-
var handleFieldChange = utils
|
|
1647
|
+
var handleFieldChange = utils.withEventTargetValue(setValue);
|
|
1660
1648
|
return /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], _objectSpread$9(_objectSpread$9({}, _objectSpread$9(_objectSpread$9({
|
|
1661
1649
|
type: type
|
|
1662
1650
|
}, field), {}, {
|
|
@@ -2157,7 +2145,7 @@ var TextField = function TextField(_ref) {
|
|
|
2157
2145
|
_useField2$2 = _useField2[2],
|
|
2158
2146
|
setValue = _useField2$2.setValue,
|
|
2159
2147
|
setTouched = _useField2$2.setTouched;
|
|
2160
|
-
var handleFieldChange = utils
|
|
2148
|
+
var handleFieldChange = utils.withEventTargetValue(setValue);
|
|
2161
2149
|
return /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread(_objectSpread({}, _objectSpread(_objectSpread({
|
|
2162
2150
|
type: type
|
|
2163
2151
|
}, field), {}, {
|
|
@@ -2182,7 +2170,7 @@ var QUESTION_TO_COMPONENT_MAP = (_QUESTION_TO_COMPONEN = {}, _defineProperty__de
|
|
|
2182
2170
|
return /*#__PURE__*/jsxRuntime.jsx(EditorContent__default["default"], {
|
|
2183
2171
|
content: index.fieldWithFallback(question, "label", true)
|
|
2184
2172
|
});
|
|
2185
|
-
}), _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);
|
|
2186
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);
|
|
2187
2175
|
|
|
2188
2176
|
var getFieldComponent = function getFieldComponent(_ref) {
|
|
@@ -2199,7 +2187,7 @@ var isPropsUnequal = function isPropsUnequal(props) {
|
|
|
2199
2187
|
};
|
|
2200
2188
|
var getValidDate = function getValidDate(date) {
|
|
2201
2189
|
if (!date) return "";
|
|
2202
|
-
return
|
|
2190
|
+
return utils.dayjs(date).isValid() ? utils.dayjs(date) : "";
|
|
2203
2191
|
};
|
|
2204
2192
|
var getPhoneData = function getPhoneData(value, countryCode) {
|
|
2205
2193
|
try {
|
|
@@ -2219,4 +2207,4 @@ exports.getFieldComponent = getFieldComponent;
|
|
|
2219
2207
|
exports.getWithExpiry = getWithExpiry;
|
|
2220
2208
|
exports.mergeRefs = mergeRefs;
|
|
2221
2209
|
exports.renderButtonsInOrder = renderButtonsInOrder;
|
|
2222
|
-
//# sourceMappingURL=utils-
|
|
2210
|
+
//# sourceMappingURL=utils-b26ce7e8.js.map
|