@bigbinary/neeto-form-frontend 3.14.0 → 3.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/app/javascript/src/translations/ar.json +6 -3
  2. package/app/javascript/src/translations/bg.json +10 -1
  3. package/app/javascript/src/translations/ca.json +10 -1
  4. package/app/javascript/src/translations/cs.json +6 -3
  5. package/app/javascript/src/translations/da.json +10 -1
  6. package/app/javascript/src/translations/de.json +6 -3
  7. package/app/javascript/src/translations/en.json +2 -1
  8. package/app/javascript/src/translations/es-MX.json +10 -1
  9. package/app/javascript/src/translations/es.json +6 -3
  10. package/app/javascript/src/translations/et.json +10 -1
  11. package/app/javascript/src/translations/fi.json +10 -1
  12. package/app/javascript/src/translations/fil.json +10 -1
  13. package/app/javascript/src/translations/fr.json +6 -3
  14. package/app/javascript/src/translations/hi.json +10 -1
  15. package/app/javascript/src/translations/hr.json +10 -1
  16. package/app/javascript/src/translations/id.json +10 -1
  17. package/app/javascript/src/translations/it.json +6 -3
  18. package/app/javascript/src/translations/ja.json +10 -1
  19. package/app/javascript/src/translations/ko.json +10 -1
  20. package/app/javascript/src/translations/nl.json +6 -3
  21. package/app/javascript/src/translations/pl.json +6 -3
  22. package/app/javascript/src/translations/pt-BR.json +10 -1
  23. package/app/javascript/src/translations/pt.json +6 -3
  24. package/app/javascript/src/translations/ro.json +6 -3
  25. package/app/javascript/src/translations/ru.json +6 -3
  26. package/app/javascript/src/translations/sk.json +10 -1
  27. package/app/javascript/src/translations/sl.json +10 -1
  28. package/app/javascript/src/translations/sv.json +10 -1
  29. package/app/javascript/src/translations/th.json +10 -1
  30. package/app/javascript/src/translations/tr.json +10 -1
  31. package/app/javascript/src/translations/uk.json +10 -1
  32. package/app/javascript/src/translations/vi.json +10 -1
  33. package/app/javascript/src/translations/zh-CN.json +10 -1
  34. package/app/javascript/src/translations/zh-TW.json +10 -1
  35. package/dist/ExternalForm.js +4 -2
  36. package/dist/ExternalForm.js.map +1 -1
  37. package/dist/UrlBuilder.js +1 -1
  38. package/dist/cjs/ExternalForm.js +4 -2
  39. package/dist/cjs/ExternalForm.js.map +1 -1
  40. package/dist/cjs/UrlBuilder.js +1 -1
  41. package/dist/cjs/index.js +1 -1
  42. package/dist/index.js +1 -1
  43. package/dist/{utils-DdrUdmyb.js → utils-BEF__Hpe.js} +9 -3
  44. package/dist/utils-BEF__Hpe.js.map +1 -0
  45. package/dist/{utils-BjgmM0Qs.js → utils-BuGZ7M3W.js} +9 -3
  46. package/dist/utils-BuGZ7M3W.js.map +1 -0
  47. package/package.json +1 -1
  48. package/dist/utils-BjgmM0Qs.js.map +0 -1
  49. package/dist/utils-DdrUdmyb.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-DdrUdmyb.js","sources":["../app/javascript/src/components/ExternalForm/utils/clientI18nInstance.js","../app/javascript/src/utils/localStorage.js","../app/javascript/src/components/Common/FormikWrap.js","../app/javascript/src/components/ExternalForm/Fields/EmailField/constants.js","../app/javascript/src/components/ExternalForm/Fields/EmailField/utils.js","../app/javascript/src/utils/formUtils.jsx","../app/javascript/src/components/ExternalForm/utils/index.js","../app/javascript/src/components/ExternalForm/utils/validations.js","../app/javascript/src/components/ExternalForm/Fields/AdditionalGuests.jsx","../app/javascript/src/components/ExternalForm/Fields/CaptchaField/index.jsx","../app/javascript/src/components/ExternalForm/Fields/CaptchaField/constants.js","../app/javascript/src/components/ExternalForm/Fields/CaptchaField/utils.js","../app/javascript/src/components/ExternalForm/Fields/CaptchaField/MathCaptcha.jsx","../app/javascript/src/components/ExternalForm/Fields/CaptchaField/Recaptcha.jsx","../app/javascript/src/components/ExternalForm/Fields/ConditionField.jsx","../app/javascript/src/components/ExternalForm/Fields/DateField.jsx","../app/javascript/src/apis/email_verifications.js","../app/javascript/src/hooks/useEmailVerificationsApi.js","../app/javascript/src/components/ExternalForm/Fields/EmailField/SendCodeButton.jsx","../app/javascript/src/components/ExternalForm/Fields/EmailField/ResendVerificationCode.jsx","../app/javascript/src/components/ExternalForm/Fields/EmailField/VerifyCode.jsx","../app/javascript/src/components/ExternalForm/Fields/EmailField/index.jsx","../app/javascript/src/components/ExternalForm/Fields/FileUploadField/index.jsx","../app/javascript/src/components/ExternalForm/Fields/NameField/Field.jsx","../app/javascript/src/components/ExternalForm/Fields/NameField/index.jsx","../app/javascript/src/components/ExternalForm/Choices.jsx","../app/javascript/src/components/ExternalForm/Fields/OptionsField.jsx","../app/javascript/src/components/ExternalForm/Fields/PhoneNumberField.jsx","../app/javascript/src/components/ExternalForm/Rating.jsx","../app/javascript/src/components/ExternalForm/Fields/RatingField.jsx","../app/javascript/src/components/ExternalForm/Fields/RichTextEditor.jsx","../app/javascript/src/components/ExternalForm/RatingButton.jsx","../app/javascript/src/components/ExternalForm/StarRating.jsx","../app/javascript/src/components/ExternalForm/Fields/StarRatingField.jsx","../app/javascript/src/components/ExternalForm/Fields/TermsField.jsx","../app/javascript/src/components/ExternalForm/Fields/TextField.jsx","../app/javascript/src/components/ExternalForm/Fields/constants.jsx","../app/javascript/src/components/ExternalForm/Fields/utils.js"],"sourcesContent":["import i18next from \"i18next\";\n\nexport const clientI18nInstance = i18next.cloneInstance();\n","import { dayjs } from \"neetocommons/utils\";\n\nexport const clearLocalStorageValues = key => {\n try {\n localStorage.removeItem(key);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n }\n};\n\nexport const setWithExpiry = (key, value, expireInDays = 1) => {\n const expiryDate = dayjs().add(expireInDays, \"day\").toDate();\n const item = {\n value,\n localStorageExpiry: expiryDate.getTime(),\n };\n try {\n localStorage.setItem(key, JSON.stringify(item));\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n }\n};\n\nexport const getWithExpiry = key => {\n try {\n const itemStr = localStorage.getItem(key);\n if (!itemStr) {\n return null;\n }\n const item = JSON.parse(itemStr);\n const now = new Date();\n if (now.getTime() > item.localStorageExpiry) {\n localStorage.removeItem(key);\n\n return null;\n }\n\n return item.value;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n\n return null;\n }\n};\n\n// Delete all localStorage items with a set expiry date\nexport const deleteExpiredKeys = () =>\n setTimeout(() => {\n try {\n Object.keys(localStorage).forEach(key => {\n try {\n const value = localStorage.getItem(key);\n if (value.includes(\"localStorageExpiry\")) {\n getWithExpiry(key);\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n }\n });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n }\n });\n","import { useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isPresent } from \"neetocist\";\n\nimport { clientI18nInstance } from \"components/ExternalForm/utils/clientI18nInstance\";\nimport { isEmptyValues, isFunction } from \"utils\";\nimport { setWithExpiry } from \"utils/localStorage\";\n\nconst FormikWrap = ({\n onError,\n children,\n formId,\n preserveValues,\n onValuesChange,\n dataUpdateCount,\n}) => {\n const { errors, touched, isValid, isSubmitting, values, validateForm } =\n useFormikContext();\n\n const revalidate = () => isPresent(errors) && validateForm();\n\n useEffect(() => {\n revalidate();\n }, [clientI18nInstance.language, dataUpdateCount]);\n\n const syncValuesWithLocalStorage = () =>\n preserveValues &&\n !isEmptyValues(values) &&\n setWithExpiry(`${formId}/values`, values);\n\n useEffect(() => {\n syncValuesWithLocalStorage();\n onValuesChange && onValuesChange(values);\n }, [values, formId, preserveValues]);\n\n useEffect(() => {\n if (isSubmitting || isValid) return;\n\n // include only touched fields\n const touchedErrors = Object.keys(errors)\n .filter(key => touched[key])\n .reduce((obj, key) => {\n obj[key] = errors[key];\n\n return obj;\n }, {});\n\n if (isFunction(onError)) onError(touchedErrors);\n }, [isValid, isSubmitting]);\n\n return children;\n};\n\nexport default FormikWrap;\n","export const RESEND_DELAY = 120;\nexport const ONE_SECOND = 1000;\n\nexport const EMAIL_VERIFICATION_FIELD_NAME_PREFIX = \"verificationCode_\";\nexport const EMAIL_VERIFICATION_PREFIX =\n \"neeto_form_nano_email_verification_details_\";\n\nexport const EMAIL_VERIFICATION_KEYS = {\n EMAIL: \"email\",\n TOKEN: \"token\",\n VERIFIED: \"verified\",\n CODE: \"code\",\n CODE_SENT_AT: \"code-sent-at\",\n};\nexport const CALLOUT_STYLES = { WARNING: \"warning\", ERROR: \"danger\" };\n\nexport const DEFAULT_CALLOUT_DETAILS = { message: \"\", style: \"\" };\n\nexport const ERROR_TYPES = { invalidCode: \"invalid_code\" };\n","import {\n getFromLocalStorage,\n setToLocalStorage,\n removeFromLocalStorage,\n} from \"neetocommons/utils\";\nimport { isEmpty, max, pick, mergeRight, omit } from \"ramda\";\n\nimport {\n EMAIL_VERIFICATION_PREFIX,\n EMAIL_VERIFICATION_KEYS,\n ONE_SECOND,\n RESEND_DELAY,\n EMAIL_VERIFICATION_FIELD_NAME_PREFIX,\n} from \"./constants\";\n\nconst getEmailVerificationKey = formId =>\n `${EMAIL_VERIFICATION_PREFIX}-${formId}`;\n\nconst getEmailVerificationDetails = formId =>\n getFromLocalStorage(getEmailVerificationKey(formId)) || {};\n\nexport const buildVerificationFieldName = questionId =>\n `${EMAIL_VERIFICATION_FIELD_NAME_PREFIX}-${questionId}`;\n\nexport const getLastVerificationCodeSentAt = (formId, questionId) => {\n const codeSentAt = getEmailVerificationDetail(\n formId,\n questionId,\n EMAIL_VERIFICATION_KEYS.CODE_SENT_AT\n );\n\n return Number(codeSentAt) || 0;\n};\n\nexport const storeLastVerificationCodeSentAt = (\n formId,\n questionId,\n offset = 0\n) =>\n setEmailVerificationDetail(formId, questionId, {\n [EMAIL_VERIFICATION_KEYS.CODE_SENT_AT]: Date.now() - offset,\n });\n\nexport const getRemainingTime = (formId, questionId) => {\n const elapsedTime = Math.floor(\n (Date.now() - getLastVerificationCodeSentAt(formId, questionId)) /\n ONE_SECOND\n );\n\n return max(RESEND_DELAY - elapsedTime, 0);\n};\n\nexport const getEmailVerificationDetail = (formId, questionId, ...keys) => {\n const allDetails = getEmailVerificationDetails(formId);\n const questionDetails = allDetails[questionId] || {};\n\n return keys.length === 1\n ? (questionDetails[keys[0]] ?? \"\")\n : pick(keys, allDetails);\n};\n\nexport const setEmailVerificationDetail = (formId, questionId, data) => {\n const storageKey = getEmailVerificationKey(formId);\n const allDetails = getEmailVerificationDetails(formId);\n\n allDetails[questionId] = mergeRight(allDetails[questionId] || {}, data);\n setToLocalStorage(storageKey, allDetails);\n};\n\nexport const removeEmailVerificationDetail = (formId, questionId, ...keys) => {\n const storageKey = getEmailVerificationKey(formId);\n const allDetails = getEmailVerificationDetails(formId);\n\n allDetails[questionId] = omit(keys, allDetails[questionId]);\n if (isEmpty(allDetails[questionId])) delete allDetails[questionId];\n\n isEmpty(allDetails)\n ? removeFromLocalStorage(storageKey)\n : setToLocalStorage(storageKey, allDetails);\n};\n\nexport const clearEmailVerificationDetails = formId => {\n removeFromLocalStorage(getEmailVerificationKey(formId));\n};\n","import { clientI18nInstance } from \"components/ExternalForm/utils/clientI18nInstance\";\n\nconst { t } = clientI18nInstance;\n\nexport const getInvalidFieldError = label =>\n t(\"neetoForm.error.invalidField\", { label });\nexport const getRequiredFieldError = label =>\n t(\"neetoForm.error.requiredField\", { label });\nexport const getSelectMinError = (min, entity = t(\"neetoForm.common.option\")) =>\n t(\"neetoForm.error.selectMin\", { min, entity });\nexport const getInvalidTypeError = (label, type) =>\n t(\"neetoForm.error.invalidType\", { label, type });\n\n/**\n * Find and highlight relevant keywords within a block of text\n * @param {string} label - The text to parse\n * @param {string} termsLink - The search keyword to highlight\n * @param {string} privacyPolicyLink - An absolute url for redirect on click\n * @return {object} A JSX object containing an array of alternating strings and JSX\n */\nexport const formatLabel = (label, termsLink, privacyPolicyLink) => {\n const templateStringArray = label.match(/[^{}]+(?=})/g) || [];\n const splitArray = label.split(/({.*?})/).filter(Boolean);\n const links = [termsLink, privacyPolicyLink];\n\n if (!templateStringArray.length) return label;\n\n return (\n <span>\n {splitArray.reduce((prev, current, index) => {\n if (\n templateStringArray.length &&\n current === `{${templateStringArray[0]}}`\n ) {\n return prev.concat(\n <a\n href={links[0] ? links.shift() : \"#\"}\n key={index}\n rel=\"noreferrer\"\n style={{ color: \"#22c4ff\" }}\n target=\"_blank\"\n >\n {templateStringArray.shift()}\n </a>\n );\n }\n\n return prev.concat(current);\n }, [])}\n </span>\n );\n};\n","import { parsePhoneNumber } from \"libphonenumber-js\";\nimport { filterBy, findBy, findById, isNotEmpty, isPresent } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport {\n __,\n clamp,\n identity,\n includes,\n isNil,\n map,\n mergeLeft,\n pluck,\n prop,\n zipObj,\n} from \"ramda\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\nimport { isEmptyValues } from \"utils\";\n\nimport {\n EMAIL_REGEX,\n QUESTION_KIND,\n RATING_VALUES,\n SCHEMA_LESS_QUESTION_KINDS,\n} from \"../constants\";\nimport { buildVerificationFieldName } from \"../Fields/EmailField/utils\";\nimport { getPhoneData } from \"../Fields/utils\";\n\nconst toEmailValues = (values = []) =>\n values.map(value => ({ label: value, value, valid: true }));\n\nconst getPhoneNumberFromUrl = (fieldCodes, fieldCode) => {\n const countryCode = fieldCodes[`${fieldCode}.country`];\n const phoneNumber = fieldCodes[`${fieldCode}.number`];\n\n if (!countryCode || !phoneNumber) return undefined;\n\n const formattedValue = getPhoneData(phoneNumber, countryCode);\n\n if (!formattedValue) return undefined;\n\n return formattedValue.formatInternational();\n};\n\nconst getOptionFromURL = ({ optionsAttributes, fieldCodes, fieldCode }) => {\n const preFillOption = fieldCodes[fieldCode];\n\n return findBy({ label: preFillOption }, optionsAttributes)?.id;\n};\n\nconst getMultipleOptionsFromURL = ({\n optionsAttributes,\n fieldCodes,\n fieldCode,\n}) => {\n const fieldCodeValue = fieldCodes[fieldCode];\n\n if (!fieldCodeValue) return new Array(optionsAttributes.length).fill(false);\n\n const allOptions = fieldCodeValue.split(\",\");\n\n return optionsAttributes.map(option => allOptions.includes(option.label));\n};\n\nconst getStarRatingFromUrl = ({\n minValue,\n maxValue,\n fieldCodes,\n fieldCode,\n}) => {\n const fieldCodeValue = fieldCodes[fieldCode];\n const rating = parseInt(fieldCodeValue);\n\n return isNil(rating) || isNaN(rating)\n ? \"\"\n : clamp(minValue, maxValue, rating);\n};\n\nconst getAdditionalGuestsFromUrl = ({ fieldCodes, fieldCode }) => {\n const fieldCodeValue = fieldCodes[fieldCode];\n\n const allEmails = fieldCodeValue?.split(\",\");\n\n if (!allEmails) return [];\n\n return allEmails.map(email => ({\n label: email.trim(),\n value: email.trim(),\n valid: EMAIL_REGEX.test(email.trim()),\n }));\n};\n\nconst getRatingFromUrl = ({ fieldCodes, fieldCode }) => {\n const fieldCodeValue = fieldCodes[fieldCode];\n\n const allowedValues = Object.values(RATING_VALUES).map(prop(\"value\"));\n\n return allowedValues.includes(fieldCodeValue) ? fieldCodeValue : \"\";\n};\n\nconst getNumberFromUrl = ({ fieldCodes, fieldCode, kind }) => {\n const fieldCodeValue = fieldCodes[fieldCode];\n\n const parsedValue =\n kind === QUESTION_KIND.INTEGER.value\n ? parseInt(fieldCodeValue)\n : parseFloat(fieldCodeValue);\n\n return parsedValue || \"\";\n};\n\nconst getNameFromUrl = ({ isSplitMode, fieldCode }, fieldCodes) => {\n if (isSplitMode) {\n return {\n firstName: fieldCodes[`${fieldCode}.first_name`] || \"\",\n lastName: fieldCodes[`${fieldCode}.last_name`] || \"\",\n };\n }\n\n return { fullName: fieldCodes[fieldCode] || \"\" };\n};\n\nconst buildEmailVerificationEntries = (questions = []) => {\n const emailQuestionsRequiringVerification = filterBy(\n { kind: QUESTION_TYPES.EMAIL, isVerificationEnabled: true },\n questions\n );\n\n const fieldNames = map(\n ({ id }) => buildVerificationFieldName(id),\n emailQuestionsRequiringVerification\n );\n\n return zipObj(fieldNames, Array(fieldNames.length).fill(\"\"));\n};\n\nexport const getLabel = (label, isRequired) =>\n isRequired ? `${label}*` : label;\n\nexport const generateInitValues = ({\n questions,\n initialValues = [],\n localValues = {},\n fieldCodes = {},\n}) => {\n const initValues = {};\n let valuesMap = {};\n if (initialValues) {\n valuesMap = initialValues.reduce(\n (acc, answer) => ({\n ...acc,\n [answer.questionId]: {\n value: answer.value,\n optionIds: answer.optionIds,\n },\n }),\n {}\n );\n }\n\n questions.forEach(question => {\n const { id, kind, optionsAttributes, fieldCode, minValue, maxValue } =\n question;\n switch (kind) {\n case QUESTION_KIND.CONDITION.value: {\n initValues[id] = valuesMap?.[id]?.value ?? false;\n\n return;\n }\n case QUESTION_KIND.ADDITIONAL_GUESTS.value: {\n const emailsFromSubmission = toEmailValues(valuesMap?.[id]?.value);\n\n initValues[id] = isNotEmpty(emailsFromSubmission)\n ? emailsFromSubmission\n : getAdditionalGuestsFromUrl({ fieldCodes, fieldCode });\n\n return;\n }\n case QUESTION_KIND.CHECKBOX.value: {\n initValues[id] = valuesMap[id]?.optionIds?.length\n ? optionsAttributes.map(option =>\n valuesMap[id]?.optionIds?.includes(option.id)\n )\n : getMultipleOptionsFromURL({\n optionsAttributes,\n fieldCodes,\n fieldCode,\n });\n\n return;\n }\n case QUESTION_KIND.RADIO.value:\n case QUESTION_KIND.DROPDOWN.value: {\n initValues[id] =\n optionsAttributes.find(option =>\n valuesMap[id]?.optionIds?.includes(option.id)\n )?.id ||\n getOptionFromURL({ optionsAttributes, fieldCodes, fieldCode });\n\n return;\n }\n case QUESTION_KIND.INTEGER.value:\n case QUESTION_KIND.DECIMAL.value: {\n initValues[id] =\n valuesMap?.[id]?.value ||\n getNumberFromUrl({ fieldCodes, fieldCode, kind });\n\n return;\n }\n case QUESTION_KIND.RATING.value: {\n initValues[id] =\n valuesMap?.[id]?.value || getRatingFromUrl({ fieldCodes, fieldCode });\n\n return;\n }\n case QUESTION_KIND.TERMS.value: {\n initValues[id] = false;\n\n return;\n }\n case QUESTION_KIND.FILE_UPLOAD.value: {\n initValues[id] = { files: valuesMap?.[id]?.value ?? [] };\n\n return;\n }\n case QUESTION_KIND.PHONE.value:\n case QUESTION_KIND.SMS_REMINDER.value: {\n initValues[id] =\n valuesMap?.[id]?.value ??\n getPhoneNumberFromUrl(fieldCodes, fieldCode);\n\n return;\n }\n case QUESTION_KIND.STAR_RATING.value: {\n initValues[id] =\n valuesMap?.[id]?.value ??\n getStarRatingFromUrl({ minValue, maxValue, fieldCodes, fieldCode });\n\n return;\n }\n case QUESTION_KIND.NAME.value: {\n initValues[id] =\n valuesMap?.[id]?.value ?? getNameFromUrl(question, fieldCodes);\n\n return;\n }\n default: {\n initValues[id] =\n valuesMap?.[id]?.value ?? (fieldCodes[fieldCode] || \"\");\n\n return;\n }\n }\n });\n\n const formInitialValues = !isEmptyValues(localValues)\n ? localValues\n : initValues;\n\n return mergeLeft(formInitialValues, buildEmailVerificationEntries(questions));\n};\n\nexport const generateFormResponse = (response, questions) => {\n const formResponse = [];\n questions.forEach(question => {\n const { id, kind, optionsAttributes } = question;\n if (!SCHEMA_LESS_QUESTION_KINDS.includes(kind)) {\n const { [id]: responseValue } = response;\n if (\n kind === QUESTION_KIND.RADIO.value ||\n kind === QUESTION_KIND.DROPDOWN.value\n ) {\n const option = findById(responseValue, optionsAttributes);\n if (option) {\n formResponse.push({\n questionId: id,\n questionOptionId: option.id,\n value: option.label,\n kind,\n });\n }\n } else if (kind === QUESTION_KIND.CHECKBOX.value) {\n responseValue.forEach((isChecked, index) => {\n if (!isChecked) return;\n const option = optionsAttributes[index];\n formResponse.push({\n questionId: id,\n questionOptionId: option.id,\n value: option.label,\n kind,\n });\n });\n } else if (isPhoneNumberField(kind)) {\n formResponse.push({\n questionId: id,\n value: responseValue\n ? parsePhoneNumber(responseValue).formatInternational()\n : \"\",\n kind,\n });\n } else if (kind === QUESTION_KIND.ADDITIONAL_GUESTS.value) {\n formResponse.push({\n questionId: id,\n value: responseValue ? pluck(\"value\", responseValue) : null,\n kind,\n });\n } else if (kind === QUESTION_KIND.FILE_UPLOAD.value) {\n formResponse.push({\n questionId: id,\n files: isPresent(responseValue) ? responseValue.files : null,\n kind,\n });\n } else if (kind === QUESTION_KIND.DATE.value) {\n formResponse.push({\n questionId: id,\n value: dayjs(responseValue).isValid()\n ? // YYYY-MM-DD format is not supported by dateFormat.\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs(responseValue).format(\"YYYY-MM-DD\")\n : \"\",\n kind,\n });\n } else formResponse.push({ questionId: id, value: responseValue, kind });\n }\n });\n\n return formResponse;\n};\n\nexport const hyphenize = string => {\n const fallbackString = \"nui\";\n\n if (string && string.replace) {\n return string\n .replace(/[\\s_]/g, \"-\")\n .replace(/([a-z])([A-Z])/g, \"$1-$2\")\n .replace(/-+/g, \"-\")\n .toLowerCase();\n }\n\n return fallbackString;\n};\n\nexport const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n\nexport const getError = meta => {\n if (meta.error && meta.touched) {\n return typeof meta.error === \"string\" ? meta.error : \"\";\n }\n\n return \"\";\n};\n\nexport const buildAutoCompleteAttribute = (\n kind,\n autoCompleteKinds,\n formDomProps\n) =>\n formDomProps?.autoComplete === \"off\" && includes(kind, autoCompleteKinds)\n ? \"on\"\n : undefined;\n\nexport const renderButtonsInOrder = (buttonsArray, shouldReverse) => {\n const orderedButtons = shouldReverse ? buttonsArray.reverse() : buttonsArray;\n\n return map(identity, orderedButtons);\n};\n\nexport const getSelectedRating = value => {\n const parsedValue = parseInt(value);\n\n return isNaN(parsedValue) ? -1 : parsedValue;\n};\n\nexport const isPhoneNumberField = includes(__, [\n QUESTION_KIND.PHONE.value,\n QUESTION_KIND.SMS_REMINDER.value,\n]);\n","import { isNotPresent } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { validation as phoneNumberValidation } from \"neetomolecules/PhoneNumber\";\nimport { includes, isEmpty, map, pipe, prop, reject, toLower } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport { CAPTCHA_TYPES } from \"components/constants\";\nimport {\n getInvalidFieldError,\n getInvalidTypeError,\n getRequiredFieldError,\n getSelectMinError,\n} from \"utils/formUtils\";\n\nimport { isPhoneNumberField } from \".\";\n\nimport { clientI18nInstance } from \"./clientI18nInstance\";\n\nimport { QUESTION_KIND, SIX_DIGIT_NUMBER_REGEX } from \"../constants\";\n\nconst { t } = clientI18nInstance;\n\nyup.addMethod(yup.array, \"unique\", function () {\n let field, message;\n\n if (arguments.length > 1) {\n field = arguments[0];\n message = arguments[1];\n } else {\n message = arguments[0];\n }\n\n const getValue = item => (field ? item[field] : item);\n\n const valueInLowerCase = pipe(getValue, toLower);\n\n return this.test(\"unique\", message, function (array = []) {\n // ignore destroyed items in the array\n const validItems = reject(prop(\"_destroy\"), array);\n\n const uniqueItems = new Set(map(valueInLowerCase, validItems));\n\n // all items are unique\n if (validItems.length === uniqueItems.size) return true;\n\n return this.createError({ path: this.path, message });\n });\n});\n\nconst isValidDate = date => date && dayjs(date).isValid();\n\nconst extractEmailDomain = email => email?.split(\"@\")[1];\n\nconst isEmailFromWhitelistedDomain = (email, whitelistedDomains) => {\n if (isEmpty(whitelistedDomains)) return true;\n\n const domain = extractEmailDomain(email);\n\n return includes(domain, whitelistedDomains);\n};\n\nconst isEmailFromBlacklistedDomain = (email, blacklistedDomains) => {\n const domain = extractEmailDomain(email);\n\n return includes(domain, blacklistedDomains);\n};\n\nconst validateTextField = ({ kind, label, isRequired }) => {\n let schema = yup.string().typeError(getInvalidTypeError(label, \"string\"));\n if (isPhoneNumberField(kind)) {\n schema = phoneNumberValidation(\n getInvalidFieldError(t(\"neetoForm.common.phoneNumberValidation\"))\n );\n }\n\n if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));\n\n return schema.trim();\n};\n\nconst validateEmailField = ({\n label,\n isRequired,\n whitelistedDomains,\n blacklistedDomains,\n}) => {\n let schema = yup\n .string()\n .typeError(getInvalidTypeError(label, \"string\"))\n .email(getInvalidFieldError(\"Email\"))\n .test(\n \"verify domain\",\n ({ value }) =>\n t(\"neetoForm.error.emailFromRestrictedDomain\", {\n domain: extractEmailDomain(value),\n }),\n value =>\n isNotPresent(value) ||\n (isEmailFromWhitelistedDomain(value, whitelistedDomains) &&\n !isEmailFromBlacklistedDomain(value, blacklistedDomains))\n );\n\n if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));\n\n return schema.trim();\n};\n\nconst validateNameField = ({ label, isRequired }) => {\n let schema = yup.string().typeError(getInvalidTypeError(label, \"string\"));\n if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));\n\n return schema.trim();\n};\n\nconst validateSingleChoiceField = ({ label, isRequired }) => {\n let schema = yup.string().typeError(getInvalidTypeError(label, \"string\"));\n if (isRequired) schema = schema.required(getSelectMinError(\"an\"));\n\n return schema.trim();\n};\n\nconst validateMultiChoiceField = ({ isRequired }) => {\n let schema = yup.array().of(yup.boolean());\n if (isRequired) schema = schema.compact().min(1, getSelectMinError(\"an\"));\n\n return schema;\n};\n\nconst validateRatingField = ({ label, isRequired }) => {\n let schema = yup.string().typeError(getInvalidTypeError(label, \"string\"));\n if (isRequired) schema = schema.required(getSelectMinError(\"an\"));\n\n return schema.trim();\n};\n\nconst validateStarRatingField = ({ label, isRequired }) => {\n let schema = yup.string().typeError(getInvalidTypeError(label, \"string\"));\n if (isRequired) {\n schema = schema.required(\n getSelectMinError(\"a\", t(\"neetoForm.common.rating\"))\n );\n }\n\n return schema.trim();\n};\n\nconst validateTermsField = ({ isRequired = true }) =>\n isRequired\n ? yup\n .boolean()\n .oneOf([true], t(\"neetoForm.common.mustAcceptTermsAndConditions\"))\n : yup.boolean().notRequired();\n\nconst validateConditionField = ({ isRequired = true }) =>\n isRequired\n ? yup.boolean().oneOf([true], t(\"neetoForm.common.mustAcceptCondition\"))\n : yup.boolean().notRequired();\n\nconst validateDateField = ({ label, isRequired }) => {\n let schema = yup\n .string()\n .test(\n \"is valid date\",\n getInvalidTypeError(label, \"date\"),\n value => isNotPresent(value) || isValidDate(value)\n );\n if (isRequired) {\n schema = schema.required(getRequiredFieldError(label));\n }\n\n return schema;\n};\n\nconst validateMultiEmailField = ({ isRequired }) => {\n let schema = yup\n .array()\n .of(\n yup.object().shape({\n value: yup.string().email(getInvalidFieldError(\"Email\")).trim(),\n })\n )\n .nullable();\n if (isRequired) {\n schema = schema\n .compact()\n .min(1, getSelectMinError(\"an\", t(\"neetoForm.common.email\")));\n }\n\n return schema;\n};\n\nconst editorHasValue = content => !isEditorEmpty(content);\n\nconst validateRichTextField = ({ isRequired }) => {\n let schema = yup.string();\n\n if (isRequired) {\n schema = schema.test(\n \"required\",\n getRequiredFieldError(\"content\"),\n editorHasValue\n );\n }\n\n return schema.trim();\n};\n\nconst validateFileUploadField = ({ isRequired, multipleFilesAllowed }) => {\n let files_schema = yup.array();\n\n if (isRequired) {\n files_schema = files_schema\n .of(\n yup.object().shape({\n name: yup.string(),\n signedId: yup\n .string()\n .required(t(\"neetoForm.fileUpload.validations.waitForUpload\")),\n url: yup\n .string()\n .required(t(\"neetoForm.fileUpload.validations.waitForUpload\")),\n })\n )\n .unique(\"name\", t(\"neetoForm.fileUpload.validations.removeDuplicates\"))\n .min(\n 1,\n multipleFilesAllowed\n ? t(\"neetoForm.fileUpload.validations.atLeastOneFileRequired\")\n : t(\"neetoForm.fileUpload.validations.fileIsRequired\")\n );\n }\n\n return yup.object().shape({ files: files_schema });\n};\n\nconst validateCaptchaField = ({ variant }) =>\n variant === CAPTCHA_TYPES.MATH_CAPTCHA\n ? yup\n .mixed()\n .test(\n \"verification failed\",\n t(\"neetoForm.error.captchaVerificationFailed\"),\n value => isNotPresent(value) || value\n )\n .transform(value => (value === \"\" ? null : value))\n .required(t(\"neetoForm.error.incompleteCaptcha\"))\n : yup.string().trim().required(t(\"neetoForm.error.incompleteCaptcha\"));\n\nconst fieldKindValidatorMap = {\n [QUESTION_KIND.EMAIL.value]: validateEmailField,\n [QUESTION_KIND.NAME.value]: validateNameField,\n [QUESTION_KIND.PHONE.value]: validateTextField,\n [QUESTION_KIND.TEXT.value]: validateTextField,\n [QUESTION_KIND.QUESTION.value]: validateTextField,\n [QUESTION_KIND.TEXTAREA.value]: validateTextField,\n [QUESTION_KIND.DECIMAL.value]: validateTextField,\n [QUESTION_KIND.INTEGER.value]: validateTextField,\n [QUESTION_KIND.DROPDOWN.value]: validateSingleChoiceField,\n [QUESTION_KIND.RADIO.value]: validateSingleChoiceField,\n [QUESTION_KIND.CHECKBOX.value]: validateMultiChoiceField,\n [QUESTION_KIND.RATING.value]: validateRatingField,\n [QUESTION_KIND.TERMS.value]: validateTermsField,\n [QUESTION_KIND.DATE.value]: validateDateField,\n [QUESTION_KIND.STAR_RATING.value]: validateStarRatingField,\n [QUESTION_KIND.ADDITIONAL_GUESTS.value]: validateMultiEmailField,\n [QUESTION_KIND.RICH_TEXT.value]: validateRichTextField,\n [QUESTION_KIND.CONDITION.value]: validateConditionField,\n [QUESTION_KIND.FILE_UPLOAD.value]: validateFileUploadField,\n [QUESTION_KIND.CAPTCHA.value]: validateCaptchaField,\n [QUESTION_KIND.SMS_REMINDER.value]: validateTextField,\n};\n\nexport const validateFieldValue =\n ({ kind, customValidator, ...otherProps }) =>\n value => {\n if (!(kind in fieldKindValidatorMap)) return;\n const validator = fieldKindValidatorMap[kind];\n const schema = customValidator || validator({ kind, ...otherProps });\n\n // eslint-disable-next-line consistent-return, no-async-promise-executor\n return new Promise(async resolve => {\n try {\n await schema.validate(value);\n resolve(undefined);\n } catch (err) {\n resolve(err.message);\n }\n });\n };\n\nexport const validateVerificationCode = context => value => {\n const entity = t(\"neetoForm.emailVerification.verificationCode\");\n const schema = yup\n .string()\n .trim()\n .when(\"$isVerificationEnabled\", {\n is: true,\n then: schema =>\n schema\n .when(\"$isRequired\", {\n is: true,\n then: s => s.required(getRequiredFieldError(entity)),\n })\n .when(\"$email\", (email, s) => {\n if (email?.trim()) {\n return s.required(getRequiredFieldError(entity));\n }\n\n return s;\n })\n .test(\n \"is-6-digit-number\",\n t(\"neetoForm.error.mustBeASixDigitNumber\", { entity }),\n value => isNotPresent(value) || SIX_DIGIT_NUMBER_REGEX.test(value)\n ),\n });\n\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async resolve => {\n try {\n await schema.validate(value, { context });\n resolve(undefined);\n } catch (err) {\n resolve(err.message);\n }\n });\n};\n","import { useState } from \"react\";\n\nimport { useField, useFormikContext } from \"formik\";\nimport { isPresent } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { Button, MultiEmailInput as NeetoUIMultiEmailInput } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { fieldWithFallback } from \"utils\";\n\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst MultipleEmailInput = ({ question, customValidator }) => {\n const { id: name, kind, isRequired, nodeId, isReadOnly } = question;\n const label = fieldWithFallback(question, \"label\");\n const { submitCount } = useFormikContext();\n\n const { t } = useTranslation();\n\n const [field, meta, { setValue, setTouched }] = useField({\n name: name || nodeId,\n validate: validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n }),\n });\n\n const [isInputVisible, setIsInputVisible] = useState(isPresent(field.value));\n\n return (\n <div className=\"neeto-form-engine-input__wrapper\">\n <div className=\"neeto-ui-w-full\">\n {isInputVisible ? (\n <NeetoUIMultiEmailInput\n {...{ isRequired, label }}\n disabled={isReadOnly}\n error={meta.touched ? meta.error : \"\"}\n helpText={t(\"neetoForm.common.addGuestsHelper\")}\n name={field.name}\n placeholder={fieldWithFallback(question, \"placeholder\")}\n value={field.value}\n onBlur={() => setTouched(true)}\n onChange={setValue}\n />\n ) : (\n <div className=\"flex flex-col gap-2 items-end\">\n <Button\n {...{ label }}\n data-cy=\"add-guest-button\"\n disabled={isReadOnly}\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoForm.common.addGuests\")}\n style=\"link\"\n onClick={() => setIsInputVisible(true)}\n />\n {meta?.error && submitCount > 0 && (\n <span className=\"neeto-ui-text-error-500\">{meta.error}</span>\n )}\n </div>\n )}\n </div>\n </div>\n );\n};\nexport default MultipleEmailInput;\n","import classnames from \"classnames\";\nimport { useField } from \"formik\";\n\nimport { getLabel } from \"components/ExternalForm/utils\";\nimport { validateFieldValue } from \"components/ExternalForm/utils/validations\";\nimport { fieldWithFallback } from \"utils\";\n\nimport { CAPTCHA_COMPONENT_MAP } from \"../constants\";\n\nconst CaptchaField = ({ question, preview, customValidator, captchaRef }) => {\n const { id: name, kind, isRequired, variant, nodeId } = question;\n\n const label = fieldWithFallback(question, \"label\");\n\n const [_, { touched, error }, { setValue, setTouched }] = useField({\n name: name || nodeId,\n validate: validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n variant,\n }),\n });\n\n const handleVerifyCaptcha = response => {\n setTouched(true);\n setValue(response);\n };\n\n const Component = CAPTCHA_COMPONENT_MAP[variant];\n\n return (\n <div className=\"neeto-form-engine-input__wrapper\">\n <div className=\"neeto-form-engine-input__label-wrapper\">\n {label && (\n <label className=\"neeto-form-engine-label\">\n {getLabel(label, isRequired)}\n </label>\n )}\n </div>\n <div className={classnames({ \"pointer-events-none\": preview })}>\n <Component\n {...{ captchaRef, handleVerifyCaptcha }}\n handleBlur={() => setTouched(true)}\n />\n </div>\n {touched && error && (\n <p\n className=\"neeto-form-engine-input__error\"\n data-cy=\"neeto-form-engine-captcha-error\"\n >\n {error}\n </p>\n )}\n </div>\n );\n};\n\nexport default CaptchaField;\n","export const MATH_OPERATORS = { PLUS: \"+\", MINUS: \"-\" };\n","import { getRandomInt, randomPick } from \"neetocist\";\nimport { values } from \"ramda\";\n\nimport { MATH_OPERATORS } from \"./constants\";\n\nexport const generateRandomOperation = () => {\n const firstNumber = getRandomInt(1, 50);\n const secondNumber = getRandomInt(1, 50);\n const operator = randomPick(...values(MATH_OPERATORS));\n\n return { firstNumber, secondNumber, operator };\n};\n","import { useState, useImperativeHandle } from \"react\";\n\nimport { useUpdateEffect } from \"neetocommons/react-utils\";\nimport { withEventTargetValue } from \"neetocommons/utils\";\nimport { Refresh } from \"neetoicons\";\nimport { Input } from \"neetoui\";\n\nimport { MATH_OPERATORS } from \"./constants\";\nimport { generateRandomOperation } from \"./utils\";\n\nconst MathCaptcha = ({ captchaRef, handleVerifyCaptcha, handleBlur }) => {\n const [operation, setOperation] = useState(generateRandomOperation());\n const [userInput, setUserInput] = useState(\"\");\n\n const { firstNumber, secondNumber, operator } = operation;\n\n const resetCaptcha = () => {\n setOperation(generateRandomOperation());\n setUserInput(\"\");\n };\n\n useImperativeHandle(captchaRef, () => ({ reset: resetCaptcha }));\n\n const calculateResult = () => {\n switch (operator) {\n case MATH_OPERATORS.PLUS:\n return firstNumber + secondNumber;\n case MATH_OPERATORS.MINUS:\n return firstNumber - secondNumber;\n default:\n return null;\n }\n };\n\n const verifyCaptcha = () => {\n const result = calculateResult();\n if (result === null) return;\n\n handleVerifyCaptcha(result === Number(userInput));\n };\n\n useUpdateEffect(() => {\n verifyCaptcha();\n }, [userInput]);\n\n return (\n <div\n className=\"neeto-form-nano-math-captcha\"\n data-cy=\"math-captcha\"\n ref={captchaRef}\n >\n <button\n className=\"neeto-form-nano-math-captcha__button\"\n type=\"button\"\n onClick={resetCaptcha}\n >\n <Refresh />\n </button>\n <div className=\"neeto-form-nano-math-captcha__equation\">\n <span data-cy=\"first-number\">{firstNumber}</span>\n <span data-cy=\"operator\">{operator}</span>\n <span data-cy=\"second-number\">{secondNumber}</span>\n <span>=</span>\n </div>\n <Input\n required\n className=\"neeto-form-nano-math-captcha__input\"\n data-cy=\"math-captcha-input\"\n value={userInput}\n onBlur={handleBlur}\n onChange={withEventTargetValue(setUserInput)}\n />\n </div>\n );\n};\n\nexport default MathCaptcha;\n","import { noop } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport ReCAPTCHA from \"react-google-recaptcha\";\n\nimport { clientI18nInstance } from \"components/ExternalForm/utils/clientI18nInstance\";\n\nconst Recaptcha = ({ captchaRef, handleVerifyCaptcha }) => {\n const verifyRecaptcha = response => {\n if (response === null) {\n return;\n }\n\n handleVerifyCaptcha(response);\n };\n\n const expiredRecaptcha = () => {\n captchaRef?.current?.reset();\n handleVerifyCaptcha(\"\");\n };\n\n return (\n <ReCAPTCHA\n hl={clientI18nInstance.language}\n key={clientI18nInstance.language}\n ref={captchaRef}\n sitekey={globalProps.formNanoRecaptchaV2SiteKey}\n onChange={verifyRecaptcha}\n onErrored={noop}\n onExpired={expiredRecaptcha}\n />\n );\n};\n\nexport default Recaptcha;\n","import { Field } from \"formik\";\nimport { Checkbox } from \"neetoui\";\n\nimport { fieldWithFallback } from \"utils\";\n\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst ConditionField = ({ question, customValidator }) => {\n const { id: name, kind, isRequired, nodeId } = question;\n const label = fieldWithFallback(question, \"label\");\n\n return (\n <Field\n name={name || nodeId}\n validate={validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n })}\n >\n {({ meta, field }) => (\n <Checkbox\n {...{ ...field, label, name }}\n checked={field.value}\n error={meta.touched ? meta.error : \"\"}\n required={isRequired}\n />\n )}\n </Field>\n );\n};\n\nexport default ConditionField;\n","import { Field } from \"formik\";\nimport { hyphenate } from \"neetocist\";\nimport { DatePicker } from \"neetoui\";\n\nimport { fieldWithFallback } from \"utils\";\n\nimport { getValidDate } from \"./utils\";\n\nimport { QUESTION_KIND } from \"../constants\";\nimport { getLabel } from \"../utils\";\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst DateField = ({ question, customValidator }) => {\n const { id: name, kind, isRequired, nodeId, isReadOnly } = question;\n const label = fieldWithFallback(question, \"label\");\n\n const { type = \"date\" } = QUESTION_KIND[kind.toUpperCase()];\n\n return (\n <div className=\"neeto-form-engine-input__wrapper\">\n <div className=\"neeto-form-engine-input__label-wrapper\">\n {label && (\n <label\n className=\"neeto-form-engine-label\"\n data-cy={`${hyphenate(label)}-input-label`}\n >\n {getLabel(label, isRequired)}\n </label>\n )}\n </div>\n <div className=\"neeto-form-engine-date-picker\">\n <Field\n name={name || nodeId}\n validate={validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n })}\n >\n {({ meta, field: { value, ...field }, form }) => (\n <DatePicker\n {...{ ...field, type }}\n data-cy={`${hyphenate(label)}-input-field`}\n dateFormat=\"MMM D, YYYY\"\n disabled={isReadOnly}\n error={meta.touched ? meta.error : \"\"}\n placeholder={fieldWithFallback(question, \"placeholder\")}\n popupClassName=\"neeto-form-engine-date-picker-popup\"\n required={isRequired}\n size=\"small\"\n value={getValidDate(value)}\n onChange={date => {\n form.setFieldValue(name, date ? date.toISOString() : \"\");\n }}\n />\n )}\n </Field>\n </div>\n </div>\n );\n};\n\nexport default DateField;\n","import axios from \"axios\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport {\n EMAIL_VERIFICATIONS_CREATE_URL,\n EMAIL_VERIFICATIONS_VERIFY_URL,\n} from \"src/common/constants\";\n\nconst create = ({ formId, questionId, payload }) =>\n axios.post(\n buildUrl(EMAIL_VERIFICATIONS_CREATE_URL, { formId, questionId }),\n payload,\n { showToastr: false }\n );\n\nconst verify = ({ formId, questionId, payload }) =>\n axios.post(\n buildUrl(EMAIL_VERIFICATIONS_VERIFY_URL, { formId, questionId }),\n payload,\n { showToastr: false }\n );\n\nconst emailVerificationsApi = { create, verify };\n\nexport default emailVerificationsApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport emailVerificationsApi from \"apis/email_verifications\";\n\nconst getMutationCallbacks = options => ({\n onSuccess: (...args) => options.onSuccess?.(...args),\n onError: (...args) => options.onError?.(...args),\n});\n\nexport const useSendEmailVerificationCode = (\n formId,\n questionId,\n options = {}\n) =>\n useMutation({\n mutationFn: payload =>\n emailVerificationsApi.create({ formId, questionId, payload }),\n ...options,\n ...getMutationCallbacks(options),\n });\n\nexport const useVerifyEmailVerificationCode = (\n formId,\n questionId,\n options = {}\n) =>\n useMutation({\n mutationFn: payload =>\n emailVerificationsApi.verify({ formId, questionId, payload }),\n ...options,\n ...getMutationCallbacks(options),\n });\n","import { CheckCircle } from \"neetoicons\";\nimport { Spinner, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SendCodeButton = ({\n isCodeVerified,\n isSendingVerificationCode,\n handleClick,\n isDisabled,\n}) => {\n const { t } = useTranslation();\n\n if (isCodeVerified) {\n return <CheckCircle />;\n }\n\n return (\n <Button\n disabled={isDisabled}\n size=\"small\"\n style=\"secondary\"\n onClick={handleClick}\n >\n {isSendingVerificationCode ? (\n <Spinner size=\"16\" />\n ) : (\n t(\"neetoForm.emailVerification.sendCode\")\n )}\n </Button>\n );\n};\n\nexport default SendCodeButton;\n","import { useState, useEffect } from \"react\";\n\nimport { Button } from \"neetoui\";\nimport { dec, max, pipe } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { ONE_SECOND, RESEND_DELAY } from \"./constants\";\nimport { getRemainingTime, storeLastVerificationCodeSentAt } from \"./utils\";\n\nconst ResendVerificationCode = ({\n formId,\n questionId,\n sendVerificationCode,\n isResendDisabled,\n}) => {\n const [secondsLeft, setSecondsLeft] = useState(\n getRemainingTime(formId, questionId)\n );\n\n const { t } = useTranslation();\n\n useEffect(() => {\n if (secondsLeft <= 0) return undefined;\n\n const interval = setTimeout(() => {\n setSecondsLeft(pipe(dec, max(0)));\n }, ONE_SECOND);\n\n return () => clearTimeout(interval);\n }, [secondsLeft]);\n\n const handleResendClick = () => {\n if (secondsLeft !== 0) return;\n\n sendVerificationCode();\n setSecondsLeft(RESEND_DELAY);\n storeLastVerificationCodeSentAt(formId, questionId);\n };\n\n return (\n <p>\n {!isResendDisabled && secondsLeft > 0 ? (\n t(\"neetoForm.emailVerification.resendInSeconds\", { secondsLeft })\n ) : (\n <Trans\n i18nKey=\"neetoForm.emailVerification.resendCode\"\n components={{\n button: (\n <Button\n disabled={isResendDisabled}\n size=\"small\"\n style=\"link\"\n onClick={handleResendClick}\n />\n ),\n }}\n />\n )}\n </p>\n );\n};\n\nexport default ResendVerificationCode;\n","import { useEffect, useState } from \"react\";\n\nimport { useField } from \"formik\";\nimport { isPresent } from \"neetocist\";\nimport { withEventTargetValue } from \"neetocommons/utils\";\nimport { Callout, Input } from \"neetoui\";\nimport { equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { validateVerificationCode } from \"components/ExternalForm/utils/validations\";\nimport { useVerifyEmailVerificationCode } from \"hooks/useEmailVerificationsApi\";\n\nimport { CALLOUT_STYLES, EMAIL_VERIFICATION_KEYS } from \"./constants\";\nimport ResendVerificationCode from \"./ResendVerificationCode\";\nimport {\n buildVerificationFieldName,\n setEmailVerificationDetail,\n} from \"./utils\";\n\nconst VerifyCode = ({\n formId,\n questionId,\n email,\n emailVerificationToken,\n setIsCodeVerified,\n handleResponseError,\n hasSentVerificationCode,\n calloutDetails,\n handleSendVerificationCode,\n isRequired,\n isVerificationEnabled,\n}) => {\n const { t } = useTranslation();\n\n const verificationFieldName = buildVerificationFieldName(questionId);\n\n const [field, { touched, error }, { setValue, setTouched }] = useField({\n name: verificationFieldName,\n validate: validateVerificationCode({\n isVerificationEnabled,\n isRequired,\n email,\n }),\n });\n\n const code = field.value;\n const [previousCode, setPreviousCode] = useState(code);\n\n const { mutate: verifyCode, isPending: isVerifyingCode } =\n useVerifyEmailVerificationCode(formId, questionId, {\n onSuccess: (_, { emailVerifications }) => {\n setIsCodeVerified(true);\n setPreviousCode(emailVerifications.otp);\n setEmailVerificationDetail(formId, questionId, {\n [EMAIL_VERIFICATION_KEYS.EMAIL]: emailVerifications.email,\n [EMAIL_VERIFICATION_KEYS.CODE]: emailVerifications.otp,\n [EMAIL_VERIFICATION_KEYS.VERIFIED]: true,\n });\n },\n onError: handleResponseError,\n });\n\n const hasError = isPresent(error);\n\n useEffect(() => {\n const handleVerifyCode = () => {\n if (equals(code, previousCode) || hasError || code?.length !== 6) {\n return;\n }\n\n verifyCode({\n emailVerifications: {\n email,\n token: emailVerificationToken,\n otp: code,\n },\n });\n };\n\n handleVerifyCode();\n }, [code, hasError]);\n\n return (\n <>\n <Input\n {...{ ...field }}\n disabled={isVerifyingCode}\n error={touched ? error : \"\"}\n loading={isVerifyingCode}\n name={verificationFieldName}\n placeholder={t(\"neetoForm.emailVerification.verificationCode\")}\n size=\"small\"\n onBlur={() => setTouched(true)}\n onChange={withEventTargetValue(setValue)}\n />\n {hasSentVerificationCode && (\n <ResendVerificationCode\n {...{ formId, questionId }}\n isResendDisabled={calloutDetails.style === CALLOUT_STYLES.ERROR}\n sendVerificationCode={handleSendVerificationCode}\n />\n )}\n {calloutDetails.message && (\n <Callout style={calloutDetails.style}>{calloutDetails.message}</Callout>\n )}\n </>\n );\n};\n\nexport default VerifyCode;\n","import { useState } from \"react\";\n\nimport { useField, useFormikContext } from \"formik\";\nimport { noop, isPresent, isNotPresent } from \"neetocist\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport { withEventTargetValue } from \"neetocommons/utils\";\nimport { Input, Toastr } from \"neetoui\";\nimport { omit, values } from \"ramda\";\n\nimport { useSendEmailVerificationCode } from \"hooks/useEmailVerificationsApi\";\nimport { fieldWithFallback } from \"utils\";\n\nimport {\n RESEND_DELAY,\n ONE_SECOND,\n EMAIL_VERIFICATION_KEYS,\n CALLOUT_STYLES,\n DEFAULT_CALLOUT_DETAILS,\n} from \"./constants\";\nimport SendCodeButton from \"./SendCodeButton\";\nimport {\n getLastVerificationCodeSentAt,\n storeLastVerificationCodeSentAt,\n getEmailVerificationDetail,\n setEmailVerificationDetail,\n removeEmailVerificationDetail,\n buildVerificationFieldName,\n} from \"./utils\";\nimport VerifyCode from \"./VerifyCode\";\n\nimport { QUESTION_KIND } from \"../../constants\";\nimport { validateFieldValue } from \"../../utils/validations\";\n\nconst EmailField = ({\n question,\n customValidator,\n autoComplete,\n preview: isPreview,\n}) => {\n const {\n id: questionId,\n kind,\n isRequired,\n isReadOnly,\n isDomainWhitelistingEnabled,\n whitelistedDomains,\n isDomainBlacklistingEnabled,\n blacklistedDomains,\n isVerificationEnabled,\n nodeId,\n formId,\n } = question;\n const label = fieldWithFallback(question, \"label\");\n const [calloutDetails, setCalloutDetails] = useState(DEFAULT_CALLOUT_DETAILS);\n\n const { type } = QUESTION_KIND[kind.toUpperCase()];\n\n const [hasSentVerificationCode, setHasSentVerificationCode] = useState(\n getLastVerificationCodeSentAt(questionId) > 0\n );\n\n const verificationStatus = getEmailVerificationDetail(\n formId,\n questionId,\n EMAIL_VERIFICATION_KEYS.VERIFIED\n );\n\n const [isCodeVerified, setIsCodeVerified] = useStateWithDependency(\n verificationStatus,\n [verificationStatus]\n );\n\n const [field, { touched, error }, { setValue, setTouched }] = useField({\n name: questionId || nodeId,\n validate: validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n whitelistedDomains: isDomainWhitelistingEnabled ? whitelistedDomains : [],\n blacklistedDomains: isDomainBlacklistingEnabled ? blacklistedDomains : [],\n }),\n });\n\n const { setFieldValue } = useFormikContext();\n\n const email = field.value;\n const emailVerificationToken = getEmailVerificationDetail(\n formId,\n questionId,\n EMAIL_VERIFICATION_KEYS.TOKEN\n );\n\n const handleResponseError = error => {\n const message = error?.response?.data?.error;\n if (error?.status === 429) {\n setCalloutDetails({ message, style: CALLOUT_STYLES.ERROR });\n storeLastVerificationCodeSentAt(\n formId,\n questionId,\n RESEND_DELAY * ONE_SECOND\n );\n } else {\n Toastr.error(message);\n }\n };\n\n // TODO backend validation\n const { mutate: sendVerificationCode, isPending: isSendingVerificationCode } =\n useSendEmailVerificationCode(formId, questionId, {\n onSuccess: ({ token, message }) => {\n setHasSentVerificationCode(true);\n storeLastVerificationCodeSentAt(formId, questionId);\n\n if (!emailVerificationToken) {\n setEmailVerificationDetail(formId, questionId, {\n [EMAIL_VERIFICATION_KEYS.TOKEN]: token,\n });\n }\n\n if (message) {\n setCalloutDetails({ message, style: CALLOUT_STYLES.WARNING });\n }\n },\n onError: handleResponseError,\n });\n\n const resetVerifiedData = email => {\n const verifiedEmail = getEmailVerificationDetail(\n formId,\n questionId,\n EMAIL_VERIFICATION_KEYS.EMAIL\n );\n\n if (email !== verifiedEmail) {\n removeEmailVerificationDetail(\n formId,\n questionId,\n values(omit([\"TOKEN\"], EMAIL_VERIFICATION_KEYS))\n );\n setIsCodeVerified(false);\n setFieldValue(buildVerificationFieldName(questionId), \"\");\n setHasSentVerificationCode(false);\n setCalloutDetails(DEFAULT_CALLOUT_DETAILS);\n }\n };\n\n const handleFieldChange = withEventTargetValue(setValue);\n\n const handleSendVerificationCode = () =>\n sendVerificationCode({\n emailVerifications: { email, token: emailVerificationToken },\n });\n\n const shouldShowVerifyButton =\n isVerificationEnabled &&\n (isPreview || (isPresent(email) && isNotPresent(error)));\n\n return (\n <div className=\"flex-col space-y-2\">\n <Input\n {...{\n type,\n ...field,\n autoComplete,\n label,\n ...(shouldShowVerifyButton && {\n suffix: (\n <SendCodeButton\n {...{ isCodeVerified, isSendingVerificationCode }}\n handleClick={isPreview ? noop : handleSendVerificationCode}\n isDisabled={isCodeVerified || hasSentVerificationCode}\n />\n ),\n }),\n }}\n disabled={isReadOnly}\n error={touched && !isCodeVerified ? error : \"\"}\n name={kind}\n placeholder={fieldWithFallback(question, \"placeholder\")}\n required={isRequired}\n onBlur={() => setTouched(true)}\n onBlurCapture={withEventTargetValue(resetVerifiedData)}\n onChange={handleFieldChange}\n />\n {shouldShowVerifyButton && !isCodeVerified && (\n <VerifyCode\n {...{\n calloutDetails,\n email,\n emailVerificationToken,\n formId,\n handleResponseError,\n handleSendVerificationCode,\n hasSentVerificationCode,\n isRequired,\n isVerificationEnabled,\n questionId,\n setIsCodeVerified,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default EmailField;\n","import { useField } from \"formik\";\nimport { FileUpload } from \"neetomolecules/FileUpload\";\nimport { Label } from \"neetoui\";\n\nimport { fieldWithFallback } from \"utils\";\n\nimport { validateFieldValue } from \"../../utils/validations\";\n\nconst FileUploadField = ({ question, preview = false, customValidator }) => {\n const {\n id: name,\n kind,\n isRequired,\n nodeId,\n allowedFileTypes,\n multipleFilesAllowed,\n maxFileSize,\n } = question;\n const label = fieldWithFallback(question, \"label\");\n\n const [_, { value, touched, error }, { setValue, setError, setTouched }] =\n useField({\n name: name || nodeId,\n validate: validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n multipleFilesAllowed,\n }),\n });\n\n const errorToDisplay = touched && error ? error : \"\";\n\n return (\n <div className=\"neeto-form-engine-input__wrapper\">\n <div className=\"neeto-form-engine-input__label-wrapper\">\n <Label className=\"neeto-form-engine-label\" required={isRequired}>\n {label}\n </Label>\n </div>\n <FileUpload\n {...{\n allowedFileTypes,\n maxFileSize,\n multipleFilesAllowed,\n setError,\n setTouched,\n }}\n error={errorToDisplay}\n files={value?.files}\n isPreview={preview}\n onChange={files => setValue({ files })}\n />\n </div>\n );\n};\n\nexport default FileUploadField;\n","import { useField } from \"formik\";\nimport { withEventTargetValue } from \"neetocommons/utils\";\nimport { Input } from \"neetoui\";\n\nimport { QUESTION_KIND } from \"components/ExternalForm/constants\";\nimport { validateFieldValue } from \"components/ExternalForm/utils/validations\";\nimport { fieldWithFallback } from \"utils\";\n\nconst Field = ({\n question,\n name,\n labelField,\n placeholderField,\n customValidator,\n autoComplete,\n}) => {\n const { kind, isRequired, nodeId, isReadOnly } = question;\n const label = fieldWithFallback(question, labelField);\n const { type } = QUESTION_KIND.NAME;\n\n const [field, { touched, error }, { setValue, setTouched }] = useField({\n name: name || nodeId,\n validate: validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n }),\n });\n\n return (\n <Input\n {...{ type, ...field, autoComplete, label, name }}\n disabled={isReadOnly}\n error={touched ? error : \"\"}\n placeholder={fieldWithFallback(question, placeholderField)}\n required={isRequired}\n onBlur={() => setTouched(true)}\n onChange={withEventTargetValue(setValue)}\n />\n );\n};\n\nexport default Field;\n","import { LABEL_FIELDS } from \"components/Common/constants\";\n\nimport Field from \"./Field\";\n\nconst NameField = props => {\n const { id, isSplitMode } = props.question;\n\n if (isSplitMode) {\n return (\n <div className=\"flex w-full justify-between space-x-4\">\n <Field\n {...props}\n labelField={LABEL_FIELDS.FIRST_NAME}\n name={`${id}.firstName`}\n placeholderField=\"firstNamePlaceholder\"\n />\n <Field\n {...props}\n labelField={LABEL_FIELDS.LAST_NAME}\n name={`${id}.lastName`}\n placeholderField=\"lastNamePlaceholder\"\n />\n </div>\n );\n }\n\n return (\n <Field\n {...props}\n labelField={LABEL_FIELDS.FULL_NAME}\n name={`${id}.fullName`}\n placeholderField=\"fullNamePlaceholder\"\n />\n );\n};\n\nexport default NameField;\n","import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Checkbox, Radio } from \"neetoui\";\n\nconst Choices = ({\n label,\n options,\n type,\n name,\n value,\n onChange,\n error,\n isDisabled: disabled,\n}) => {\n const isCheckBox = type === \"checkbox\";\n const ChoiceWrapper = isCheckBox ? \"div\" : Radio;\n const Component = isCheckBox ? Checkbox : Radio.Item;\n\n return (\n <div\n className=\"neeto-form-engine-choices__wrapper\"\n data-cy={`${hyphenate(label)}-select-container-wrapper`}\n >\n <label\n className=\"neeto-form-engine-label\"\n data-cy={`${hyphenate(label)}-input-label`}\n >\n {label}\n </label>\n <ChoiceWrapper\n className=\"neeto-form-engine-choices\"\n stacked={!isCheckBox}\n >\n {options.map((option, index) => (\n <label\n htmlFor={option.id}\n key={option.id}\n className={classnames(\"neeto-form-engine-choice\", {\n active: false,\n })}\n >\n <Component\n {...{ disabled, onChange, type }}\n className={classnames({ \"cursor-not-allowed\": disabled })}\n id={option.id}\n label={option.label}\n name={isCheckBox ? `${name}.${index}` : name}\n value={option.id}\n checked={\n isCheckBox ? value?.[index] ?? false : value === option.id\n }\n />\n </label>\n ))}\n </ChoiceWrapper>\n {!!error && typeof error === \"string\" && (\n <p\n className=\"neeto-form-engine-input__error\"\n data-cy={`neeto-form-engine-${type}-error`}\n >\n {error}\n </p>\n )}\n </div>\n );\n};\n\nexport default memo(Choices);\n","import { Field, useFormikContext } from \"formik\";\nimport { findBy } from \"neetocist\";\nimport { Select } from \"neetoui\";\n\nimport { fieldWithFallback } from \"utils\";\n\nimport { containsIgnoreCase } from \"./utils\";\n\nimport Choices from \"../Choices\";\nimport { QUESTION_KIND } from \"../constants\";\nimport { getError, getLabel } from \"../utils\";\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst OptionsField = ({ question, customValidator }) => {\n const { setFieldTouched, setFieldValue, validateField } = useFormikContext();\n const {\n id: name,\n kind,\n isRequired,\n isReadOnly,\n optionsAttributes: options = [],\n } = question;\n\n const isDropdown = kind === QUESTION_KIND.DROPDOWN.value;\n const label = fieldWithFallback(question, \"label\");\n\n const Component = isDropdown ? Select : Choices;\n\n const transformedOptions = isDropdown\n ? options.map(option => ({\n label: fieldWithFallback(option, \"label\"),\n position: option.position,\n value: option.id,\n }))\n : options.map(option => ({\n ...option,\n label: fieldWithFallback(option, \"label\"),\n }));\n\n const handleSelect = option => {\n setFieldValue(name, option.value, false);\n setFieldTouched(name, true, false);\n setTimeout(() => validateField(name));\n };\n\n const customFilter = (option, inputValue) => {\n if (!option) return false;\n\n return containsIgnoreCase(option.label, inputValue);\n };\n\n return (\n <Field\n {...{ name }}\n validate={validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n })}\n >\n {({ meta, field }) => {\n const { onChange, value } = field;\n\n return (\n <Component\n {...{ isRequired, name }}\n error={getError(meta)}\n isDisabled={isReadOnly}\n label={getLabel(label, isRequired)}\n options={transformedOptions}\n strategy=\"fixed\"\n type={kind}\n {...(isDropdown && { filterOption: customFilter })}\n value={\n isDropdown ? findBy({ value }, transformedOptions) || null : value\n }\n onChange={isDropdown ? handleSelect : onChange}\n />\n );\n }}\n </Field>\n );\n};\n\nexport default OptionsField;\n","import { useField } from \"formik\";\nimport { PhoneNumberInput } from \"neetomolecules/PhoneNumber\";\n\nimport { fieldWithFallback } from \"utils\";\n\nimport { getPhoneData } from \"./utils\";\n\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst PhoneNumberField = ({ question, autoComplete }) => {\n const { id: name, kind, isRequired, nodeId, isReadOnly } = question;\n const label = fieldWithFallback(question, \"label\");\n\n const [{ value }, { touched, error }, { setValue, setTouched }] = useField({\n name: name || nodeId,\n validate: validateFieldValue({ kind, label, isRequired }),\n });\n\n return (\n <PhoneNumberInput\n {...{ autoComplete, label, value }}\n className=\"neeto-form-engine-input__wrapper items-stretch\"\n disabled={isReadOnly}\n error={touched ? error : \"\"}\n initialCountryCode={getPhoneData(value)?.country}\n placeholder={fieldWithFallback(question, \"placeholder\")}\n required={isRequired}\n selectProps={{ isDisabled: isReadOnly }}\n onBlur={() => setTouched(true)}\n onChange={setValue}\n />\n );\n};\n\nexport default PhoneNumberField;\n","import { memo, Fragment } from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { RATING_OPTIONS } from \"./constants\";\n\nconst Rating = ({\n name,\n label,\n error,\n lowestRatingLabel,\n averageRatingLabel,\n highestRatingLabel,\n value,\n disabled,\n ...other\n}) => {\n const handleClick = e => e.currentTarget.nextElementSibling.click();\n\n const render = () => {\n const labels = [highestRatingLabel, averageRatingLabel, lowestRatingLabel];\n\n return RATING_OPTIONS.map(\n ({ icon: Icon, modifier, value: rating }, index) => (\n <Fragment key={rating}>\n <button\n {...{ disabled }}\n type=\"button\"\n className={classnames(\n `neeto-form-engine-rating__item neeto-form-engine-rating__item--${modifier}`,\n { active: rating === value }\n )}\n onClick={handleClick}\n >\n <Icon />\n <label className=\"neeto-form-engine-label\">{labels[index]}</label>\n </button>\n <input\n {...{ name }}\n hidden\n checked={rating === value}\n type=\"radio\"\n value={rating}\n {...other}\n />\n </Fragment>\n )\n );\n };\n\n return (\n <div className=\"neeto-form-engine-rating\">\n <label className=\"neeto-form-engine-label\" data-cy=\"rating-input-label\">\n {label}\n </label>\n <div\n className=\"neeto-form-engine-rating__row\"\n data-cy=\"rating-input-field\"\n >\n {render()}\n </div>\n {!!error && typeof error === \"string\" && (\n <p\n className=\"neeto-form-engine-input__error\"\n data-cy=\"neeto-form-engine-rating-error\"\n >\n {error}\n </p>\n )}\n </div>\n );\n};\n\nexport default memo(Rating);\n","import { Field } from \"formik\";\n\nimport { fieldWithFallback } from \"utils\";\n\nimport { RATING_VALUES } from \"../constants\";\nimport Rating from \"../Rating\";\nimport { getLabel } from \"../utils\";\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst RatingField = ({ question, customValidator }) => {\n const { id: name, kind, isRequired: isRequired, isReadOnly } = question;\n const label = fieldWithFallback(question, \"label\");\n\n return (\n <Field\n {...{ name }}\n validate={validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n })}\n >\n {({ meta, field }) => (\n <Rating\n {...field}\n disabled={isReadOnly}\n error={meta.touched ? meta.error : \"\"}\n label={getLabel(label, isRequired)}\n averageRatingLabel={\n fieldWithFallback(question, \"averageRatingLabel\") ||\n RATING_VALUES.AVERAGE.label\n }\n highestRatingLabel={\n fieldWithFallback(question, \"highestRatingLabel\") ||\n RATING_VALUES.GOOD.label\n }\n lowestRatingLabel={\n fieldWithFallback(question, \"lowestRatingLabel\") ||\n RATING_VALUES.BAD.label\n }\n />\n )}\n </Field>\n );\n};\n\nexport default RatingField;\n","import { useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { FastField, useFormikContext } from \"formik\";\nimport { hyphenate } from \"neetocist\";\n\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport { Editor } from \"neetoeditor\";\nimport { fieldWithFallback } from \"utils\";\n\nimport { isPropsUnequal } from \"./utils\";\n\nimport { getLabel } from \"../utils\";\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst RichTextEditor = ({ editorRef, question, editorProps = {} }) => {\n const { errors, touched } = useFormikContext();\n\n const { id: name, kind, isRequired, nodeId, isReadOnly } = question;\n const label = fieldWithFallback(question, \"label\");\n\n const debouncedPlaceholder = useDebounce(\n fieldWithFallback(question, \"placeholder\"),\n 300\n );\n\n useEffect(() => {\n editorRef?.current?.editor?.setEditable?.(!isReadOnly);\n }, [editorRef?.current, isReadOnly]);\n\n const propsToCompare = [\"debouncedPlaceholder\", \"error\", \"touched\"];\n\n return (\n <div className=\"neeto-form-engine-input__wrapper\">\n <div className=\"neeto-form-engine-input__label-wrapper\">\n {label && (\n <label\n className=\"neeto-form-engine-label\"\n data-cy={`${hyphenate(label)}-input-label`}\n >\n {getLabel(label, isRequired)}\n </label>\n )}\n </div>\n <FastField\n {...{ debouncedPlaceholder }}\n error={errors[name]}\n name={name || nodeId}\n shouldUpdate={isPropsUnequal(propsToCompare)}\n touched={touched[name]}\n validate={validateFieldValue({ kind, label, isRequired })}\n >\n {({ field, form, meta }) => (\n <Editor\n editable={isReadOnly}\n error={meta.touched ? meta.error : \"\"}\n initialValue={field.value}\n key={debouncedPlaceholder}\n menuType={isReadOnly ? \"bubble\" : \"fixed\"}\n placeholder={debouncedPlaceholder}\n ref={editorRef}\n addons={\n isReadOnly\n ? []\n : [\"attachments\", \"block-quote\", \"code-block\", \"image-upload\"]\n }\n className={classnames(\"neeto-form-engine-rich-text-input\", {\n \"cursor-not-allowed border\": isReadOnly,\n })}\n onBlur={() => form.setFieldTouched(name, true)}\n onChange={value => form.setFieldValue(name, value)}\n {...editorProps}\n />\n )}\n </FastField>\n </div>\n );\n};\n\nexport default RichTextEditor;\n","import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { equals } from \"ramda\";\n\nimport { ICONS_MAP } from \"./constants\";\nimport { getSelectedRating } from \"./utils\";\n\nconst RatingButton = ({\n value = 0,\n iconType,\n label,\n rating,\n ...otherProps\n}) => {\n const handleClick = e => e.currentTarget.nextElementSibling.click();\n\n const Icon = ICONS_MAP[iconType];\n\n const selectedRating = getSelectedRating(value);\n\n return (\n <>\n <button\n className={classnames({ active: rating === value })}\n disabled={otherProps?.disabled}\n type=\"button\"\n onClick={handleClick}\n >\n <Icon\n size={24}\n className={classnames(\"neeto-form-engine-star-rating__icon\", {\n \"neeto-form-engine-star-rating__icon--active\":\n rating <= selectedRating,\n })}\n />\n <label className=\"neeto-form-engine-label\">{label}</label>\n </button>\n <input\n hidden\n checked={equals(rating, value)}\n type=\"radio\"\n value={rating}\n {...otherProps}\n />\n </>\n );\n};\n\nexport default memo(RatingButton);\n","import { memo } from \"react\";\n\nimport { generateArray } from \"components/BuildForm/Questions/utils\";\n\nimport RatingButton from \"./RatingButton\";\n\nconst StarRating = ({ label, minValue, maxValue, error, ...props }) => (\n <div className=\"neeto-form-engine-input__wrapper neeto-form-engine-star-rating\">\n <div className=\"neeto-form-engine-input__label-wrapper\">\n <label\n className=\"neeto-form-engine-label\"\n data-cy=\"star-rating-input-label\"\n >\n {label}\n </label>\n </div>\n <div\n className=\"neeto-form-engine-star-rating__row\"\n data-cy=\"star-rating-input-field\"\n >\n {generateArray(minValue, maxValue).map(index => (\n <RatingButton key={index} label={index} rating={index} {...props} />\n ))}\n </div>\n {!!error && typeof error === \"string\" && (\n <p\n className=\"neeto-form-engine-input__error\"\n data-cy=\"neeto-form-engine-star-rating-error\"\n >\n {error}\n </p>\n )}\n </div>\n);\n\nexport default memo(StarRating);\n","import { Field } from \"formik\";\n\nimport { fieldWithFallback } from \"utils\";\n\nimport StarRating from \"../StarRating\";\nimport { getLabel } from \"../utils\";\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst StarRatingField = ({ question, customValidator }) => {\n const {\n id: name,\n kind,\n isRequired,\n minValue,\n maxValue,\n iconType,\n isReadOnly,\n } = question;\n const label = fieldWithFallback(question, \"label\");\n\n return (\n <Field\n {...{ name }}\n validate={validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n })}\n >\n {({ meta, field }) => (\n <StarRating\n {...{ iconType, maxValue, minValue, name }}\n disabled={isReadOnly}\n error={meta.touched ? meta.error : \"\"}\n label={getLabel(label, isRequired)}\n {...field}\n />\n )}\n </Field>\n );\n};\n\nexport default StarRatingField;\n","import { Field } from \"formik\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Checkbox } from \"neetoui\";\n\nimport { fieldWithFallback } from \"utils\";\n\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst TermsField = ({ question, customValidator }) => {\n const { id: name, kind, isRequired, nodeId } = question;\n const label = fieldWithFallback(question, \"label\", true);\n\n return (\n <Field\n name={name || nodeId}\n validate={validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n })}\n >\n {({ meta, field }) => (\n <div className=\"neeto-form-engine-terms\">\n <Checkbox\n {...{ ...field, name }}\n checked={field.value}\n error={meta.touched ? meta.error : \"\"}\n >\n <EditorContent content={label} />\n </Checkbox>\n </div>\n )}\n </Field>\n );\n};\n\nexport default TermsField;\n","import { useField } from \"formik\";\nimport { slugify } from \"neetocist\";\nimport { withEventTargetValue } from \"neetocommons/utils\";\nimport { Textarea, Input } from \"neetoui\";\n\nimport { fieldWithFallback } from \"utils\";\n\nimport { QUESTION_KIND } from \"../constants\";\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst TextField = ({ question, customValidator, autoComplete }) => {\n const { id: name, kind, isRequired, isReadOnly, nodeId } = question;\n const label = fieldWithFallback(question, \"label\");\n\n const {\n type = \"text\",\n onKeyDown,\n otherProps,\n } = QUESTION_KIND[kind.toUpperCase()];\n\n const Component = kind === QUESTION_KIND.TEXTAREA.value ? Textarea : Input;\n\n const [field, { touched, error }, { setValue, setTouched }] = useField({\n name: name || nodeId,\n validate: validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n }),\n });\n\n const handleFieldChange = withEventTargetValue(setValue);\n\n return (\n <Component\n {...{ type, ...field, autoComplete, label, onKeyDown }}\n disabled={isReadOnly}\n error={touched ? error : \"\"}\n name={slugify(label)}\n placeholder={fieldWithFallback(question, \"placeholder\")}\n required={isRequired}\n onBlur={() => setTouched(true)}\n onChange={otherProps?.onChange(handleFieldChange) ?? handleFieldChange}\n />\n );\n};\n\nexport default TextField;\n","import { EditorContent } from \"neetoeditor\";\n\nimport { CAPTCHA_TYPES } from \"components/constants\";\nimport { fieldWithFallback } from \"utils\";\n\nimport AdditionalGuests from \"./AdditionalGuests\";\nimport CaptchaField from \"./CaptchaField\";\nimport MathCaptcha from \"./CaptchaField/MathCaptcha\";\nimport Recaptcha from \"./CaptchaField/Recaptcha\";\nimport ConditionField from \"./ConditionField\";\nimport DateField from \"./DateField\";\nimport EmailField from \"./EmailField\";\nimport FileUploadField from \"./FileUploadField\";\nimport NameField from \"./NameField\";\nimport OptionsField from \"./OptionsField\";\nimport PhoneNumberField from \"./PhoneNumberField\";\nimport RatingField from \"./RatingField\";\nimport RichTextEditor from \"./RichTextEditor\";\nimport StarRatingField from \"./StarRatingField\";\nimport TermsField from \"./TermsField\";\nimport TextField from \"./TextField\";\n\nimport { QUESTION_KIND } from \"../constants\";\n\nexport const QUESTION_TO_COMPONENT_MAP = {\n [QUESTION_KIND.TEXT.value]: TextField,\n [QUESTION_KIND.NAME.value]: NameField,\n [QUESTION_KIND.EMAIL.value]: EmailField,\n [QUESTION_KIND.INTEGER.value]: TextField,\n [QUESTION_KIND.DECIMAL.value]: TextField,\n [QUESTION_KIND.PHONE.value]: PhoneNumberField,\n [QUESTION_KIND.QUESTION.value]: TextField,\n [QUESTION_KIND.TEXTAREA.value]: TextField,\n [QUESTION_KIND.CHECKBOX.value]: OptionsField,\n [QUESTION_KIND.RADIO.value]: OptionsField,\n [QUESTION_KIND.DROPDOWN.value]: OptionsField,\n [QUESTION_KIND.RATING.value]: RatingField,\n [QUESTION_KIND.PARAGRAPH.value]: ({ question }) => (\n <EditorContent content={fieldWithFallback(question, \"label\", true)} />\n ),\n [QUESTION_KIND.TERMS.value]: TermsField,\n [QUESTION_KIND.DATE.value]: DateField,\n [QUESTION_KIND.STAR_RATING.value]: StarRatingField,\n [QUESTION_KIND.ADDITIONAL_GUESTS.value]: AdditionalGuests,\n [QUESTION_KIND.RICH_TEXT.value]: RichTextEditor,\n [QUESTION_KIND.CONDITION.value]: ConditionField,\n [QUESTION_KIND.FILE_UPLOAD.value]: FileUploadField,\n [QUESTION_KIND.CAPTCHA.value]: CaptchaField,\n [QUESTION_KIND.SMS_REMINDER.value]: PhoneNumberField,\n};\n\nexport const CAPTCHA_COMPONENT_MAP = {\n [CAPTCHA_TYPES.RECAPTCHA_V2]: Recaptcha,\n [CAPTCHA_TYPES.MATH_CAPTCHA]: MathCaptcha,\n};\n","import { parsePhoneNumber } from \"libphonenumber-js\";\nimport { notEqualsDeep } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { pick } from \"ramda\";\n\nimport { QUESTION_TO_COMPONENT_MAP } from \"./constants\";\n\nexport const getFieldComponent = ({ kind }) => {\n if (kind in QUESTION_TO_COMPONENT_MAP) return QUESTION_TO_COMPONENT_MAP[kind];\n\n return () => null;\n};\n\nexport const isPropsUnequal = props => (nextProps, prevProps) =>\n notEqualsDeep(pick(props, nextProps), pick(props, prevProps));\n\nexport const getValidDate = date => {\n if (!date) return \"\";\n\n return dayjs(date).isValid() ? dayjs(date) : \"\";\n};\n\nexport const getPhoneData = (value, countryCode) => {\n try {\n return parsePhoneNumber(value, countryCode);\n } catch {\n return undefined;\n }\n};\n\nexport const containsIgnoreCase = (string, substring) =>\n string.toLowerCase().includes(substring.toLowerCase());\n"],"names":["clientI18nInstance","i18next","cloneInstance","clearLocalStorageValues","key","localStorage","removeItem","error","console","setWithExpiry","value","expireInDays","arguments","length","undefined","expiryDate","dayjs","add","toDate","item","localStorageExpiry","getTime","setItem","JSON","stringify","getWithExpiry","itemStr","getItem","parse","now","Date","FormikWrap","_ref","onError","children","formId","preserveValues","onValuesChange","dataUpdateCount","_useFormikContext","useFormikContext","errors","touched","isValid","isSubmitting","values","validateForm","revalidate","isPresent","useEffect","language","syncValuesWithLocalStorage","isEmptyValues","concat","touchedErrors","Object","keys","filter","reduce","obj","isFunction","RESEND_DELAY","ONE_SECOND","EMAIL_VERIFICATION_FIELD_NAME_PREFIX","EMAIL_VERIFICATION_PREFIX","EMAIL_VERIFICATION_KEYS","EMAIL","TOKEN","VERIFIED","CODE","CODE_SENT_AT","CALLOUT_STYLES","WARNING","ERROR","DEFAULT_CALLOUT_DETAILS","message","style","getEmailVerificationKey","getEmailVerificationDetails","getFromLocalStorage","buildVerificationFieldName","questionId","getLastVerificationCodeSentAt","codeSentAt","getEmailVerificationDetail","Number","storeLastVerificationCodeSentAt","offset","setEmailVerificationDetail","_defineProperty","getRemainingTime","elapsedTime","Math","floor","max","_questionDetails$keys","allDetails","questionDetails","_len","Array","_key","pick","data","storageKey","mergeRight","setToLocalStorage","removeEmailVerificationDetail","_len2","_key2","omit","isEmpty","removeFromLocalStorage","clearEmailVerificationDetails","t","getInvalidFieldError","label","getRequiredFieldError","getSelectMinError","min","entity","getInvalidTypeError","type","toEmailValues","map","valid","getPhoneNumberFromUrl","fieldCodes","fieldCode","countryCode","phoneNumber","formattedValue","getPhoneData","formatInternational","getOptionFromURL","_findBy","optionsAttributes","preFillOption","findBy","id","getMultipleOptionsFromURL","_ref2","fieldCodeValue","fill","allOptions","split","option","includes","getStarRatingFromUrl","_ref3","minValue","maxValue","rating","parseInt","isNil","isNaN","clamp","getAdditionalGuestsFromUrl","_ref4","allEmails","email","trim","EMAIL_REGEX","test","getRatingFromUrl","_ref5","allowedValues","RATING_VALUES","prop","getNumberFromUrl","_ref6","kind","parsedValue","QUESTION_KIND","INTEGER","parseFloat","getNameFromUrl","_ref7","isSplitMode","firstName","lastName","fullName","buildEmailVerificationEntries","questions","emailQuestionsRequiringVerification","filterBy","QUESTION_TYPES","isVerificationEnabled","fieldNames","_ref8","zipObj","getLabel","isRequired","generateInitValues","_ref9","_ref9$initialValues","initialValues","_ref9$localValues","localValues","_ref9$fieldCodes","initValues","valuesMap","acc","answer","_objectSpread","optionIds","forEach","question","CONDITION","_valuesMap$id$value","_valuesMap","ADDITIONAL_GUESTS","_valuesMap2","emailsFromSubmission","isNotEmpty","CHECKBOX","_valuesMap$id","_valuesMap$id2","RADIO","DROPDOWN","_optionsAttributes$fi","find","_valuesMap$id3","DECIMAL","_valuesMap3","RATING","_valuesMap4","TERMS","FILE_UPLOAD","_valuesMap$id$value2","_valuesMap5","files","PHONE","SMS_REMINDER","_valuesMap$id$value3","_valuesMap6","STAR_RATING","_valuesMap$id$value4","_valuesMap7","NAME","_valuesMap$id$value5","_valuesMap8","_valuesMap$id$value6","_valuesMap9","formInitialValues","mergeLeft","generateFormResponse","response","formResponse","SCHEMA_LESS_QUESTION_KINDS","responseValue","findById","push","questionOptionId","isChecked","index","isPhoneNumberField","parsePhoneNumber","pluck","DATE","format","mergeRefs","refs","node","ref","current","getError","meta","buildAutoCompleteAttribute","autoCompleteKinds","formDomProps","autoComplete","renderButtonsInOrder","buttonsArray","shouldReverse","orderedButtons","reverse","identity","getSelectedRating","__","yup","addMethod","array","field","getValue","valueInLowerCase","pipe","toLower","validItems","reject","uniqueItems","Set","size","createError","path","isValidDate","date","extractEmailDomain","isEmailFromWhitelistedDomain","whitelistedDomains","domain","isEmailFromBlacklistedDomain","blacklistedDomains","validateTextField","schema","string","typeError","phoneNumberValidation","required","validateEmailField","isNotPresent","validateNameField","validateSingleChoiceField","validateMultiChoiceField","of","compact","validateRatingField","validateStarRatingField","validateTermsField","_ref9$isRequired","oneOf","notRequired","validateConditionField","_ref10","_ref10$isRequired","validateDateField","_ref11","validateMultiEmailField","_ref12","object","shape","nullable","editorHasValue","content","isEditorEmpty","validateRichTextField","_ref13","validateFileUploadField","_ref14","multipleFilesAllowed","files_schema","name","signedId","url","unique","validateCaptchaField","_ref15","variant","CAPTCHA_TYPES","MATH_CAPTCHA","mixed","transform","fieldKindValidatorMap","_fieldKindValidatorMa","TEXT","QUESTION","TEXTAREA","RICH_TEXT","CAPTCHA","validateFieldValue","_ref16","customValidator","otherProps","_objectWithoutProperties","_excluded","validator","Promise","_ref17","_asyncToGenerator","_regeneratorRuntime","mark","_callee","resolve","wrap","_callee$","_context","prev","next","validate","t0","stop","_x","apply","validateVerificationCode","context","when","is","then","s","SIX_DIGIT_NUMBER_REGEX","_ref18","_callee2","_callee2$","_context2","_x2","MultipleEmailInput","nodeId","isReadOnly","fieldWithFallback","submitCount","_useTranslation","useTranslation","_useField","useField","_useField2","_slicedToArray","_useField2$","setValue","setTouched","_useState","useState","_useState2","isInputVisible","setIsInputVisible","_jsx","className","NeetoUIMultiEmailInput","disabled","helpText","placeholder","onBlur","onChange","_jsxs","Button","icon","Plus","iconPosition","onClick","CaptchaField","preview","captchaRef","_","_useField2$2","handleVerifyCaptcha","Component","CAPTCHA_COMPONENT_MAP","classnames","handleBlur","MATH_OPERATORS","PLUS","MINUS","generateRandomOperation","firstNumber","getRandomInt","secondNumber","operator","randomPick","_toConsumableArray","MathCaptcha","operation","setOperation","_useState3","_useState4","userInput","setUserInput","resetCaptcha","useImperativeHandle","reset","calculateResult","verifyCaptcha","result","useUpdateEffect","Refresh","Input","withEventTargetValue","Recaptcha","verifyRecaptcha","expiredRecaptcha","_captchaRef$current","ReCAPTCHA","hl","sitekey","globalProps","formNanoRecaptchaV2SiteKey","onErrored","noop","onExpired","ConditionField","Field","Checkbox","checked","DateField","_QUESTION_KIND$kind$t","toUpperCase","hyphenate","_ref2$field","form","DatePicker","dateFormat","popupClassName","getValidDate","setFieldValue","toISOString","create","payload","axios","post","buildUrl","EMAIL_VERIFICATIONS_CREATE_URL","showToastr","verify","EMAIL_VERIFICATIONS_VERIFY_URL","emailVerificationsApi","getMutationCallbacks","options","onSuccess","_options$onSuccess","args","call","_options$onError","useSendEmailVerificationCode","useMutation","mutationFn","useVerifyEmailVerificationCode","SendCodeButton","isCodeVerified","isSendingVerificationCode","handleClick","isDisabled","CheckCircle","Spinner","ResendVerificationCode","sendVerificationCode","isResendDisabled","secondsLeft","setSecondsLeft","interval","setTimeout","dec","clearTimeout","handleResendClick","Trans","i18nKey","components","button","VerifyCode","emailVerificationToken","setIsCodeVerified","handleResponseError","hasSentVerificationCode","calloutDetails","handleSendVerificationCode","verificationFieldName","code","previousCode","setPreviousCode","_useVerifyEmailVerifi","emailVerifications","otp","verifyCode","mutate","isVerifyingCode","isPending","hasError","handleVerifyCode","equals","token","_Fragment","loading","Callout","EmailField","isPreview","isDomainWhitelistingEnabled","isDomainBlacklistingEnabled","setCalloutDetails","setHasSentVerificationCode","verificationStatus","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","_error$response","status","Toastr","_useSendEmailVerifica","resetVerifiedData","verifiedEmail","handleFieldChange","shouldShowVerifyButton","suffix","onBlurCapture","FileUploadField","_ref$preview","allowedFileTypes","maxFileSize","setError","errorToDisplay","Label","FileUpload","labelField","placeholderField","NameField","props","_props$question","LABEL_FIELDS","FIRST_NAME","LAST_NAME","FULL_NAME","Choices","isCheckBox","ChoiceWrapper","Radio","Item","stacked","_value$index","htmlFor","active","memo","OptionsField","setFieldTouched","validateField","_question$optionsAttr","isDropdown","Select","transformedOptions","position","handleSelect","customFilter","inputValue","containsIgnoreCase","strategy","filterOption","PhoneNumberField","_getPhoneData","PhoneNumberInput","initialCountryCode","country","selectProps","Rating","lowestRatingLabel","averageRatingLabel","highestRatingLabel","other","e","currentTarget","nextElementSibling","click","render","labels","RATING_OPTIONS","Icon","modifier","Fragment","hidden","RatingField","AVERAGE","GOOD","BAD","RichTextEditor","editorRef","_ref$editorProps","editorProps","debouncedPlaceholder","useDebounce","_editorRef$current","_editorRef$current$se","editor","setEditable","propsToCompare","FastField","shouldUpdate","isPropsUnequal","Editor","editable","initialValue","menuType","addons","RatingButton","_ref$value","iconType","ICONS_MAP","selectedRating","StarRating","generateArray","StarRatingField","TermsField","EditorContent","TextField","_otherProps$onChange","_QUESTION_KIND$kind$t2","onKeyDown","Textarea","slugify","QUESTION_TO_COMPONENT_MAP","_QUESTION_TO_COMPONEN","PARAGRAPH","AdditionalGuests","RECAPTCHA_V2","getFieldComponent","nextProps","prevProps","notEqualsDeep","_unused","substring","toLowerCase"],"mappings":"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"}