@bigbinary/neeto-form-frontend 3.13.9 → 3.14.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/README.md +131 -81
- package/app/javascript/src/translations/ar.json +9 -1
- package/app/javascript/src/translations/bg.json +207 -0
- package/app/javascript/src/translations/ca.json +207 -0
- package/app/javascript/src/translations/cs.json +9 -1
- package/app/javascript/src/translations/da.json +207 -0
- package/app/javascript/src/translations/de.json +9 -1
- package/app/javascript/src/translations/en.json +10 -1
- package/app/javascript/src/translations/es-MX.json +207 -0
- package/app/javascript/src/translations/es.json +9 -1
- package/app/javascript/src/translations/et.json +207 -0
- package/app/javascript/src/translations/fi.json +207 -0
- package/app/javascript/src/translations/fil.json +207 -0
- package/app/javascript/src/translations/fr.json +9 -1
- package/app/javascript/src/translations/hi.json +207 -0
- package/app/javascript/src/translations/hr.json +207 -0
- package/app/javascript/src/translations/id.json +207 -0
- package/app/javascript/src/translations/it.json +9 -1
- package/app/javascript/src/translations/ja.json +207 -0
- package/app/javascript/src/translations/ko.json +207 -0
- package/app/javascript/src/translations/nl.json +9 -1
- package/app/javascript/src/translations/pl.json +9 -1
- package/app/javascript/src/translations/pt-BR.json +207 -0
- package/app/javascript/src/translations/pt.json +9 -1
- package/app/javascript/src/translations/ro.json +9 -1
- package/app/javascript/src/translations/ru.json +9 -1
- package/app/javascript/src/translations/sk.json +207 -0
- package/app/javascript/src/translations/sl.json +207 -0
- package/app/javascript/src/translations/sv.json +207 -0
- package/app/javascript/src/translations/th.json +207 -0
- package/app/javascript/src/translations/tr.json +207 -0
- package/app/javascript/src/translations/uk.json +207 -0
- package/app/javascript/src/translations/vi.json +207 -0
- package/app/javascript/src/translations/zh-CN.json +207 -0
- package/app/javascript/src/translations/zh-TW.json +207 -0
- package/dist/BuildForm.js +32 -7
- package/dist/BuildForm.js.map +1 -1
- package/dist/ExternalForm.js +39 -32
- package/dist/ExternalForm.js.map +1 -1
- package/dist/Submission.js +1 -1
- package/dist/UrlBuilder.js +10 -6
- package/dist/UrlBuilder.js.map +1 -1
- package/dist/{buildForm-miMj_S28.js → buildForm-CXy5L1RP.js} +2 -2
- package/dist/{buildForm-miMj_S28.js.map → buildForm-CXy5L1RP.js.map} +1 -1
- package/dist/{buildForm-DQ2wgwuW.js → buildForm-DNCW7prR.js} +2 -2
- package/dist/{buildForm-DQ2wgwuW.js.map → buildForm-DNCW7prR.js.map} +1 -1
- package/dist/cjs/BuildForm.js +32 -7
- package/dist/cjs/BuildForm.js.map +1 -1
- package/dist/cjs/ExternalForm.js +38 -31
- package/dist/cjs/ExternalForm.js.map +1 -1
- package/dist/cjs/Submission.js +1 -1
- package/dist/cjs/UrlBuilder.js +10 -6
- package/dist/cjs/UrlBuilder.js.map +1 -1
- package/dist/cjs/hooks.js +4 -4
- package/dist/cjs/index.js +8 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/{constants-Dq9-rvtB.js → constants-BVZZfXua.js} +5 -1
- package/dist/constants-BVZZfXua.js.map +1 -0
- package/dist/{constants-R6y-Scns.js → constants-Bw2NSI7-.js} +5 -4
- package/dist/constants-Bw2NSI7-.js.map +1 -0
- package/dist/{constants-CDhYxmSQ.js → constants-VzpftVgP.js} +5 -3
- package/dist/constants-VzpftVgP.js.map +1 -0
- package/dist/{constants-DBuFEVFA.js → constants-b1EQ6-AS.js} +4 -2
- package/dist/constants-b1EQ6-AS.js.map +1 -0
- package/dist/hooks.js +4 -4
- package/dist/{index-CAtNQTCZ.js → index-BARvqe7c.js} +2 -2
- package/dist/{index-CAtNQTCZ.js.map → index-BARvqe7c.js.map} +1 -1
- package/dist/{index-BGEdOqsc.js → index-BkNaYmLc.js} +2 -2
- package/dist/{index-BGEdOqsc.js.map → index-BkNaYmLc.js.map} +1 -1
- package/dist/index.js +8 -7
- package/dist/index.js.map +1 -1
- package/dist/{useFormSubmission-Bor3TuEO.js → useFormSubmission-CYqHLtkA.js} +2 -2
- package/dist/{useFormSubmission-Bor3TuEO.js.map → useFormSubmission-CYqHLtkA.js.map} +1 -1
- package/dist/{useFormSubmission-D3Bxhy6g.js → useFormSubmission-DMoyM44A.js} +2 -2
- package/dist/{useFormSubmission-D3Bxhy6g.js.map → useFormSubmission-DMoyM44A.js.map} +1 -1
- package/dist/{utils-BThu7JWp.js → utils-BjgmM0Qs.js} +521 -55
- package/dist/utils-BjgmM0Qs.js.map +1 -0
- package/dist/{utils-1blEk5zb.js → utils-DdrUdmyb.js} +512 -45
- package/dist/utils-DdrUdmyb.js.map +1 -0
- package/package.json +15 -15
- package/dist/constants-CDhYxmSQ.js.map +0 -1
- package/dist/constants-DBuFEVFA.js.map +0 -1
- package/dist/constants-Dq9-rvtB.js.map +0 -1
- package/dist/constants-R6y-Scns.js.map +0 -1
- package/dist/utils-1blEk5zb.js.map +0 -1
- package/dist/utils-BThu7JWp.js.map +0 -1
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var formik = require('formik');
|
|
5
5
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-BARvqe7c.js');
|
|
7
7
|
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
8
8
|
var libphonenumberJs = require('libphonenumber-js');
|
|
9
9
|
var ramda = require('ramda');
|
|
10
10
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
11
11
|
var EditorContent = require('@bigbinary/neeto-editor/EditorContent');
|
|
12
|
-
var constants$1 = require('./constants-
|
|
12
|
+
var constants$1 = require('./constants-BVZZfXua.js');
|
|
13
13
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
14
14
|
var Plus = require('@bigbinary/neeto-icons/Plus');
|
|
15
15
|
var Button = require('@bigbinary/neetoui/Button');
|
|
@@ -23,7 +23,7 @@ var PhoneNumber = require('@bigbinary/neeto-molecules/PhoneNumber');
|
|
|
23
23
|
var yup = require('yup');
|
|
24
24
|
var i18next = require('i18next');
|
|
25
25
|
var jsxRuntime = require('react/jsx-runtime');
|
|
26
|
-
var constants = require('./constants-
|
|
26
|
+
var constants = require('./constants-VzpftVgP.js');
|
|
27
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');
|
|
@@ -33,6 +33,12 @@ var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
|
33
33
|
var ReCAPTCHA = require('react-google-recaptcha');
|
|
34
34
|
var Checkbox = require('@bigbinary/neetoui/Checkbox');
|
|
35
35
|
var DatePicker = require('@bigbinary/neetoui/DatePicker');
|
|
36
|
+
var Toastr = require('@bigbinary/neetoui/Toastr');
|
|
37
|
+
var reactQuery = require('@tanstack/react-query');
|
|
38
|
+
var axios = require('axios');
|
|
39
|
+
var CheckCircle = require('@bigbinary/neeto-icons/CheckCircle');
|
|
40
|
+
var Spinner = require('@bigbinary/neetoui/Spinner');
|
|
41
|
+
var NeetoUICallout = require('@bigbinary/neetoui/Callout');
|
|
36
42
|
var FileUpload = require('@bigbinary/neeto-molecules/FileUpload');
|
|
37
43
|
var Label = require('@bigbinary/neetoui/Label');
|
|
38
44
|
var Select = require('@bigbinary/neetoui/Select');
|
|
@@ -145,6 +151,76 @@ var FormikWrap = function FormikWrap(_ref) {
|
|
|
145
151
|
return children;
|
|
146
152
|
};
|
|
147
153
|
|
|
154
|
+
var RESEND_DELAY = 120;
|
|
155
|
+
var ONE_SECOND = 1000;
|
|
156
|
+
var EMAIL_VERIFICATION_FIELD_NAME_PREFIX = "verificationCode_";
|
|
157
|
+
var EMAIL_VERIFICATION_PREFIX = "neeto_form_nano_email_verification_details_";
|
|
158
|
+
var EMAIL_VERIFICATION_KEYS = {
|
|
159
|
+
EMAIL: "email",
|
|
160
|
+
TOKEN: "token",
|
|
161
|
+
VERIFIED: "verified",
|
|
162
|
+
CODE: "code",
|
|
163
|
+
CODE_SENT_AT: "code-sent-at"
|
|
164
|
+
};
|
|
165
|
+
var CALLOUT_STYLES = {
|
|
166
|
+
WARNING: "warning",
|
|
167
|
+
ERROR: "danger"
|
|
168
|
+
};
|
|
169
|
+
var DEFAULT_CALLOUT_DETAILS = {
|
|
170
|
+
message: "",
|
|
171
|
+
style: ""
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
var getEmailVerificationKey = function getEmailVerificationKey(formId) {
|
|
175
|
+
return "".concat(EMAIL_VERIFICATION_PREFIX, "-").concat(formId);
|
|
176
|
+
};
|
|
177
|
+
var getEmailVerificationDetails = function getEmailVerificationDetails(formId) {
|
|
178
|
+
return utils.getFromLocalStorage(getEmailVerificationKey(formId)) || {};
|
|
179
|
+
};
|
|
180
|
+
var buildVerificationFieldName = function buildVerificationFieldName(questionId) {
|
|
181
|
+
return "".concat(EMAIL_VERIFICATION_FIELD_NAME_PREFIX, "-").concat(questionId);
|
|
182
|
+
};
|
|
183
|
+
var getLastVerificationCodeSentAt = function getLastVerificationCodeSentAt(formId, questionId) {
|
|
184
|
+
var codeSentAt = getEmailVerificationDetail(formId, questionId, EMAIL_VERIFICATION_KEYS.CODE_SENT_AT);
|
|
185
|
+
return Number(codeSentAt) || 0;
|
|
186
|
+
};
|
|
187
|
+
var storeLastVerificationCodeSentAt = function storeLastVerificationCodeSentAt(formId, questionId) {
|
|
188
|
+
var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
189
|
+
return setEmailVerificationDetail(formId, questionId, _defineProperty({}, EMAIL_VERIFICATION_KEYS.CODE_SENT_AT, Date.now() - offset));
|
|
190
|
+
};
|
|
191
|
+
var getRemainingTime = function getRemainingTime(formId, questionId) {
|
|
192
|
+
var elapsedTime = Math.floor((Date.now() - getLastVerificationCodeSentAt(formId, questionId)) / ONE_SECOND);
|
|
193
|
+
return ramda.max(RESEND_DELAY - elapsedTime, 0);
|
|
194
|
+
};
|
|
195
|
+
var getEmailVerificationDetail = function getEmailVerificationDetail(formId, questionId) {
|
|
196
|
+
var _questionDetails$keys;
|
|
197
|
+
var allDetails = getEmailVerificationDetails(formId);
|
|
198
|
+
var questionDetails = allDetails[questionId] || {};
|
|
199
|
+
for (var _len = arguments.length, keys = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
200
|
+
keys[_key - 2] = arguments[_key];
|
|
201
|
+
}
|
|
202
|
+
return keys.length === 1 ? (_questionDetails$keys = questionDetails[keys[0]]) !== null && _questionDetails$keys !== void 0 ? _questionDetails$keys : "" : ramda.pick(keys, allDetails);
|
|
203
|
+
};
|
|
204
|
+
var setEmailVerificationDetail = function setEmailVerificationDetail(formId, questionId, data) {
|
|
205
|
+
var storageKey = getEmailVerificationKey(formId);
|
|
206
|
+
var allDetails = getEmailVerificationDetails(formId);
|
|
207
|
+
allDetails[questionId] = ramda.mergeRight(allDetails[questionId] || {}, data);
|
|
208
|
+
utils.setToLocalStorage(storageKey, allDetails);
|
|
209
|
+
};
|
|
210
|
+
var removeEmailVerificationDetail = function removeEmailVerificationDetail(formId, questionId) {
|
|
211
|
+
var storageKey = getEmailVerificationKey(formId);
|
|
212
|
+
var allDetails = getEmailVerificationDetails(formId);
|
|
213
|
+
for (var _len2 = arguments.length, keys = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
|
|
214
|
+
keys[_key2 - 2] = arguments[_key2];
|
|
215
|
+
}
|
|
216
|
+
allDetails[questionId] = ramda.omit(keys, allDetails[questionId]);
|
|
217
|
+
if (ramda.isEmpty(allDetails[questionId])) delete allDetails[questionId];
|
|
218
|
+
ramda.isEmpty(allDetails) ? utils.removeFromLocalStorage(storageKey) : utils.setToLocalStorage(storageKey, allDetails);
|
|
219
|
+
};
|
|
220
|
+
var clearEmailVerificationDetails = function clearEmailVerificationDetails(formId) {
|
|
221
|
+
utils.removeFromLocalStorage(getEmailVerificationKey(formId));
|
|
222
|
+
};
|
|
223
|
+
|
|
148
224
|
var t$1 = clientI18nInstance.t;
|
|
149
225
|
var getInvalidFieldError = function getInvalidFieldError(label) {
|
|
150
226
|
return t$1("neetoForm.error.invalidField", {
|
|
@@ -170,8 +246,8 @@ var getInvalidTypeError = function getInvalidTypeError(label, type) {
|
|
|
170
246
|
});
|
|
171
247
|
};
|
|
172
248
|
|
|
173
|
-
function ownKeys$
|
|
174
|
-
function _objectSpread$
|
|
249
|
+
function ownKeys$h(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
250
|
+
function _objectSpread$h(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$h(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$h(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
175
251
|
var toEmailValues = function toEmailValues() {
|
|
176
252
|
var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
177
253
|
return values.map(function (value) {
|
|
@@ -262,22 +338,34 @@ var getNameFromUrl = function getNameFromUrl(_ref7, fieldCodes) {
|
|
|
262
338
|
fullName: fieldCodes[fieldCode] || ""
|
|
263
339
|
};
|
|
264
340
|
};
|
|
341
|
+
var buildEmailVerificationEntries = function buildEmailVerificationEntries() {
|
|
342
|
+
var questions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
343
|
+
var emailQuestionsRequiringVerification = neetoCist.filterBy({
|
|
344
|
+
kind: constants$1.QUESTION_TYPES.EMAIL,
|
|
345
|
+
isVerificationEnabled: true
|
|
346
|
+
}, questions);
|
|
347
|
+
var fieldNames = ramda.map(function (_ref8) {
|
|
348
|
+
var id = _ref8.id;
|
|
349
|
+
return buildVerificationFieldName(id);
|
|
350
|
+
}, emailQuestionsRequiringVerification);
|
|
351
|
+
return ramda.zipObj(fieldNames, Array(fieldNames.length).fill(""));
|
|
352
|
+
};
|
|
265
353
|
var getLabel = function getLabel(label, isRequired) {
|
|
266
354
|
return isRequired ? "".concat(label, "*") : label;
|
|
267
355
|
};
|
|
268
|
-
var generateInitValues = function generateInitValues(
|
|
269
|
-
var questions =
|
|
270
|
-
|
|
271
|
-
initialValues =
|
|
272
|
-
|
|
273
|
-
localValues =
|
|
274
|
-
|
|
275
|
-
fieldCodes =
|
|
356
|
+
var generateInitValues = function generateInitValues(_ref9) {
|
|
357
|
+
var questions = _ref9.questions,
|
|
358
|
+
_ref9$initialValues = _ref9.initialValues,
|
|
359
|
+
initialValues = _ref9$initialValues === void 0 ? [] : _ref9$initialValues,
|
|
360
|
+
_ref9$localValues = _ref9.localValues,
|
|
361
|
+
localValues = _ref9$localValues === void 0 ? {} : _ref9$localValues,
|
|
362
|
+
_ref9$fieldCodes = _ref9.fieldCodes,
|
|
363
|
+
fieldCodes = _ref9$fieldCodes === void 0 ? {} : _ref9$fieldCodes;
|
|
276
364
|
var initValues = {};
|
|
277
365
|
var valuesMap = {};
|
|
278
366
|
if (initialValues) {
|
|
279
367
|
valuesMap = initialValues.reduce(function (acc, answer) {
|
|
280
|
-
return _objectSpread$
|
|
368
|
+
return _objectSpread$h(_objectSpread$h({}, acc), {}, _defineProperty({}, answer.questionId, {
|
|
281
369
|
value: answer.value,
|
|
282
370
|
optionIds: answer.optionIds
|
|
283
371
|
}));
|
|
@@ -399,7 +487,8 @@ var generateInitValues = function generateInitValues(_ref8) {
|
|
|
399
487
|
}
|
|
400
488
|
}
|
|
401
489
|
});
|
|
402
|
-
|
|
490
|
+
var formInitialValues = !index.isEmptyValues(localValues) ? localValues : initValues;
|
|
491
|
+
return ramda.mergeLeft(formInitialValues, buildEmailVerificationEntries(questions));
|
|
403
492
|
};
|
|
404
493
|
var generateFormResponse = function generateFormResponse(response, questions) {
|
|
405
494
|
var formResponse = [];
|
|
@@ -497,8 +586,8 @@ var isPhoneNumberField = ramda.includes(ramda.__, [constants.QUESTION_KIND.PHONE
|
|
|
497
586
|
|
|
498
587
|
var _excluded$4 = ["kind", "customValidator"];
|
|
499
588
|
var _fieldKindValidatorMa;
|
|
500
|
-
function ownKeys$
|
|
501
|
-
function _objectSpread$
|
|
589
|
+
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; }
|
|
590
|
+
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(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; }
|
|
502
591
|
var t = clientI18nInstance.t;
|
|
503
592
|
yup__namespace.addMethod(yup__namespace.array, "unique", function () {
|
|
504
593
|
var field, message;
|
|
@@ -677,7 +766,7 @@ var validateFieldValue = function validateFieldValue(_ref16) {
|
|
|
677
766
|
return function (value) {
|
|
678
767
|
if (!(kind in fieldKindValidatorMap)) return;
|
|
679
768
|
var validator = fieldKindValidatorMap[kind];
|
|
680
|
-
var schema = customValidator || validator(_objectSpread$
|
|
769
|
+
var schema = customValidator || validator(_objectSpread$g({
|
|
681
770
|
kind: kind
|
|
682
771
|
}, otherProps));
|
|
683
772
|
|
|
@@ -710,6 +799,61 @@ var validateFieldValue = function validateFieldValue(_ref16) {
|
|
|
710
799
|
}());
|
|
711
800
|
};
|
|
712
801
|
};
|
|
802
|
+
var validateVerificationCode = function validateVerificationCode(context) {
|
|
803
|
+
return function (value) {
|
|
804
|
+
var entity = t("neetoForm.emailVerification.verificationCode");
|
|
805
|
+
var schema = yup__namespace.string().trim().when("$isVerificationEnabled", {
|
|
806
|
+
is: true,
|
|
807
|
+
then: function then(schema) {
|
|
808
|
+
return schema.when("$isRequired", {
|
|
809
|
+
is: true,
|
|
810
|
+
then: function then(s) {
|
|
811
|
+
return s.required(getRequiredFieldError(entity));
|
|
812
|
+
}
|
|
813
|
+
}).when("$email", function (email, s) {
|
|
814
|
+
if (email !== null && email !== void 0 && email.trim()) {
|
|
815
|
+
return s.required(getRequiredFieldError(entity));
|
|
816
|
+
}
|
|
817
|
+
return s;
|
|
818
|
+
}).test("is-6-digit-number", t("neetoForm.error.mustBeASixDigitNumber", {
|
|
819
|
+
entity: entity
|
|
820
|
+
}), function (value) {
|
|
821
|
+
return neetoCist.isNotPresent(value) || constants.SIX_DIGIT_NUMBER_REGEX.test(value);
|
|
822
|
+
});
|
|
823
|
+
}
|
|
824
|
+
});
|
|
825
|
+
|
|
826
|
+
// eslint-disable-next-line no-async-promise-executor
|
|
827
|
+
return new Promise(/*#__PURE__*/function () {
|
|
828
|
+
var _ref18 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(resolve) {
|
|
829
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
830
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
831
|
+
case 0:
|
|
832
|
+
_context2.prev = 0;
|
|
833
|
+
_context2.next = 3;
|
|
834
|
+
return schema.validate(value, {
|
|
835
|
+
context: context
|
|
836
|
+
});
|
|
837
|
+
case 3:
|
|
838
|
+
resolve(undefined);
|
|
839
|
+
_context2.next = 9;
|
|
840
|
+
break;
|
|
841
|
+
case 6:
|
|
842
|
+
_context2.prev = 6;
|
|
843
|
+
_context2.t0 = _context2["catch"](0);
|
|
844
|
+
resolve(_context2.t0.message);
|
|
845
|
+
case 9:
|
|
846
|
+
case "end":
|
|
847
|
+
return _context2.stop();
|
|
848
|
+
}
|
|
849
|
+
}, _callee2, null, [[0, 6]]);
|
|
850
|
+
}));
|
|
851
|
+
return function (_x2) {
|
|
852
|
+
return _ref18.apply(this, arguments);
|
|
853
|
+
};
|
|
854
|
+
}());
|
|
855
|
+
};
|
|
856
|
+
};
|
|
713
857
|
|
|
714
858
|
var MultipleEmailInput = function MultipleEmailInput(_ref) {
|
|
715
859
|
var question = _ref.question,
|
|
@@ -956,8 +1100,8 @@ var Recaptcha = function Recaptcha(_ref) {
|
|
|
956
1100
|
}, clientI18nInstance.language);
|
|
957
1101
|
};
|
|
958
1102
|
|
|
959
|
-
function ownKeys$
|
|
960
|
-
function _objectSpread$
|
|
1103
|
+
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; }
|
|
1104
|
+
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(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; }
|
|
961
1105
|
var ConditionField = function ConditionField(_ref) {
|
|
962
1106
|
var question = _ref.question,
|
|
963
1107
|
customValidator = _ref.customValidator;
|
|
@@ -977,7 +1121,7 @@ var ConditionField = function ConditionField(_ref) {
|
|
|
977
1121
|
children: function children(_ref2) {
|
|
978
1122
|
var meta = _ref2.meta,
|
|
979
1123
|
field = _ref2.field;
|
|
980
|
-
return /*#__PURE__*/jsxRuntime.jsx(Checkbox, _objectSpread$
|
|
1124
|
+
return /*#__PURE__*/jsxRuntime.jsx(Checkbox, _objectSpread$f(_objectSpread$f({}, _objectSpread$f(_objectSpread$f({}, field), {}, {
|
|
981
1125
|
label: label,
|
|
982
1126
|
name: name
|
|
983
1127
|
})), {}, {
|
|
@@ -990,8 +1134,8 @@ var ConditionField = function ConditionField(_ref) {
|
|
|
990
1134
|
};
|
|
991
1135
|
|
|
992
1136
|
var _excluded$3 = ["value"];
|
|
993
|
-
function ownKeys$
|
|
994
|
-
function _objectSpread$
|
|
1137
|
+
function ownKeys$e(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; }
|
|
1138
|
+
function _objectSpread$e(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$e(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$e(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
995
1139
|
var DateField = function DateField(_ref) {
|
|
996
1140
|
var question = _ref.question,
|
|
997
1141
|
customValidator = _ref.customValidator;
|
|
@@ -1028,7 +1172,7 @@ var DateField = function DateField(_ref) {
|
|
|
1028
1172
|
value = _ref2$field.value,
|
|
1029
1173
|
field = _objectWithoutProperties(_ref2$field, _excluded$3),
|
|
1030
1174
|
form = _ref2.form;
|
|
1031
|
-
return /*#__PURE__*/jsxRuntime.jsx(DatePicker, _objectSpread$
|
|
1175
|
+
return /*#__PURE__*/jsxRuntime.jsx(DatePicker, _objectSpread$e(_objectSpread$e({}, _objectSpread$e(_objectSpread$e({}, field), {}, {
|
|
1032
1176
|
type: type
|
|
1033
1177
|
})), {}, {
|
|
1034
1178
|
"data-cy": "".concat(neetoCist.hyphenate(label), "-input-field"),
|
|
@@ -1050,13 +1194,239 @@ var DateField = function DateField(_ref) {
|
|
|
1050
1194
|
});
|
|
1051
1195
|
};
|
|
1052
1196
|
|
|
1197
|
+
var create = function create(_ref) {
|
|
1198
|
+
var formId = _ref.formId,
|
|
1199
|
+
questionId = _ref.questionId,
|
|
1200
|
+
payload = _ref.payload;
|
|
1201
|
+
return axios.post(utils.buildUrl(constants$1.EMAIL_VERIFICATIONS_CREATE_URL, {
|
|
1202
|
+
formId: formId,
|
|
1203
|
+
questionId: questionId
|
|
1204
|
+
}), payload, {
|
|
1205
|
+
showToastr: false
|
|
1206
|
+
});
|
|
1207
|
+
};
|
|
1208
|
+
var verify = function verify(_ref2) {
|
|
1209
|
+
var formId = _ref2.formId,
|
|
1210
|
+
questionId = _ref2.questionId,
|
|
1211
|
+
payload = _ref2.payload;
|
|
1212
|
+
return axios.post(utils.buildUrl(constants$1.EMAIL_VERIFICATIONS_VERIFY_URL, {
|
|
1213
|
+
formId: formId,
|
|
1214
|
+
questionId: questionId
|
|
1215
|
+
}), payload, {
|
|
1216
|
+
showToastr: false
|
|
1217
|
+
});
|
|
1218
|
+
};
|
|
1219
|
+
var emailVerificationsApi = {
|
|
1220
|
+
create: create,
|
|
1221
|
+
verify: verify
|
|
1222
|
+
};
|
|
1223
|
+
|
|
1224
|
+
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; }
|
|
1225
|
+
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(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; }
|
|
1226
|
+
var getMutationCallbacks = function getMutationCallbacks(options) {
|
|
1227
|
+
return {
|
|
1228
|
+
onSuccess: function onSuccess() {
|
|
1229
|
+
var _options$onSuccess;
|
|
1230
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
1231
|
+
args[_key] = arguments[_key];
|
|
1232
|
+
}
|
|
1233
|
+
return (_options$onSuccess = options.onSuccess) === null || _options$onSuccess === void 0 ? void 0 : _options$onSuccess.call.apply(_options$onSuccess, [options].concat(args));
|
|
1234
|
+
},
|
|
1235
|
+
onError: function onError() {
|
|
1236
|
+
var _options$onError;
|
|
1237
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
1238
|
+
args[_key2] = arguments[_key2];
|
|
1239
|
+
}
|
|
1240
|
+
return (_options$onError = options.onError) === null || _options$onError === void 0 ? void 0 : _options$onError.call.apply(_options$onError, [options].concat(args));
|
|
1241
|
+
}
|
|
1242
|
+
};
|
|
1243
|
+
};
|
|
1244
|
+
var useSendEmailVerificationCode = function useSendEmailVerificationCode(formId, questionId) {
|
|
1245
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
1246
|
+
return reactQuery.useMutation(_objectSpread$d(_objectSpread$d({
|
|
1247
|
+
mutationFn: function mutationFn(payload) {
|
|
1248
|
+
return emailVerificationsApi.create({
|
|
1249
|
+
formId: formId,
|
|
1250
|
+
questionId: questionId,
|
|
1251
|
+
payload: payload
|
|
1252
|
+
});
|
|
1253
|
+
}
|
|
1254
|
+
}, options), getMutationCallbacks(options)));
|
|
1255
|
+
};
|
|
1256
|
+
var useVerifyEmailVerificationCode = function useVerifyEmailVerificationCode(formId, questionId) {
|
|
1257
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
1258
|
+
return reactQuery.useMutation(_objectSpread$d(_objectSpread$d({
|
|
1259
|
+
mutationFn: function mutationFn(payload) {
|
|
1260
|
+
return emailVerificationsApi.verify({
|
|
1261
|
+
formId: formId,
|
|
1262
|
+
questionId: questionId,
|
|
1263
|
+
payload: payload
|
|
1264
|
+
});
|
|
1265
|
+
}
|
|
1266
|
+
}, options), getMutationCallbacks(options)));
|
|
1267
|
+
};
|
|
1268
|
+
|
|
1269
|
+
var SendCodeButton = function SendCodeButton(_ref) {
|
|
1270
|
+
var isCodeVerified = _ref.isCodeVerified,
|
|
1271
|
+
isSendingVerificationCode = _ref.isSendingVerificationCode,
|
|
1272
|
+
handleClick = _ref.handleClick,
|
|
1273
|
+
isDisabled = _ref.isDisabled;
|
|
1274
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
1275
|
+
t = _useTranslation.t;
|
|
1276
|
+
if (isCodeVerified) {
|
|
1277
|
+
return /*#__PURE__*/jsxRuntime.jsx(CheckCircle, {});
|
|
1278
|
+
}
|
|
1279
|
+
return /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
1280
|
+
disabled: isDisabled,
|
|
1281
|
+
size: "small",
|
|
1282
|
+
style: "secondary",
|
|
1283
|
+
onClick: handleClick,
|
|
1284
|
+
children: isSendingVerificationCode ? /*#__PURE__*/jsxRuntime.jsx(Spinner, {
|
|
1285
|
+
size: "16"
|
|
1286
|
+
}) : t("neetoForm.emailVerification.sendCode")
|
|
1287
|
+
});
|
|
1288
|
+
};
|
|
1289
|
+
|
|
1290
|
+
var ResendVerificationCode = function ResendVerificationCode(_ref) {
|
|
1291
|
+
var formId = _ref.formId,
|
|
1292
|
+
questionId = _ref.questionId,
|
|
1293
|
+
sendVerificationCode = _ref.sendVerificationCode,
|
|
1294
|
+
isResendDisabled = _ref.isResendDisabled;
|
|
1295
|
+
var _useState = React.useState(getRemainingTime(formId, questionId)),
|
|
1296
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1297
|
+
secondsLeft = _useState2[0],
|
|
1298
|
+
setSecondsLeft = _useState2[1];
|
|
1299
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
1300
|
+
t = _useTranslation.t;
|
|
1301
|
+
React.useEffect(function () {
|
|
1302
|
+
if (secondsLeft <= 0) return undefined;
|
|
1303
|
+
var interval = setTimeout(function () {
|
|
1304
|
+
setSecondsLeft(ramda.pipe(ramda.dec, ramda.max(0)));
|
|
1305
|
+
}, ONE_SECOND);
|
|
1306
|
+
return function () {
|
|
1307
|
+
return clearTimeout(interval);
|
|
1308
|
+
};
|
|
1309
|
+
}, [secondsLeft]);
|
|
1310
|
+
var handleResendClick = function handleResendClick() {
|
|
1311
|
+
if (secondsLeft !== 0) return;
|
|
1312
|
+
sendVerificationCode();
|
|
1313
|
+
setSecondsLeft(RESEND_DELAY);
|
|
1314
|
+
storeLastVerificationCodeSentAt(formId, questionId);
|
|
1315
|
+
};
|
|
1316
|
+
return /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
1317
|
+
children: !isResendDisabled && secondsLeft > 0 ? t("neetoForm.emailVerification.resendInSeconds", {
|
|
1318
|
+
secondsLeft: secondsLeft
|
|
1319
|
+
}) : /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
1320
|
+
i18nKey: "neetoForm.emailVerification.resendCode",
|
|
1321
|
+
components: {
|
|
1322
|
+
button: /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
1323
|
+
disabled: isResendDisabled,
|
|
1324
|
+
size: "small",
|
|
1325
|
+
style: "link",
|
|
1326
|
+
onClick: handleResendClick
|
|
1327
|
+
})
|
|
1328
|
+
}
|
|
1329
|
+
})
|
|
1330
|
+
});
|
|
1331
|
+
};
|
|
1332
|
+
|
|
1333
|
+
function ownKeys$c(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; }
|
|
1334
|
+
function _objectSpread$c(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$c(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$c(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1335
|
+
var VerifyCode = function VerifyCode(_ref) {
|
|
1336
|
+
var formId = _ref.formId,
|
|
1337
|
+
questionId = _ref.questionId,
|
|
1338
|
+
email = _ref.email,
|
|
1339
|
+
emailVerificationToken = _ref.emailVerificationToken,
|
|
1340
|
+
setIsCodeVerified = _ref.setIsCodeVerified,
|
|
1341
|
+
handleResponseError = _ref.handleResponseError,
|
|
1342
|
+
hasSentVerificationCode = _ref.hasSentVerificationCode,
|
|
1343
|
+
calloutDetails = _ref.calloutDetails,
|
|
1344
|
+
handleSendVerificationCode = _ref.handleSendVerificationCode,
|
|
1345
|
+
isRequired = _ref.isRequired,
|
|
1346
|
+
isVerificationEnabled = _ref.isVerificationEnabled;
|
|
1347
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
1348
|
+
t = _useTranslation.t;
|
|
1349
|
+
var verificationFieldName = buildVerificationFieldName(questionId);
|
|
1350
|
+
var _useField = formik.useField({
|
|
1351
|
+
name: verificationFieldName,
|
|
1352
|
+
validate: validateVerificationCode({
|
|
1353
|
+
isVerificationEnabled: isVerificationEnabled,
|
|
1354
|
+
isRequired: isRequired,
|
|
1355
|
+
email: email
|
|
1356
|
+
})
|
|
1357
|
+
}),
|
|
1358
|
+
_useField2 = _slicedToArray(_useField, 3),
|
|
1359
|
+
field = _useField2[0],
|
|
1360
|
+
_useField2$ = _useField2[1],
|
|
1361
|
+
touched = _useField2$.touched,
|
|
1362
|
+
error = _useField2$.error,
|
|
1363
|
+
_useField2$2 = _useField2[2],
|
|
1364
|
+
setValue = _useField2$2.setValue,
|
|
1365
|
+
setTouched = _useField2$2.setTouched;
|
|
1366
|
+
var code = field.value;
|
|
1367
|
+
var _useState = React.useState(code),
|
|
1368
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1369
|
+
previousCode = _useState2[0],
|
|
1370
|
+
setPreviousCode = _useState2[1];
|
|
1371
|
+
var _useVerifyEmailVerifi = useVerifyEmailVerificationCode(formId, questionId, {
|
|
1372
|
+
onSuccess: function onSuccess(_, _ref2) {
|
|
1373
|
+
var emailVerifications = _ref2.emailVerifications;
|
|
1374
|
+
setIsCodeVerified(true);
|
|
1375
|
+
setPreviousCode(emailVerifications.otp);
|
|
1376
|
+
setEmailVerificationDetail(formId, questionId, _defineProperty(_defineProperty(_defineProperty({}, EMAIL_VERIFICATION_KEYS.EMAIL, emailVerifications.email), EMAIL_VERIFICATION_KEYS.CODE, emailVerifications.otp), EMAIL_VERIFICATION_KEYS.VERIFIED, true));
|
|
1377
|
+
},
|
|
1378
|
+
onError: handleResponseError
|
|
1379
|
+
}),
|
|
1380
|
+
verifyCode = _useVerifyEmailVerifi.mutate,
|
|
1381
|
+
isVerifyingCode = _useVerifyEmailVerifi.isPending;
|
|
1382
|
+
var hasError = neetoCist.isPresent(error);
|
|
1383
|
+
React.useEffect(function () {
|
|
1384
|
+
var handleVerifyCode = function handleVerifyCode() {
|
|
1385
|
+
if (ramda.equals(code, previousCode) || hasError || (code === null || code === void 0 ? void 0 : code.length) !== 6) {
|
|
1386
|
+
return;
|
|
1387
|
+
}
|
|
1388
|
+
verifyCode({
|
|
1389
|
+
emailVerifications: {
|
|
1390
|
+
email: email,
|
|
1391
|
+
token: emailVerificationToken,
|
|
1392
|
+
otp: code
|
|
1393
|
+
}
|
|
1394
|
+
});
|
|
1395
|
+
};
|
|
1396
|
+
handleVerifyCode();
|
|
1397
|
+
}, [code, hasError]);
|
|
1398
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1399
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Input, _objectSpread$c(_objectSpread$c({}, _objectSpread$c({}, field)), {}, {
|
|
1400
|
+
disabled: isVerifyingCode,
|
|
1401
|
+
error: touched ? error : "",
|
|
1402
|
+
loading: isVerifyingCode,
|
|
1403
|
+
name: verificationFieldName,
|
|
1404
|
+
placeholder: t("neetoForm.emailVerification.verificationCode"),
|
|
1405
|
+
size: "small",
|
|
1406
|
+
onBlur: function onBlur() {
|
|
1407
|
+
return setTouched(true);
|
|
1408
|
+
},
|
|
1409
|
+
onChange: utils.withEventTargetValue(setValue)
|
|
1410
|
+
})), hasSentVerificationCode && /*#__PURE__*/jsxRuntime.jsx(ResendVerificationCode, {
|
|
1411
|
+
formId: formId,
|
|
1412
|
+
questionId: questionId,
|
|
1413
|
+
isResendDisabled: calloutDetails.style === CALLOUT_STYLES.ERROR,
|
|
1414
|
+
sendVerificationCode: handleSendVerificationCode
|
|
1415
|
+
}), calloutDetails.message && /*#__PURE__*/jsxRuntime.jsx(NeetoUICallout, {
|
|
1416
|
+
style: calloutDetails.style,
|
|
1417
|
+
children: calloutDetails.message
|
|
1418
|
+
})]
|
|
1419
|
+
});
|
|
1420
|
+
};
|
|
1421
|
+
|
|
1053
1422
|
function ownKeys$b(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; }
|
|
1054
1423
|
function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$b(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1055
1424
|
var EmailField = function EmailField(_ref) {
|
|
1056
1425
|
var question = _ref.question,
|
|
1057
1426
|
customValidator = _ref.customValidator,
|
|
1058
|
-
autoComplete = _ref.autoComplete
|
|
1059
|
-
|
|
1427
|
+
autoComplete = _ref.autoComplete,
|
|
1428
|
+
isPreview = _ref.preview;
|
|
1429
|
+
var questionId = question.id,
|
|
1060
1430
|
kind = question.kind,
|
|
1061
1431
|
isRequired = question.isRequired,
|
|
1062
1432
|
isReadOnly = question.isReadOnly,
|
|
@@ -1064,11 +1434,26 @@ var EmailField = function EmailField(_ref) {
|
|
|
1064
1434
|
whitelistedDomains = question.whitelistedDomains,
|
|
1065
1435
|
isDomainBlacklistingEnabled = question.isDomainBlacklistingEnabled,
|
|
1066
1436
|
blacklistedDomains = question.blacklistedDomains,
|
|
1067
|
-
|
|
1437
|
+
isVerificationEnabled = question.isVerificationEnabled,
|
|
1438
|
+
nodeId = question.nodeId,
|
|
1439
|
+
formId = question.formId;
|
|
1068
1440
|
var label = index.fieldWithFallback(question, "label");
|
|
1441
|
+
var _useState = React.useState(DEFAULT_CALLOUT_DETAILS),
|
|
1442
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1443
|
+
calloutDetails = _useState2[0],
|
|
1444
|
+
setCalloutDetails = _useState2[1];
|
|
1069
1445
|
var type = constants.QUESTION_KIND[kind.toUpperCase()].type;
|
|
1446
|
+
var _useState3 = React.useState(getLastVerificationCodeSentAt(questionId) > 0),
|
|
1447
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
1448
|
+
hasSentVerificationCode = _useState4[0],
|
|
1449
|
+
setHasSentVerificationCode = _useState4[1];
|
|
1450
|
+
var verificationStatus = getEmailVerificationDetail(formId, questionId, EMAIL_VERIFICATION_KEYS.VERIFIED);
|
|
1451
|
+
var _useStateWithDependen = reactUtils.useStateWithDependency(verificationStatus, [verificationStatus]),
|
|
1452
|
+
_useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
|
|
1453
|
+
isCodeVerified = _useStateWithDependen2[0],
|
|
1454
|
+
setIsCodeVerified = _useStateWithDependen2[1];
|
|
1070
1455
|
var _useField = formik.useField({
|
|
1071
|
-
name:
|
|
1456
|
+
name: questionId || nodeId,
|
|
1072
1457
|
validate: validateFieldValue({
|
|
1073
1458
|
kind: kind,
|
|
1074
1459
|
label: label,
|
|
@@ -1086,23 +1471,104 @@ var EmailField = function EmailField(_ref) {
|
|
|
1086
1471
|
_useField2$2 = _useField2[2],
|
|
1087
1472
|
setValue = _useField2$2.setValue,
|
|
1088
1473
|
setTouched = _useField2$2.setTouched;
|
|
1474
|
+
var _useFormikContext = formik.useFormikContext(),
|
|
1475
|
+
setFieldValue = _useFormikContext.setFieldValue;
|
|
1476
|
+
var email = field.value;
|
|
1477
|
+
var emailVerificationToken = getEmailVerificationDetail(formId, questionId, EMAIL_VERIFICATION_KEYS.TOKEN);
|
|
1478
|
+
var handleResponseError = function handleResponseError(error) {
|
|
1479
|
+
var _error$response;
|
|
1480
|
+
var message = error === null || error === void 0 || (_error$response = error.response) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 ? void 0 : _error$response.error;
|
|
1481
|
+
if ((error === null || error === void 0 ? void 0 : error.status) === 429) {
|
|
1482
|
+
setCalloutDetails({
|
|
1483
|
+
message: message,
|
|
1484
|
+
style: CALLOUT_STYLES.ERROR
|
|
1485
|
+
});
|
|
1486
|
+
storeLastVerificationCodeSentAt(formId, questionId, RESEND_DELAY * ONE_SECOND);
|
|
1487
|
+
} else {
|
|
1488
|
+
Toastr.error(message);
|
|
1489
|
+
}
|
|
1490
|
+
};
|
|
1491
|
+
|
|
1492
|
+
// TODO backend validation
|
|
1493
|
+
var _useSendEmailVerifica = useSendEmailVerificationCode(formId, questionId, {
|
|
1494
|
+
onSuccess: function onSuccess(_ref2) {
|
|
1495
|
+
var token = _ref2.token,
|
|
1496
|
+
message = _ref2.message;
|
|
1497
|
+
setHasSentVerificationCode(true);
|
|
1498
|
+
storeLastVerificationCodeSentAt(formId, questionId);
|
|
1499
|
+
if (!emailVerificationToken) {
|
|
1500
|
+
setEmailVerificationDetail(formId, questionId, _defineProperty({}, EMAIL_VERIFICATION_KEYS.TOKEN, token));
|
|
1501
|
+
}
|
|
1502
|
+
if (message) {
|
|
1503
|
+
setCalloutDetails({
|
|
1504
|
+
message: message,
|
|
1505
|
+
style: CALLOUT_STYLES.WARNING
|
|
1506
|
+
});
|
|
1507
|
+
}
|
|
1508
|
+
},
|
|
1509
|
+
onError: handleResponseError
|
|
1510
|
+
}),
|
|
1511
|
+
sendVerificationCode = _useSendEmailVerifica.mutate,
|
|
1512
|
+
isSendingVerificationCode = _useSendEmailVerifica.isPending;
|
|
1513
|
+
var resetVerifiedData = function resetVerifiedData(email) {
|
|
1514
|
+
var verifiedEmail = getEmailVerificationDetail(formId, questionId, EMAIL_VERIFICATION_KEYS.EMAIL);
|
|
1515
|
+
if (email !== verifiedEmail) {
|
|
1516
|
+
removeEmailVerificationDetail(formId, questionId, ramda.values(ramda.omit(["TOKEN"], EMAIL_VERIFICATION_KEYS)));
|
|
1517
|
+
setIsCodeVerified(false);
|
|
1518
|
+
setFieldValue(buildVerificationFieldName(questionId), "");
|
|
1519
|
+
setHasSentVerificationCode(false);
|
|
1520
|
+
setCalloutDetails(DEFAULT_CALLOUT_DETAILS);
|
|
1521
|
+
}
|
|
1522
|
+
};
|
|
1089
1523
|
var handleFieldChange = utils.withEventTargetValue(setValue);
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
},
|
|
1104
|
-
|
|
1105
|
-
|
|
1524
|
+
var handleSendVerificationCode = function handleSendVerificationCode() {
|
|
1525
|
+
return sendVerificationCode({
|
|
1526
|
+
emailVerifications: {
|
|
1527
|
+
email: email,
|
|
1528
|
+
token: emailVerificationToken
|
|
1529
|
+
}
|
|
1530
|
+
});
|
|
1531
|
+
};
|
|
1532
|
+
var shouldShowVerifyButton = isVerificationEnabled && (isPreview || neetoCist.isPresent(email) && neetoCist.isNotPresent(error));
|
|
1533
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1534
|
+
className: "flex-col space-y-2",
|
|
1535
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Input, _objectSpread$b(_objectSpread$b({}, _objectSpread$b(_objectSpread$b({
|
|
1536
|
+
type: type
|
|
1537
|
+
}, field), {}, {
|
|
1538
|
+
autoComplete: autoComplete,
|
|
1539
|
+
label: label
|
|
1540
|
+
}, shouldShowVerifyButton && {
|
|
1541
|
+
suffix: /*#__PURE__*/jsxRuntime.jsx(SendCodeButton, {
|
|
1542
|
+
isCodeVerified: isCodeVerified,
|
|
1543
|
+
isSendingVerificationCode: isSendingVerificationCode,
|
|
1544
|
+
handleClick: isPreview ? neetoCist.noop : handleSendVerificationCode,
|
|
1545
|
+
isDisabled: isCodeVerified || hasSentVerificationCode
|
|
1546
|
+
})
|
|
1547
|
+
})), {}, {
|
|
1548
|
+
disabled: isReadOnly,
|
|
1549
|
+
error: touched && !isCodeVerified ? error : "",
|
|
1550
|
+
name: kind,
|
|
1551
|
+
placeholder: index.fieldWithFallback(question, "placeholder"),
|
|
1552
|
+
required: isRequired,
|
|
1553
|
+
onBlur: function onBlur() {
|
|
1554
|
+
return setTouched(true);
|
|
1555
|
+
},
|
|
1556
|
+
onBlurCapture: utils.withEventTargetValue(resetVerifiedData),
|
|
1557
|
+
onChange: handleFieldChange
|
|
1558
|
+
})), shouldShowVerifyButton && !isCodeVerified && /*#__PURE__*/jsxRuntime.jsx(VerifyCode, {
|
|
1559
|
+
calloutDetails: calloutDetails,
|
|
1560
|
+
email: email,
|
|
1561
|
+
emailVerificationToken: emailVerificationToken,
|
|
1562
|
+
formId: formId,
|
|
1563
|
+
handleResponseError: handleResponseError,
|
|
1564
|
+
handleSendVerificationCode: handleSendVerificationCode,
|
|
1565
|
+
hasSentVerificationCode: hasSentVerificationCode,
|
|
1566
|
+
isRequired: isRequired,
|
|
1567
|
+
isVerificationEnabled: isVerificationEnabled,
|
|
1568
|
+
questionId: questionId,
|
|
1569
|
+
setIsCodeVerified: setIsCodeVerified
|
|
1570
|
+
})]
|
|
1571
|
+
});
|
|
1106
1572
|
};
|
|
1107
1573
|
|
|
1108
1574
|
var FileUploadField = function FileUploadField(_ref) {
|
|
@@ -1827,6 +2293,7 @@ var containsIgnoreCase = function containsIgnoreCase(string, substring) {
|
|
|
1827
2293
|
|
|
1828
2294
|
exports.FormikWrap = FormikWrap;
|
|
1829
2295
|
exports.buildAutoCompleteAttribute = buildAutoCompleteAttribute;
|
|
2296
|
+
exports.clearEmailVerificationDetails = clearEmailVerificationDetails;
|
|
1830
2297
|
exports.clearLocalStorageValues = clearLocalStorageValues;
|
|
1831
2298
|
exports.clientI18nInstance = clientI18nInstance;
|
|
1832
2299
|
exports.generateFormResponse = generateFormResponse;
|
|
@@ -1835,4 +2302,4 @@ exports.getFieldComponent = getFieldComponent;
|
|
|
1835
2302
|
exports.getWithExpiry = getWithExpiry;
|
|
1836
2303
|
exports.mergeRefs = mergeRefs;
|
|
1837
2304
|
exports.renderButtonsInOrder = renderButtonsInOrder;
|
|
1838
|
-
//# sourceMappingURL=utils-
|
|
2305
|
+
//# sourceMappingURL=utils-DdrUdmyb.js.map
|