@bigbinary/neeto-form-frontend 3.4.1 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BuildForm.js +1 -1
- package/dist/BuildForm.js.map +1 -1
- package/dist/ExternalForm.js +1 -6
- package/dist/ExternalForm.js.map +1 -1
- package/dist/UrlBuilder.js +2 -7
- package/dist/UrlBuilder.js.map +1 -1
- package/dist/cjs/BuildForm.js +1 -1
- package/dist/cjs/BuildForm.js.map +1 -1
- package/dist/cjs/ExternalForm.js +1 -6
- package/dist/cjs/ExternalForm.js.map +1 -1
- package/dist/cjs/UrlBuilder.js +2 -7
- package/dist/cjs/UrlBuilder.js.map +1 -1
- package/dist/cjs/index.js +1 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/index.js +1 -6
- package/dist/index.js.map +1 -1
- package/dist/{utils-38cc949e.js → utils-3fcf4c2b.js} +11 -25
- package/dist/utils-3fcf4c2b.js.map +1 -0
- package/dist/{utils-1ab9e83f.js → utils-a2abd77b.js} +2 -11
- package/dist/utils-a2abd77b.js.map +1 -0
- package/package.json +5 -5
- package/dist/utils-1ab9e83f.js.map +0 -1
- package/dist/utils-38cc949e.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils-38cc949e.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/utils/formUtils.jsx","../app/javascript/src/components/ExternalForm/utils/validations.js","../app/javascript/src/components/ExternalForm/Fields/AdditionalGuests.jsx","../app/javascript/src/components/ExternalForm/utils/index.js","../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/components/ExternalForm/Fields/EmailField.jsx","../app/javascript/src/hooks/useFileUpload.js","../app/javascript/src/assets/images/file_upload/file-upload.svg","../app/javascript/src/components/ExternalForm/Fields/FileUploadField/DropZone.jsx","../app/javascript/src/components/ExternalForm/Fields/FileUploadField/Progress.jsx","../app/javascript/src/components/ExternalForm/Fields/FileUploadField/constants.js","../app/javascript/src/components/ExternalForm/Fields/FileUploadField/utils.js","../app/javascript/src/components/ExternalForm/Fields/FileUploadField/FilePreview.jsx","../app/javascript/src/components/ExternalForm/Fields/FileUploadField/index.jsx","../app/javascript/src/components/ExternalForm/Fields/NameField.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 \"dayjs\";\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","import { clientI18nInstance } from \"components/ExternalForm/utils/clientI18nInstance\";\n\nconst { t } = clientI18nInstance;\n\nexport const getInvalidFieldError = label =>\n t(\"neetoForm.error.invalidField\", { label });\nexport const getRequiredFieldError = label =>\n t(\"neetoForm.error.requiredField\", { label });\nexport const getSelectMinError = (min, entity = t(\"neetoForm.common.option\")) =>\n t(\"neetoForm.error.selectMin\", { min, entity });\nexport const getInvalidTypeError = (label, type) =>\n t(\"neetoForm.error.invalidType\", { label, type });\n\n/**\n * Find and highlight relevant keywords within a block of text\n * @param {string} label - The text to parse\n * @param {string} termsLink - The search keyword to highlight\n * @param {string} privacyPolicyLink - An absolute url for redirect on click\n * @return {object} A JSX object containing an array of alternating strings and JSX\n */\nexport const formatLabel = (label, termsLink, privacyPolicyLink) => {\n const templateStringArray = label.match(/[^{}]+(?=})/g) || [];\n const splitArray = label.split(/({.*?})/).filter(Boolean);\n const links = [termsLink, privacyPolicyLink];\n\n if (!templateStringArray.length) return label;\n\n return (\n <span>\n {splitArray.reduce((prev, current, index) => {\n if (\n templateStringArray.length &&\n current === `{${templateStringArray[0]}}`\n ) {\n return prev.concat(\n <a\n href={links[0] ? links.shift() : \"#\"}\n key={index}\n rel=\"noreferrer\"\n style={{ color: \"#22c4ff\" }}\n target=\"_blank\"\n >\n {templateStringArray.shift()}\n </a>\n );\n }\n\n return prev.concat(current);\n }, [])}\n </span>\n );\n};\n","import dayjs from \"dayjs\";\nimport { isNotPresent } from \"neetocist\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { validation as phoneNumberValidation } from \"neetomolecules/PhoneNumber\";\nimport { includes, map, pipe, prop, reject, toLower } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport { CAPTCHA_TYPES } from \"components/constants\";\nimport {\n getInvalidFieldError,\n getInvalidTypeError,\n getRequiredFieldError,\n getSelectMinError,\n} from \"utils/formUtils\";\n\nimport { clientI18nInstance } from \"./clientI18nInstance\";\n\nimport { QUESTION_KIND } from \"../constants\";\n\nconst { t } = clientI18nInstance;\n\nyup.addMethod(yup.array, \"unique\", function () {\n let field, message;\n\n if (arguments.length > 1) {\n field = arguments[0];\n message = arguments[1];\n } else {\n message = arguments[0];\n }\n\n const getValue = item => (field ? item[field] : item);\n\n const valueInLowerCase = pipe(getValue, toLower);\n\n return this.test(\"unique\", message, function (array = []) {\n // ignore destroyed items in the array\n const validItems = reject(prop(\"_destroy\"), array);\n\n const uniqueItems = new Set(map(valueInLowerCase, validItems));\n\n // all items are unique\n if (validItems.length === uniqueItems.size) return true;\n\n return this.createError({ path: this.path, message });\n });\n});\n\nconst isValidDate = date => date && dayjs(date).isValid();\n\nconst extractEmailDomain = email => email?.split(\"@\")[1];\n\nconst isEmailFromRestrictedDomain = (email, restrictedDomains) => {\n const domain = extractEmailDomain(email);\n\n return includes(domain, restrictedDomains);\n};\n\nconst validateTextField = ({ kind, label, isRequired }) => {\n let schema = yup.string().typeError(getInvalidTypeError(label, \"string\"));\n if (kind === QUESTION_KIND.PHONE.value) {\n schema = phoneNumberValidation(\n getInvalidFieldError(t(\"neetoForm.common.phoneNumberValidation\"))\n );\n }\n\n if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));\n\n return schema.trim();\n};\n\nconst validateEmailField = ({ label, isRequired, restrictedDomains }) => {\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 !isEmailFromRestrictedDomain(value, restrictedDomains)\n );\n if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));\n\n return schema.trim();\n};\n\nconst validateNameField = ({ label, isRequired }) => {\n let schema = yup.string().typeError(getInvalidTypeError(label, \"string\"));\n if (isRequired) schema = schema.trim().required(getRequiredFieldError(label));\n\n return schema.trim();\n};\n\nconst validateSingleChoiceField = ({ label, isRequired }) => {\n let schema = yup.string().typeError(getInvalidTypeError(label, \"string\"));\n if (isRequired) schema = schema.required(getSelectMinError(\"an\"));\n\n return schema.trim();\n};\n\nconst validateMultiChoiceField = ({ isRequired }) => {\n let schema = yup.array().of(yup.boolean());\n if (isRequired) schema = schema.compact().min(1, getSelectMinError(\"an\"));\n\n return schema;\n};\n\nconst validateRatingField = ({ label, isRequired }) => {\n let schema = yup.string().typeError(getInvalidTypeError(label, \"string\"));\n if (isRequired) schema = schema.required(getSelectMinError(\"an\"));\n\n return schema.trim();\n};\n\nconst validateStarRatingField = ({ label, isRequired }) => {\n let schema = yup.string().typeError(getInvalidTypeError(label, \"string\"));\n if (isRequired) {\n schema = schema.required(\n getSelectMinError(\"a\", t(\"neetoForm.common.rating\"))\n );\n }\n\n return schema.trim();\n};\n\nconst validateTermsField = ({ isRequired = true }) =>\n isRequired\n ? yup\n .boolean()\n .oneOf([true], t(\"neetoForm.common.mustAcceptTermsAndConditions\"))\n : yup.boolean().notRequired();\n\nconst validateConditionField = ({ isRequired = true }) =>\n isRequired\n ? yup.boolean().oneOf([true], t(\"neetoForm.common.mustAcceptCondition\"))\n : yup.boolean().notRequired();\n\nconst validateDateField = ({ label, isRequired }) => {\n let schema = yup\n .string()\n .test(\n \"is valid date\",\n getInvalidTypeError(label, \"date\"),\n value => isNotPresent(value) || isValidDate(value)\n );\n if (isRequired) {\n schema = schema.required(getRequiredFieldError(label));\n }\n\n return schema;\n};\n\nconst validateMultiEmailField = ({ isRequired }) => {\n let schema = yup\n .array()\n .of(\n yup.object().shape({\n value: yup.string().email(getInvalidFieldError(\"Email\")).trim(),\n })\n )\n .nullable();\n if (isRequired) {\n schema = schema\n .compact()\n .min(1, getSelectMinError(\"an\", t(\"neetoForm.common.email\")));\n }\n\n return schema;\n};\n\nconst editorHasValue = content => !isEditorEmpty(content);\n\nconst validateRichTextField = ({ isRequired }) => {\n let schema = yup.string();\n\n if (isRequired) {\n schema = schema.test(\n \"required\",\n getRequiredFieldError(\"content\"),\n editorHasValue\n );\n }\n\n return schema.trim();\n};\n\nconst validateFileUploadField = ({ isRequired, multipleFilesAllowed }) => {\n let files_schema = yup.array();\n\n if (isRequired) {\n files_schema = files_schema\n .of(\n yup.object().shape({\n name: yup.string(),\n signedId: yup\n .string()\n .required(t(\"neetoForm.fileUpload.validations.waitForUpload\")),\n url: yup\n .string()\n .required(t(\"neetoForm.fileUpload.validations.waitForUpload\")),\n })\n )\n .unique(\"name\", t(\"neetoForm.fileUpload.validations.removeDuplicates\"))\n .min(\n 1,\n multipleFilesAllowed\n ? t(\"neetoForm.fileUpload.validations.atLeastOneFileRequired\")\n : t(\"neetoForm.fileUpload.validations.fileIsRequired\")\n );\n }\n\n return yup.object().shape({ files: files_schema });\n};\n\nconst validateCaptchaField = ({ variant }) =>\n variant === CAPTCHA_TYPES.MATH_CAPTCHA\n ? yup\n .mixed()\n .test(\n \"verification failed\",\n t(\"neetoForm.error.captchaVerificationFailed\"),\n value => isNotPresent(value) || value\n )\n .transform(value => (value === \"\" ? null : value))\n .required(t(\"neetoForm.error.incompleteCaptcha\"))\n : yup.string().trim().required(t(\"neetoForm.error.incompleteCaptcha\"));\n\nconst fieldKindValidatorMap = {\n [QUESTION_KIND.EMAIL.value]: validateEmailField,\n [QUESTION_KIND.NAME.value]: validateNameField,\n [QUESTION_KIND.PHONE.value]: validateTextField,\n [QUESTION_KIND.TEXT.value]: validateTextField,\n [QUESTION_KIND.QUESTION.value]: validateTextField,\n [QUESTION_KIND.TEXTAREA.value]: validateTextField,\n [QUESTION_KIND.DECIMAL.value]: validateTextField,\n [QUESTION_KIND.INTEGER.value]: validateTextField,\n [QUESTION_KIND.DROPDOWN.value]: validateSingleChoiceField,\n [QUESTION_KIND.RADIO.value]: validateSingleChoiceField,\n [QUESTION_KIND.CHECKBOX.value]: validateMultiChoiceField,\n [QUESTION_KIND.RATING.value]: validateRatingField,\n [QUESTION_KIND.TERMS.value]: validateTermsField,\n [QUESTION_KIND.DATE.value]: validateDateField,\n [QUESTION_KIND.STAR_RATING.value]: validateStarRatingField,\n [QUESTION_KIND.ADDITIONAL_GUESTS.value]: validateMultiEmailField,\n [QUESTION_KIND.RICH_TEXT.value]: validateRichTextField,\n [QUESTION_KIND.CONDITION.value]: validateConditionField,\n [QUESTION_KIND.FILE_UPLOAD.value]: validateFileUploadField,\n [QUESTION_KIND.CAPTCHA.value]: validateCaptchaField,\n};\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","import { useState } from \"react\";\n\nimport { useField } from \"formik\";\nimport { isPresent } from \"neetocist\";\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 } = question;\n const label = fieldWithFallback(question, \"label\");\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 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 <Button\n {...{ label }}\n label={t(\"neetoForm.common.addGuests\")}\n style=\"secondary\"\n onClick={() => setIsInputVisible(true)}\n />\n )}\n </div>\n </div>\n );\n};\nexport default MultipleEmailInput;\n","import path from \"path\";\n\nimport { parsePhoneNumber } from \"libphonenumber-js\";\nimport { findBy, findById, isNotEmpty, isPresent } from \"neetocist\";\nimport { clamp, identity, includes, isNil, map, pluck, prop } from \"ramda\";\n\nimport { isEmptyValues } from \"utils\";\n\nimport { clientI18nInstance } from \"./clientI18nInstance\";\n\nimport {\n EMAIL_REGEX,\n ERROR_CODES,\n QUESTION_KIND,\n RATING_VALUES,\n SCHEMA_LESS_QUESTION_KINDS,\n} from \"../constants\";\nimport { getPhoneData } from \"../Fields/utils\";\n\nconst { t } = clientI18nInstance;\n\nconst toEmailValues = (values = []) =>\n values.map(value => ({ label: value, value, valid: true }));\n\nconst getPhoneNumberFromUrl = (fieldCodes, fieldCode) => {\n const countryCode = fieldCodes[`${fieldCode}.country`];\n const phoneNumber = fieldCodes[`${fieldCode}.number`];\n\n if (!countryCode || !phoneNumber) return undefined;\n\n const formattedValue = getPhoneData(phoneNumber, countryCode);\n\n if (!formattedValue) return undefined;\n\n return formattedValue.formatInternational();\n};\n\nconst getOptionFromURL = ({ optionsAttributes, fieldCodes, fieldCode }) => {\n const preFillOption = fieldCodes[fieldCode];\n\n return findBy({ label: preFillOption }, optionsAttributes)?.id;\n};\n\nconst getMultipleOptionsFromURL = ({\n optionsAttributes,\n fieldCodes,\n fieldCode,\n}) => {\n const fieldCodeValue = fieldCodes[fieldCode];\n\n if (!fieldCodeValue) return new Array(optionsAttributes.length).fill(false);\n\n const allOptions = fieldCodeValue.split(\",\");\n\n return optionsAttributes.map(option => allOptions.includes(option.label));\n};\n\nconst getStarRatingFromUrl = ({\n minValue,\n maxValue,\n fieldCodes,\n fieldCode,\n}) => {\n const fieldCodeValue = fieldCodes[fieldCode];\n const rating = parseInt(fieldCodeValue);\n\n return isNil(rating) || isNaN(rating)\n ? \"\"\n : clamp(minValue, maxValue, rating);\n};\n\nconst getAdditionalGuestsFromUrl = ({ fieldCodes, fieldCode }) => {\n const fieldCodeValue = fieldCodes[fieldCode];\n\n const allEmails = fieldCodeValue?.split(\",\");\n\n if (!allEmails) return [];\n\n return allEmails.map(email => ({\n label: email,\n value: email,\n valid: EMAIL_REGEX.test(email),\n }));\n};\n\nconst getRatingFromUrl = ({ fieldCodes, fieldCode }) => {\n const fieldCodeValue = fieldCodes[fieldCode];\n\n const allowedValues = Object.values(RATING_VALUES).map(prop(\"value\"));\n\n return allowedValues.includes(fieldCodeValue) ? fieldCodeValue : \"\";\n};\n\nconst getNumberFromUrl = ({ fieldCodes, fieldCode, kind }) => {\n const fieldCodeValue = fieldCodes[fieldCode];\n\n const parsedValue =\n kind === QUESTION_KIND.INTEGER.value\n ? parseInt(fieldCodeValue)\n : parseFloat(fieldCodeValue);\n\n return parsedValue || \"\";\n};\n\nexport const getLabel = (label, isRequired) =>\n isRequired ? `${label}*` : label;\n\nexport const generateInitValues = ({\n questions,\n initialValues = [],\n localValues = {},\n fieldCodes = {},\n}) => {\n const initValues = {};\n let valuesMap = {};\n if (initialValues) {\n valuesMap = initialValues.reduce(\n (acc, answer) => ({\n ...acc,\n [answer.questionId]: {\n value: answer.value,\n optionIds: answer.optionIds,\n },\n }),\n {}\n );\n }\n\n questions.forEach(question => {\n const { id, kind, optionsAttributes, fieldCode, minValue, maxValue } =\n question;\n switch (kind) {\n case QUESTION_KIND.CONDITION.value: {\n initValues[id] = valuesMap?.[id]?.value ?? false;\n\n return;\n }\n case QUESTION_KIND.ADDITIONAL_GUESTS.value: {\n const emailsFromSubmission = toEmailValues(valuesMap?.[id]?.value);\n\n initValues[id] = isNotEmpty(emailsFromSubmission)\n ? emailsFromSubmission\n : getAdditionalGuestsFromUrl({ fieldCodes, fieldCode });\n\n return;\n }\n case QUESTION_KIND.CHECKBOX.value: {\n initValues[id] = valuesMap[id]?.optionIds?.length\n ? optionsAttributes.map(option =>\n valuesMap[id]?.optionIds?.includes(option.id)\n )\n : getMultipleOptionsFromURL({\n optionsAttributes,\n fieldCodes,\n fieldCode,\n });\n\n return;\n }\n case QUESTION_KIND.RADIO.value:\n case QUESTION_KIND.DROPDOWN.value: {\n initValues[id] =\n optionsAttributes.find(option =>\n valuesMap[id]?.optionIds?.includes(option.id)\n )?.id ||\n getOptionFromURL({ optionsAttributes, fieldCodes, fieldCode });\n\n return;\n }\n case QUESTION_KIND.INTEGER.value:\n case QUESTION_KIND.DECIMAL.value: {\n initValues[id] =\n valuesMap?.[id]?.value ||\n getNumberFromUrl({ fieldCodes, fieldCode, kind });\n\n return;\n }\n case QUESTION_KIND.RATING.value: {\n initValues[id] =\n valuesMap?.[id]?.value || getRatingFromUrl({ fieldCodes, fieldCode });\n\n return;\n }\n case QUESTION_KIND.TERMS.value: {\n initValues[id] = false;\n\n return;\n }\n case QUESTION_KIND.FILE_UPLOAD.value: {\n initValues[id] = { files: valuesMap?.[id]?.value ?? [] };\n\n return;\n }\n case QUESTION_KIND.PHONE.value: {\n initValues[id] =\n valuesMap?.[id]?.value ??\n getPhoneNumberFromUrl(fieldCodes, fieldCode);\n\n return;\n }\n case QUESTION_KIND.STAR_RATING.value: {\n initValues[id] =\n valuesMap?.[id]?.value ??\n getStarRatingFromUrl({ minValue, maxValue, fieldCodes, fieldCode });\n\n return;\n }\n default: {\n initValues[id] =\n valuesMap?.[id]?.value ?? (fieldCodes[fieldCode] || \"\");\n\n return;\n }\n }\n });\n\n return !isEmptyValues(localValues) ? localValues : initValues;\n};\n\nexport const generateFormResponse = (response, questions) => {\n const formResponse = [];\n questions.forEach(question => {\n const { id, kind, optionsAttributes } = question;\n if (!SCHEMA_LESS_QUESTION_KINDS.includes(kind)) {\n const { [id]: responseValue } = response;\n if (\n kind === QUESTION_KIND.RADIO.value ||\n kind === QUESTION_KIND.DROPDOWN.value\n ) {\n const option = findById(responseValue, optionsAttributes);\n if (option) {\n formResponse.push({\n questionId: id,\n questionOptionId: option.id,\n value: option.label,\n kind,\n });\n }\n } else if (kind === QUESTION_KIND.CHECKBOX.value) {\n responseValue.forEach((isChecked, index) => {\n if (!isChecked) return;\n const option = optionsAttributes[index];\n formResponse.push({\n questionId: id,\n questionOptionId: option.id,\n value: option.label,\n kind,\n });\n });\n } else if (kind === QUESTION_KIND.PHONE.value) {\n formResponse.push({\n questionId: id,\n value: responseValue\n ? parsePhoneNumber(responseValue).formatInternational()\n : \"\",\n kind,\n });\n } else if (kind === QUESTION_KIND.ADDITIONAL_GUESTS.value) {\n formResponse.push({\n questionId: id,\n value: responseValue ? pluck(\"value\", responseValue) : null,\n kind,\n });\n } else if (kind === QUESTION_KIND.FILE_UPLOAD.value) {\n formResponse.push({\n questionId: id,\n files: isPresent(responseValue) ? responseValue.files : null,\n kind,\n });\n } else 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 convertMbToBytes = mb => mb * 1024 * 1024;\n\nexport const renderErrorMessage = (errorObject, maxFileSize, isMultiple) => {\n const error = errorObject.errors[0];\n const file = errorObject.file;\n if (error) {\n const { code } = error;\n\n switch (code) {\n case ERROR_CODES.FILE_TOO_LARGE:\n return t(\"neetoForm.fileUpload.dropzone.errors.fileTooLarge\", {\n fileName: file.name,\n maxSize: Math.round(maxFileSize / 1048576),\n });\n\n case ERROR_CODES.FILE_INVALID_TYPE:\n return t(\"neetoForm.fileUpload.dropzone.errors.fileInvalidType\", {\n fileType: path.extname(file.name),\n });\n\n case ERROR_CODES.TOO_MANY_FILES:\n if (!isMultiple) {\n return t(\"neetoForm.fileUpload.dropzone.errors.tooManyFiles\");\n }\n }\n }\n\n return t(\"neetoForm.fileUpload.dropzone.errors.defaultError\", {\n fileName: file.name,\n });\n};\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","import classnames from \"classnames\";\nimport { useField } from \"formik\";\n\nimport { getLabel } from \"components/ExternalForm/utils\";\nimport { validateFieldValue } from \"components/ExternalForm/utils/validations\";\nimport { fieldWithFallback } from \"utils\";\n\nimport { CAPTCHA_COMPONENT_MAP } from \"../constants\";\n\nconst CaptchaField = ({ question, preview, customValidator, captchaRef }) => {\n const { id: name, kind, isRequired, variant, nodeId } = question;\n\n const label = fieldWithFallback(question, \"label\");\n\n const [_, { touched, error }, { setValue, setTouched }] = useField({\n name: name || nodeId,\n validate: validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n variant,\n }),\n });\n\n const handleVerifyCaptcha = response => {\n setTouched(true);\n setValue(response);\n };\n\n const Component = CAPTCHA_COMPONENT_MAP[variant];\n\n return (\n <div className=\"neeto-form-engine-input__wrapper\">\n <div className=\"neeto-form-engine-input__label-wrapper\">\n {label && (\n <label className=\"neeto-form-engine-label\">\n {getLabel(label, isRequired)}\n </label>\n )}\n </div>\n <div className={classnames({ \"pointer-events-none\": preview })}>\n <Component\n {...{ captchaRef, handleVerifyCaptcha }}\n handleBlur={() => setTouched(true)}\n />\n </div>\n {touched && error && (\n <p\n className=\"neeto-form-engine-input__error\"\n data-cy=\"neeto-form-engine-captcha-error\"\n >\n {error}\n </p>\n )}\n </div>\n );\n};\n\nexport default CaptchaField;\n","export const MATH_OPERATORS = { PLUS: \"+\", MINUS: \"-\" };\n","import { getRandomInt, randomPick } from \"neetocist\";\nimport { values } from \"ramda\";\n\nimport { MATH_OPERATORS } from \"./constants\";\n\nexport const generateRandomOperation = () => {\n const firstNumber = getRandomInt(1, 50);\n const secondNumber = getRandomInt(1, 50);\n const operator = randomPick(...values(MATH_OPERATORS));\n\n return { firstNumber, secondNumber, operator };\n};\n","import { useState, useImperativeHandle } from \"react\";\n\nimport { useUpdateEffect } from \"neetocommons/react-utils\";\nimport { withEventTargetValue } from \"neetocommons/utils\";\nimport { Refresh } from \"neetoicons\";\nimport { Input } from \"neetoui\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/math-captcha.scss\";\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 className=\"neeto-form-nano-math-captcha\" ref={captchaRef}>\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>{firstNumber}</span>\n <span>{operator}</span>\n <span>{secondNumber}</span>\n <span>=</span>\n </div>\n <Input\n required\n className=\"neeto-form-nano-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 dayjs from \"dayjs\";\nimport localeData from \"dayjs/plugin/localeData\";\nimport utc from \"dayjs/plugin/utc\";\nimport weekday from \"dayjs/plugin/weekday\";\nimport weekOfYear from \"dayjs/plugin/weekOfYear\";\nimport { Field } from \"formik\";\nimport { DatePicker } from \"neetoui\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/date-picker.scss\";\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\ndayjs.extend(weekOfYear);\ndayjs.extend(weekday);\ndayjs.extend(localeData);\ndayjs.extend(utc);\n\nconst DateField = ({ question, customValidator }) => {\n const { id: name, kind, isRequired, nodeId } = 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 className=\"neeto-form-engine-label\">\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 dateFormat=\"MMM D, YYYY\"\n error={meta.touched ? meta.error : \"\"}\n placeholder={fieldWithFallback(question, \"placeholder\")}\n popupClassName=\"neeto-form-engine-date-picker-popup\"\n required={isRequired}\n size=\"small\"\n value={getValidDate(value)}\n onChange={date => {\n form.setFieldValue(name, date ? date.toISOString() : \"\");\n }}\n />\n )}\n </Field>\n </div>\n </div>\n );\n};\n\nexport default DateField;\n","import { useField } from \"formik\";\nimport { withEventTargetValue } from \"neetocommons/utils\";\nimport { Input } from \"neetoui\";\n\nimport { fieldWithFallback } from \"utils\";\n\nimport { QUESTION_KIND } from \"../constants\";\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst EmailField = ({ question, customValidator, autoComplete }) => {\n const {\n id: name,\n kind,\n isRequired,\n isDomainRestrictionEnabled,\n restrictedDomains,\n nodeId,\n } = question;\n const label = fieldWithFallback(question, \"label\");\n\n const { type } = QUESTION_KIND[kind.toUpperCase()];\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 restrictedDomains: isDomainRestrictionEnabled ? restrictedDomains : [],\n }),\n });\n\n const handleFieldChange = withEventTargetValue(setValue);\n\n return (\n <Input\n {...{ type, ...field, autoComplete, label }}\n error={touched ? error : \"\"}\n name={kind}\n placeholder={fieldWithFallback(question, \"placeholder\")}\n required={isRequired}\n onBlur={() => setTouched(true)}\n onChange={handleFieldChange}\n />\n );\n};\n\nexport default EmailField;\n","import { useState, useCallback, useEffect, useRef } from \"react\";\n\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { useField } from \"formik\";\nimport { findBy } from \"neetocist\";\nimport { assoc } from \"ramda\";\nimport { useDropzone } from \"react-dropzone\";\n\nimport {\n renderErrorMessage,\n convertMbToBytes,\n} from \"components/ExternalForm/utils\";\nimport { DIRECT_UPLOAD_URL } from \"src/common/constants\";\n\nconst useFileUpload = ({ disabled, accept, multiple, name, maxFileSize }) => {\n const [uploadProgress, setUploadProgress] = useState({});\n const [uploadError, setUploadError] = useState(\"\");\n\n const [_, { value }, { setValue, setError, setTouched }] = useField(name);\n\n const filesRef = useRef(value?.files);\n filesRef.current = value?.files;\n\n const cancel = useCallback(\n index => () => {\n setUploadProgress(assoc(value.files[index].name, null));\n const newFiles = value.files?.filter((_, idx) => idx !== index);\n setValue({ files: newFiles });\n },\n [value]\n );\n\n useEffect(() => {\n uploadError && setError(uploadError);\n }, [uploadError]);\n\n const onDropAccepted = async acceptedFiles => {\n setTouched(false);\n setUploadError(\"\");\n const initialFiles = acceptedFiles.map(file => ({\n name: file.name,\n size: file.size,\n }));\n\n const updatedFiles = multiple\n ? [...(value.files || []), ...initialFiles]\n : initialFiles;\n setValue({ files: updatedFiles });\n const newFiles = await new Promise(resolve => {\n const files = [];\n\n acceptedFiles.forEach(file => {\n setUploadProgress(assoc(file.name, 0));\n\n const upload = new DirectUpload(file, DIRECT_UPLOAD_URL, {\n directUploadWillStoreFileWithXHR: xhr => {\n xhr.upload.addEventListener(\"progress\", event => {\n const percentComplete = Math.round(\n (event.loaded / event.total) * 100\n );\n setUploadProgress(assoc(file.name, percentComplete));\n });\n\n xhr.upload.addEventListener(\"load\", () => {\n setUploadProgress(assoc(file.name, undefined));\n });\n },\n });\n\n upload.create((error, blob) => {\n if (error) {\n return setUploadError(error);\n }\n\n files.push({\n url: blob.blob_url,\n name: blob.filename,\n signedId: blob.signed_id,\n });\n\n const isUploadCompleted = multiple\n ? acceptedFiles.length === files.length\n : files.length === 1;\n\n if (isUploadCompleted) {\n return resolve(files);\n }\n\n return \"\";\n });\n });\n\n return files;\n });\n\n if (multiple) {\n setValue({\n files: filesRef.current.map(file => {\n const uploadedFile = findBy({ name: file.name }, newFiles);\n\n return { ...file, ...uploadedFile };\n }),\n });\n } else {\n setValue({ files: newFiles });\n }\n };\n\n const onDropRejected = fileRejections => {\n fileRejections.forEach(fileObject => {\n setTouched(true);\n setUploadError(renderErrorMessage(fileObject, maxFileSize, multiple));\n });\n };\n\n const { getRootProps, getInputProps, isDragActive, fileRejections } =\n useDropzone({\n disabled,\n accept,\n multiple,\n onDropAccepted,\n onDropRejected,\n maxSize: convertMbToBytes(maxFileSize),\n });\n\n return {\n files: value?.files,\n progress: uploadProgress,\n cancel,\n getRootProps,\n getInputProps,\n isDragActive,\n fileRejections,\n };\n};\n\nexport default useFileUpload;\n","<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"48\"\n height=\"36\"\n fill=\"none\"\n viewBox=\"0 0 48 36\"\n>\n <path\n fill=\"currentColor\"\n d=\"M32 26h-6v10h-4V26h-6l8-8 8 8zm6.958-11.816C38.534 6.282 32.012 0 24 0S9.466 6.282 9.042 14.184C3.902 15.11 0 19.596 0 25c0 6.074 4.926 11 11 11h7v-4h-7c-3.86 0-7-3.14-7-7 0-5.594 4.958-7.666 8.866-7.44C12.532 9.124 17.282 4 24 4c6.906 0 11.782 5.594 11.134 13.56C38.624 17.468 44 19.062 44 25c0 3.86-3.14 7-7 7h-7v4h7c6.074 0 11-4.926 11-11 0-5.404-3.902-9.89-9.042-10.816z\"\n ></path>\n</svg>\n","import classnames from \"classnames\";\nimport { Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport FileUpload from \"images/file_upload/file-upload\";\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/file-upload.scss\";\n\nconst DropZone = ({\n isDragActive,\n getRootProps,\n getInputProps,\n multipleFilesAllowed,\n hasFileSizeLimit = true,\n maxFileSize,\n allowedFileTypes,\n}) => {\n const { t } = useTranslation();\n\n const shouldShowFileSizeLimit = hasFileSizeLimit && maxFileSize;\n\n return (\n <div\n {...getRootProps({\n className: classnames([\"neeto-form-engine-file-upload__dropzone\"], {\n \"neeto-form-engine-file-upload__dropzone--drag-active\": isDragActive,\n }),\n })}\n >\n <div\n className=\"neeto-form-engine-file-upload__dropzone-inner\"\n data-cy=\"file-upload-body\"\n >\n <FileUpload className=\"neeto-form-engine-file-upload__upload-icon\" />\n <div className=\"neeto-form-engine-file-upload__dropzone-content\">\n <label\n className=\"neeto-form-engine-file-upload__upload-label\"\n htmlFor=\"file-upload\"\n >\n <Trans\n i18nKey=\"neetoForm.fileUpload.dropzone.chooseOrDragFile\"\n components={{\n typography: <Typography component=\"span\" weight=\"semibold\" />,\n span: <Typography component=\"span\" weight=\"normal\" />,\n }}\n />\n <input {...getInputProps()} data-cy=\"file-browse-button\" />\n </label>\n <div className=\"neeto-form-engine-file-upload__dropzone-helper-block\">\n {!multipleFilesAllowed && (\n <Typography\n className=\"neeto-form-engine-file-upload__dropzone-helper-text\"\n data-cy=\"upload-only-one-file-text\"\n style=\"body3\"\n >\n {t(\"neetoForm.fileUpload.dropzone.oneFileAllowed\")}\n </Typography>\n )}\n {shouldShowFileSizeLimit && (\n <Typography\n className=\"neeto-form-engine-file-upload__dropzone-helper-text\"\n data-cy=\"maximum-allowed-size-text\"\n style=\"body3\"\n >\n {t(\"neetoForm.fileUpload.dropzone.maxFileSize\", {\n size: maxFileSize,\n unit: t(\"neetoForm.fileUpload.mb\"),\n })}\n </Typography>\n )}\n {allowedFileTypes && (\n <Typography\n className=\"neeto-form-engine-file-upload__dropzone-helper-text\"\n data-cy=\"allowed-files-types-text\"\n style=\"body3\"\n >\n {t(\"neetoForm.fileUpload.dropzone.allowedFileTypes\", {\n types: allowedFileTypes,\n })}\n </Typography>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DropZone;\n","import { motion } from \"framer-motion\";\n\nconst Progress = ({\n percents,\n stroke = \"blue\",\n emptyStroke = stroke,\n emptyStrokeOpacity = 0.25,\n duration = 0.5,\n delay = 0,\n size = 100,\n strokeWidth = 12,\n}) => {\n const radius = 45;\n const circumference = Math.ceil(2 * Math.PI * radius);\n const fillPercents = Math.abs(\n Math.ceil((circumference / 100) * (percents - 100))\n );\n\n const transition = { duration, delay };\n\n const variants = {\n hidden: { strokeDashoffset: circumference, transition },\n show: { strokeDashoffset: fillPercents, transition },\n };\n\n return (\n <div className=\"neeto-form-engine-progress__circle\">\n <div\n className=\"neeto-form-engine-progress__circle-wrapper\"\n style={{ height: size }}\n >\n <svg\n height={size}\n version=\"1.1\"\n viewBox=\"0 0 100 100\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n {...{ strokeWidth }}\n className=\"circle\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n r={radius}\n stroke={emptyStroke}\n strokeOpacity={emptyStrokeOpacity}\n />\n </svg>\n <svg\n height={size}\n viewBox=\"0 0 100 100\"\n width={size}\n style={{\n position: \"absolute\",\n transform: \"rotate(-90deg)\",\n overflow: \"visible\",\n top: 0,\n }}\n >\n <motion.circle\n {...{ stroke, strokeWidth, variants }}\n animate=\"show\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n initial=\"hidden\"\n r={radius}\n strokeDasharray={circumference}\n strokeDashoffset={fillPercents}\n />\n </svg>\n </div>\n </div>\n );\n};\n\nexport default Progress;\n","export const FILE_MIME_TYPES = {\n pdf: [\"application/pdf\"],\n doc: [\"application/msword\", \"application/wps-writer\"],\n docx: [\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n ],\n xls: [\"application/vnd.ms-excel\"],\n xlsx: [\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"],\n csv: [\"text/csv\"],\n txt: [\"text/plain\"],\n rtf: [\"application/rtf\", \"text/rtf\"],\n html: [\"text/html\"],\n htm: [\"text/html\"],\n md: [\"text/markdown\", \"text/x-markdown\"],\n zip: [\"application/zip\"],\n mp3: [\"audio/mpeg\"],\n wma: [\"audio/x-ms-wma\", \"video/x-ms-asf\"],\n mp4: [\"video/mp4\"],\n webm: [\"video/webm\"],\n mpg: [\"video/mpeg\"],\n mpeg: [\"video/mpeg\"],\n flv: [\"video/x-flv\"],\n avi: [\"video/x-msvideo\"],\n jpg: [\"image/jpeg\"],\n jpeg: [\"image/jpeg\"],\n png: [\"image/png\"],\n gif: [\"image/gif\"],\n};\n","import { isNotPresent } from \"neetocist\";\n\nimport { FILE_MIME_TYPES } from \"./constants\";\n\nexport const getAcceptedFileTypes = allowedFileTypes => {\n const accepted = {};\n\n allowedFileTypes.split(\", \").forEach(type => {\n const mimeTypes = FILE_MIME_TYPES[type];\n const extension = `.${type}`;\n\n if (isNotPresent(type) || isNotPresent(mimeTypes)) return;\n\n mimeTypes.forEach(mimeType => {\n if (accepted[mimeType]) accepted[mimeType].push(extension);\n else accepted[mimeType] = [extension];\n });\n });\n\n return accepted;\n};\n\nexport const convertBytesToMb = bytes => (bytes / (1024 * 1024)).toFixed(2);\n","import classnames from \"classnames\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { FileGeneric, Check, Close } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/file-upload.scss\";\n\nimport Progress from \"./Progress\";\nimport { convertBytesToMb } from \"./utils\";\n\nconst FilePreview = withT(({ t, file, isUploading, cancel, progress }) => (\n <li\n className=\"neeto-form-engine-file-upload__uploaded-list-item\"\n key={file.url}\n >\n <div className=\"neeto-form-engine-file-upload__file-preview\">\n <Button\n className={classnames(\"p-0\", { invisible: isUploading })}\n href={file.url}\n icon={FileGeneric}\n iconSize={24}\n rel=\"noreferrer\"\n size=\"large\"\n style=\"text\"\n target=\"_blank\"\n />\n {isUploading && (\n <div className=\"neeto-form-engine-progress\">\n <Progress percents={progress || 0} size={20} />\n </div>\n )}\n </div>\n <div className=\"flex min-w-0 grow flex-col break-words\">\n <Typography\n className=\"neeto-form-engine-file-upload__file-info-name\"\n style=\"body2\"\n >\n {file.name}\n </Typography>\n <Typography\n className=\"neeto-form-engine-file-upload__file-info-size\"\n style=\"body3\"\n >\n {file.size\n ? t(\"neetoForm.fileUpload.fileSizeInMb\", {\n fileSize: convertBytesToMb(file.size),\n })\n : \"\"}\n </Typography>\n </div>\n <div className=\"neeto-form-engine-file-upload__actions\">\n <span\n className={classnames(\n \"neeto-form-engine-file-upload__success-indicator\",\n {\n \"neeto-form-engine-file-upload__success-indicator--active\":\n file.url,\n }\n )}\n >\n {file.url && <Check />}\n </span>\n <button\n className=\"neeto-form-engine-file-upload__button--red neeto-form-engine-file-upload__remove-button\"\n type=\"button\"\n onClick={cancel}\n >\n <Close />\n </button>\n </div>\n </li>\n));\n\nexport default FilePreview;\n","import { useField } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Label, Typography } from \"neetoui\";\nimport { isEmpty, isNotNil } from \"ramda\";\n\nimport {\n convertMbToBytes,\n renderErrorMessage,\n} from \"components/ExternalForm/utils\";\nimport useFileUpload from \"hooks/useFileUpload\";\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/file-upload.scss\";\nimport { fieldWithFallback } from \"utils\";\n\nimport DropZone from \"./DropZone\";\nimport FilePreview from \"./FilePreview\";\nimport { getAcceptedFileTypes } 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 [_, { touched, error }] = useField({\n name: name || nodeId,\n validate: validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n multipleFilesAllowed,\n }),\n });\n\n const {\n files,\n progress,\n cancel,\n getRootProps,\n getInputProps,\n isDragActive,\n fileRejections,\n } = useFileUpload({\n disabled: preview,\n accept: getAcceptedFileTypes(allowedFileTypes),\n multiple: multipleFilesAllowed,\n name: name || nodeId,\n maxFileSize,\n });\n\n const shouldShowError = touched && error && isEmpty(fileRejections);\n\n const maxFileSizeInBytes = convertMbToBytes(maxFileSize);\n\n const isUploadingFile = file =>\n isNotNil(progress[file.name]) && (progress[file.name] !== 100 || !file.url);\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 <DropZone\n {...{\n allowedFileTypes,\n getInputProps,\n getRootProps,\n isDragActive,\n maxFileSize,\n multipleFilesAllowed,\n }}\n />\n {isNotEmpty(files) && (\n <ul className=\"neeto-form-engine-file-upload__uploaded-list\">\n {files?.map((file, idx) => (\n <FilePreview\n {...{ file }}\n cancel={cancel(idx)}\n isUploading={isUploadingFile(file)}\n key={idx}\n progress={progress[file.name]}\n />\n ))}\n </ul>\n )}\n {isNotEmpty(fileRejections) &&\n fileRejections.map((file, index) => (\n <Typography\n className=\"neeto-ui-text-error-800 neeto-ui-bg-pastel-red neeto-ui-rounded-sm mt-2 inline-block w-full p-1 text-sm\"\n key={index}\n >\n {renderErrorMessage(file, maxFileSizeInBytes, false)}\n </Typography>\n ))}\n {shouldShowError && (\n <Typography className=\"neeto-ui-text-error-800 neeto-ui-bg-pastel-red neeto-ui-rounded-sm mt-2 inline-block w-full p-1 text-sm\">\n {error}\n </Typography>\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 { fieldWithFallback } from \"utils\";\n\nimport { QUESTION_KIND } from \"../constants\";\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst NameField = ({ question, customValidator, autoComplete }) => {\n const { id: name, kind, isRequired, nodeId } = question;\n const label = fieldWithFallback(question, \"label\");\n\n const { type = \"text\" } = QUESTION_KIND[kind.toUpperCase()];\n\n const [field, { touched, error }, { setValue, setTouched }] = useField({\n name: name || nodeId,\n validate: validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n }),\n });\n\n const handleFieldChange = withEventTargetValue(setValue);\n\n return (\n <Input\n {...{ type, ...field, autoComplete, label }}\n error={touched ? error : \"\"}\n name={kind}\n placeholder={fieldWithFallback(question, \"placeholder\")}\n required={isRequired}\n onBlur={() => setTouched(true)}\n onChange={handleFieldChange}\n />\n );\n};\n\nexport default NameField;\n","import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Checkbox, Radio } from \"neetoui\";\n\nconst Choices = ({ label, options, type, name, value, onChange, error }) => {\n const isCheckBox = type === \"checkbox\";\n const ChoiceWrapper = isCheckBox ? \"div\" : Radio;\n const Component = isCheckBox ? Checkbox : Radio.Item;\n\n return (\n <div\n className=\"neeto-form-engine-choices__wrapper\"\n data-cy={`${hyphenate(label)}-select-container-wrapper`}\n >\n <label className=\"neeto-form-engine-label\">{label}</label>\n <ChoiceWrapper\n className=\"neeto-form-engine-choices\"\n stacked={!isCheckBox}\n >\n {options.map((option, index) => (\n <label\n htmlFor={option.id}\n key={option.id}\n className={classnames(\"neeto-form-engine-choice\", {\n active: false,\n })}\n >\n <Component\n {...{ onChange, type }}\n id={option.id}\n label={option.label}\n name={isCheckBox ? `${name}.${index}` : name}\n value={option.id}\n checked={\n isCheckBox ? value?.[index] ?? false : value === option.id\n }\n />\n </label>\n ))}\n </ChoiceWrapper>\n {!!error && typeof error === \"string\" && (\n <p\n className=\"neeto-form-engine-input__error\"\n data-cy={`neeto-form-engine-${type}-error`}\n >\n {error}\n </p>\n )}\n </div>\n );\n};\n\nexport default memo(Choices);\n","import { Field, useFormikContext } from \"formik\";\nimport { findBy } from \"neetocist\";\nimport { Select } from \"neetoui\";\n\nimport { fieldWithFallback } from \"utils\";\n\nimport Choices from \"../Choices\";\nimport { QUESTION_KIND } from \"../constants\";\nimport { getError, getLabel } from \"../utils\";\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst OptionsField = ({ question, customValidator }) => {\n const { setFieldTouched, setFieldValue, validateField } = useFormikContext();\n const {\n id: name,\n kind,\n isRequired,\n optionsAttributes: options = [],\n } = question;\n\n const isDropdown = kind === QUESTION_KIND.DROPDOWN.value;\n const label = fieldWithFallback(question, \"label\");\n\n const Component = isDropdown ? Select : Choices;\n\n const transformedOptions = isDropdown\n ? options.map(option => ({\n label: fieldWithFallback(option, \"label\"),\n displayOrder: option.displayOrder,\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 return (\n <Field\n {...{ name }}\n validate={validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n })}\n >\n {({ meta, field }) => {\n const { onChange, value } = field;\n\n return (\n <Component\n {...{ isRequired, name }}\n error={getError(meta)}\n label={getLabel(label, isRequired)}\n options={transformedOptions}\n type={kind}\n value={\n isDropdown ? findBy({ value }, transformedOptions) || null : value\n }\n onChange={isDropdown ? handleSelect : onChange}\n />\n );\n }}\n </Field>\n );\n};\n\nexport default OptionsField;\n","import { useField } from \"formik\";\nimport { PhoneNumberInput } from \"neetomolecules/PhoneNumber\";\n\nimport { fieldWithFallback } from \"utils\";\n\nimport { getPhoneData } from \"./utils\";\n\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst PhoneNumberField = ({ question, autoComplete }) => {\n const { id: name, kind, isRequired, nodeId } = 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 error={touched ? error : \"\"}\n initialCountryCode={getPhoneData(value)?.country}\n placeholder={fieldWithFallback(question, \"placeholder\")}\n required={isRequired}\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 ...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 type=\"button\"\n className={classnames(\n `neeto-form-engine-rating__item neeto-form-engine-rating__item--${modifier}`,\n { active: rating === value }\n )}\n onClick={handleClick}\n >\n <Icon />\n <label className=\"neeto-form-engine-label\">{labels[index]}</label>\n </button>\n <input\n {...{ name }}\n hidden\n checked={rating === value}\n type=\"radio\"\n value={rating}\n {...other}\n />\n </Fragment>\n )\n );\n };\n\n return (\n <div className=\"neeto-form-engine-rating\">\n <label className=\"neeto-form-engine-label\">{label}</label>\n <div className=\"neeto-form-engine-rating__row\">{render()}</div>\n {!!error && typeof error === \"string\" && (\n <p\n className=\"neeto-form-engine-input__error\"\n data-cy=\"neeto-form-engine-rating-error\"\n >\n {error}\n </p>\n )}\n </div>\n );\n};\n\nexport default memo(Rating);\n","import { Field } from \"formik\";\n\nimport { fieldWithFallback } from \"utils\";\n\nimport { RATING_VALUES } from \"../constants\";\nimport Rating from \"../Rating\";\nimport { getLabel } from \"../utils\";\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst RatingField = ({ question, customValidator }) => {\n const { id: name, kind, isRequired: isRequired } = 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 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 { FastField, useFormikContext } from \"formik\";\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 } = question;\n const label = fieldWithFallback(question, \"label\");\n\n const debouncedPlaceholder = useDebounce(\n fieldWithFallback(question, \"placeholder\"),\n 300\n );\n\n const propsToCompare = [\"debouncedPlaceholder\", \"error\", \"touched\"];\n\n return (\n <div className=\"neeto-form-engine-input__wrapper\">\n <div className=\"neeto-form-engine-input__label-wrapper\">\n {label && (\n <label className=\"neeto-form-engine-label\">\n {getLabel(label, isRequired)}\n </label>\n )}\n </div>\n <FastField\n {...{ debouncedPlaceholder }}\n error={errors[name]}\n name={name || nodeId}\n shouldUpdate={isPropsUnequal(propsToCompare)}\n touched={touched[name]}\n validate={validateFieldValue({ kind, label, isRequired })}\n >\n {({ field, form, meta }) => (\n <Editor\n className=\"neeto-form-engine-rich-text-input\"\n error={meta.touched ? meta.error : \"\"}\n initialValue={field.value}\n key={debouncedPlaceholder}\n placeholder={debouncedPlaceholder}\n ref={editorRef}\n addons={[\n \"attachments\",\n \"block-quote\",\n \"code-block\",\n \"image-upload\",\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 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 className=\"neeto-form-engine-label\">{label}</label>\n </div>\n <div className=\"neeto-form-engine-star-rating__row\">\n {generateArray(minValue, maxValue).map(index => (\n <RatingButton key={index} label={index} rating={index} {...props} />\n ))}\n </div>\n {!!error && typeof error === \"string\" && (\n <p\n className=\"neeto-form-engine-input__error\"\n data-cy=\"neeto-form-engine-star-rating-error\"\n >\n {error}\n </p>\n )}\n </div>\n);\n\nexport default memo(StarRating);\n","import { Field } from \"formik\";\n\nimport { fieldWithFallback } from \"utils\";\n\nimport StarRating from \"../StarRating\";\nimport { getLabel } from \"../utils\";\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst StarRatingField = ({ question, customValidator }) => {\n const { id: name, kind, isRequired, minValue, maxValue, iconType } = 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 error={meta.touched ? meta.error : \"\"}\n label={getLabel(label, isRequired)}\n {...field}\n />\n )}\n </Field>\n );\n};\n\nexport default StarRatingField;\n","import { Field } from \"formik\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Checkbox } from \"neetoui\";\n\nimport { fieldWithFallback } from \"utils\";\n\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst TermsField = ({ question, customValidator }) => {\n const { id: name, kind, isRequired, nodeId } = question;\n const label = fieldWithFallback(question, \"label\", true);\n\n return (\n <Field\n name={name || nodeId}\n validate={validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n })}\n >\n {({ meta, field }) => (\n <div className=\"neeto-form-engine-terms\">\n <Checkbox\n {...{ ...field, name }}\n checked={field.value}\n error={meta.touched ? meta.error : \"\"}\n >\n <EditorContent content={label} />\n </Checkbox>\n </div>\n )}\n </Field>\n );\n};\n\nexport default TermsField;\n","import { useField } from \"formik\";\nimport { slugify } from \"neetocist\";\nimport { withEventTargetValue } from \"neetocommons/utils\";\nimport { Textarea, Input } from \"neetoui\";\n\nimport { fieldWithFallback } from \"utils\";\n\nimport { QUESTION_KIND } from \"../constants\";\nimport { validateFieldValue } from \"../utils/validations\";\n\nconst TextField = ({ question, customValidator, autoComplete }) => {\n const { id: name, kind, isRequired, nodeId } = question;\n const label = fieldWithFallback(question, \"label\");\n\n const {\n type = \"text\",\n onKeyDown,\n otherProps,\n } = QUESTION_KIND[kind.toUpperCase()];\n\n const Component = kind === QUESTION_KIND.TEXTAREA.value ? Textarea : Input;\n\n const [field, { touched, error }, { setValue, setTouched }] = useField({\n name: name || nodeId,\n validate: validateFieldValue({\n kind,\n label,\n isRequired,\n customValidator,\n }),\n });\n\n const handleFieldChange = withEventTargetValue(setValue);\n\n return (\n <Component\n {...{ type, ...field, autoComplete, label, onKeyDown }}\n error={touched ? error : \"\"}\n name={slugify(label)}\n placeholder={fieldWithFallback(question, \"placeholder\")}\n required={isRequired}\n onBlur={() => setTouched(true)}\n onChange={otherProps?.onChange(handleFieldChange) ?? handleFieldChange}\n />\n );\n};\n\nexport default TextField;\n","import { EditorContent } from \"neetoeditor\";\n\nimport { CAPTCHA_TYPES } from \"components/constants\";\nimport { fieldWithFallback } from \"utils\";\n\nimport AdditionalGuests from \"./AdditionalGuests\";\nimport CaptchaField from \"./CaptchaField\";\nimport MathCaptcha from \"./CaptchaField/MathCaptcha\";\nimport Recaptcha from \"./CaptchaField/Recaptcha\";\nimport ConditionField from \"./ConditionField\";\nimport DateField from \"./DateField\";\nimport EmailField from \"./EmailField\";\nimport FileUploadField from \"./FileUploadField\";\nimport NameField from \"./NameField\";\nimport OptionsField from \"./OptionsField\";\nimport PhoneNumberField from \"./PhoneNumberField\";\nimport RatingField from \"./RatingField\";\nimport RichTextEditor from \"./RichTextEditor\";\nimport StarRatingField from \"./StarRatingField\";\nimport TermsField from \"./TermsField\";\nimport TextField from \"./TextField\";\n\nimport { QUESTION_KIND } from \"../constants\";\n\nexport const QUESTION_TO_COMPONENT_MAP = {\n [QUESTION_KIND.TEXT.value]: TextField,\n [QUESTION_KIND.NAME.value]: NameField,\n [QUESTION_KIND.EMAIL.value]: EmailField,\n [QUESTION_KIND.INTEGER.value]: TextField,\n [QUESTION_KIND.DECIMAL.value]: TextField,\n [QUESTION_KIND.PHONE.value]: PhoneNumberField,\n [QUESTION_KIND.QUESTION.value]: TextField,\n [QUESTION_KIND.TEXTAREA.value]: TextField,\n [QUESTION_KIND.CHECKBOX.value]: OptionsField,\n [QUESTION_KIND.RADIO.value]: OptionsField,\n [QUESTION_KIND.DROPDOWN.value]: OptionsField,\n [QUESTION_KIND.RATING.value]: RatingField,\n [QUESTION_KIND.PARAGRAPH.value]: ({ question }) => (\n <EditorContent content={fieldWithFallback(question, \"label\", true)} />\n ),\n [QUESTION_KIND.TERMS.value]: TermsField,\n [QUESTION_KIND.DATE.value]: DateField,\n [QUESTION_KIND.STAR_RATING.value]: StarRatingField,\n [QUESTION_KIND.ADDITIONAL_GUESTS.value]: AdditionalGuests,\n [QUESTION_KIND.RICH_TEXT.value]: RichTextEditor,\n [QUESTION_KIND.CONDITION.value]: ConditionField,\n [QUESTION_KIND.FILE_UPLOAD.value]: FileUploadField,\n [QUESTION_KIND.CAPTCHA.value]: CaptchaField,\n};\n\nexport const CAPTCHA_COMPONENT_MAP = {\n [CAPTCHA_TYPES.RECAPTCHA_V2]: Recaptcha,\n [CAPTCHA_TYPES.MATH_CAPTCHA]: MathCaptcha,\n};\n","import dayjs from \"dayjs\";\nimport { parsePhoneNumber } from \"libphonenumber-js\";\nimport { notEqualsDeep } from \"neetocist\";\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"],"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","t","getInvalidFieldError","label","getRequiredFieldError","getSelectMinError","min","entity","getInvalidTypeError","type","yup","addMethod","array","field","message","getValue","valueInLowerCase","pipe","toLower","test","validItems","reject","prop","uniqueItems","Set","map","size","createError","path","isValidDate","date","extractEmailDomain","email","split","isEmailFromRestrictedDomain","restrictedDomains","domain","includes","validateTextField","kind","isRequired","schema","string","typeError","QUESTION_KIND","PHONE","phoneNumberValidation","trim","required","validateEmailField","_ref2","_ref3","isNotPresent","validateNameField","_ref4","validateSingleChoiceField","_ref5","validateMultiChoiceField","_ref6","of","compact","validateRatingField","_ref7","validateStarRatingField","_ref8","validateTermsField","_ref9","_ref9$isRequired","oneOf","notRequired","validateConditionField","_ref10","_ref10$isRequired","validateDateField","_ref11","validateMultiEmailField","_ref12","object","shape","nullable","editorHasValue","content","isEditorEmpty","validateRichTextField","_ref13","validateFileUploadField","_ref14","multipleFilesAllowed","files_schema","name","signedId","url","unique","files","validateCaptchaField","_ref15","variant","CAPTCHA_TYPES","MATH_CAPTCHA","mixed","transform","fieldKindValidatorMap","_fieldKindValidatorMa","_defineProperty","EMAIL","NAME","TEXT","QUESTION","TEXTAREA","DECIMAL","INTEGER","DROPDOWN","RADIO","CHECKBOX","RATING","TERMS","DATE","STAR_RATING","ADDITIONAL_GUESTS","RICH_TEXT","CONDITION","FILE_UPLOAD","CAPTCHA","validateFieldValue","_ref16","customValidator","otherProps","_objectWithoutProperties","_excluded","validator","_objectSpread","Promise","_ref17","_asyncToGenerator","_regeneratorRuntime","mark","_callee","resolve","wrap","_callee$","_context","prev","next","validate","t0","stop","_x","apply","MultipleEmailInput","_jsx2","question","id","nodeId","fieldWithFallback","_useTranslation","useTranslation","_useField","useField","_useField2","_slicedToArray","meta","_useField2$","setValue","setTouched","_useState","useState","_useState2","isInputVisible","setIsInputVisible","_jsx","className","NeetoUIMultiEmailInput","helpText","placeholder","onBlur","onChange","Button","onClick","toEmailValues","valid","getPhoneNumberFromUrl","fieldCodes","fieldCode","countryCode","phoneNumber","formattedValue","getPhoneData","formatInternational","getOptionFromURL","_findBy","optionsAttributes","preFillOption","findBy","getMultipleOptionsFromURL","fieldCodeValue","Array","fill","allOptions","option","getStarRatingFromUrl","minValue","maxValue","rating","parseInt","isNil","isNaN","clamp","getAdditionalGuestsFromUrl","allEmails","EMAIL_REGEX","getRatingFromUrl","allowedValues","RATING_VALUES","getNumberFromUrl","parsedValue","parseFloat","getLabel","generateInitValues","questions","_ref7$initialValues","initialValues","_ref7$localValues","localValues","_ref7$fieldCodes","initValues","valuesMap","acc","answer","questionId","optionIds","forEach","_valuesMap$id$value","_valuesMap","_valuesMap2","emailsFromSubmission","isNotEmpty","_valuesMap$id","_valuesMap$id2","_optionsAttributes$fi","find","_valuesMap$id3","_valuesMap3","_valuesMap4","_valuesMap$id$value2","_valuesMap5","_valuesMap$id$value3","_valuesMap6","_valuesMap$id$value4","_valuesMap7","_valuesMap$id$value5","_valuesMap8","generateFormResponse","response","formResponse","SCHEMA_LESS_QUESTION_KINDS","responseValue","findById","push","questionOptionId","isChecked","index","parsePhoneNumber","pluck","mergeRefs","_len","refs","_key","node","ref","current","getError","buildAutoCompleteAttribute","autoCompleteKinds","formDomProps","autoComplete","convertMbToBytes","mb","renderErrorMessage","errorObject","maxFileSize","isMultiple","file","code","ERROR_CODES","FILE_TOO_LARGE","fileName","maxSize","Math","round","FILE_INVALID_TYPE","fileType","extname","TOO_MANY_FILES","renderButtonsInOrder","buttonsArray","shouldReverse","orderedButtons","reverse","identity","getSelectedRating","CaptchaField","preview","captchaRef","_","_useField2$2","handleVerifyCaptcha","Component","CAPTCHA_COMPONENT_MAP","_jsxs","classnames","handleBlur","MATH_OPERATORS","PLUS","MINUS","generateRandomOperation","firstNumber","getRandomInt","secondNumber","operator","randomPick","_toConsumableArray","MathCaptcha","operation","setOperation","_useState3","_useState4","userInput","setUserInput","resetCaptcha","useImperativeHandle","reset","calculateResult","verifyCaptcha","result","Number","useUpdateEffect","Refresh","Input","withEventTargetValue","Recaptcha","verifyRecaptcha","expiredRecaptcha","_captchaRef$current","ReCAPTCHA","hl","sitekey","globalProps","formNanoRecaptchaV2SiteKey","onErrored","noop","onExpired","ConditionField","Field","Checkbox","checked","extend","weekOfYear","weekday","localeData","utc","DateField","_QUESTION_KIND$kind$t","toUpperCase","_ref2$field","form","DatePicker","dateFormat","popupClassName","getValidDate","setFieldValue","toISOString","EmailField","isDomainRestrictionEnabled","handleFieldChange","useFileUpload","disabled","accept","multiple","uploadProgress","setUploadProgress","uploadError","setUploadError","setError","filesRef","useRef","cancel","useCallback","_value$files","assoc","newFiles","idx","onDropAccepted","acceptedFiles","initialFiles","updatedFiles","upload","DirectUpload","DIRECT_UPLOAD_URL","directUploadWillStoreFileWithXHR","xhr","addEventListener","event","percentComplete","loaded","total","create","blob","blob_url","filename","signed_id","isUploadCompleted","sent","uploadedFile","onDropRejected","fileRejections","fileObject","_useDropzone","useDropzone","getRootProps","getInputProps","isDragActive","progress","React","DropZone","_ref$hasFileSizeLimit","hasFileSizeLimit","allowedFileTypes","shouldShowFileSizeLimit","FileUpload","htmlFor","Trans","i18nKey","components","typography","Typography","component","weight","span","style","unit","types","Progress","percents","_ref$stroke","stroke","_ref$emptyStroke","emptyStroke","_ref$emptyStrokeOpaci","emptyStrokeOpacity","_ref$duration","duration","_ref$delay","delay","_ref$size","_ref$strokeWidth","strokeWidth","radius","circumference","ceil","PI","fillPercents","abs","transition","variants","hidden","strokeDashoffset","show","height","version","viewBox","width","xmlns","cx","cy","r","strokeOpacity","position","overflow","top","motion","circle","animate","initial","strokeDasharray","FILE_MIME_TYPES","pdf","doc","docx","xls","xlsx","csv","txt","rtf","html","htm","md","zip","mp3","wma","mp4","webm","mpg","mpeg","flv","avi","jpg","jpeg","png","gif","getAcceptedFileTypes","accepted","mimeTypes","extension","mimeType","convertBytesToMb","bytes","toFixed","FilePreview","withT","isUploading","invisible","href","icon","FileGeneric","iconSize","rel","target","fileSize","Check","Close","FileUploadField","_ref$preview","_useFileUpload","shouldShowError","isEmpty","maxFileSizeInBytes","isUploadingFile","isNotNil","Label","_createElement","NameField","Choices","options","isCheckBox","ChoiceWrapper","Radio","Item","hyphenate","stacked","_value$index","active","memo","OptionsField","setFieldTouched","validateField","_question$optionsAttr","isDropdown","Select","transformedOptions","displayOrder","handleSelect","setTimeout","PhoneNumberField","_getPhoneData","PhoneNumberInput","initialCountryCode","country","Rating","lowestRatingLabel","averageRatingLabel","highestRatingLabel","other","handleClick","e","currentTarget","nextElementSibling","click","render","labels","RATING_OPTIONS","Icon","modifier","Fragment","RatingField","AVERAGE","GOOD","BAD","RichTextEditor","editorRef","_ref$editorProps","editorProps","debouncedPlaceholder","useDebounce","propsToCompare","FastField","shouldUpdate","isPropsUnequal","Editor","initialValue","addons","RatingButton","_ref$value","iconType","ICONS_MAP","selectedRating","_Fragment","equals","StarRating","props","generateArray","StarRatingField","TermsField","EditorContent","TextField","_otherProps$onChange","_QUESTION_KIND$kind$t2","onKeyDown","Textarea","slugify","QUESTION_TO_COMPONENT_MAP","_QUESTION_TO_COMPONEN","PARAGRAPH","AdditionalGuests","_CAPTCHA_COMPONENT_MA","RECAPTCHA_V2","getFieldComponent","nextProps","prevProps","notEqualsDeep","pick","_unused"],"mappings":"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"}
|