@bigbinary/neeto-form-frontend 4.4.9 → 4.4.10

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 (56) hide show
  1. package/README.md +1 -1
  2. package/dist/BuildForm.js +3077 -0
  3. package/dist/BuildForm.js.map +1 -0
  4. package/dist/ExternalForm.js +647 -0
  5. package/dist/ExternalForm.js.map +1 -0
  6. package/dist/NeetoFormProvider.js +11 -0
  7. package/dist/NeetoFormProvider.js.map +1 -0
  8. package/dist/Submission.js +2832 -0
  9. package/dist/Submission.js.map +1 -0
  10. package/dist/UrlBuilder.js +317 -0
  11. package/dist/UrlBuilder.js.map +1 -0
  12. package/dist/buildForm-CrOWLvLE.js +35 -0
  13. package/dist/buildForm-CrOWLvLE.js.map +1 -0
  14. package/dist/buildForm-DfMpfuSp.js +38 -0
  15. package/dist/buildForm-DfMpfuSp.js.map +1 -0
  16. package/dist/cjs/BuildForm.js +3098 -0
  17. package/dist/cjs/BuildForm.js.map +1 -0
  18. package/dist/cjs/ExternalForm.js +649 -0
  19. package/dist/cjs/ExternalForm.js.map +1 -0
  20. package/dist/cjs/NeetoFormProvider.js +13 -0
  21. package/dist/cjs/NeetoFormProvider.js.map +1 -0
  22. package/dist/cjs/Submission.js +2834 -0
  23. package/dist/cjs/Submission.js.map +1 -0
  24. package/dist/cjs/UrlBuilder.js +319 -0
  25. package/dist/cjs/UrlBuilder.js.map +1 -0
  26. package/dist/cjs/hooks.js +33 -0
  27. package/dist/cjs/hooks.js.map +1 -0
  28. package/dist/cjs/index.js +113 -0
  29. package/dist/cjs/index.js.map +1 -0
  30. package/dist/constants-Cj0XxE8a.js +494 -0
  31. package/dist/constants-Cj0XxE8a.js.map +1 -0
  32. package/dist/constants-D5JlvWws.js +513 -0
  33. package/dist/constants-D5JlvWws.js.map +1 -0
  34. package/dist/hooks.js +20 -0
  35. package/dist/hooks.js.map +1 -0
  36. package/dist/index-Beo6ztaM.js +51 -0
  37. package/dist/index-Beo6ztaM.js.map +1 -0
  38. package/dist/index-DhtQJpD_.js +43 -0
  39. package/dist/index-DhtQJpD_.js.map +1 -0
  40. package/dist/index.js +95 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/main.css +2 -0
  43. package/dist/main.css.map +1 -0
  44. package/dist/useFormSubmission-D3O7sDHp.js +24 -0
  45. package/dist/useFormSubmission-D3O7sDHp.js.map +1 -0
  46. package/dist/useFormSubmission-PLRMfzJ3.js +22 -0
  47. package/dist/useFormSubmission-PLRMfzJ3.js.map +1 -0
  48. package/dist/utils-CI844li1.js +2718 -0
  49. package/dist/utils-CI844li1.js.map +1 -0
  50. package/dist/utils-baAzU7l8.js +2749 -0
  51. package/dist/utils-baAzU7l8.js.map +1 -0
  52. package/dist/yup-CSYHMEsr.js +1014 -0
  53. package/dist/yup-CSYHMEsr.js.map +1 -0
  54. package/dist/yup-DMlViLLB.js +1097 -0
  55. package/dist/yup-DMlViLLB.js.map +1 -0
  56. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-baAzU7l8.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/AddressField.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/Fields/OpinionScaleField.jsx","../app/javascript/src/components/ExternalForm/ChoiceImage.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 = (entity = t(\"neetoForm.common.option\")) =>\n t(\"neetoForm.error.minOneEntity\", { 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 { isEditorEmpty } from \"neetoeditor\";\nimport {\n __,\n clamp,\n identity,\n includes,\n is,\n isNil,\n last,\n map,\n mergeLeft,\n pluck,\n prop,\n trim,\n when,\n zipObj,\n} from \"ramda\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { isEmptyValues } from \"utils\";\n\nimport {\n EMAIL_REGEX,\n PARENTHESES_REGEX,\n QUESTION_KIND,\n RATING_VALUES,\n SCHEMA_LESS_QUESTION_KINDS,\n SPOT_QUESTION_DEFAULT_VALUE,\n} from \"../constants\";\nimport { buildVerificationFieldName } from \"../Fields/EmailField/utils\";\nimport { getPhoneData } from \"../Fields/utils\";\n\nconst resolveQueryParamValue = when(is(Array), last);\n\nconst toEmailValues = (values = []) =>\n values.map(value => ({ label: value, value, valid: true }));\n\nconst getPhoneNumberFromUrl = (fieldCodes, fieldCode) => {\n const countryCode = resolveQueryParamValue(\n fieldCodes[`${fieldCode}.country`]\n );\n const phoneNumber = resolveQueryParamValue(fieldCodes[`${fieldCode}.number`]);\n const phoneNumberWithCountryCode = resolveQueryParamValue(\n fieldCodes[fieldCode]\n )?.replace(PARENTHESES_REGEX, \"\");\n\n if (phoneNumberWithCountryCode) return phoneNumberWithCountryCode;\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 = resolveQueryParamValue(fieldCodes[fieldCode]);\n\n return findBy({ label: preFillOption }, optionsAttributes)?.id;\n};\n\nconst getMultipleOptionsFromURL = ({\n optionsAttributes,\n fieldCodes,\n fieldCode,\n}) => {\n const fieldCodeValue = resolveQueryParamValue(fieldCodes[fieldCode]);\n\n if (!fieldCodeValue) return new Array(optionsAttributes.length).fill(false);\n\n const allOptions = fieldCodeValue.split(\",\").map(trim);\n\n return optionsAttributes.map(option => allOptions.includes(option.label));\n};\n\nconst getStarRatingOrOpinionScaleFromUrl = ({\n minValue,\n maxValue,\n fieldCodes,\n fieldCode,\n}) => {\n const fieldCodeValue = resolveQueryParamValue(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 = resolveQueryParamValue(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 = resolveQueryParamValue(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 = resolveQueryParamValue(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 const fullName = resolveQueryParamValue(fieldCodes[fieldCode]) || \"\";\n if (!isSplitMode) return { fullName };\n\n const firstName =\n resolveQueryParamValue(fieldCodes[`${fieldCode}.first_name`]) || \"\";\n\n const lastName =\n resolveQueryParamValue(fieldCodes[`${fieldCode}.last_name`]) || \"\";\n\n if (isPresent(firstName) || isPresent(lastName)) {\n return { firstName, lastName };\n }\n\n if (isPresent(fullName)) {\n const [computedFirstName, ...remainingParts] = fullName.trim().split(/\\s+/);\n\n return {\n firstName: computedFirstName,\n lastName: remainingParts.join(\" \"),\n };\n }\n\n return { firstName, lastName };\n};\n\nconst isValidSpotValue = (value, remainingSlotsCount) => {\n const num = Number(value);\n\n if (!Number.isInteger(num) || num <= 0) return false;\n\n return !(\n typeof remainingSlotsCount === \"number\" &&\n remainingSlotsCount >= 0 &&\n num > remainingSlotsCount\n );\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 remainingSlotsCount,\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 {\n id,\n kind,\n optionsAttributes,\n fieldCode,\n minValue,\n maxValue,\n fields,\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 const optionFromValues = optionsAttributes?.find(option =>\n valuesMap[id]?.optionIds?.includes(option.id)\n )?.id;\n\n const optionFromUrl = getOptionFromURL({\n optionsAttributes,\n fieldCodes,\n fieldCode,\n });\n\n initValues[id] = optionFromValues || optionFromUrl;\n\n return;\n }\n case QUESTION_KIND.SPOT.value: {\n const urlValue = getNumberFromUrl({\n fieldCodes,\n fieldCode,\n kind: QUESTION_KIND.INTEGER.value,\n });\n\n const candidateValue =\n valuesMap?.[id]?.value ??\n (urlValue !== \"\" ? urlValue : SPOT_QUESTION_DEFAULT_VALUE);\n\n initValues[id] = isValidSpotValue(candidateValue, remainingSlotsCount)\n ? candidateValue\n : SPOT_QUESTION_DEFAULT_VALUE;\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 case QUESTION_KIND.OPINION_SCALE.value: {\n initValues[id] =\n valuesMap?.[id]?.value ??\n getStarRatingOrOpinionScaleFromUrl({\n minValue,\n maxValue,\n fieldCodes,\n fieldCode,\n });\n\n return;\n }\n\n case QUESTION_KIND.NAME.value: {\n initValues[id] =\n valuesMap?.[id]?.value ?? getNameFromUrl(question, fieldCodes);\n\n return;\n }\n\n case QUESTION_KIND.ADDRESS.value: {\n initValues[id] =\n valuesMap?.[id]?.value ??\n fields.reduce((values, field) => {\n values[field.id] = \"\";\n\n return values;\n }, {});\n\n return;\n }\n\n default: {\n initValues[id] =\n valuesMap?.[id]?.value ??\n resolveQueryParamValue(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.SPOT.value) {\n formResponse.push({\n questionId: id,\n value: responseValue,\n kind,\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.RICH_TEXT.value) {\n formResponse.push({\n questionId: id,\n value: isEditorEmpty(responseValue) ? null : responseValue,\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 } from \"ramda\";\n\nimport { CAPTCHA_TYPES } from \"components/constants\";\nimport {\n getInvalidFieldError,\n getInvalidTypeError,\n getRequiredFieldError,\n getSelectMinError,\n} from \"utils/formUtils\";\nimport yup from \"utils/yup\";\n\nimport { isPhoneNumberField } from \".\";\n\nimport { clientI18nInstance } from \"./clientI18nInstance\";\n\nimport { QUESTION_KIND, SIX_DIGIT_NUMBER_REGEX } from \"../constants\";\n\nconst { t } = clientI18nInstance;\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 = ({\n kind,\n label,\n isRequired,\n remainingSlotsCount,\n}) => {\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 const requiredError =\n kind === QUESTION_KIND.SPOT.value\n ? t(\"neetoForm.questions.spot.numberOfSpotsRequired\")\n : getRequiredFieldError(label);\n if (isRequired) schema = schema.trim().required(requiredError);\n\n if (kind === QUESTION_KIND.SPOT.value) {\n schema = schema\n .test(\n \"integer-spots\",\n t(\"neetoForm.questions.spot.mustBeInteger\"),\n value =>\n isNotPresent(value) || value === \"\" || Number.isInteger(Number(value))\n )\n .test(\n \"min-spots\",\n t(\"neetoForm.error.mustBeOrGreaterThanOrEqualTo\", { value: 1 }),\n value => isNotPresent(value) || value === \"\" || Number(value) > 0\n );\n\n if (typeof remainingSlotsCount === \"number\" && remainingSlotsCount >= 0) {\n schema = schema.test(\n \"max-spots\",\n t(\"neetoForm.questions.spot.exceedsRemainingSpots\", {\n count: remainingSlotsCount,\n }),\n value =>\n isNotPresent(value) ||\n value === \"\" ||\n (Number(value) > 0 && Number(value) <= remainingSlotsCount)\n );\n }\n }\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());\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());\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());\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(getSelectMinError(t(\"neetoForm.common.rating\")));\n }\n\n return schema.trim();\n};\n\nconst validateOpinionScaleField = ({ label, isRequired }) => {\n let schema = yup.string().typeError(getInvalidTypeError(label, \"string\"));\n if (isRequired) {\n schema = schema.required(\n getSelectMinError(t(\"neetoForm.common.selection\"))\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(t(\"neetoForm.common.email\")));\n }\n\n return schema;\n};\n\nconst validateAddressField = ({ label, isRequired }) => {\n let schema = yup.string().typeError(getInvalidTypeError(label, \"string\"));\n\n if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));\n\n return schema.trim();\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.SPOT.value]: validateTextField,\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.OPINION_SCALE.value]: validateOpinionScaleField,\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 [QUESTION_KIND.ADDRESS.value]: validateAddressField,\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 .test(\n \"verify code\",\n t(\"neetoForm.error.emailNotVerified\"),\n function () {\n return this?.options?.context?.isCodeVerified;\n }\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-testid=\"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 { Field } from \"formik\";\nimport { hyphenate, noop, toLabelAndValue } from \"neetocist\";\nimport { Select, Input } from \"neetoui\";\n\nimport {\n ADDRESS_FIELD_TYPES,\n ADDRESS_FIELD_WIDTHS,\n} from \"components/BuildForm/Questions/Fields/constants\";\nimport { fieldWithFallback } from \"utils\";\n\nimport { getVisibleOptions } from \"./utils\";\n\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst AddressField = ({ question, customValidator }) => {\n const {\n id: name,\n kind,\n isRequired: isAddressRequired,\n isReadOnly,\n fields = [],\n } = question;\n\n const label = fieldWithFallback(question, \"label\");\n const transformedFields = fields.map(field => ({\n ...field,\n label: fieldWithFallback(field, \"label\"),\n }));\n\n return (\n <div className=\"neeto-form-engine-address-wrapper\">\n <div className=\"neeto-form-engine-input__label-wrapper\">\n {label && (\n <label\n className=\"neeto-form-engine-label\"\n data-testid={`${hyphenate(label)}-input-label`}\n >\n {label}\n </label>\n )}\n </div>\n <div className=\"neeto-form-engine-address pb-1\">\n {getVisibleOptions(transformedFields).map(\n ({ id, label, width, fieldType, properties, isRequired }) => (\n <div\n data-testid=\"neeto-form-engine-address-fields\"\n key={id}\n className={classnames(\"neeto-form-engine-address__field\", {\n \"neeto-form-engine-address__field--width-full\":\n width === ADDRESS_FIELD_WIDTHS.FULL,\n \"neeto-form-engine-address__field--width-half\":\n width === ADDRESS_FIELD_WIDTHS.HALF,\n \"neeto-form-engine-address__field--width-one-forth\":\n width === ADDRESS_FIELD_WIDTHS.ONE_FOURTH,\n \"neeto-form-engine-address__field--width-three-forth\":\n width === ADDRESS_FIELD_WIDTHS.THREE_FOURTH,\n })}\n >\n <Field\n name={`${name}.${id}`}\n validate={\n isAddressRequired\n ? validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n })\n : noop\n }\n >\n {({ field, meta, form }) =>\n fieldType === ADDRESS_FIELD_TYPES.SELECT ? (\n <Select\n {...{ label }}\n size=\"large\"\n {...field}\n error={meta.touched && meta.error}\n isDisabled={isReadOnly}\n menuPosition=\"absolute\"\n required={isRequired}\n value={toLabelAndValue(field.value)}\n options={properties?.options?.map(({ label }) =>\n toLabelAndValue(label)\n )}\n onChange={({ value }) =>\n !isReadOnly &&\n form.setFieldValue(`${name}.${id}`, value)\n }\n />\n ) : (\n <Input\n {...{ ...field, label }}\n disabled={isReadOnly}\n error={meta.touched && meta.error}\n required={isRequired}\n />\n )\n }\n </Field>\n </div>\n )\n )}\n </div>\n </div>\n );\n};\n\nexport default AddressField;\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-testid=\"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-testid=\"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-testid=\"first-number\">{firstNumber}</span>\n <span data-testid=\"operator\">{operator}</span>\n <span data-testid=\"second-number\">{secondNumber}</span>\n <span>=</span>\n </div>\n <Input\n required\n className=\"neeto-form-nano-math-captcha__input\"\n data-testid=\"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-testid={`${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-testid={`${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 onCalendarChange={date => {\n if (date) {\n form.setFieldValue(name, date.toISOString());\n }\n }}\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 data-testid=\"send-code-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 data-testid=\"otp-resend-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 isCodeVerified,\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 isCodeVerified,\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 data-testid=\"otp-input-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: isFormPreview,\n isUrlBuilderPreview,\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 !isUrlBuilderPreview &&\n (isFormPreview || (isPresent(email) && isNotPresent(error)));\n\n const shouldShowVerificationCodeInput =\n shouldShowVerifyButton && !isFormPreview && !isCodeVerified;\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={isFormPreview ? 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 {shouldShowVerificationCodeInput && (\n <VerifyCode\n {...{\n calloutDetails,\n email,\n emailVerificationToken,\n formId,\n handleResponseError,\n handleSendVerificationCode,\n hasSentVerificationCode,\n isCodeVerified,\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 { Field, useField } from \"formik\";\n\nimport { generateArray } from \"components/BuildForm/Questions/utils\";\nimport { fieldWithFallback } from \"utils\";\n\nimport { getLabel } from \"../utils\";\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst OpinionScaleField = ({ question, customValidator }) => {\n const {\n id: name,\n kind,\n isRequired,\n minValue,\n maxValue,\n isReadOnly,\n hasOpinionLabels,\n } = question;\n const label = fieldWithFallback(question, \"label\");\n const leftOpinionLabel = fieldWithFallback(question, \"leftOpinionLabel\");\n const rightOpinionLabel = fieldWithFallback(question, \"rightOpinionLabel\");\n\n const [field, { error, touched }, { setValue }] = useField({\n name,\n validate: validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n }),\n });\n\n const handleClick = (event, index) => {\n if (index !== parseInt(field.value)) return;\n event.preventDefault();\n setValue(\"\");\n };\n\n const opinionScaleOptions = generateArray(minValue, maxValue);\n\n return (\n <div className=\"neeto-form-engine-input__wrapper neeto-form-engine-opinion-scale\">\n <div className=\"neeto-form-engine-input__label-wrapper\">\n <label\n className=\"neeto-form-engine-label\"\n data-testid=\"opinion-scale-input-label\"\n >\n {getLabel(label, isRequired)}\n </label>\n </div>\n <div\n className=\"neeto-form-nano-opinion-scale\"\n data-testid=\"form-opinion-scale\"\n >\n <div className=\"neeto-form-nano-opinion-scale__group\">\n {hasOpinionLabels && (\n <div className=\"neeto-form-nano-opinion-scale__labels-wrap neeto-form-nano-opinion-scale__labels-wrap-mobile\">\n <label\n className=\"neeto-form-nano-opinion-scale__label\"\n data-testid=\"opinion-scale-left-label\"\n >\n {leftOpinionLabel}\n </label>\n </div>\n )}\n <ul\n className=\"neeto-form-nano-opinion-scale__list\"\n data-testid=\"opinion-scale-list\"\n >\n {opinionScaleOptions.map(step => (\n <li\n className=\"neeto-form-nano-opinion-scale__item\"\n data-testid=\"opinion-scale-list-item\"\n key={step}\n >\n <label\n className=\"neeto-form-nano-opinion-scale__item-label\"\n data-testid=\"opinion-scale-label\"\n onClick={event => handleClick(event, step)}\n >\n <Field\n {...{ name }}\n checked={parseInt(field.value) === step}\n className=\"neeto-form-nano-sr-only neeto-form-nano-opinion-scale__item-input\"\n data-testid={`opinion-scale-input-${step}`}\n disabled={isReadOnly}\n type=\"radio\"\n value={step}\n />\n <span\n className=\"neeto-form-nano-opinion-scale__item-highlight\"\n data-testid={`opinion-scale-item-${step}`}\n >\n {step}\n </span>\n </label>\n </li>\n ))}\n </ul>\n {hasOpinionLabels && (\n <div className=\"neeto-form-nano-opinion-scale__labels-wrap\">\n <label\n className=\"neeto-form-nano-opinion-scale__label neeto-form-nano-opinion-scale__label--start\"\n data-testid=\"opinion-scale-left-label\"\n >\n {leftOpinionLabel}\n </label>\n <label\n className=\"neeto-form-nano-opinion-scale__label neeto-form-nano-opinion-scale__label--end\"\n data-testid=\"opinion-scale-right-label\"\n >\n {rightOpinionLabel}\n </label>\n </div>\n )}\n </div>\n </div>\n {touched && error && (\n <p\n className=\"neeto-form-engine-input__error\"\n data-testid=\"neeto-form-engine-opinion-scale-error\"\n >\n {error}\n </p>\n )}\n </div>\n );\n};\n\nexport default OpinionScaleField;\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Image } from \"neetoicons\";\n\nconst ChoiceImage = ({ src, alt, height, shouldFitImages }) => {\n const [hasError, setHasError] = useState(false);\n const [isLoading, setIsLoading] = useState(true);\n\n const handleLoad = () => setIsLoading(false);\n const handleError = () => {\n setHasError(true);\n setIsLoading(false);\n };\n\n if (hasError || !src) {\n return (\n <div\n className=\"neeto-form-engine-choice__image-placeholder neeto-ui-bg-gray-100\"\n style={{ height }}\n >\n <Image size={32} />\n </div>\n );\n }\n\n return (\n <div\n style={{ height }}\n className={classnames(\"neeto-form-engine-choice__image-wrapper\", {\n \"neeto-form-engine-choice__image-wrapper--loading\": isLoading,\n })}\n >\n <img\n {...{ alt, src }}\n draggable={false}\n className={classnames(\"neeto-form-engine-choice__image\", {\n \"neeto-form-engine-choice__image--fit\": shouldFitImages,\n })}\n onError={handleError}\n onLoad={handleLoad}\n />\n </div>\n );\n};\n\nexport default ChoiceImage;\n","import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Checkbox, Radio } from \"neetoui\";\n\nimport { DEFAULT_CHOICE_QUESTION_ATTRIBUTES } from \"components/BuildForm/Questions/constants\";\n\nimport ChoiceImage from \"./ChoiceImage\";\nimport { RADIO_DESELECT_KEYS } from \"./constants\";\n\nconst Choices = ({\n label,\n options,\n type,\n name,\n value,\n onChange,\n onValueChange,\n error,\n isDisabled: disabled,\n isPictureChoice = DEFAULT_CHOICE_QUESTION_ATTRIBUTES.isPictureChoice,\n imageHeight = DEFAULT_CHOICE_QUESTION_ATTRIBUTES.imageHeight,\n shouldFitImages = DEFAULT_CHOICE_QUESTION_ATTRIBUTES.shouldFitImages,\n}) => {\n const isCheckBox = type === \"checkbox\";\n const ChoiceWrapper = isCheckBox ? \"div\" : Radio;\n const Component = isCheckBox ? Checkbox : Radio.Item;\n\n const handleChoiceValueChange = updatedValue => {\n if (typeof onValueChange === \"function\") {\n onValueChange(updatedValue);\n\n return;\n }\n\n onChange({ target: { name, value: updatedValue } });\n };\n\n const shouldDeselectOption = optionId =>\n !isCheckBox && !disabled && value === optionId;\n\n const handleChoiceClick = (event, optionId) => {\n if (!shouldDeselectOption(optionId)) return;\n\n event.preventDefault();\n handleChoiceValueChange(\"\");\n };\n\n const handleChoiceKeyDown = (event, optionId) => {\n if (!shouldDeselectOption(optionId)) return;\n\n if (!RADIO_DESELECT_KEYS.includes(event.key)) return;\n\n event.preventDefault();\n handleChoiceValueChange(\"\");\n };\n\n return (\n <div\n className=\"neeto-form-engine-choices__wrapper\"\n data-testid={`${hyphenate(label)}-select-container-wrapper`}\n >\n <label\n className=\"neeto-form-engine-label\"\n data-testid={`${hyphenate(label)}-input-label`}\n >\n {label}\n </label>\n <ChoiceWrapper\n stacked={!isCheckBox}\n className={classnames(\"neeto-form-engine-choices\", {\n \"neeto-form-engine-choices--picture\": isPictureChoice,\n })}\n >\n {options.map((option, index) => {\n const isChecked = isCheckBox\n ? (value?.[index] ?? false)\n : value === option.id;\n\n return (\n <label\n htmlFor={option.id}\n key={option.id}\n className={classnames(\"neeto-form-engine-choice\", {\n \"neeto-form-engine-choice--picture\": isPictureChoice,\n \"neeto-form-engine-choice--selected\": isChecked,\n \"cursor-not-allowed\": disabled,\n })}\n onClick={event => handleChoiceClick(event, option.id)}\n >\n {isPictureChoice && (\n <ChoiceImage\n {...{ shouldFitImages }}\n alt={option.label}\n height={imageHeight}\n src={option.image?.url}\n />\n )}\n <Component\n {...{ disabled, onChange, type }}\n checked={isChecked}\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 labelProps={{\n className: classnames({ \"cursor-not-allowed\": disabled }),\n }}\n onKeyDown={event => handleChoiceKeyDown(event, option.id)}\n />\n </label>\n );\n })}\n </ChoiceWrapper>\n {!!error && typeof error === \"string\" && (\n <p\n className=\"neeto-form-engine-input__error\"\n data-testid={`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, isLastFewElements }) => {\n const { setFieldTouched, setFieldValue, validateField } = useFormikContext();\n const {\n id: name,\n kind,\n isRequired,\n isReadOnly,\n isPictureChoice: isPictureChoiceFromQuestion,\n imageHeight,\n shouldFitImages,\n optionsAttributes: options = [],\n } = question;\n\n const isPictureChoice = isPictureChoiceFromQuestion;\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 handleValueChange = updatedValue => {\n setFieldValue(name, updatedValue, 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 error={getError(meta)}\n isDisabled={isReadOnly}\n label={getLabel(label, isRequired)}\n options={transformedOptions}\n strategy=\"fixed\"\n type={kind}\n {...{\n isRequired,\n name,\n ...(isDropdown && { filterOption: customFilter }),\n ...(!isDropdown && {\n imageHeight,\n isPictureChoice,\n shouldFitImages,\n }),\n }}\n value={\n isDropdown ? findBy({ value }, transformedOptions) || null : value\n }\n onChange={isDropdown ? handleSelect : onChange}\n onValueChange={!isDropdown ? handleValueChange : undefined}\n {...(isDropdown && {\n isClearable: true,\n menuPlacement: isLastFewElements ? \"top\" : \"auto\",\n menuPortalTarget: document.body,\n menuPosition: \"fixed\",\n })}\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, isLastFewElements }) => {\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={{\n isDisabled: isReadOnly,\n menuPlacement: isLastFewElements ? \"top\" : \"auto\",\n menuPortalTarget: document.body,\n menuPosition: \"fixed\",\n }}\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\n className=\"neeto-form-engine-label\"\n data-testid=\"rating-input-label\"\n >\n {label}\n </label>\n <div\n className=\"neeto-form-engine-rating__row\"\n data-testid=\"rating-input-field\"\n >\n {render()}\n </div>\n {!!error && typeof error === \"string\" && (\n <p\n className=\"neeto-form-engine-input__error\"\n data-testid=\"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\";\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport { Editor } from \"neetoeditor\";\n\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 = [\n \"debouncedPlaceholder\",\n \"error\",\n \"touched\",\n \"isReadOnly\",\n ];\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-testid={`${hyphenate(label)}-input-label`}\n >\n {getLabel(label, isRequired)}\n </label>\n )}\n </div>\n <FastField\n {...{ debouncedPlaceholder, isReadOnly }}\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-testid=\"star-rating-input-label\"\n >\n {label}\n </label>\n </div>\n <div\n className=\"neeto-form-engine-star-rating__row\"\n data-testid=\"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-testid=\"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 { Info } from \"neetoicons\";\nimport { Textarea, Input, Tag } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { fieldWithFallback } from \"utils\";\n\nimport { QUESTION_KIND } from \"../constants\";\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst TextField = ({\n question,\n customValidator,\n autoComplete,\n remainingSlotsCount,\n}) => {\n const { t } = useTranslation();\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 remainingSlotsCount,\n }),\n });\n\n const handleFieldChange = withEventTargetValue(setValue);\n\n return (\n <div className=\"w-full flex flex-col gap-2\">\n <Component\n {...{\n type,\n ...field,\n autoComplete,\n label,\n onKeyDown,\n ...(kind === QUESTION_KIND.SPOT.value && {\n min: 1,\n ...(typeof remainingSlotsCount === \"number\" &&\n remainingSlotsCount >= 0 && { max: remainingSlotsCount }),\n }),\n }}\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 {kind === QUESTION_KIND.SPOT.value &&\n typeof remainingSlotsCount === \"number\" &&\n remainingSlotsCount >= 0 && (\n <div className=\"flex justify-end\">\n <Tag\n icon={Info}\n style=\"info\"\n label={t(\"neetoForm.questions.spot.remainingSlotsCount\", {\n count: remainingSlotsCount,\n })}\n />\n </div>\n )}\n </div>\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 AddressField from \"./AddressField\";\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 OpinionScaleField from \"./OpinionScaleField\";\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.OPINION_SCALE.value]: OpinionScaleField,\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 [QUESTION_KIND.SPOT.value]: TextField,\n [QUESTION_KIND.ADDRESS.value]: AddressField,\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\nexport const getVisibleOptions = options =>\n Array.isArray(options)\n ? options\n .filter(option => !option.deleted)\n .sort((a, b) => a.position - b.position)\n : [];\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","entity","getInvalidTypeError","type","resolveQueryParamValue","when","is","last","toEmailValues","map","valid","getPhoneNumberFromUrl","fieldCodes","fieldCode","_resolveQueryParamVal","countryCode","phoneNumber","phoneNumberWithCountryCode","replace","PARENTHESES_REGEX","formattedValue","getPhoneData","formatInternational","getOptionFromURL","_findBy","optionsAttributes","preFillOption","findBy","id","getMultipleOptionsFromURL","_ref2","fieldCodeValue","fill","allOptions","split","trim","option","includes","getStarRatingOrOpinionScaleFromUrl","_ref3","minValue","maxValue","rating","parseInt","isNil","isNaN","clamp","getAdditionalGuestsFromUrl","_ref4","allEmails","email","EMAIL_REGEX","test","getRatingFromUrl","_ref5","allowedValues","RATING_VALUES","prop","getNumberFromUrl","_ref6","kind","parsedValue","QUESTION_KIND","INTEGER","parseFloat","getNameFromUrl","_ref7","isSplitMode","fullName","firstName","lastName","_fullName$trim$split","_fullName$trim$split2","_toArray","computedFirstName","remainingParts","slice","join","isValidSpotValue","remainingSlotsCount","num","isInteger","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","fields","CONDITION","_valuesMap$id$value","_valuesMap","ADDITIONAL_GUESTS","_valuesMap2","emailsFromSubmission","isNotEmpty","CHECKBOX","_valuesMap$id","_valuesMap$id2","RADIO","DROPDOWN","_optionsAttributes$fi","optionFromValues","find","_valuesMap$id3","optionFromUrl","SPOT","_valuesMap$id$value2","_valuesMap3","urlValue","candidateValue","SPOT_QUESTION_DEFAULT_VALUE","DECIMAL","_valuesMap4","RATING","_valuesMap5","TERMS","FILE_UPLOAD","_valuesMap$id$value3","_valuesMap6","files","PHONE","SMS_REMINDER","_valuesMap$id$value4","_valuesMap7","STAR_RATING","OPINION_SCALE","_valuesMap$id$value5","_valuesMap8","NAME","_valuesMap$id$value6","_valuesMap9","ADDRESS","_valuesMap$id$value7","_valuesMap10","field","_valuesMap$id$value8","_valuesMap11","formInitialValues","mergeLeft","generateFormResponse","response","formResponse","SCHEMA_LESS_QUESTION_KINDS","responseValue","findById","push","questionOptionId","isChecked","index","isPhoneNumberField","parsePhoneNumber","pluck","RICH_TEXT","isEditorEmpty","DATE","format","mergeRefs","refs","node","ref","current","getError","meta","buildAutoCompleteAttribute","autoCompleteKinds","formDomProps","autoComplete","renderButtonsInOrder","buttonsArray","shouldReverse","orderedButtons","reverse","identity","getSelectedRating","__","isValidDate","date","extractEmailDomain","isEmailFromWhitelistedDomain","whitelistedDomains","domain","isEmailFromBlacklistedDomain","blacklistedDomains","validateTextField","schema","yup","string","typeError","phoneNumberValidation","requiredError","required","isNotPresent","count","validateEmailField","validateNameField","validateSingleChoiceField","validateMultiChoiceField","array","of","compact","min","validateRatingField","validateStarRatingField","validateOpinionScaleField","validateTermsField","_ref10","_ref10$isRequired","oneOf","notRequired","validateConditionField","_ref11","_ref11$isRequired","validateDateField","_ref12","validateMultiEmailField","_ref13","object","shape","nullable","validateAddressField","_ref14","editorHasValue","content","validateRichTextField","_ref15","validateFileUploadField","_ref16","multipleFilesAllowed","files_schema","name","signedId","url","unique","validateCaptchaField","_ref17","variant","CAPTCHA_TYPES","MATH_CAPTCHA","mixed","transform","fieldKindValidatorMap","_fieldKindValidatorMa","TEXT","QUESTION","TEXTAREA","CAPTCHA","validateFieldValue","_ref18","customValidator","otherProps","_objectWithoutProperties","_excluded","validator","Promise","_ref19","_asyncToGenerator","_regeneratorRuntime","mark","_callee","resolve","wrap","_callee$","_context","prev","next","validate","t0","stop","_x","apply","validateVerificationCode","context","then","s","SIX_DIGIT_NUMBER_REGEX","_this$options","options","isCodeVerified","_ref20","_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","AddressField","isAddressRequired","_question$fields","transformedFields","hyphenate","getVisibleOptions","width","fieldType","properties","classnames","ADDRESS_FIELD_WIDTHS","FULL","HALF","ONE_FOURTH","THREE_FOURTH","Field","noop","_properties$options","form","ADDRESS_FIELD_TYPES","SELECT","Select","size","isDisabled","menuPosition","toLabelAndValue","setFieldValue","Input","CaptchaField","preview","captchaRef","_","_useField2$2","handleVerifyCaptcha","Component","CAPTCHA_COMPONENT_MAP","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","withEventTargetValue","Recaptcha","verifyRecaptcha","expiredRecaptcha","_captchaRef$current","ReCAPTCHA","hl","sitekey","globalProps","formNanoRecaptchaV2SiteKey","onErrored","onExpired","ConditionField","Checkbox","checked","DateField","_QUESTION_KIND$kind$t","toUpperCase","_ref2$field","DatePicker","dateFormat","popupClassName","getValidDate","onCalendarChange","toISOString","create","payload","axios","post","buildUrl","EMAIL_VERIFICATIONS_CREATE_URL","showToastr","verify","EMAIL_VERIFICATIONS_VERIFY_URL","emailVerificationsApi","getMutationCallbacks","onSuccess","_options$onSuccess","args","call","_options$onError","useSendEmailVerificationCode","useMutation","mutationFn","useVerifyEmailVerificationCode","SendCodeButton","isSendingVerificationCode","handleClick","CheckCircle","Spinner","ResendVerificationCode","sendVerificationCode","isResendDisabled","secondsLeft","setSecondsLeft","interval","setTimeout","pipe","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","isFormPreview","isUrlBuilderPreview","isDomainWhitelistingEnabled","isDomainBlacklistingEnabled","setCalloutDetails","setHasSentVerificationCode","verificationStatus","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","_error$response","status","Toastr","_useSendEmailVerifica","resetVerifiedData","verifiedEmail","handleFieldChange","shouldShowVerifyButton","shouldShowVerificationCodeInput","suffix","onBlurCapture","FileUploadField","_ref$preview","allowedFileTypes","maxFileSize","setError","errorToDisplay","Label","FileUpload","isPreview","labelField","placeholderField","NameField","props","_props$question","LABEL_FIELDS","FIRST_NAME","LAST_NAME","FULL_NAME","OpinionScaleField","hasOpinionLabels","leftOpinionLabel","rightOpinionLabel","event","preventDefault","opinionScaleOptions","generateArray","step","ChoiceImage","src","alt","height","shouldFitImages","setHasError","isLoading","setIsLoading","handleLoad","handleError","Image","draggable","onLoad","Choices","onValueChange","_ref$isPictureChoice","isPictureChoice","DEFAULT_CHOICE_QUESTION_ATTRIBUTES","_ref$imageHeight","imageHeight","_ref$shouldFitImages","isCheckBox","ChoiceWrapper","Radio","Item","handleChoiceValueChange","updatedValue","target","shouldDeselectOption","optionId","handleChoiceClick","handleChoiceKeyDown","RADIO_DESELECT_KEYS","stacked","_value$index","_option$image","htmlFor","image","labelProps","onKeyDown","memo","OptionsField","isLastFewElements","setFieldTouched","validateField","isPictureChoiceFromQuestion","_question$optionsAttr","isDropdown","transformedOptions","position","handleSelect","handleValueChange","customFilter","inputValue","containsIgnoreCase","strategy","filterOption","isClearable","menuPlacement","menuPortalTarget","document","body","PhoneNumberField","_getPhoneData","PhoneNumberInput","initialCountryCode","country","selectProps","Rating","lowestRatingLabel","averageRatingLabel","highestRatingLabel","other","e","currentTarget","nextElementSibling","click","render","labels","RATING_OPTIONS","Icon","modifier","Fragment","active","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","StarRatingField","TermsField","EditorContent","TextField","_otherProps$onChange","_QUESTION_KIND$kind$t2","Textarea","slugify","Tag","Info","QUESTION_TO_COMPONENT_MAP","_QUESTION_TO_COMPONEN","PARAGRAPH","AdditionalGuests","RECAPTCHA_V2","getFieldComponent","nextProps","prevProps","notEqualsDeep","_unused","substring","toLowerCase","isArray","deleted","sort","a","b"],"mappings":"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"}