@bigbinary/neeto-form-frontend 3.3.1 → 3.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../app/javascript/src/common/constants.js","../app/javascript/src/components/Common/StarRatingIcons.jsx","../app/javascript/src/assets/images/feedback/confused-face.svg","../app/javascript/src/assets/images/feedback/happy-face.svg","../app/javascript/src/assets/images/feedback/sad-face.svg","../app/javascript/src/components/ExternalForm/constants.js","../app/javascript/src/apis/neeto_form.js","../app/javascript/src/hooks/utils.js","../app/javascript/src/hooks/useFormApi.js","../app/javascript/src/components/constants.js","../app/javascript/src/components/BuildForm/constants.js","../app/javascript/src/utils/index.js","../app/javascript/src/stores/buildForm.js","../app/javascript/src/components/BuildForm/Icons.jsx","../app/javascript/src/components/BuildForm/Questions/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/constants.js","../app/javascript/src/components/BuildForm/Questions/constants.js","../app/javascript/src/components/BuildForm/Form/DeleteAlert.jsx","../app/javascript/src/components/BuildForm/Form/ChangeLanguageDropdown.jsx","../app/javascript/src/components/BuildForm/Form/Overview.jsx","../app/javascript/src/components/BuildForm/utils.js","../app/javascript/src/components/BuildForm/Questions/Card.jsx","../app/javascript/src/components/BuildForm/Form/Questions.jsx","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../app/javascript/src/common/helpers/array.js","../app/javascript/src/components/BuildForm/Form/utils.js","../app/javascript/src/assets/images/noData/no-questions.svg","../app/javascript/src/components/BuildForm/AddFirstQuestion.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/constants.js","../app/javascript/src/components/Common/FormikAdaptiveInput.jsx","../app/javascript/src/components/BuildForm/commons/Block.jsx","../app/javascript/src/components/BuildForm/hooks/useUpdateEditorContent.js","../app/javascript/src/components/BuildForm/commons/Editor.jsx","../app/javascript/src/components/BuildForm/commons/RequiredSwitch.jsx","../app/javascript/src/components/Common/InputWithMaxLength.jsx","../app/javascript/src/components/BuildForm/Questions/FieldCode.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/Form.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/validations.js","../app/javascript/src/components/BuildForm/ManageQuestionPane/Add.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/Edit.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Captcha/index.jsx","../app/javascript/src/components/BuildForm/commons/SwitchBlock.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/constants.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/index.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/Email/RestrictedDomains.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/index.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/FileGroup.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/index.jsx","../app/javascript/src/common/helpers/form.js","../app/javascript/src/components/BuildForm/Questions/Fields/Options.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Rating.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/StarRating.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/utils.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/index.jsx","../app/javascript/src/components/BuildForm/Questions/AddQuestion.jsx","../app/javascript/src/components/BuildForm/Form/index.jsx","../app/javascript/src/components/BuildForm/index.jsx","../app/javascript/src/components/Common/NeetoFormProvider.jsx","../app/javascript/src/components/Common/Spinner.jsx","../app/javascript/src/components/Common/Button.jsx","../app/javascript/src/components/Common/constants.js","../app/javascript/src/components/Common/Callout.jsx","../app/javascript/src/components/ExternalForm/utils/clientI18nInstance.js","../app/javascript/src/utils/localStorage.js","../app/javascript/src/components/Common/FormikWrap.js","../app/javascript/src/hocs/withI18nInstance.jsx","../app/javascript/src/hooks/useIsMounted.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","../app/javascript/src/assets/images/neeto_form/Success.svg","../app/javascript/src/components/ExternalForm/Success.jsx","../app/javascript/src/components/ExternalForm/index.jsx","../node_modules/react-linkify/dist/decorators/defaultComponentDecorator.js","../node_modules/react-linkify/dist/decorators/defaultHrefDecorator.js","../node_modules/uc.micro/properties/Any/regex.js","../node_modules/uc.micro/categories/Cc/regex.js","../node_modules/uc.micro/categories/Z/regex.js","../node_modules/uc.micro/categories/P/regex.js","../node_modules/linkify-it/lib/re.js","../node_modules/linkify-it/index.js","../node_modules/react-linkify/dist/decorators/defaultMatchDecorator.js","../node_modules/react-linkify/dist/decorators/defaultTextDecorator.js","../node_modules/react-linkify/dist/components/Linkify.js","../node_modules/react-linkify/dist/index.js","../app/javascript/src/components/Submissions/utils.jsx","../app/javascript/src/components/Submissions/QuestionResponses/FileUpload.jsx","../app/javascript/src/components/Submissions/Submission.jsx","../app/javascript/src/components/UrlBuilder/utils.js","../app/javascript/src/components/UrlBuilder/index.jsx","../app/javascript/src/hooks/useFormSubmission.js"],"sourcesContent":["export const STRING_FILTER_OPTIONS = [\n { value: \"cont\", label: \"Contains\" },\n { value: \"eq\", label: \"Equals\" },\n { value: \"not_eq\", label: \"Not Equals\" },\n { value: \"start\", label: \"Starts With\" },\n { value: \"end\", label: \"Ends With\" },\n];\nexport const BASE_URL = \"/form\";\n\nexport const QUERY_KEYS = {\n QUESTIONS: \"neetoFormQuestions\",\n SUBMISSIONS: \"neetoFormSubmissions\",\n SUBMISSION: \"neetoFormSubmission\",\n FORMS: \"neetoFormForms\",\n FORM: \"neetoFormForm\",\n FORMIK: \"neetoFormFormik\",\n};\n\nexport const DIRECT_UPLOAD_URL = \"/api/direct_uploads\";\n\nexport const FORMS_URL = `${BASE_URL}/api/v1/forms`;\nexport const FORM_URL = `${FORMS_URL}/:formId`;\n\nexport const QUESTIONS_URL = `${FORM_URL}/questions`;\nexport const QUESTION_URL = `${QUESTIONS_URL}/:questionId`;\nexport const PUBLIC_QUESTIONS_URL = `${FORM_URL}/public/questions`;\nexport const REORDER_QUESTIONS_URL = `${QUESTIONS_URL}/reorder`;\n\nexport const QUESTION_RESPONSES_URL = `${FORM_URL}/question_responses`;\nexport const PUBLIC_QUESTION_RESPONSES_URL = `${FORM_URL}/public/question_responses`;\n\nexport const SUBMISSIONS_URL = `${FORM_URL}/submissions`;\nexport const SUBMISSION_URL = `${SUBMISSIONS_URL}/:submissionId`;\nexport const PUBLIC_SUBMISSION_URL = `${FORM_URL}/public/submissions/:submissionId`;\n","/* eslint-disable @bigbinary/neeto/no-multiple-components-in-a-file */\nimport { memo } from \"react\";\n\nconst Star = props => {\n const { size = 20, ...other } = props;\n\n return (\n <svg\n fill=\"none\"\n height={size}\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <path d=\"M12 2L15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2z\" />\n </svg>\n );\n};\n\nconst Heart = props => {\n const { size = 20, ...other } = props;\n\n return (\n <svg\n fill=\"none\"\n height={size}\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <path d=\"M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z\" />\n </svg>\n );\n};\n\nconst Zap = props => {\n const { size = 20, ...other } = props;\n\n return (\n <svg\n fill=\"none\"\n height={size}\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <path d=\"M13 2L3 14 12 14 11 22 21 10 12 10 13 2z\" />\n </svg>\n );\n};\n\nconst Crown = ({ size = 20, ...otherProps }) => (\n <svg\n fill=\"none\"\n height={size}\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path\n d=\"M22.3186 17.8652C22.3186 18.8915 21.4789 19.7311 20.4527 19.7311L20.4714 19.733H5.54466C4.49979 19.733 3.67882 18.912 3.67882 17.8858V8.61254H3.66016C3.66016 8.0901 4.07064 7.67962 4.59308 7.67962C4.761 7.67962 4.94759 7.71693 5.09686 7.82888L9.23902 10.5903L12.1871 6.14963V6.13097C12.4669 5.70182 13.0453 5.57122 13.4745 5.86975C13.5678 5.92573 13.6611 6.01902 13.717 6.11231L16.6651 10.5344L20.8072 7.75425C21.2177 7.45572 21.8129 7.56767 22.0928 7.99681C22.1861 8.14608 22.2421 8.314 22.2421 8.50059V17.7552\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.5\"\n />\n </svg>\n);\n\nconst Trophy = ({ size = 20, ...otherProps }) => (\n <svg\n fill=\"none\"\n height={size}\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path\n d=\"M17.6873 8.05176H20.0311V8.05176C20.894 8.05176 21.5936 8.75131 21.5936 9.61426V11.1768C21.5936 12.9026 20.1944 14.3018 18.4686 14.3018H17.5889\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M13 16.6455V21.333\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M16.125 21.333H9.875\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M9.875 5.70801H16.125V5.70801C16.9879 5.70801 17.6875 6.40756 17.6875 7.27051V13.5205C17.6875 15.2464 16.2884 16.6455 14.5625 16.6455H11.4375V16.6455C9.71161 16.6455 8.3125 15.2464 8.3125 13.5205V7.27051V7.27051C8.3125 6.40756 9.01205 5.70801 9.875 5.70801V5.70801Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M8.3125 8.05176H5.96875V8.05176C5.1058 8.05176 4.40625 8.75131 4.40625 9.61426V11.1768V11.1768C4.40625 12.9026 5.80536 14.3018 7.53125 14.3018H8.41094\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.5\"\n />\n </svg>\n);\n\nconst MemoizedStar = memo(Star);\nconst MemoizedHeart = memo(Heart);\nconst MemoizedZap = memo(Zap);\nconst MemoizedCrown = memo(Crown);\nconst MemoizedTrophy = memo(Trophy);\n\nexport {\n MemoizedStar as Star,\n MemoizedHeart as Heart,\n MemoizedZap as Zap,\n MemoizedCrown as Crown,\n MemoizedTrophy as Trophy,\n};\n","<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M16 4C9.38267 4 4 9.38267 4 16C4 22.6173 9.38267 28 16 28C22.6173 28 28 22.616 28 16C28 9.384 22.616 4 16 4Z\" stroke=\"#68737D\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n<path d=\"M20.6675 20.9177C20.6675 20.9177 18.9168 22.667 16.0008 22.667C13.0835 22.667 11.3342 20.9177 11.3342 20.9177M20.4382 12.667C20.2542 12.667 20.1048 12.8163 20.1062 13.0003C20.1062 13.1843 20.2555 13.3337 20.4395 13.3337C20.6235 13.3337 20.7728 13.1843 20.7728 13.0003C20.7728 12.8163 20.6235 12.667 20.4382 12.667ZM11.5195 12.667C11.3355 12.667 11.1862 12.8163 11.1875 13.0003C11.1875 13.1843 11.3368 13.3337 11.5208 13.3337C11.7048 13.3337 11.8542 13.1843 11.8542 13.0003C11.8542 12.8163 11.7048 12.667 11.5195 12.667Z\" stroke=\"#68737D\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n","<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M9.33203 13.3336C9.8587 12.687 10.5787 12.3203 11.332 12.3203C12.0854 12.3203 12.7854 12.687 13.332 13.3336M18.6654 13.3336C19.192 12.687 19.912 12.3203 20.6654 12.3203C21.4187 12.3203 22.1187 12.687 22.6654 13.3336\" stroke=\"#68737D\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n<path d=\"M24.4853 7.51472C29.1715 12.201 29.1715 19.799 24.4853 24.4853C19.799 29.1715 12.201 29.1715 7.51472 24.4853C2.82843 19.799 2.82843 12.201 7.51472 7.51472C12.201 2.82843 19.799 2.82843 24.4853 7.51472\" stroke=\"#68737D\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n<path d=\"M20.6654 19.584C20.6654 19.584 18.9147 21.3333 15.9987 21.3333C13.0814 21.3333 11.332 19.584 11.332 19.584\" stroke=\"#68737D\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n","<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M20.6666 12V13.3333M24.4853 7.51472C29.1715 12.201 29.1715 19.799 24.4853 24.4853C19.799 29.1715 12.201 29.1715 7.51472 24.4853C2.82843 19.799 2.82843 12.201 7.51472 7.51472C12.201 2.82843 19.799 2.82843 24.4853 7.51472V7.51472ZM11.3333 12V13.3333V12Z\" stroke=\"#68737D\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n<path d=\"M11.332 21.3333C11.332 21.3333 13.0827 19.584 15.9987 19.584C18.916 19.584 20.6654 21.3333 20.6654 21.3333\" stroke=\"#68737D\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n","import { t } from \"i18next\";\n\nimport {\n Star as StarIcon,\n Heart,\n Crown,\n Trophy,\n Zap,\n} from \"components/Common/StarRatingIcons\";\nimport ConfusedFace from \"images/feedback/confused-face\";\nimport HappyFace from \"images/feedback/happy-face\";\nimport SadFace from \"images/feedback/sad-face\";\n\nexport const QUESTION_KIND = {\n TEXT: { value: \"text\" },\n NAME: { value: \"name\" },\n EMAIL: { type: \"email\", value: \"email\" },\n PHONE: { type: \"tel\", value: \"phone\" },\n CHECKBOX: { value: \"checkbox\" },\n RADIO: { value: \"radio\" },\n DROPDOWN: { value: \"dropdown\" },\n PARAGRAPH: { value: \"paragraph\" },\n TEXTAREA: { value: \"textarea\" },\n QUESTION: { value: \"question\" },\n RATING: { value: \"rating\" },\n STAR_RATING: { value: \"star_rating\" },\n TERMS: { value: \"termsandcondition\", type: \"checkbox\" },\n CONDITION: { value: \"condition\", type: \"checkbox\" },\n DATE: { value: \"date\" },\n ADDITIONAL_GUESTS: { value: \"additional_guests\" },\n RICH_TEXT: { value: \"rich_text\" },\n INTEGER: {\n type: \"number\",\n value: \"integer\",\n onKeyDown: e => {\n if (e.key === \".\" || e.key === \"e\") e.preventDefault();\n },\n },\n DECIMAL: {\n type: \"number\",\n value: \"decimal\",\n onKeyDown: e => {\n if (e.key === \"e\") e.preventDefault();\n },\n },\n FILE_UPLOAD: { value: \"file_upload\" },\n CAPTCHA: { value: \"captcha\" },\n};\n\nexport const RATING_VALUES = {\n GOOD: { label: t(\"neetoForm.common.good\"), value: \"good\" },\n AVERAGE: { label: t(\"neetoForm.common.okay\"), value: \"okay\" },\n BAD: { label: t(\"neetoForm.common.bad\"), value: \"bad\" },\n};\n\nexport const SCHEMA_LESS_QUESTION_KINDS = [QUESTION_KIND.PARAGRAPH.value];\n\nexport const RATING_OPTIONS = [\n {\n icon: HappyFace,\n modifier: \"happy\",\n value: RATING_VALUES.GOOD.value,\n },\n {\n icon: ConfusedFace,\n modifier: \"confused\",\n value: RATING_VALUES.AVERAGE.value,\n },\n { icon: SadFace, modifier: \"sad\", value: RATING_VALUES.BAD.value },\n];\n\nexport const GENERIC_PHONE_REGEX = /\\+\\d{11,14}$/;\n\nexport const ICONS_MAP = {\n star: StarIcon,\n heart: Heart,\n crown: Crown,\n trophy: Trophy,\n zap: Zap,\n};\n\nexport const ERROR_CODES = {\n FILE_TOO_LARGE: \"file-too-large\",\n FILE_INVALID_TYPE: \"file-invalid-type\",\n TOO_MANY_FILES: \"too-many-files\",\n};\n\nexport const EMAIL_REGEX = new RegExp(\n \"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$\",\n \"i\"\n);\n","import axios from \"axios\";\nimport i18next from \"i18next\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport {\n FORMS_URL,\n FORM_URL,\n PUBLIC_QUESTIONS_URL,\n PUBLIC_QUESTION_RESPONSES_URL,\n PUBLIC_SUBMISSION_URL,\n QUESTIONS_URL,\n QUESTION_RESPONSES_URL,\n QUESTION_URL,\n REORDER_QUESTIONS_URL,\n SUBMISSIONS_URL,\n SUBMISSION_URL,\n} from \"src/common/constants\";\n\nconst getForms = params => axios.get(FORMS_URL, { params });\nconst createForm = payload => axios.post(FORMS_URL, payload);\nconst updateForm = (formId, payload) =>\n axios.patch(buildUrl(FORM_URL, { formId }), payload);\nconst destroyForm = formId => axios.delete(buildUrl(FORM_URL, { formId }));\n\nconst getQuestions = (formId, language = i18next.resolvedLanguage) =>\n axios.get(buildUrl(QUESTIONS_URL, { formId }), { params: { language } });\n\nconst getPublicQuestions = (formId, language = i18next.resolvedLanguage) =>\n axios.get(buildUrl(PUBLIC_QUESTIONS_URL, { formId }), {\n params: { language },\n });\n\nconst createQuestion = (formId, payload) =>\n axios.post(buildUrl(QUESTIONS_URL, { formId }), payload);\n\nconst updateQuestion = ({ formId, questionId, payload }) =>\n axios.patch(buildUrl(QUESTION_URL, { formId, questionId }), payload);\n\nconst deleteQuestion = (formId, questionId) =>\n axios.delete(buildUrl(QUESTION_URL, { formId, questionId }));\n\nconst reorderQuestions = (formId, payload) =>\n axios.post(buildUrl(REORDER_QUESTIONS_URL, { formId }), payload);\n\nconst submitPublicForm = (formId, payload) =>\n axios.post(buildUrl(PUBLIC_QUESTION_RESPONSES_URL, { formId }), payload);\n\nconst updatePublicSubmission = (formId, payload) =>\n axios.put(buildUrl(PUBLIC_QUESTION_RESPONSES_URL, { formId }), payload);\n\nconst getPublicSubmission = (\n formId,\n submissionId,\n language = i18next.resolvedLanguage\n) =>\n axios.get(buildUrl(PUBLIC_SUBMISSION_URL, { formId, submissionId }), {\n params: { language },\n });\n\nconst getSubmissions = (formId, language = i18next.resolvedLanguage) =>\n axios.get(buildUrl(SUBMISSIONS_URL, { formId }), {\n params: { language },\n });\n\nconst getSubmission = (\n formId,\n submissionId,\n language = i18next.resolvedLanguage\n) =>\n axios.get(buildUrl(SUBMISSION_URL, { formId, submissionId }), {\n params: { language },\n });\n\nconst updateSubmission = (formId, payload) =>\n axios.put(buildUrl(QUESTION_RESPONSES_URL, { formId }), payload);\n\nconst neetoFormApi = {\n getForms,\n createForm,\n updateForm,\n destroyForm,\n getQuestions,\n getPublicQuestions,\n createQuestion,\n updateQuestion,\n deleteQuestion,\n reorderQuestions,\n submitPublicForm,\n getSubmissions,\n getSubmission,\n getPublicSubmission,\n updateSubmission,\n updatePublicSubmission,\n};\n\nexport default neetoFormApi;\n","import { assoc } from \"ramda\";\n\nimport { QUERY_KEYS } from \"src/common/constants\";\n\nexport const handleQuestionMutationSuccess = ({\n args,\n formId,\n language,\n queryClient,\n onSuccess,\n}) => {\n const [data] = args;\n\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.QUESTIONS, formId],\n });\n\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.QUESTIONS, `preview/${formId}`],\n });\n\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, formId, language],\n assoc(\"questions\", data.questions)\n );\n\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, `preview/${formId}`, language],\n assoc(\"questions\", data.questions)\n );\n\n onSuccess?.(...args);\n};\n","import {\n useQuery,\n useMutation,\n useQueryClient,\n keepPreviousData,\n} from \"@tanstack/react-query\";\nimport i18next from \"i18next\";\nimport { filterNonNull } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { assoc, mergeLeft } from \"ramda\";\n\nimport neetoFormApi from \"apis/neeto_form\";\nimport { QUERY_KEYS } from \"common/constants\";\n\nimport { handleQuestionMutationSuccess } from \"./utils\";\n\nexport const useForm = ({\n formId,\n preview = null,\n language = i18next.resolvedLanguage,\n ...options\n}) =>\n useQuery({\n queryKey: [\n QUERY_KEYS.QUESTIONS,\n preview ? `preview/${formId}` : formId,\n language,\n ],\n queryFn: () => neetoFormApi.getPublicQuestions(formId, language),\n placeholderData: keepPreviousData,\n ...options,\n });\n\nexport const useFetchQuestions = ({\n formId,\n language = i18next.resolvedLanguage,\n ...options\n}) =>\n useQuery({\n queryKey: [QUERY_KEYS.QUESTIONS, formId, language],\n queryFn: () => neetoFormApi.getQuestions(formId, language),\n placeholderData: keepPreviousData,\n ...options,\n });\n\nexport const useCreateForm = (options, language = i18next.resolvedLanguage) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: neetoFormApi.createForm,\n ...options,\n onSuccess: form => {\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS],\n forms => forms && [...forms, form]\n );\n queryClient.setQueryData([QUERY_KEYS.QUESTIONS, form.id, language], form);\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, `preview/${form.id}`, language],\n form\n );\n queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.FORMS] });\n options?.onSuccess?.(form);\n },\n });\n};\n\nexport const useUpdateForm = (options, language = i18next.resolvedLanguage) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ id, values }) => neetoFormApi.updateForm(id, values),\n ...options,\n onSuccess: (data, { id }) => {\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, id, language],\n assoc(\"title\", data.title)\n );\n\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, `preview/${id}`, language],\n mergeLeft({ questions: data.questions, title: data.title })\n );\n queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.FORMS] });\n queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.QUESTIONS, id] });\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.QUESTIONS, `preview/${id}`],\n });\n\n options.onSuccess && options.onSuccess(data);\n },\n });\n};\n\nexport const useCreateQuestion = (formId, language, options = {}) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: payload =>\n neetoFormApi.createQuestion(formId, filterNonNull(payload)),\n ...options,\n onSuccess: (...args) =>\n handleQuestionMutationSuccess({\n args,\n formId,\n language,\n queryClient,\n onSuccess: options.onSuccess,\n }),\n });\n};\n\nexport const useUpdateQuestion = (formId, language, options = {}) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ questionId, payload }) =>\n neetoFormApi.updateQuestion({\n formId,\n questionId,\n payload: filterNonNull(payload),\n }),\n ...options,\n onSuccess: (...args) =>\n handleQuestionMutationSuccess({\n args,\n formId,\n language,\n queryClient,\n onSuccess: options.onSuccess,\n }),\n });\n};\n\nexport const useDeleteQuestion = (formId, language, options = {}) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: questionId => neetoFormApi.deleteQuestion(formId, questionId),\n ...options,\n onSuccess: (...args) =>\n handleQuestionMutationSuccess({\n args,\n formId,\n language,\n queryClient,\n onSuccess: options.onSuccess,\n }),\n });\n};\n\nexport const useReorderQuestions = (formId, language, options = {}) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: payload =>\n neetoFormApi.reorderQuestions(formId, filterNonNull(payload)),\n ...options,\n onSuccess: (...args) =>\n handleQuestionMutationSuccess({\n args,\n formId,\n language,\n queryClient,\n onSuccess: options.onSuccess,\n }),\n });\n};\n\nexport const useForms = ({\n page = DEFAULT_PAGE_INDEX,\n pageSize = DEFAULT_PAGE_SIZE,\n ...options\n} = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.FORMS, page],\n queryFn: () => neetoFormApi.getForms({ page, pageSize }),\n placeholderData: keepPreviousData,\n ...options,\n });\n\nexport const useDeleteForm = options =>\n useMutationWithInvalidation(({ id }) => neetoFormApi.destroyForm(id), {\n ...options,\n keysToInvalidate: [\n [QUERY_KEYS.FORMS],\n (_, { id }) => [QUERY_KEYS.QUESTIONS, id],\n (_, { id }) => [QUERY_KEYS.QUESTIONS, `preview/${id}`],\n ],\n onSuccess: (...args) => {\n options.onSuccess && options.onSuccess(...args);\n },\n });\n\nexport const useSubmissions = ({ formId, ...options }) =>\n useQuery({\n queryKey: [QUERY_KEYS.SUBMISSIONS, formId],\n queryFn: () => neetoFormApi.getPublicSubmissions(formId),\n placeholderData: keepPreviousData,\n ...options,\n });\n\nexport const useSubmission = ({\n formId,\n submissionId,\n fetchPublicSubmission = true,\n ...options\n}) =>\n useQuery({\n queryKey: [QUERY_KEYS.SUBMISSION, formId, submissionId],\n queryFn: () =>\n fetchPublicSubmission\n ? neetoFormApi.getPublicSubmission(formId, submissionId)\n : neetoFormApi.getSubmission(formId, submissionId),\n placeholderData: keepPreviousData,\n ...options,\n });\n\nexport const useCreateSubmission = options => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ formId, values }) =>\n neetoFormApi.submitPublicForm(formId, values),\n ...options,\n onSuccess: (...args) => {\n const [data, { formId }] = args;\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.SUBMISSIONS, formId],\n });\n\n queryClient.setQueryData(\n [QUERY_KEYS.SUBMISSION, formId, data?.submission?.id],\n data?.submission\n );\n\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.SUBMISSION, formId, data?.submission?.id],\n });\n options.onSuccess && options.onSuccess(...args);\n },\n });\n};\n\nexport const useUpdateSubmission = options => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ formId, values }) =>\n neetoFormApi.updatePublicSubmission(formId, values),\n ...options,\n onSuccess: (...args) => {\n const [data, { formId }] = args;\n queryClient.invalidateQueries({\n queryKey: [[QUERY_KEYS.SUBMISSIONS, formId]],\n });\n\n queryClient.setQueryData(\n [QUERY_KEYS.SUBMISSION, formId, data?.submission?.id],\n data?.submission\n );\n\n queryClient.invalidateQueries({\n queryKey: [[QUERY_KEYS.SUBMISSION, formId, data.submission.id]],\n });\n options.onSuccess && options.onSuccess(...args);\n },\n });\n};\n","export const QUESTION_TYPES = {\n NAME: \"name\",\n PHONE: \"phone\",\n EMAIL: \"email\",\n ADDITIONAL_GUESTS: \"additional_guests\",\n TEXT: \"text\",\n TEXTAREA: \"textarea\",\n RICH_TEXT: \"rich_text\",\n INTEGER: \"integer\",\n DECIMAL: \"decimal\",\n PARAGRAPH: \"paragraph\",\n TERMS_AND_CONDITION: \"termsandcondition\",\n CONDITION: \"condition\",\n CHECKBOX: \"checkbox\",\n RADIO: \"radio\",\n DROPDOWN: \"dropdown\",\n STAR_RATING: \"star_rating\",\n RATING: \"rating\",\n DATE: \"date\",\n FILE_UPLOAD: \"file_upload\",\n CAPTCHA: \"captcha\",\n};\n\nexport const CAPTCHA_TYPES = {\n RECAPTCHA_V2: \"recaptcha_v2\",\n MATH_CAPTCHA: \"math_captcha\",\n};\n","import { QUESTION_TYPES } from \"components/constants\";\n\nconst {\n PARAGRAPH,\n TERMS_AND_CONDITION,\n CONDITION,\n CHECKBOX,\n RADIO,\n DROPDOWN,\n FILE_UPLOAD,\n CAPTCHA,\n} = QUESTION_TYPES;\n\nexport const DEFAULT_AVAILABLE_LANGUAGES = [{ code: \"en\", name: \"English\" }];\n\nexport const MANDATORY_KINDS = [CAPTCHA];\n\nexport const QUESTIONS_WITHOUT_FIELD_CODE = [\n PARAGRAPH,\n TERMS_AND_CONDITION,\n CONDITION,\n FILE_UPLOAD,\n CAPTCHA,\n];\n\nexport const QUESTIONS_INITIAL_VALUE = {\n enabled: false,\n questions: [\n { label: \"\", kind: \"text\", nodeId: \"1\" },\n { label: \"\", kind: \"email\", nodeId: \"2\" },\n ],\n title: \"\",\n isQuestionsLoading: true,\n};\n\nexport const RESERVED_FIELD_CODES = [\"month\", \"date\", \"time\", \"lang\"];\n\nexport const SELECTABLE_KINDS = [RADIO, CHECKBOX, DROPDOWN];\n\nexport const RICH_TEXT_QUESTIONS = [PARAGRAPH, TERMS_AND_CONDITION];\n\nexport const QUESTION_ACTIONS = { ADD: \"add\", EDIT: \"edit\" };\n\nexport const MINIMUM_OPTIONS = 2;\n","import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport {\n compose,\n isEmpty,\n trim,\n isNil,\n equals,\n values,\n either,\n useWith,\n path,\n split,\n isNotNil,\n} from \"ramda\";\n\nexport const isBlank = compose(isEmpty, trim);\n\nexport const parseServerError = error =>\n error.notice ?? t(\"neetoForm.common.somethingWentWrong\");\n\nexport const isPlainObject = obj =>\n typeof obj === \"object\" && !Array.isArray(obj) && obj !== null;\n\nexport const isStringOrNumber = obj =>\n typeof obj === \"string\" || typeof obj === \"number\";\n\nexport const isEmptyValues = obj =>\n either(isNil, isEmpty)(obj)\n ? true\n : values(obj).every(value => {\n if (isEmpty(value)) {\n return true;\n } else if (Array.isArray(value)) {\n return equals([false, false, false], value);\n }\n\n return !value;\n });\n\n// eslint-disable-next-line react-hooks/rules-of-hooks\nexport const dotPath = useWith(path, [split(\".\")]);\n\nexport const isFunction = obj => typeof obj === \"function\";\n\nexport const fieldWithFallback = (\n question,\n fieldName,\n hasRichContent = false\n) => {\n const fallback = question[`${fieldName}Fallback`];\n const field = question[fieldName];\n const isFieldEmpty = hasRichContent ? isEditorEmpty(field) : isEmpty(field);\n\n return isFieldEmpty && isNotNil(fallback) ? fallback : field;\n};\n\nexport const getComponentDisplayName = Component =>\n Component.displayName || Component.name || \"Component\";\n","import i18next from \"i18next\";\nimport { noop } from \"neetocist\";\nimport { withImmutableActions } from \"neetocommons/react-utils\";\nimport { mergeLeft, modify, prop } from \"ramda\";\nimport { create } from \"zustand\";\n\nimport { isFunction } from \"utils\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useBuildFormStore = create(\n withImmutableActions(set => ({\n formState: {\n values: {},\n dirty: false,\n isSubmitting: false,\n isValid: true,\n errors: [],\n submitForm: noop,\n resetForm: noop,\n selectedLanguage: i18next.resolvedLanguage,\n formId: null,\n enabled: false,\n title: \"\",\n richTextFieldsToReset: [],\n },\n\n setFormData: arg =>\n set(modify(\"formState\", isFunction(arg) ? arg : mergeLeft(arg))),\n }))\n);\n\nexport const useBuildFormState = () => useBuildFormStore(prop(\"formState\"));\n\nexport default useBuildFormStore;\n","const BadSmiley = props => {\n const { size, color, ...other } = props;\n\n return (\n <svg fill=\"none\" height={size} viewBox=\"0 0 48 48\" width={size} {...other}>\n <path\n d=\"M24 0C10.767 0 0 10.767 0 24s10.767 24 24 24c13.234 0 24-10.767 24-24S37.234 0 24 0zm0 45.913c-12.084 0-21.913-9.83-21.913-21.913 0-12.084 9.83-21.913 21.913-21.913 12.082 0 21.913 9.83 21.913 21.913 0 12.084-9.83 21.913-21.913 21.913z\"\n fill={color}\n />\n <path\n d=\"M18.783 19.826a3.134 3.134 0 00-3.13-3.13 3.134 3.134 0 00-3.131 3.13 3.134 3.134 0 003.13 3.13 3.134 3.134 0 003.13-3.13zm-4.174 0c0-.575.468-1.044 1.043-1.044s1.044.469 1.044 1.044c0 .575-.469 1.043-1.044 1.043a1.045 1.045 0 01-1.043-1.043zm17.739-3.13a3.134 3.134 0 00-3.13 3.13 3.134 3.134 0 003.13 3.13 3.134 3.134 0 003.13-3.13 3.134 3.134 0 00-3.13-3.13zm0 4.173a1.045 1.045 0 010-2.087 1.045 1.045 0 010 2.087zM24 29.218a13.677 13.677 0 00-10.168 4.52 1.043 1.043 0 101.553 1.394A11.587 11.587 0 0124 31.305c3.3 0 6.44 1.394 8.614 3.826a1.045 1.045 0 001.473.082 1.044 1.044 0 00.082-1.473c-2.57-2.874-6.277-4.523-10.169-4.523z\"\n fill={color}\n />\n </svg>\n );\n};\n\nBadSmiley.defaultProps = {\n color: \"currentColor\",\n size: 24,\n strokeWidth: \"1.5\",\n};\n\nconst OkaySmiley = props => {\n const { size, color, ...other } = props;\n\n return (\n <svg fill=\"none\" height={size} viewBox=\"0 0 48 48\" width={size} {...other}>\n <path\n d=\"M24 0C10.767 0 0 10.767 0 24s10.767 24 24 24 24-10.767 24-24S37.233 0 24 0zm0 45.913c-12.084 0-21.913-9.83-21.913-21.913 0-12.084 9.83-21.913 21.913-21.913 12.084 0 21.913 9.83 21.913 21.913 0 12.084-9.83 21.913-21.913 21.913z\"\n fill={color}\n />\n <path\n d=\"M15.652 22.956a3.134 3.134 0 003.13-3.13 3.134 3.134 0 00-3.13-3.13 3.134 3.134 0 00-3.13 3.13 3.134 3.134 0 003.13 3.13zm0-4.174c.575 0 1.044.469 1.044 1.044 0 .575-.469 1.043-1.044 1.043a1.045 1.045 0 01-1.043-1.043c0-.575.468-1.044 1.043-1.044zm16.696-2.086a3.134 3.134 0 00-3.13 3.13 3.134 3.134 0 003.13 3.13 3.134 3.134 0 003.13-3.13 3.134 3.134 0 00-3.13-3.13zm0 4.173a1.045 1.045 0 01-1.044-1.043c0-.575.469-1.044 1.044-1.044a1.044 1.044 0 010 2.087zm2.087 8.349h-20.87a1.044 1.044 0 000 2.086h20.87a1.044 1.044 0 000-2.086z\"\n fill={color}\n />\n </svg>\n );\n};\n\nOkaySmiley.defaultProps = {\n color: \"currentColor\",\n size: 24,\n strokeWidth: \"1.5\",\n};\n\nconst GoodSmiley = props => {\n const { size, color, ...other } = props;\n\n return (\n <svg fill=\"none\" height={size} viewBox=\"0 0 48 48\" width={size} {...other}>\n <path\n d=\"M24 0C10.767 0 0 10.767 0 24s10.767 24 24 24 24-10.767 24-24S37.233 0 24 0zm0 45.913c-12.084 0-21.913-9.83-21.913-21.913 0-12.084 9.83-21.913 21.913-21.913 12.084 0 21.913 9.83 21.913 21.913 0 12.084-9.83 21.913-21.913 21.913z\"\n fill={color}\n />\n <path\n d=\"M18.783 19.826a3.134 3.134 0 00-3.13-3.13 3.134 3.134 0 00-3.131 3.13 3.134 3.134 0 003.13 3.13 3.134 3.134 0 003.13-3.13zm-4.174 0a1.044 1.044 0 012.087 0c0 .575-.469 1.044-1.044 1.044a1.045 1.045 0 01-1.043-1.044zm17.739-3.13a3.134 3.134 0 00-3.13 3.13 3.134 3.134 0 003.13 3.13 3.134 3.134 0 003.13-3.13 3.134 3.134 0 00-3.13-3.13zm0 4.174a1.045 1.045 0 01-1.044-1.044 1.044 1.044 0 111.044 1.044zm.265 8.695c-2.175 2.432-5.314 3.826-8.613 3.826a11.59 11.59 0 01-8.615-3.827 1.043 1.043 0 10-1.553 1.394A13.677 13.677 0 0024 35.478c3.892 0 7.599-1.648 10.17-4.521a1.043 1.043 0 10-1.557-1.392z\"\n fill={color}\n />\n </svg>\n );\n};\n\nGoodSmiley.defaultProps = {\n color: \"currentColor\",\n size: 24,\n strokeWidth: \"1.5\",\n};\n\nconst Drag = props => {\n const { size, color, ...other } = props;\n\n return (\n <svg fill=\"none\" height={size} viewBox=\"0 0 24 24\" width={size} {...other}>\n <g\n clipPath=\"url(#clip0_6290_43)\"\n fill={color}\n stroke={color}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.5\"\n >\n <path d=\"M8 12a1 1 0 102 0 1 1 0 00-2 0zM8 18a1 1 0 102 0 1 1 0 00-2 0zM8 6a1 1 0 102 0 1 1 0 00-2 0zM14 12a1 1 0 102 0 1 1 0 00-2 0zM14 18a1 1 0 102 0 1 1 0 00-2 0zM14 6a1 1 0 102 0 1 1 0 00-2 0z\" />\n </g>\n <defs>\n <clipPath id=\"clip0_6290_43\">\n <path d=\"M0 0H24V24H0z\" fill={color} />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nDrag.defaultProps = {\n color: \"currentColor\",\n size: 24,\n strokeWidth: \"1.5\",\n};\n\nexport { BadSmiley, OkaySmiley, GoodSmiley, Drag };\n","import DOMPurify from \"dompurify\";\nimport { findBy } from \"neetocist\";\nimport { range } from \"ramda\";\n\nimport { EMPTY_PARAGRAPH_REGEX } from \"./constants\";\n\nexport const getActiveQuestionKindDetails = ({ allQuestionKinds, item }) => {\n const { kind, label } = item;\n\n const { isSingular } = findBy({ type: kind }, allQuestionKinds);\n\n return { kind, label, isSingular };\n};\n\nexport const generateArray = (start, end) => range(start, end + 1);\n\nexport const isElementOverflowing = ({\n clientWidth,\n clientHeight,\n scrollWidth,\n scrollHeight,\n}) => scrollHeight > clientHeight || scrollWidth > clientWidth;\n\nexport const htmlToPlainText = htmlContent => {\n const formattedContent = htmlContent.replaceAll(EMPTY_PARAGRAPH_REGEX, \"\\n\");\n const node = document.createElement(\"div\");\n node.innerHTML = DOMPurify.sanitize(formattedContent);\n\n return node.textContent || node.innerText || \"\";\n};\n","import { t } from \"i18next\";\nimport { toLabelAndValue } from \"neetocist\";\n\nimport { generateArray } from \"../utils\";\n\nexport const validateEditorContent = editorRef => () =>\n editorRef.current?.editor?.isEmpty\n ? t(\"neetoForm.common.thisFieldIsRequired\")\n : \"\";\n\nexport const generateRatingOptions = range =>\n generateArray(...range).map(toLabelAndValue);\n","import { t } from \"i18next\";\nimport { values } from \"ramda\";\n\nimport { BadSmiley, GoodSmiley, OkaySmiley } from \"components/BuildForm/Icons\";\nimport {\n Crown,\n Heart,\n Star,\n Trophy,\n Zap,\n} from \"components/Common/StarRatingIcons\";\n\nimport { generateRatingOptions } from \"./utils\";\n\nconst FILE_TYPES = {\n DOCUMENTS: \"documents\",\n IMAGES: \"images\",\n AUDIO_VIDEO: \"audio/video\",\n};\n\nexport const INPUT_FIELD_MAX_LENGTH = 60;\nexport const PLACEHOLDER_MAX_LENGTH = 40;\nexport const TEXTAREA_FIELD_MAX_LENGTH = 150;\n\nexport const STAR_RATING_ICONS_MAP = {\n star: Star,\n heart: Heart,\n crown: Crown,\n trophy: Trophy,\n zap: Zap,\n};\n\nexport const STAR_RATING_MAX_VALUE_OPTIONS = generateRatingOptions([3, 10]);\nexport const STAR_RATING_MIN_VALUE_OPTIONS = generateRatingOptions([0, 1]);\n\nexport const FILE_TYPES_MAP = {\n [FILE_TYPES.DOCUMENTS]: [\n \"pdf\",\n \"doc\",\n \"docx\",\n \"xls\",\n \"xlsx\",\n \"csv\",\n \"txt\",\n \"rtf\",\n \"html\",\n \"zip\",\n \"md\",\n ],\n [FILE_TYPES.IMAGES]: [\"jpg\", \"jpeg\", \"png\", \"gif\"],\n [FILE_TYPES.AUDIO_VIDEO]: [\"mp3\", \"wma\", \"mpg\", \"flv\", \"avi\"],\n};\n\nexport const DEFAULT_ALLOWED_FILE_TYPES = values(FILE_TYPES_MAP)\n .flat()\n .join(\", \");\n\nexport const FILE_GROUPS = [\n { label: t(\"neetoForm.fileTypes.documents\"), name: FILE_TYPES.DOCUMENTS },\n { label: t(\"neetoForm.fileTypes.images\"), name: FILE_TYPES.IMAGES },\n {\n label: t(\"neetoForm.fileTypes.audioVideo\"),\n name: FILE_TYPES.AUDIO_VIDEO,\n },\n];\n\nexport const RATING_OPTIONS = [\n { icon: GoodSmiley, name: \"highestRatingLabel\", color: \"#00ba88\" },\n { icon: OkaySmiley, name: \"averageRatingLabel\", color: \"#f3cd82\" },\n { icon: BadSmiley, name: \"lowestRatingLabel\", color: \"#f56a58\" },\n];\n","import { t } from \"i18next\";\n\nimport { CAPTCHA_TYPES, QUESTION_TYPES } from \"components/constants\";\n\nimport { DEFAULT_ALLOWED_FILE_TYPES } from \"./Fields/constants\";\n\nimport { MINIMUM_OPTIONS } from \"../constants\";\n\nconst {\n NAME,\n PHONE,\n EMAIL,\n ADDITIONAL_GUESTS,\n TEXT,\n TEXTAREA,\n RICH_TEXT,\n INTEGER,\n DECIMAL,\n PARAGRAPH,\n TERMS_AND_CONDITION,\n CONDITION,\n CHECKBOX,\n RADIO,\n DROPDOWN,\n STAR_RATING,\n RATING,\n DATE,\n FILE_UPLOAD,\n CAPTCHA,\n} = QUESTION_TYPES;\n\nconst DEFAULT_OPTIONS = new Array(MINIMUM_OPTIONS).fill({\n label: \"\",\n});\n\nexport const QUESTION_KINDS = [\n {\n type: EMAIL,\n label: t(\"neetoForm.fields.eif\"),\n isSingular: true,\n defaults: { label: \"\" },\n },\n {\n type: ADDITIONAL_GUESTS,\n label: t(\"neetoForm.fields.agif\"),\n isSingular: true,\n defaults: { label: t(\"neetoForm.common.addAdditionalGuests\") },\n },\n {\n type: PHONE,\n label: t(\"neetoForm.fields.pif\"),\n isSingular: true,\n defaults: { label: \"\" },\n },\n {\n type: NAME,\n label: t(\"neetoForm.fields.nif\"),\n isSingular: true,\n defaults: { label: \"\" },\n },\n {\n type: TEXT,\n label: t(\"neetoForm.fields.tif\"),\n isSingular: false,\n defaults: { label: \"\" },\n },\n {\n type: TEXTAREA,\n label: t(\"neetoForm.fields.qif\"),\n isSingular: false,\n defaults: { label: \"\" },\n },\n {\n type: INTEGER,\n label: t(\"neetoForm.fields.iif\"),\n isSingular: false,\n defaults: { label: \"\" },\n },\n {\n type: DECIMAL,\n label: t(\"neetoForm.fields.dif\"),\n isSingular: false,\n defaults: { label: \"\" },\n },\n {\n type: RICH_TEXT,\n label: t(\"neetoForm.fields.rtf\"),\n isSingular: false,\n defaults: { label: \"\" },\n },\n {\n type: PARAGRAPH,\n label: t(\"neetoForm.fields.def\"),\n isSingular: false,\n defaults: { label: \"\" },\n },\n {\n type: CHECKBOX,\n label: t(\"neetoForm.fields.mcf\"),\n isSingular: false,\n defaults: {\n label: \"\",\n isRequired: false,\n optionsAttributes: DEFAULT_OPTIONS,\n },\n },\n {\n type: RADIO,\n label: t(\"neetoForm.fields.scf\"),\n isSingular: false,\n defaults: {\n label: \"\",\n isRequired: false,\n optionsAttributes: DEFAULT_OPTIONS,\n },\n },\n {\n type: DROPDOWN,\n label: t(\"neetoForm.fields.drf\"),\n isSingular: false,\n defaults: {\n label: \"\",\n isRequired: false,\n optionsAttributes: DEFAULT_OPTIONS,\n },\n },\n {\n type: STAR_RATING,\n label: t(\"neetoForm.fields.rif\"),\n isSingular: false,\n defaults: {\n label: \"\",\n isRequired: true,\n minValue: 1,\n maxValue: 5,\n iconType: \"star\",\n },\n },\n {\n type: RATING,\n label: t(\"neetoForm.fields.fbf\"),\n isSingular: false,\n defaults: {\n label: \"\",\n isRequired: true,\n highestRatingLabel: \"\",\n averageRatingLabel: \"\",\n lowestRatingLabel: \"\",\n },\n },\n {\n type: TERMS_AND_CONDITION,\n label: t(\"neetoForm.fields.tcf\"),\n isSingular: true,\n defaults: {\n termsLink: \"\",\n privacyPolicyLink: \"\",\n isRequired: true,\n label: t(\"neetoForm.common.agreeTermsAndConditions\"),\n },\n },\n {\n type: CONDITION,\n label: t(\"neetoForm.fields.cf\"),\n defaults: {\n isRequired: true,\n label: t(\"neetoForm.common.agreeCondition\"),\n },\n },\n {\n type: DATE,\n label: t(\"neetoForm.fields.date\"),\n isSingular: false,\n defaults: { label: \"\", isRequired: true },\n },\n {\n type: FILE_UPLOAD,\n label: t(\"neetoForm.fields.fileUpload\"),\n isSingular: false,\n defaults: {\n label: \"\",\n multipleFilesAllowed: true,\n allowedFileTypes: DEFAULT_ALLOWED_FILE_TYPES,\n },\n },\n {\n type: CAPTCHA,\n label: t(\"neetoForm.fields.captcha\"),\n isSingular: true,\n defaults: {\n label: \"\",\n isRequired: true,\n variant: CAPTCHA_TYPES.RECAPTCHA_V2,\n },\n },\n];\n\n// To show the question type as label in accordion\nexport const INDEPENDENT_LABELS_MAP = {\n paragraph: t(\"neetoForm.fields.def\"),\n termsandcondition: t(\"neetoForm.fields.tcf\"),\n};\n\nexport const PADDED_FIELDS = [PARAGRAPH, TERMS_AND_CONDITION];\n\nexport const EMPTY_PARAGRAPH_REGEX = new RegExp(/<p[^>]*?>\\s*<\\/p>/gi);\n","import { findBy, isPresent, truncate } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { equals } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDeleteQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\nimport { fieldWithFallback } from \"utils\";\n\nimport { INDEPENDENT_LABELS_MAP } from \"../Questions/constants\";\n\nconst DeleteAlert = ({\n selectedQuestion,\n isOpen,\n onClose,\n languagesCount,\n handleSelect,\n}) => {\n const { t } = useTranslation();\n\n const { selectedLanguage } = useBuildFormStore.pick(\"formState\");\n\n const renderQuestionLabel = () => {\n const questionKind = selectedQuestion.kind;\n const independentLabel = INDEPENDENT_LABELS_MAP[questionKind];\n if (isPresent(independentLabel)) return independentLabel;\n\n const questionLabel = fieldWithFallback(selectedQuestion, \"label\");\n\n return truncate(questionLabel, 40);\n };\n\n const { mutate: deleteQuestion, isPending: isDeleting } = useDeleteQuestion(\n selectedQuestion?.formId,\n selectedLanguage,\n {\n onSuccess: () => {\n showThumbsUpToastr();\n onClose();\n },\n }\n );\n\n const selectNextQuestion = questions => {\n const selectedQuestionIndex = selectedQuestion.displayOrder;\n const wasLastQuestion = equals(selectedQuestionIndex, questions.length);\n\n const newDisplayOrder = wasLastQuestion\n ? selectedQuestionIndex - 1\n : selectedQuestionIndex;\n\n const newQuestion = findBy({ displayOrder: newDisplayOrder }, questions);\n handleSelect(newQuestion);\n };\n\n const handleSubmit = () => {\n deleteQuestion(selectedQuestion.id, {\n onSuccess: ({ questions }) => selectNextQuestion(questions),\n });\n };\n\n return (\n <Alert\n {...{ isOpen, onClose }}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoForm.common.delete\")}\n title={t(\"neetoForm.questions.deleteAlert.title\")}\n message={\n isPresent(selectedQuestion) && (\n <Trans\n i18nKey=\"neetoForm.questions.deleteAlert.message\"\n values={{\n count: languagesCount,\n label: renderQuestionLabel(),\n }}\n />\n )\n }\n onSubmit={handleSubmit}\n />\n );\n};\n\nexport default DeleteAlert;\n","import { useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { findBy } from \"neetocist\";\nimport { Alert, Dropdown, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ChangeLanguageDropdown = ({ currentLanguage, languages, onChange }) => {\n const [isUnsavedChangesAlertOpen, setIsUnsavedChangesAlertOpen] =\n useState(false);\n const [selectedLanguage, setSelectedLanguage] = useState(currentLanguage);\n\n const { t } = useTranslation();\n\n const { dirty } = useFormikContext();\n\n const languageChangeHandler = code => {\n if (!dirty) {\n onChange(code);\n\n return;\n }\n\n setSelectedLanguage(code);\n setIsUnsavedChangesAlertOpen(true);\n };\n\n const selectedLanguageName = findBy(\n { code: currentLanguage },\n languages\n )?.name;\n\n return (\n <>\n <Tooltip content={t(\"neetoForm.questions.changeLanguage\")}>\n <div>\n <Dropdown buttonStyle=\"secondary\" label={selectedLanguageName}>\n <Dropdown.Menu>\n {languages.map(({ code, name }) => (\n <Dropdown.MenuItem.Button\n isActive={currentLanguage === code}\n key={code}\n onClick={() => languageChangeHandler(code)}\n >\n {name}\n </Dropdown.MenuItem.Button>\n ))}\n </Dropdown.Menu>\n </Dropdown>\n </div>\n </Tooltip>\n <Alert\n isOpen={isUnsavedChangesAlertOpen}\n message={t(\"neetoForm.questions.unsavedChangesAlert.message\")}\n submitButtonLabel={t(\"neetoForm.questions.unsavedChangesAlert.discard\")}\n title={t(\"neetoForm.questions.unsavedChangesAlert.title\")}\n onClose={() => setIsUnsavedChangesAlertOpen(false)}\n onSubmit={() => {\n onChange(selectedLanguage);\n setIsUnsavedChangesAlertOpen(false);\n }}\n />\n </>\n );\n};\n\nexport default ChangeLanguageDropdown;\n","import { isPresent } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\n\nimport ChangeLanguageDropdown from \"./ChangeLanguageDropdown\";\n\nconst Overview = ({\n title,\n description,\n availableLanguages,\n selectedLanguage,\n onLanguageChange,\n additionalActionOptions,\n}) => (\n <div className=\"neeto-form-nano-form-wrapper__overview mb-4 w-full flex-shrink-0 space-y-4 px-6 pt-6\">\n <div className=\"flex items-center justify-between\">\n <Typography\n data-cy=\"neeto-form-engine-overview-title\"\n lineHeight=\"neeto-ui-leading-normal\"\n style=\"h2\"\n weight=\"neeto-ui-font-semibold\"\n >\n {title}\n </Typography>\n <div className=\"flex flex-shrink-0 items-center justify-between space-x-1\">\n {availableLanguages.length > 1 && (\n <ChangeLanguageDropdown\n currentLanguage={selectedLanguage}\n languages={availableLanguages}\n onChange={onLanguageChange}\n />\n )}\n {isPresent(additionalActionOptions) && (\n <MoreDropdown\n dropdownButtonProps={{ isRounded: true, style: \"tertiary\" }}\n dropdownProps={{ strategy: \"fixed\", position: \"bottom-start\" }}\n menuItems={additionalActionOptions}\n />\n )}\n </div>\n </div>\n <Typography data-cy=\"neeto-form-engine-overview-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n);\n\nexport default Overview;\n","import { t } from \"i18next\";\nimport { assoc, includes, reduce, __ } from \"ramda\";\n\nimport { RICH_TEXT_QUESTIONS } from \"./constants\";\n\nexport const validateEditorContent = editorRef => () =>\n editorRef.current?.editor?.isEmpty\n ? t(\"neetoForm.common.thisFieldIsRequired\")\n : \"\";\n\nexport const buildReorderPayload = questions =>\n reduce(\n (acc, { id, displayOrder }) => assoc(id, displayOrder, acc),\n {},\n questions\n );\n\nexport const isRichTextQuestion = includes(__, RICH_TEXT_QUESTIONS);\n","import classNames from \"classnames\";\nimport { slugify } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { fieldWithFallback, isFunction } from \"utils\";\n\nimport { htmlToPlainText } from \"./utils\";\n\nimport { Drag } from \"../Icons\";\nimport { isRichTextQuestion } from \"../utils\";\n\nconst Card = ({\n question = {},\n allQuestionKinds,\n getActiveKindDetails,\n isActive,\n onSelect,\n onEdit,\n onClone,\n onDelete,\n}) => {\n const { t } = useTranslation();\n\n const { kind, isSingular } = getActiveKindDetails({\n allQuestionKinds,\n item: question,\n });\n\n const label = fieldWithFallback(question, \"label\");\n\n const questionLabel = isRichTextQuestion(kind)\n ? htmlToPlainText(label)\n : label;\n\n return (\n <div\n data-cy={`neeto-form-engine-${slugify(questionLabel)}`}\n className={classNames(\n \"neeto-ui-rounded neeto-ui-border-gray-300 neeto-ui-bg-white neeto-form-nano-form__card flex h-10 w-full items-center justify-between border p-2\",\n {\n \"neeto-ui-border-primary-500 neeto-form-nano-form__card--active\":\n isActive,\n }\n )}\n onClick={() => onSelect(question)}\n >\n <div className=\"flex min-w-0 flex-grow items-center gap-1\">\n <Drag className=\"neeto-ui-text-gray-600 flex-shrink-0\" />\n <Typography\n className=\"line-clamp-2 min-w-0 flex-grow truncate break-words\"\n lineHeight=\"snug\"\n style=\"body2\"\n weight=\"medium\"\n >\n {questionLabel}\n </Typography>\n </div>\n <MoreDropdown\n dropdownButtonProps={{ className: \"shrink-0\" }}\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n \"data-cy\": \"edit-question\",\n key: \"edit\",\n label: t(\"neetoForm.common.edit\"),\n onClick: onEdit,\n },\n {\n \"data-cy\": \"clone-question\",\n key: \"clone\",\n label: t(\"neetoForm.common.clone\"),\n isVisible: !isSingular && isFunction(onClone),\n onClick: onClone,\n },\n {\n \"data-cy\": \"delete-question\",\n key: \"delete\",\n label: t(\"neetoForm.common.delete\"),\n isVisible: isFunction(onDelete),\n onClick: onDelete,\n },\n ]}\n />\n </div>\n );\n};\n\nexport default Card;\n","import { Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { equals } from \"ramda\";\n\nimport Card from \"../Questions/Card\";\n\nconst Questions = ({\n questions,\n isDeletable,\n allQuestionKinds,\n getActiveKindDetails,\n selectedQuestion,\n onEdit,\n onClone,\n onDelete,\n onSelect,\n}) => (\n <Droppable droppableId=\"droppable\">\n {({ droppableProps, placeholder, innerRef }) => (\n <div {...droppableProps} className=\"space-y-2\" ref={innerRef}>\n {questions.map((question, index) => (\n <Draggable\n {...{ index }}\n draggableId={`question-${question.id ?? question.nodeId}`}\n key={`question-${question.id ?? question.nodeId}`}\n >\n {({ draggableProps, dragHandleProps, innerRef }) => (\n <div {...draggableProps} {...dragHandleProps} ref={innerRef}>\n <Card\n {...{\n allQuestionKinds,\n getActiveKindDetails,\n onClone,\n onEdit,\n onSelect,\n question,\n }}\n isActive={equals(selectedQuestion, question)}\n onDelete={isDeletable(question) && onDelete}\n />\n </div>\n )}\n </Draggable>\n ))}\n {placeholder}\n </div>\n )}\n </Droppable>\n);\nexport default Questions;\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","const moveItem = (arr, sourceIndex, destinationIndex) => {\n if (sourceIndex === destinationIndex) return arr;\n\n if (arr instanceof Array && arr[sourceIndex] !== undefined) {\n const removedItem = arr.splice(sourceIndex, 1)[0];\n arr.splice(destinationIndex, 0, removedItem);\n }\n\n return arr;\n};\n\nconst arrayHelpers = {\n moveItem,\n};\n\nexport default arrayHelpers;\n","import { t } from \"i18next\";\nimport { filterBy, findBy } from \"neetocist\";\nimport {\n isEmpty,\n reject,\n omit,\n pluck,\n keys,\n pick,\n when,\n assoc,\n includes,\n} from \"ramda\";\nimport { v4 as uuid } from \"uuid\";\n\nimport arrayHelpers from \"common/helpers/array\";\nimport { fieldWithFallback } from \"utils\";\n\nimport { RESERVED_FIELD_CODES, SELECTABLE_KINDS } from \"../constants\";\nimport { isRichTextQuestion } from \"../utils\";\n\nconst isChoiceQuestion = question => includes(question?.kind, SELECTABLE_KINDS);\n\nconst generateUniqueFieldCode = (type, questions) => {\n const fieldCodes = pluck(\"fieldCode\", filterBy({ kind: type }, questions));\n\n let uniqueNumber = fieldCodes.length;\n\n let candidateFieldCode = \"\";\n\n const prefix = RESERVED_FIELD_CODES.includes(type) ? `${type}_field` : type;\n\n //We need to continue this while loop until we can generate a unique fieldCode\n // eslint-disable-next-line no-constant-condition\n while (true) {\n candidateFieldCode = `${prefix}${uniqueNumber || \"\"}`;\n\n if (!findBy({ fieldCode: candidateFieldCode }, questions)) break;\n\n uniqueNumber += 1;\n }\n\n return candidateFieldCode;\n};\n\nexport const isQuestionKindAlreadyActive = ({ activeQuestions, kind }) =>\n activeQuestions.some(\n activeQuestion =>\n activeQuestion.kind === kind.type && activeQuestion._destroy !== true\n );\n\nexport const handleFieldDragEnd = ({\n items,\n setValue,\n source,\n destination,\n}) => {\n if (!(destination && items instanceof Array)) return;\n const nextItems = [...items];\n arrayHelpers.moveItem(nextItems, source.index, destination.index);\n const orderedItems = nextItems.map((item, index) => ({\n ...item,\n displayOrder: index,\n }));\n setValue(\"questions\", orderedItems);\n};\n\nexport const createFieldData = ({\n kind: { defaults, type, metadata },\n isRequired = undefined,\n questions,\n}) => ({\n ...defaults,\n metadata,\n isRequired,\n kind: type,\n nodeId: uuid(),\n fieldCode: generateUniqueFieldCode(type, questions),\n});\n\nexport const duplicateFieldData = ({ item, questionKinds, questions }) => {\n const questionKind = findBy({ type: item.kind }, questionKinds);\n const { isRequired, kind, optionsAttributes } = item;\n const label = fieldWithFallback(item, \"label\");\n const defaultAttributeNames = keys(questionKind.defaults || {});\n const defaultAttributes = pick(defaultAttributeNames, item);\n const newQuestionLabel = isRichTextQuestion(kind)\n ? label\n : t(\"neetoForm.common.clonedElementLabel\", { label });\n\n return {\n ...defaultAttributes,\n isRequired,\n kind,\n label: newQuestionLabel,\n optionsAttributes: optionsAttributes && optionsAttributes.map(omit([\"id\"])),\n nodeId: uuid(),\n fieldCode: generateUniqueFieldCode(item.kind, questions),\n displayOrder: item.displayOrder + 1,\n };\n};\n\nexport const getAvailableQuestionKinds = ({\n allQuestionKinds,\n activeQuestions = [],\n isKindAlreadyActive,\n}) => {\n if (isEmpty(activeQuestions)) return allQuestionKinds;\n\n return reject(kind => {\n const isSingularKind = kind.isSingular;\n\n return isSingularKind && isKindAlreadyActive({ activeQuestions, kind });\n }, allQuestionKinds);\n};\n\nexport const formatQuestionAttributesForClone = when(\n isChoiceQuestion,\n assoc(\"isCloning\", true)\n);\n","<svg width=\"230\" height=\"230\" viewBox=\"0 0 231 230\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M28.368 19.7562C54.3223 19.3411 48.7724 19.5262 86.7305 18.3429C86.9252 18.3283 87.1066 18.2382 87.2358 18.0919C87.3651 17.9455 87.432 17.7545 87.4224 17.5595C87.4128 17.3645 87.3274 17.181 87.1844 17.048C87.0414 16.9151 86.8521 16.8433 86.6569 16.8479C43.8987 17.7403 41.9415 17.8553 28.368 18.3866C28.271 18.3746 28.1727 18.3834 28.0793 18.4124C27.986 18.4413 27.8998 18.4898 27.8265 18.5545C27.7533 18.6193 27.6947 18.6988 27.6546 18.7879C27.6144 18.877 27.5938 18.9737 27.5938 19.0714C27.5938 19.1691 27.6144 19.2657 27.6546 19.3548C27.6947 19.4439 27.7533 19.5235 27.8265 19.5883C27.8998 19.653 27.986 19.7015 28.0793 19.7304C28.1727 19.7594 28.271 19.7682 28.368 19.7562Z\" fill=\"#2F3941\"/>\n<path d=\"M28.7398 31.5687C35.8135 31.8182 43.8704 31.4939 56.0937 30.8936C56.2884 30.879 56.4697 30.789 56.599 30.6426C56.7282 30.4963 56.7952 30.3053 56.7856 30.1103C56.776 29.9152 56.6906 29.7317 56.5476 29.5988C56.4046 29.4658 56.2153 29.394 56.0201 29.3986C43.5875 29.4469 35.3857 29.5953 28.7398 30.2036C28.6425 30.191 28.5437 30.1992 28.4498 30.2278C28.3559 30.2564 28.2693 30.3047 28.1955 30.3695C28.1218 30.4343 28.0628 30.514 28.0223 30.6034C27.9819 30.6928 27.9609 30.7898 27.9609 30.8879C27.9609 30.986 27.9819 31.083 28.0223 31.1724C28.0628 31.2618 28.1218 31.3415 28.1955 31.4063C28.2693 31.471 28.3559 31.5193 28.4498 31.5479C28.5437 31.5765 28.6425 31.5848 28.7398 31.5721V31.5687Z\" fill=\"#2F3941\"/>\n<path d=\"M94.1107 192.305C100.549 192.337 106.98 191.865 113.344 190.891C113.529 190.857 113.694 190.755 113.806 190.605C113.919 190.455 113.972 190.269 113.954 190.082C113.936 189.895 113.848 189.722 113.709 189.597C113.57 189.471 113.388 189.403 113.201 189.404C106.784 189.415 100.377 189.93 94.0406 190.943C93.8796 190.977 93.7359 191.067 93.6355 191.197C93.5352 191.328 93.4846 191.49 93.4931 191.654C93.5016 191.818 93.5684 191.974 93.6817 192.093C93.7949 192.213 93.9471 192.288 94.1107 192.305Z\" fill=\"#2F3941\"/>\n<path d=\"M94.8867 199.57C100.093 199.683 105.298 199.29 110.429 198.396C110.529 198.392 110.626 198.367 110.716 198.324C110.806 198.281 110.886 198.219 110.952 198.144C111.017 198.069 111.067 197.981 111.097 197.886C111.128 197.791 111.139 197.691 111.129 197.591C111.112 197.394 111.018 197.211 110.867 197.082C110.717 196.953 110.522 196.888 110.324 196.901C105.114 196.834 99.9089 197.27 94.782 198.202C94.6016 198.218 94.4345 198.304 94.3171 198.442C94.1996 198.58 94.1411 198.758 94.1541 198.939C94.1691 199.119 94.2543 199.286 94.3913 199.405C94.5283 199.523 94.7062 199.582 94.8867 199.57Z\" fill=\"#2F3941\"/>\n<path d=\"M176.881 128.551C174.717 118.291 176.85 107.787 185.039 101.033C187.703 99.0266 190.8 97.6743 194.083 97.0848C205.492 94.6456 217.362 100.267 221.072 111.781C224.456 122.293 220.472 134.436 214.723 139.449C205.481 147.507 189.262 147.306 182.09 136.997C179.445 137.276 176.771 136.957 174.266 136.062C171.761 135.168 169.489 133.721 167.619 131.83C167.468 131.768 167.343 131.656 167.265 131.513C167.188 131.369 167.162 131.203 167.192 131.043C167.223 130.883 167.307 130.738 167.432 130.634C167.557 130.529 167.714 130.47 167.877 130.468C170.989 130.562 174.077 129.905 176.881 128.551ZM169.829 131.813C171.553 133.226 173.554 134.263 175.703 134.855C177.852 135.447 180.102 135.582 182.307 135.25C182.468 135.218 182.635 135.234 182.787 135.298C182.938 135.362 183.067 135.47 183.156 135.609C189.607 145.345 204.995 145.407 213.389 137.916C221.272 130.882 224.947 109.237 209.44 101.109C206.465 99.6205 203.206 98.7869 199.882 98.6639C196.558 98.5409 193.247 99.1314 190.17 100.396C181.66 103.785 175.469 114.857 178.503 128.789C178.541 128.951 178.525 129.12 178.458 129.271C178.392 129.423 178.278 129.549 178.134 129.631C175.561 130.963 172.725 131.708 169.829 131.813Z\" fill=\"#2F3941\"/>\n<path d=\"M191.423 127.973C191.176 124.517 185.941 124.511 185.775 127.973C185.762 128.351 185.825 128.727 185.959 129.08C186.094 129.434 186.298 129.756 186.56 130.029C186.821 130.302 187.134 130.52 187.481 130.67C187.828 130.82 188.202 130.899 188.58 130.902C188.963 130.908 189.342 130.837 189.696 130.691C190.049 130.545 190.369 130.328 190.636 130.053C190.902 129.779 191.109 129.452 191.245 129.095C191.38 128.737 191.441 128.355 191.423 127.973Z\" fill=\"#2F3941\"/>\n<path d=\"M202.501 127.973C202.254 124.517 197.019 124.511 196.853 127.973C196.84 128.351 196.903 128.727 197.037 129.08C197.172 129.434 197.376 129.756 197.638 130.029C197.899 130.302 198.213 130.52 198.56 130.67C198.907 130.82 199.28 130.899 199.658 130.902C200.041 130.908 200.42 130.837 200.774 130.691C201.128 130.545 201.447 130.328 201.714 130.053C201.98 129.779 202.188 129.452 202.323 129.095C202.458 128.737 202.519 128.355 202.501 127.973Z\" fill=\"#2F3941\"/>\n<path d=\"M213.204 127.602C212.957 124.152 207.722 124.14 207.556 127.602C207.543 127.979 207.606 128.356 207.74 128.709C207.875 129.062 208.079 129.385 208.341 129.658C208.602 129.931 208.916 130.149 209.263 130.299C209.61 130.449 209.983 130.527 210.361 130.531C210.744 130.537 211.124 130.465 211.477 130.319C211.831 130.173 212.151 129.956 212.417 129.682C212.683 129.407 212.891 129.081 213.026 128.723C213.161 128.365 213.222 127.984 213.204 127.602Z\" fill=\"#2F3941\"/>\n<path d=\"M47.5783 77.4746C47.6346 77.9599 47.9796 79.6895 48.7662 79.6182C49.4873 79.5515 49.4562 78.9109 49.6724 77.3883C49.7161 76.5833 49.5678 74.2764 48.7593 74.1856C47.7473 74.0706 47.3713 76.4626 47.5783 77.4746Z\" fill=\"#2F3941\"/>\n<path d=\"M46.0415 81.4588C46.3215 82.0042 46.7624 82.4504 47.3044 82.7369C47.8465 83.0233 48.4635 83.1363 49.0719 83.0603C49.6802 82.9844 50.2506 82.7233 50.7056 82.3123C51.1606 81.9014 51.4782 81.3606 51.6156 80.763C51.6522 80.671 51.6698 80.5725 51.6672 80.4734C51.6646 80.3744 51.6419 80.2769 51.6005 80.1869C51.5591 80.0969 51.4998 80.0162 51.4263 79.9498C51.3528 79.8834 51.2666 79.8326 51.1728 79.8005C50.987 79.7336 50.7823 79.7422 50.6027 79.8246C50.4232 79.9069 50.2831 80.0564 50.2126 80.2409C50.0378 80.4433 49.823 80.6074 49.5817 80.7227C49.3405 80.8381 49.078 80.9024 48.8107 80.9114C48.2425 80.9811 47.6661 80.8878 47.149 80.6423C47.0957 80.5695 47.0285 80.5081 46.9512 80.4615C46.874 80.4149 46.7882 80.3841 46.699 80.371C46.6098 80.3578 46.5188 80.3625 46.4314 80.3848C46.344 80.4071 46.2619 80.4465 46.1899 80.5008C46.0459 80.6102 45.95 80.7712 45.9223 80.9499C45.8946 81.1285 45.9374 81.311 46.0415 81.4588Z\" fill=\"#2F3941\"/>\n<path d=\"M50.3086 75.0934C50.3086 75.3398 50.4008 75.5761 50.5649 75.7504C50.729 75.9247 50.9516 76.0226 51.1837 76.0226C51.4158 76.0226 51.6384 75.9247 51.8026 75.7504C51.9667 75.5761 52.0589 75.3398 52.0589 75.0934C52.0589 74.8469 51.9667 74.6106 51.8026 74.4363C51.6384 74.262 51.4158 74.1641 51.1837 74.1641C50.9516 74.1641 50.729 74.262 50.5649 74.4363C50.4008 74.6106 50.3086 74.8469 50.3086 75.0934Z\" fill=\"#2F3941\"/>\n<path d=\"M45.2578 75.1772C45.2578 75.2992 45.2805 75.4201 45.3244 75.5328C45.3684 75.6455 45.4329 75.748 45.5141 75.8343C45.5954 75.9205 45.6919 75.989 45.7981 76.0357C45.9042 76.0824 46.018 76.1064 46.133 76.1064C46.2479 76.1064 46.3617 76.0824 46.4679 76.0357C46.574 75.989 46.6705 75.9205 46.7518 75.8343C46.833 75.748 46.8975 75.6455 46.9415 75.5328C46.9855 75.4201 47.0081 75.2992 47.0081 75.1772C47.0081 75.0552 46.9855 74.9344 46.9415 74.8216C46.8975 74.7089 46.833 74.6065 46.7518 74.5202C46.6705 74.4339 46.574 74.3654 46.4679 74.3187C46.3617 74.2721 46.2479 74.248 46.133 74.248C46.018 74.248 45.9042 74.2721 45.7981 74.3187C45.6919 74.3654 45.5954 74.4339 45.5141 74.5202C45.4329 74.6065 45.3684 74.7089 45.3244 74.8216C45.2805 74.9344 45.2578 75.0552 45.2578 75.1772Z\" fill=\"#2F3941\"/>\n<path d=\"M55.9796 73.9451C56.826 67.8363 54.2604 61.6286 48.377 62.5601C42.9168 63.4513 40.1579 69.8396 41.707 74.5396C41.1077 74.8069 40.6041 75.2503 40.2632 75.8109C39.9222 76.3714 39.7601 77.0226 39.7985 77.6776C39.8368 78.3326 40.0738 78.9603 40.4778 79.4773C40.8818 79.9943 41.4337 80.3759 42.06 80.5714C42.29 83.1784 43.279 85.9476 45.5652 87.177C45.5813 87.7359 45.6342 88.4259 45.6342 89.1699C45.5192 89.209 43.2836 90.0232 43.1675 90.0899C43.0738 90.1232 42.9877 90.1749 42.9144 90.2421C42.8411 90.3092 42.782 90.3904 42.7407 90.4809C42.6994 90.5713 42.6767 90.6691 42.674 90.7685C42.6712 90.8679 42.6885 90.9668 42.7247 91.0594C42.8015 91.2469 42.9492 91.3964 43.1357 91.4757C43.3221 91.5549 43.5323 91.5574 43.7206 91.4826L46.5186 90.7201C46.7706 90.6645 46.9945 90.5208 47.1501 90.3149C47.3056 90.1089 47.3826 89.8542 47.3672 89.5966C47.3454 89.3436 47.2523 88.5213 47.1499 87.7738C50.4286 88.5386 49.6638 86.6836 49.6638 89.4988C49.6589 89.7822 49.764 90.0565 49.957 90.264C50.1499 90.4716 50.4158 90.5963 50.6988 90.612L53.6152 90.9387C53.7094 90.9656 53.8079 90.9737 53.9052 90.9624C54.0025 90.9512 54.0966 90.9208 54.1821 90.873C54.2676 90.8252 54.3429 90.761 54.4034 90.6841C54.464 90.6071 54.5088 90.5189 54.5352 90.4246C54.5878 90.2389 54.5672 90.0401 54.4778 89.869C54.3885 89.6979 54.237 89.5675 54.0545 89.5046C53.3258 89.1579 52.5733 88.8635 51.8028 88.6237C51.7675 88.1705 51.6866 87.7221 51.5613 87.2851C54.1224 85.9465 54.7123 82.861 54.6215 79.9538C57.7552 79.3708 58.4452 75.3055 55.9796 73.9451ZM53.8038 78.1023C53.6665 78.0805 53.5261 78.0887 53.3924 78.1266C53.2586 78.1645 53.1347 78.2311 53.0293 78.3217C52.9239 78.4123 52.8395 78.5248 52.782 78.6514C52.7245 78.778 52.6953 78.9155 52.6964 79.0545C52.6964 82.6632 52.1536 85.9453 48.5242 85.7751C46.3518 85.6751 45.2444 84.5101 44.5383 82.4827C44.1978 81.6125 43.9982 80.6936 43.9472 79.7606C43.941 79.5244 43.8468 79.2991 43.6829 79.1288C43.5191 78.9586 43.2975 78.8558 43.0617 78.8406C40.9514 78.7325 41.0331 76.5165 42.5246 75.7414C42.7062 75.8172 42.905 75.8419 43.0996 75.8127C43.5274 75.7471 44.8534 75.3032 44.9086 74.5753C45.0051 73.8437 45.1406 73.1178 45.3145 72.4006C45.7636 72.3656 46.213 72.4644 46.606 72.6847C47.5559 73.2102 48.1826 72.2454 47.603 71.5634C47.1925 71.0315 46.6215 70.6459 45.9746 70.464C46.2556 69.8274 46.6025 69.2218 47.0096 68.6574C47.5471 69.8912 48.3692 70.98 49.4086 71.8348C50.4481 72.6895 51.6753 73.2858 52.9896 73.5748C53.5198 74.4948 53.8211 75.0629 54.7227 75.0629C55.0582 75.1816 55.3532 75.393 55.5737 75.6724C55.7159 75.9497 55.7784 76.261 55.7542 76.5716C55.73 76.8823 55.62 77.1802 55.4365 77.432C55.2531 77.6839 55.0033 77.88 54.7151 77.9983C54.4268 78.1166 54.1113 78.1527 53.8038 78.1023Z\" fill=\"#2F3941\"/>\n<path d=\"M110.025 74.4198C110.678 72.6496 110.893 70.748 110.653 68.8768C110.638 68.6811 110.547 68.4989 110.4 68.3687C110.254 68.2384 110.062 68.1702 109.866 68.1784C109.67 68.1866 109.484 68.2706 109.349 68.4126C109.214 68.5547 109.139 68.7437 109.14 68.94C109.065 70.2357 108.804 71.5138 108.365 72.735C106.798 77.3925 105.109 78.4022 106.039 79.1083C107.147 79.9467 109.469 75.8193 110.025 74.4198Z\" fill=\"#2F3941\"/>\n<path d=\"M111.503 76.7931C111.573 77.5875 111.548 78.3873 111.43 79.1759C111.33 80.4535 110.638 81.1056 111.43 81.5403C112.437 82.0934 113.226 80.0453 113.534 78.9804C113.75 78.1396 113.75 77.2578 113.534 76.417C113.263 75.512 112.292 73.7249 111.503 74.2573C110.859 74.646 111.363 74.7392 111.503 76.7931Z\" fill=\"#2F3941\"/>\n<path d=\"M120.877 66.6591C119.909 65.1331 112.132 71.1257 113.531 72.3953C114.285 73.1739 121.473 67.5975 120.877 66.6591Z\" fill=\"#2F3941\"/>\n<path d=\"M123.463 70.6325C122.918 68.697 115.127 73.1625 116.227 74.6713C116.907 75.6039 123.752 71.3984 123.463 70.6325Z\" fill=\"#2F3941\"/>\n<path d=\"M123.757 75.3177C123.384 73.2742 116.089 76.5597 117.26 78.1778C117.831 78.969 123.911 76.171 123.757 75.3177Z\" fill=\"#2F3941\"/>\n<path d=\"M112.831 86.4373C113.509 85.9601 119.305 82.3663 121.838 81.0794C122.018 81.0003 122.161 80.8549 122.237 80.6733C122.313 80.4917 122.316 80.288 122.245 80.1042C122.165 79.9206 122.016 79.7753 121.831 79.699C121.646 79.6226 121.438 79.6211 121.252 79.6948C116.174 81.3232 114.381 82.6963 111.912 85.4092C111.778 85.53 111.696 85.6978 111.682 85.8778C111.668 86.0578 111.724 86.2363 111.838 86.3763C111.964 86.512 112.137 86.594 112.322 86.6054C112.507 86.6167 112.689 86.5565 112.831 86.4373Z\" fill=\"#2F3941\"/>\n<path d=\"M165.88 26.3973C148.497 15.2964 127.049 13.7588 108.653 25.7073C108.53 27.3541 108.382 29.0009 108.255 30.6523C108.06 33.1938 108.19 35.4697 106.557 37.481C103.721 40.977 98.2929 40.931 93.8953 40.9437L97.55 50.6876C97.6124 50.8576 97.6248 51.0418 97.5857 51.2186C97.5465 51.3953 97.4575 51.5572 97.3292 51.6849C97.2009 51.8126 97.0387 51.9008 96.8617 51.9391C96.6848 51.9774 96.5006 51.9641 96.331 51.9009C93.4873 50.8362 90.7785 49.4413 88.2602 47.7448C82.2572 58.633 79.6054 71.0196 81.5282 82.9785C81.5888 83.2036 81.7244 83.4014 81.9126 83.5391C82.1007 83.6769 82.3302 83.7465 82.5632 83.7363C82.7851 83.7363 91.8655 83.6075 97.2924 83.4385C97.4436 83.4323 97.5908 83.3877 97.7199 83.3088C97.8491 83.2299 97.9561 83.1194 98.0307 82.9877C101.359 77.6781 101.279 76.5051 102.35 76.2521C103.229 76.044 104.057 76.2981 105.044 75.3793C105.839 74.4956 106.42 73.4416 106.743 72.2984C107.443 70.0686 107.457 67.312 108.846 65.7676C109.948 64.5428 110.801 65.3938 111.21 64.3588C113.721 58.0154 117.431 51.7491 123.316 48.1841C135.425 40.8712 152.801 46.9432 155.248 61.746C155.867 65.7766 155.472 69.8979 154.099 73.7377C152.727 77.5776 150.419 81.0151 147.385 83.7398C142.724 88.0546 137.08 91.0549 133.284 96.5795C124.054 109.84 123.317 126.148 124.792 142.12C124.817 142.385 124.94 142.632 125.139 142.81C125.338 142.989 125.596 143.085 125.863 143.081L153.771 142.636C153.916 142.632 154.058 142.599 154.19 142.54C154.323 142.481 154.442 142.397 154.541 142.291C154.641 142.186 154.718 142.062 154.77 141.927C154.822 141.792 154.846 141.648 154.842 141.503C154.635 133.235 151.914 120.712 155.877 112.763C159.955 104.697 169.668 100.841 175.443 93.8552C190.008 76.2441 191.748 42.9194 165.88 26.3973Z\" fill=\"#2F3941\"/>\n<path d=\"M82.1518 42.8877C24.5701 44.4229 19.7689 45.5212 15.3368 44.2539C10.3228 42.8394 9.25787 38.6994 8.98877 33.8096C8.66102 27.8457 8.65642 23.8218 8.73002 20.7272C8.86572 15.0577 9.07502 8.80626 14.6376 7.35496C23.1476 5.13431 97.1374 4.85486 105.446 8.83961C106.279 9.23981 107.799 9.67106 108.551 15.0301C109.295 20.2752 108.658 25.4284 108.257 30.6597C108.061 33.2012 108.191 35.4771 106.558 37.4884C103.722 40.9844 98.2943 40.9384 93.8967 40.9511L97.5514 50.695C97.6138 50.8649 97.6262 51.0492 97.5871 51.226C97.548 51.4027 97.459 51.5646 97.3307 51.6923C97.2024 51.82 97.0401 51.9082 96.8632 51.9465C96.6862 51.9848 96.502 51.9715 96.3324 51.9083C91.0466 49.8863 86.2234 46.8182 82.1518 42.8877ZM95.072 49.3553L91.7497 40.3979C91.6952 40.2639 91.6742 40.1185 91.6887 39.9745C91.7031 39.8306 91.7525 39.6923 91.8325 39.5717C91.9125 39.4511 92.0207 39.3519 92.1478 39.2826C92.2748 39.2134 92.4169 39.1762 92.5616 39.1743C95.3253 39.2954 98.0943 39.1537 100.831 38.7511C106.686 37.5103 106.293 33.9855 106.589 30.5309C107.042 25.2582 107.705 20.442 106.995 15.2428C106.802 13.8283 106.632 10.836 104.634 9.97811C96.3623 6.42116 22.9038 7.38372 15.1873 9.41461C10.8966 10.5428 10.9737 16.3468 10.8679 20.7835C10.7816 24.3968 10.9518 30.0985 11.1634 33.6854C11.5372 40.0219 13.0379 42.6427 20.0966 42.6358C40.3366 42.614 61.8566 41.3708 82.5209 40.9108C82.6504 40.9078 82.7792 40.9308 82.8997 40.9784C83.0202 41.026 83.1299 41.0972 83.2224 41.188C86.6485 44.603 90.6642 47.37 95.0755 49.3553H95.072Z\" fill=\"#2F3941\"/>\n<path d=\"M42.6361 144.643C46.6198 145.003 50.6197 145.153 54.6191 145.091C55.7346 123.101 54.8583 91.3587 55.2401 90.2363C52.0086 93.2619 52.9505 92.5362 48.0446 97.0212C44.3094 94.045 42.9225 91.8612 41.884 91.1114C42.0496 92.435 41.1756 109.846 42.6361 144.643Z\" fill=\"#2F3941\"/>\n<path d=\"M111.393 88.0642C110.118 86.2346 106.831 82.2889 104.97 79.6692C104.866 79.5244 104.728 79.4073 104.568 79.3282C104.408 79.2491 104.231 79.2104 104.052 79.2153C103.874 79.2203 103.699 79.2689 103.544 79.3569C103.389 79.4448 103.257 79.5694 103.161 79.7198C99.6652 85.3548 93.8899 89.9284 87.9525 92.8839C71.9226 100.934 66.5406 91.9788 56.4632 89.5489C56.3181 89.5133 56.167 89.5091 56.0202 89.5366C55.8733 89.5641 55.734 89.6226 55.6117 89.7083C55.4893 89.794 55.3866 89.9049 55.3105 90.0334C55.2345 90.162 55.1867 90.3054 55.1706 90.4539C54.9831 92.3445 55.6444 124.926 54.6209 145.09C50.6214 145.152 46.6215 145.002 42.6379 144.642C41.8938 126.932 41.5626 109.114 41.918 91.2486C41.9236 91.092 41.8929 90.9362 41.8281 90.7935C41.7633 90.6509 41.6662 90.5252 41.5446 90.4264C41.423 90.3276 41.28 90.2584 41.1271 90.2243C40.9742 90.1902 40.8154 90.192 40.6633 90.2297C34.5057 91.8606 28.8486 94.9931 24.1988 99.3469C17.6944 105.38 11.7788 113.103 9.95026 121.706C7.26616 134.304 14.1248 147.313 23.6456 155.837C23.8298 156 24.0685 156.089 24.3146 156.085C24.5606 156.08 24.7963 155.984 24.975 155.815C25.3116 155.484 25.6508 155.154 25.9928 154.825C26.6368 156.111 27.4786 156.749 29.3554 158.21C29.074 158.574 28.7827 158.931 28.4814 159.281C28.338 159.453 28.2503 159.665 28.2298 159.888C28.2093 160.111 28.2569 160.335 28.3664 160.53C32.3442 167.216 31.576 175.983 30.9504 183.682C29.9925 194.528 29.5865 203.692 29.2887 213.812C29.2888 213.988 29.3306 214.161 29.4105 214.317C29.4905 214.473 29.6064 214.608 29.7487 214.711C25.7237 217.735 18.2981 217.283 15.9326 219.214C15.5522 219.487 15.2872 219.892 15.1892 220.35C15.0912 220.809 15.1672 221.287 15.4024 221.692C16.8319 224.315 20.8891 223.94 23.7123 223.812C26.8242 223.649 35.4561 223.558 37.3594 221.319C37.804 220.734 38.1211 220.062 38.29 219.347C38.459 218.632 38.4761 217.889 38.3403 217.167C39.0108 216.454 38.3518 217.062 46.4191 162.221C47.1192 162.288 47.8245 162.278 48.5224 162.191C50.3946 172.223 60.4663 210.51 61.4024 215.281C61.4297 215.433 61.5024 215.573 61.611 215.683C61.7197 215.793 61.859 215.867 62.0108 215.896C61.4599 220.227 61.9176 222.596 66.8063 223.566C69.6398 224.1 72.5228 224.326 75.4048 224.239C81.0628 224.155 81.4653 224.293 82.5889 222.845C84.0839 220.837 82.6452 219.288 80.4913 218.035C76.6491 215.797 71.818 216.54 68.9913 213.75C69.1291 213.673 69.242 213.558 69.3166 213.419C69.3912 213.28 69.4243 213.122 69.4122 212.964C66.5843 188.596 64.0072 168.416 62.8066 146.782C66.9914 146.736 70.8888 146.611 70.8888 146.611V146.547C71.074 146.546 71.2521 146.476 71.3886 146.35C71.525 146.225 71.61 146.053 71.6271 145.869C71.3764 145.869 71.9019 140.19 71.3695 120.783C73.994 120.572 76.606 120.226 79.1952 119.748C94.6052 116.675 104.485 103.336 111.458 89.1636C111.549 88.9917 111.59 88.7985 111.578 88.6048C111.567 88.4111 111.503 88.2242 111.393 88.0642ZM36.0783 220.181C34.7489 221.626 26.2009 221.609 23.618 221.685C22.192 221.739 18.3591 222.079 17.4241 220.833C19.7425 219.295 27.3647 219.299 31.2828 215.283C33.1285 215.906 35.1008 216.573 36.797 217.27C36.9412 218.297 36.6837 219.339 36.0783 220.181ZM36.3807 145.954C36.1756 145.967 35.978 146.036 35.809 146.153C35.64 146.269 35.5061 146.43 35.4216 146.618C34.1203 150.187 32.428 153.601 30.3754 156.797C28.517 154.77 28.5527 154.625 27.3578 153.518C29.5497 151.448 31.8026 149.432 34.4614 147.239C34.626 147.108 34.7388 146.924 34.7795 146.718C34.8202 146.512 34.7861 146.298 34.6833 146.115C33.3884 143.915 33.7633 145.356 28.9828 137.413C29.4359 123.146 29.184 122.348 28.0743 122.954C24.5679 124.847 23.756 127.469 24.1988 130.3C24.9428 134.974 31.4012 144.205 32.764 146.348C30.3559 148.291 27.2037 151.04 24.3103 153.803C20.0743 149.824 16.6725 145.042 14.303 139.736C9.57881 128.959 11.0462 119.804 17.2229 110.628C22.4577 102.855 30.6123 95.3242 39.8514 92.5734C39.6341 109.915 40.2309 128.851 41.1164 145.735L36.3807 145.954ZM27.2118 134.29C25.5799 131.097 24.5518 127.716 27.1704 125.272C26.791 128.267 26.8049 131.298 27.2118 134.29ZM67.6274 214.499C70.7393 218.179 75.8407 217.489 79.4804 219.766C79.8093 219.977 81.1111 220.814 81.064 221.23C81.3802 222.725 67.4422 222.125 65.1687 221.115C63.7726 220.522 63.4839 219.655 63.4092 218.166C63.3866 217.308 63.4143 216.45 63.492 215.596C68.123 214.294 67.2663 214.09 67.6274 214.499ZM78.8709 117.988C76.1029 118.575 73.2601 118.859 70.4173 119.174C70.2021 119.197 70.0032 119.299 69.8597 119.461C69.7163 119.623 69.6387 119.833 69.6422 120.049C69.8492 128.069 70.1965 130.219 70.1965 145.127C66.3612 145.205 60.1443 145.277 56.2815 145.127C57.4154 125.469 57.0945 92.854 57.1313 91.8592C66.3681 94.7032 72.462 102.965 88.915 94.8136C94.9456 91.9246 100.168 87.5892 104.118 82.1935C104.143 82.2188 108.404 87.6307 109.249 88.7979C102.738 102.081 93.3839 114.875 78.8709 117.988Z\" fill=\"#2F3941\"/>\n<path d=\"M154.954 155.082C151.432 151.607 146.676 149.67 141.728 149.696C136.781 149.721 132.045 151.706 128.559 155.217C126.562 157.237 125.06 159.692 124.17 162.389C123.28 165.086 123.026 167.953 123.427 170.765C123.502 171.359 123.617 171.947 123.772 172.526C125.573 171.011 127.454 169.595 129.407 168.284C129.559 168.198 129.734 168.161 129.908 168.179C130.082 168.198 130.245 168.27 130.376 168.386C130.506 168.502 130.597 168.656 130.635 168.826C130.674 168.997 130.658 169.175 130.59 169.335C130.08 170.485 128.689 175.861 127.485 180.239C129.099 182.177 131.089 183.769 133.336 184.916C135.583 186.063 138.039 186.742 140.556 186.912C143.072 187.083 145.598 186.74 147.978 185.906C150.359 185.072 152.546 183.764 154.406 182.06C156.266 180.356 157.762 178.292 158.801 175.994C159.841 173.695 160.403 171.21 160.454 168.688C160.505 166.166 160.043 163.659 159.098 161.321C158.152 158.982 156.741 156.86 154.951 155.082H154.954Z\" fill=\"#2F3941\"/>\n<path d=\"M116.743 178.27C119.124 176.309 127.525 169.316 129.404 168.283C129.556 168.197 129.731 168.16 129.905 168.178C130.078 168.197 130.242 168.269 130.373 168.385C130.503 168.501 130.594 168.655 130.632 168.825C130.671 168.996 130.655 169.174 130.587 169.335C129.841 171.024 127.208 181.736 126.045 185.162C126.615 189.34 126.849 193.556 126.747 197.772C126.67 200.278 126.46 202.697 124.975 204.629C121.065 209.711 99.8493 210.976 94.0763 211.069C90.3043 211.131 86.2667 211.234 83.7033 208.464C81.9358 206.554 81.7184 203.985 81.4148 201.493C80.799 197.045 80.6261 192.548 80.8985 188.066C81.1929 184.205 82.4751 181.258 86.2138 180.378C95.4368 178.211 107.289 178.085 116.743 178.27ZM128.335 171.103C125.418 173.364 117.945 179.772 117.813 179.885C117.608 180.066 117.349 180.176 117.075 180.196C107.983 180.115 95.5909 180.387 86.6933 182.496C83.9885 183.14 83.2813 185.437 83.0754 188.224C82.7021 193.861 83.0745 199.523 84.1829 205.063C84.4404 205.99 84.961 206.822 85.6816 207.459C86.4022 208.097 87.2921 208.512 88.2435 208.654C93.8371 210.016 116.598 207.465 120.767 205.677C121.696 205.337 122.529 204.778 123.197 204.049C123.866 203.319 124.348 202.439 124.605 201.484C125.295 199.199 125.153 193.817 125.049 191.447C124.771 185.122 124.186 184.954 124.827 184.504C125.751 181.561 127.337 174.813 128.335 171.103Z\" fill=\"#2F3941\"/>\n</svg>\n","import NoQuestions from \"images/noData/no-questions\";\n\nconst AddFirstQuestion = ({ children }) => (\n <div className=\"flex h-full flex-col items-center justify-center py-8\">\n <div className=\"mb-6\">\n <NoQuestions />\n </div>\n {children}\n </div>\n);\n\nexport default AddFirstQuestion;\n","import { t } from \"i18next\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\n\nimport { SELECTABLE_KINDS } from \"../constants\";\n\nconst {\n NAME,\n PHONE,\n EMAIL,\n ADDITIONAL_GUESTS,\n TEXT,\n TEXTAREA,\n RICH_TEXT,\n INTEGER,\n DECIMAL,\n STAR_RATING,\n RATING,\n DATE,\n FILE_UPLOAD,\n CAPTCHA,\n} = QUESTION_TYPES;\n\nexport const QUESTIONS_WITH_ADDITIONAL_DATA = [\n ...SELECTABLE_KINDS,\n STAR_RATING,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n];\n\nexport const QUESTIONS_WITH_PLACEHOLDERS = [\n NAME,\n PHONE,\n EMAIL,\n ADDITIONAL_GUESTS,\n TEXT,\n TEXTAREA,\n RICH_TEXT,\n INTEGER,\n DECIMAL,\n DATE,\n];\n\nexport const DEFAULT_PLACEHOLDERS = {\n CHECKBOX: t(\"neetoForm.questions.common.questionFields.field.labelExample\", {\n what: t(\"neetoForm.common.hobbies\"),\n }),\n RADIO: t(\"neetoForm.questions.common.questionFields.field.labelExample\", {\n what: t(\"neetoForm.common.country\"),\n }),\n DROPDOWN: t(\"neetoForm.questions.common.questionFields.field.labelExample\", {\n what: t(\"neetoForm.common.company\"),\n }),\n};\n\nexport const INITIAL_VALUES = { kind: \"\", label: \"\", fieldCode: \"\" };\n","import { useFormikContext } from \"formik\";\nimport { isMetaKeyPressed } from \"neetocommons/react-utils\";\nimport { Textarea } from \"neetoui/formik\";\n\nconst FormikAdaptiveInput = ({ label, name, ...otherProps }) => {\n const { dirty, isValid, submitForm } = useFormikContext();\n\n const handleKeyDown = event => {\n if (event.key !== \"Enter\" || event.shiftKey) return;\n\n event.preventDefault();\n if (isMetaKeyPressed(event)) return;\n\n dirty && isValid && submitForm();\n };\n\n const handleFocus = element => {\n const end = element.value.length;\n element.setSelectionRange(end, end);\n };\n\n return (\n <Textarea\n {...{ label, name }}\n className=\"neeto-form-nano-adaptive-input\"\n resize=\"none\"\n size=\"small\"\n onFocus={({ target }) => handleFocus(target)}\n onKeyDown={handleKeyDown}\n {...otherProps}\n />\n );\n};\n\nexport default FormikAdaptiveInput;\n","import { Typography } from \"neetoui\";\n\nconst Block = ({ title, children, dataCy }) => (\n <div className=\"mt-4 space-y-4\" data-cy={dataCy}>\n <div\n className=\"flex items-center justify-between\"\n data-cy=\"properties-header\"\n >\n <Typography lineHeight=\"normal\" style=\"body1\" weight=\"semibold\">\n {title}\n </Typography>\n </div>\n <div className=\"space-y-4\">{children}</div>\n </div>\n);\n\nexport default Block;\n","import { useEffect, useRef } from \"react\";\n\nimport { modify, path, without } from \"ramda\";\n\nimport { useFetchQuestions } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nconst useUpdateEditorContent = ({\n editorRef,\n fieldName,\n value,\n initialValue,\n fieldCode,\n}) => {\n const initialStateRef = useRef({ language: \"\", value: null });\n\n const { setFormData } = useBuildFormStore.pick();\n const { formId, selectedLanguage: language } =\n useBuildFormStore.pick(\"formState\");\n\n const shouldReset = useBuildFormStore(store =>\n store.formState.richTextFieldsToReset.includes(fieldCode)\n );\n\n const setEditorContent = content =>\n editorRef.current.editor?.commands?.setContent(content);\n\n if (shouldReset) {\n setEditorContent(initialValue);\n setFormData(modify(\"richTextFieldsToReset\", without([fieldCode])));\n }\n\n const { data } = useFetchQuestions({ formId, language });\n\n useEffect(() => {\n if (!data) return;\n\n const pathArray = fieldName.split(\".\").map(part => {\n const parsedPart = parseInt(part);\n\n return isNaN(parsedPart) ? part : parsedPart;\n });\n\n setEditorContent(path(pathArray, data));\n }, [data]);\n\n useEffect(() => {\n if (initialStateRef.current[\"language\"] !== language) {\n initialStateRef.current[\"language\"] = language;\n initialStateRef.current[\"value\"] = null;\n\n return;\n }\n\n if (initialStateRef.current[\"value\"] === null && value !== null) {\n setEditorContent(value);\n initialStateRef.current[\"value\"] = value;\n }\n }, [language, value]);\n};\n\nexport default useUpdateEditorContent;\n","import { useRef } from \"react\";\n\nimport { useField, useFormikContext } from \"formik\";\nimport { Editor as NeetoEditor } from \"neetoeditor\";\n\nimport useUpdateEditorContent from \"../hooks/useUpdateEditorContent\";\nimport { validateEditorContent } from \"../utils\";\n\nconst Editor = () => {\n const editorRef = useRef({ editor: {} });\n\n const {\n values: { fieldCode },\n } = useFormikContext();\n\n const fieldName = \"label\";\n\n const [\n { value },\n { touched, error, initialValue },\n { setTouched, setValue },\n ] = useField({\n name: fieldName,\n validate: validateEditorContent(editorRef),\n });\n\n useUpdateEditorContent({\n editorRef,\n fieldName,\n value,\n initialValue,\n fieldCode,\n });\n\n return (\n <div className=\"w-full cursor-auto\">\n <NeetoEditor\n required\n error={touched ? error : \"\"}\n id=\"editor\"\n initialValue={value}\n name={fieldName}\n ref={editorRef}\n onBlur={() => setTouched(true)}\n onChange={setValue}\n />\n </div>\n );\n};\n\nexport default Editor;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Switch } from \"neetoui/formik\";\n\nconst RequiredSwitch = withT(({ t }) => (\n <div className=\"w-full\">\n <Switch label={t(\"neetoForm.common.required\")} name=\"isRequired\" />\n </div>\n));\n\nexport default RequiredSwitch;\n","import { useEffect } from \"react\";\n\nimport { useField } from \"formik\";\nimport { Input } from \"neetoui/formik\";\n\nconst InputWithMaxLength = ({ maxLength, ...props }) => {\n const [{ value }, , { setValue }] = useField(props);\n\n useEffect(() => {\n if (value && value.length > maxLength) {\n setValue(value.substring(0, maxLength));\n }\n }, [value, maxLength, setValue]);\n\n const shouldShowMaxLength = value && value.length > maxLength - 10;\n\n return <Input {...props} {...(shouldShowMaxLength && { maxLength })} />;\n};\n\nexport default InputWithMaxLength;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Button, Accordion } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport Input from \"components/Common/InputWithMaxLength\";\n\nconst FieldCode = withT(({ helpDocUrl, t }) => (\n <Accordion\n className=\"neeto-form-nano-advanced-properties-accordion\"\n data-cy=\"advanced-properties-card\"\n >\n <Accordion.Item title={t(\"neetoForm.common.advancedProperties\")}>\n <Input\n required\n label={t(\"neetoForm.questions.common.questionFields.field.fieldCode\")}\n name=\"fieldCode\"\n helpText={\n helpDocUrl && (\n <Trans\n i18nKey=\"neetoForm.questions.common.questionFields.field.fieldCodeHelpDescription\"\n components={{\n Link: (\n <Button\n className=\"text-xs\"\n href={helpDocUrl}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n )\n }\n />\n </Accordion.Item>\n </Accordion>\n));\n\nexport default FieldCode;\n","import { useFormikContext } from \"formik\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport { Pane } from \"neetoui\";\nimport { Select, Switch } from \"neetoui/formik\";\nimport { includes, isNil, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FormikAdaptiveInput from \"components/Common/FormikAdaptiveInput\";\n\nimport {\n DEFAULT_PLACEHOLDERS,\n INITIAL_VALUES,\n QUESTIONS_WITH_ADDITIONAL_DATA,\n QUESTIONS_WITH_PLACEHOLDERS,\n} from \"./constants\";\nimport {\n buildDefaultValueForKind,\n buildKindOptions,\n extractKindFromOption,\n getQuestionKind,\n renderAdditionalData,\n} from \"./utils\";\n\nimport Block from \"../commons/Block\";\nimport Editor from \"../commons/Editor\";\nimport RequiredSwitch from \"../commons/RequiredSwitch\";\nimport { QUESTIONS_WITHOUT_FIELD_CODE } from \"../constants\";\nimport { createFieldData } from \"../Form/utils\";\nimport FieldCode from \"../Questions/FieldCode\";\nimport { isRichTextQuestion } from \"../utils\";\n\nconst Form = ({\n questions,\n initialFocusRef,\n isRequiredField,\n isDisabledFieldLabel,\n enableFieldCode,\n allQuestionKinds,\n availableQuestionKinds,\n getActiveKindDetails,\n additionalQuestionKindPattern,\n fieldCodeHelpDocUrl,\n enableDomainRestriction,\n domainRestrictionHelpDocUrl,\n isEdit = false,\n}) => {\n const { t } = useTranslation();\n\n const { values, setValues, setErrors, setTouched } = useFormikContext();\n\n const { kind } = values;\n\n const questionKinds = isEdit ? allQuestionKinds : availableQuestionKinds;\n\n const questionKindUniquenessPattern = mergeLeft(\n isEdit && additionalQuestionKindPattern\n ? additionalQuestionKindPattern(values)\n : {},\n { type: kind }\n );\n\n const [questionKind] = useStateWithDependency(\n getQuestionKind(questionKinds, questionKindUniquenessPattern),\n [kind]\n );\n\n const { questionProps = {} } = questionKind\n ? getActiveKindDetails({ allQuestionKinds, item: questionKind })\n : {};\n\n const isRequired = questionKind && isRequiredField(questionKind);\n const isLabelDisabled = questionKind && isDisabledFieldLabel(questionKind);\n const shouldShowPlaceholder = includes(kind, QUESTIONS_WITH_PLACEHOLDERS);\n const hasAdditionalData = includes(kind, QUESTIONS_WITH_ADDITIONAL_DATA);\n const shouldShowFieldCode =\n enableFieldCode && !includes(kind, QUESTIONS_WITHOUT_FIELD_CODE);\n\n const shouldShowHideSwitch = !includes(kind, QUESTIONS_WITHOUT_FIELD_CODE);\n\n const handleKindChange = option => {\n const data = buildQuestionData(option);\n updateFormState(data);\n };\n\n const buildQuestionData = option => {\n if (isNil(option)) {\n return INITIAL_VALUES;\n }\n\n const { label, value } = option;\n const kind = extractKindFromOption(value);\n const questionKind = getQuestionKind(availableQuestionKinds, {\n type: kind,\n label,\n });\n\n return createFieldData({\n kind: questionKind,\n isRequired,\n questions,\n });\n };\n\n const updateFormState = data => {\n setValues(data);\n setErrors({});\n setTouched({});\n };\n\n return (\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Select\n isClearable\n isSearchable\n defaultValue={buildDefaultValueForKind(questionKind)}\n innerRef={initialFocusRef}\n isDisabled={isEdit}\n name=\"kind\"\n options={buildKindOptions(questionKinds)}\n label={t(\n \"neetoForm.questions.common.questionFields.field.questionType\"\n )}\n onChange={handleKindChange}\n />\n {isRichTextQuestion(kind) ? (\n <Editor {...{ isLabelDisabled }} />\n ) : (\n <div className=\"space-y-6\">\n <div className=\"space-y-4\">\n <FormikAdaptiveInput\n required\n disabled={isLabelDisabled}\n name=\"label\"\n placeholder={DEFAULT_PLACEHOLDERS[kind]}\n label={t(\n \"neetoForm.questions.common.questionFields.field.question\"\n )}\n />\n {shouldShowPlaceholder && (\n <FormikAdaptiveInput\n name=\"placeholder\"\n label={t(\n \"neetoForm.questions.common.questionFields.field.placeholder\"\n )}\n />\n )}\n {hasAdditionalData &&\n renderAdditionalData({\n kind,\n questionProps,\n domainRestrictionHelpDocUrl,\n enableDomainRestriction,\n })}\n </div>\n {!isRequired && (\n <Block\n dataCy=\"settings-card\"\n title={t(\"neetoForm.common.settings\")}\n >\n <RequiredSwitch />\n {shouldShowHideSwitch && (\n <Switch\n label={t(\"neetoForm.common.hideQuestion\")}\n name=\"isHidden\"\n />\n )}\n </Block>\n )}\n {shouldShowFieldCode && (\n <FieldCode helpDocUrl={fieldCodeHelpDocUrl} />\n )}\n </div>\n )}\n </div>\n </Pane.Body>\n );\n};\n\nexport default Form;\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { equals, includes } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\n\nimport {\n QUESTIONS_WITHOUT_FIELD_CODE,\n RESERVED_FIELD_CODES,\n RICH_TEXT_QUESTIONS,\n SELECTABLE_KINDS,\n} from \"../constants\";\n\nconst requiredLabelValidation = (schema, field) =>\n schema.trim().required(t(\"neetoForm.common.fieldReq\", { field }));\n\nconst richTextFieldMissingErrorMessage = kind => {\n const field = equals(kind, QUESTION_TYPES.PARAGRAPH)\n ? t(\"neetoForm.fields.def\")\n : t(\"neetoForm.fields.tcf\");\n\n return t(\"neetoForm.error.fieldCantBeEmpty\", { field });\n};\n\nexport const formValidationSchema = yup.object().shape({\n kind: yup\n .string()\n .trim()\n .required(\n t(\"neetoForm.common.fieldReq\", {\n field: t(\n \"neetoForm.questions.common.questionFields.field.questionType\"\n ),\n })\n ),\n label: yup\n .string()\n .when(\"kind\", (kind, schema) =>\n includes(kind, RICH_TEXT_QUESTIONS)\n ? schema.test(\n \"required\",\n richTextFieldMissingErrorMessage(kind),\n value => !isEditorEmpty(value)\n )\n : requiredLabelValidation(\n schema,\n t(\"neetoForm.questions.common.questionFields.field.question\")\n )\n ),\n fieldCode: yup\n .string()\n .trim()\n .notOneOf(RESERVED_FIELD_CODES, t(\"neetoForm.error.invalidFieldCode\"))\n .when(\"kind\", (kind, schema) =>\n includes(kind, QUESTIONS_WITHOUT_FIELD_CODE)\n ? schema.notRequired()\n : requiredLabelValidation(\n schema,\n t(\"neetoForm.questions.common.questionFields.field.fieldCode\")\n )\n ),\n optionsAttributes: yup.array().when(\"_destroy\", {\n is: true,\n otherwise: schema =>\n schema.when(\"kind\", (kind, schema) =>\n includes(kind, SELECTABLE_KINDS)\n ? schema.of(\n yup.object().shape({\n label: requiredLabelValidation(\n yup.string(),\n t(\"neetoForm.questions.common.questionFields.field.option\")\n ),\n })\n )\n : schema.notRequired()\n ),\n }),\n highestRatingLabel: yup.string().nullable(),\n averageRatingLabel: yup.string().nullable(),\n lowestRatingLabel: yup.string().nullable(),\n});\n","import { findBy } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form } from \"neetoui/formik\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport { INITIAL_VALUES } from \"./constants\";\nimport QuestionForm from \"./Form\";\nimport { formValidationSchema } from \"./validations\";\n\nconst Add = ({\n question,\n onClose,\n questions,\n handleSelect,\n buildRequestArgs,\n isOpen,\n fieldCodeHelpDocUrl,\n domainRestrictionHelpDocUrl,\n ...props\n}) => {\n const { formId, selectedLanguage: language } =\n useBuildFormStore.pick(\"formState\");\n\n const { t } = useTranslation();\n\n const { mutate: createQuestion, isPending: isCreating } = useCreateQuestion(\n formId,\n language,\n {\n onSuccess: () => {\n showThumbsUpToastr();\n onClose();\n },\n }\n );\n\n const handleSubmit = values => {\n if (isCreating || !isOpen) return;\n\n const displayOrder = question\n ? question.displayOrder + 1\n : questions.length;\n\n createQuestion(\n {\n language,\n neetoFormQuestion: mergeLeft({ displayOrder }, values),\n ...buildRequestArgs,\n },\n {\n onSuccess: ({ questions }) => {\n const newQuestion = findBy({ displayOrder }, questions);\n handleSelect(newQuestion);\n },\n }\n );\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"add-question-pane-header\" style=\"h2\">\n {t(\"neetoForm.questions.common.primaryPanel.addQuestion\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: INITIAL_VALUES,\n validationSchema: formValidationSchema,\n onSubmit: handleSubmit,\n }}\n >\n <>\n <QuestionForm\n {...{\n ...props,\n domainRestrictionHelpDocUrl,\n fieldCodeHelpDocUrl,\n question,\n questions,\n }}\n />\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={isCreating}\n />\n </Pane.Footer>\n </>\n </Form>\n </>\n );\n};\n\nexport default Add;\n","import { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport QuestionForm from \"./Form\";\nimport { formValidationSchema } from \"./validations\";\n\nconst Edit = ({\n question,\n isOpen,\n onClose,\n fieldCodeHelpDocUrl,\n domainRestrictionHelpDocUrl,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { selectedLanguage: language } = useBuildFormStore.pick(\"formState\");\n\n const { mutate: updateQuestion, isPending: isUpdating } = useUpdateQuestion(\n question?.formId,\n language\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n if (isUpdating || !isOpen) return;\n\n const payload = { language, neetoFormQuestion: values };\n updateQuestion(\n { questionId: question.id, payload },\n {\n onSuccess: () => {\n showThumbsUpToastr();\n onClose();\n },\n onSettled: () => setSubmitting(false),\n }\n );\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"edit-question-pane-header\" style=\"h2\">\n {t(\"neetoForm.questions.common.editQuestion\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: question,\n validationSchema: formValidationSchema,\n onSubmit: handleSubmit,\n }}\n >\n <>\n <QuestionForm\n {...{\n domainRestrictionHelpDocUrl,\n fieldCodeHelpDocUrl,\n question,\n ...props,\n }}\n isEdit\n />\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={isUpdating}\n />\n </Pane.Footer>\n </>\n </Form>\n </>\n );\n};\n\nexport default Edit;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Radio } from \"neetoui/formik\";\n\nimport { CAPTCHA_TYPES } from \"components/constants\";\n\nconst Captcha = withT(({ t }) => (\n <Radio\n label={t(\"neetoForm.common.captchaType\")}\n labelProps={{ required: true }}\n name=\"variant\"\n >\n <Radio.Item\n label={t(\"neetoForm.common.reCaptchaV2\")}\n value={CAPTCHA_TYPES.RECAPTCHA_V2}\n />\n <Radio.Item\n label={t(\"neetoForm.common.mathCaptcha\")}\n value={CAPTCHA_TYPES.MATH_CAPTCHA}\n />\n </Radio>\n));\n\nexport default Captcha;\n","import classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Label, Typography } from \"neetoui\";\nimport { Switch } from \"neetoui/formik\";\n\nconst SwitchBlock = ({ name, title, className = \"\", ...otherProps }) => (\n <Label\n className={classnames(\"flex items-center justify-start gap-2 \", className)}\n data-cy={`neeto-form-engine-${hyphenate(title)}-toggle-label`}\n >\n <Switch\n {...{ ...otherProps, name }}\n data-cy={`neeto-form-engine-${hyphenate(title)}-switch`}\n />\n <Typography component=\"span\" style=\"body1\">\n {title}\n </Typography>\n </Label>\n);\n\nexport default SwitchBlock;\n","import { t } from \"i18next\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Close } from \"neetoicons\";\nimport { Tag } from \"neetoui\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { components } from \"react-select\";\nimport * as yup from \"yup\";\n\nconst STYLES = {\n border: {\n default: \"1px solid rgb(var(--neeto-ui-gray-400))\",\n error: \"1px solid rgb(var(--neeto-ui-error-800)) !important\",\n },\n color: {\n default: \"rgb(var(--neeto-ui-gray-800))\",\n error: \"rgb(var(--neeto-ui-error-800)) !important\",\n },\n};\n\nconst MultiValueRemove = props => (\n <components.MultiValueRemove\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: `${hyphenize(props.data.label)}-remove-icon`,\n }}\n >\n <Close size={16} />\n </components.MultiValueRemove>\n);\n\nconst ValueContainer = ({ children, ...props }) => {\n const { t } = useTranslation();\n\n const {\n getValue,\n selectProps: { isFocused, visibleDomainsCount },\n } = props;\n const value = getValue();\n const [firstChild, ...rest] = children;\n\n const shouldCollapse = !isFocused && value.length > visibleDomainsCount;\n\n return (\n <components.ValueContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-domain-input-container\",\n }}\n >\n {shouldCollapse ? firstChild.slice(0, visibleDomainsCount) : firstChild}\n {shouldCollapse && (\n <Tag\n style=\"secondary\"\n label={t(\"neetoForm.common.remainingItemsCount\", {\n count: value.length - visibleDomainsCount,\n })}\n />\n )}\n {rest}\n </components.ValueContainer>\n );\n};\n\nconst ClearIndicator = props => (\n <components.ClearIndicator\n {...props}\n innerProps={{ ...props.innerProps, [\"data-cy\"]: \"clear-all-button\" }}\n >\n <Close className=\"cursor-pointer\" size={16} />\n </components.ClearIndicator>\n);\n\nexport const ERROR_MESSAGE_DELIMITER = \". \";\nexport const DELIMITER_KEYS = [\"Enter\", \"Tab\", \",\", \" \"];\nexport const DOMAIN_SEPARATION_REGEX = /[^\\s,]+/g;\nexport const FLEXIBLE_DOMAIN_REGEX = /^[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)+$/;\n\nexport const VALID_DOMAIN_REGEX =\n /^(?:[a-zA-Z0-9-]{1,63}\\.)+[a-zA-Z0-9-]{2,63}$/;\n\nexport const DOMAIN_VALIDATION_SCHEMA = yup\n .string()\n .required(\n t(\"neetoForm.error.requiredField\", {\n label: t(\"neetoForm.common.domain\"),\n })\n )\n .test(\"verify domains\", t(\"neetoForm.error.invalidDomain\"), domain =>\n VALID_DOMAIN_REGEX.test(domain)\n );\n\nexport const CUSTOM_STYLES = {\n input: assoc(\"overflow\", \"hidden\"),\n multiValue: (styles, { data: { valid } }) => ({\n ...styles,\n border: valid ? STYLES.border.default : STYLES.border.error,\n color: valid ? STYLES.color.default : STYLES.color.error,\n }),\n};\n\nexport const CUSTOM_COMPONENTS = {\n DropdownIndicator: null,\n MultiValueRemove,\n ValueContainer,\n ClearIndicator,\n};\n","import { filter, isNotNil, join, map, pipe, pluck, uniq } from \"ramda\";\n\nimport { ERROR_MESSAGE_DELIMITER, DOMAIN_VALIDATION_SCHEMA } from \"./constants\";\n\nconst removeDuplicateErrorMessages = pipe(\n filter(isNotNil),\n uniq,\n join(ERROR_MESSAGE_DELIMITER)\n);\n\nexport const formatDomainInputOptions = domain => {\n let isValid;\n\n try {\n DOMAIN_VALIDATION_SCHEMA.validateSync(domain);\n isValid = true;\n } catch {\n isValid = false;\n }\n\n return { label: domain, value: domain, valid: isValid };\n};\n\nexport const pruneDuplicates = pipe(\n pluck(\"value\"),\n uniq,\n map(formatDomainInputOptions)\n);\n\nexport const getValidDomains = domains =>\n domains.filter(domain => domain?.valid);\n\nexport const getValidDomainsCount = domains => getValidDomains(domains).length;\n\nexport const formatErrorMessage = error => {\n if (typeof error === \"string\") return error;\n\n return removeDuplicateErrorMessages(error);\n};\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Label } from \"neetoui\";\nimport { mergeLeft, filter, includes, test } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport CreatableSelect from \"react-select/creatable\";\n\nimport {\n CUSTOM_COMPONENTS,\n CUSTOM_STYLES,\n DELIMITER_KEYS,\n DOMAIN_SEPARATION_REGEX,\n ERROR_MESSAGE_DELIMITER,\n FLEXIBLE_DOMAIN_REGEX,\n} from \"./constants\";\nimport {\n formatDomainInputOptions,\n formatErrorMessage,\n getValidDomainsCount,\n pruneDuplicates,\n getValidDomains,\n} from \"./utils\";\n\nconst MultiDomainInput = ({\n label = \"\",\n value = [],\n onChange = noop,\n error = \"\",\n onBlur = noop,\n ...otherProps\n}) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n\n const { t } = useTranslation();\n\n const handleFilterDomains = () => onChange(getValidDomains(value));\n\n const handleDomainChange = () => {\n const inputValues = inputValue.match(DOMAIN_SEPARATION_REGEX) || [];\n const domainMatches = filter(test(FLEXIBLE_DOMAIN_REGEX), inputValues);\n\n const domains = domainMatches.map(formatDomainInputOptions);\n onChange(pruneDuplicates([...value, ...domains]));\n setInputValue(\"\");\n };\n\n const handleKeyDown = event => {\n if (!inputValue) return;\n\n if (includes(event.key, DELIMITER_KEYS)) {\n handleDomainChange();\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n const onCreateOption = input => {\n const domain = formatDomainInputOptions(input);\n onChange(pruneDuplicates([...value, domain]));\n };\n\n const handleBlur = event => {\n inputValue ? handleDomainChange() : onBlur(event);\n setIsFocused(false);\n };\n\n const isFilterDomainsLinkVisible = value.length > getValidDomainsCount(value);\n\n return (\n <div className=\"neeto-ui-input__wrapper neeto-ui-email-input__wrapper\">\n <div className=\"neeto-ui-email-input__label-wrapper\">\n <Label\n className=\"neeto-ui-email-input__label\"\n data-cy={`${hyphenize(label)}-input-label`}\n >\n {label}\n </Label>\n </div>\n <CreatableSelect\n isMulti\n required\n classNamePrefix=\"neeto-ui-react-select\"\n components={CUSTOM_COMPONENTS}\n menuIsOpen={false}\n visibleDomainsCount={3}\n className={classnames(\n \"neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select\",\n { \"neeto-ui-react-select__container--error\": !!error }\n )}\n styles={{\n ...CUSTOM_STYLES,\n control: mergeLeft({\n maxHeight: \"200px\",\n overflowY: \"auto\",\n }),\n }}\n onBlur={handleBlur}\n onFocus={() => setIsFocused(true)}\n onInputChange={setInputValue}\n onKeyDown={handleKeyDown}\n {...{\n inputValue,\n isFocused,\n onChange,\n onCreateOption,\n value,\n ...otherProps,\n }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n >\n {formatErrorMessage(error)}\n {isFilterDomainsLinkVisible && (\n <span\n className=\"neeto-ui-font-semibold cursor-pointer\"\n onClick={handleFilterDomains}\n >\n {ERROR_MESSAGE_DELIMITER}\n {t(\"neetoForm.domainRestriction.removeInvalidDomains\")}\n </span>\n )}\n </p>\n )}\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n >\n {t(\"neetoForm.domainRestriction.helpText\")}\n </p>\n </div>\n );\n};\n\nexport default MultiDomainInput;\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { VALID_DOMAIN_REGEX } from \"./MultiDomainInput/constants\";\n\nexport const validateDomains = value => {\n const schema = yup\n .array()\n .of(\n yup\n .string()\n .test(\"verify domains\", t(\"neetoForm.error.invalidDomain\"), domain =>\n VALID_DOMAIN_REGEX.test(domain)\n )\n )\n .ensure()\n .compact()\n .min(\n 1,\n t(\"neetoForm.error.minOneEntity\", {\n entity: t(\"neetoForm.common.domain\"),\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);\n resolve(undefined);\n } catch (err) {\n resolve(err.message);\n }\n });\n};\n","import { useField } from \"formik\";\nimport { nullSafe } from \"neetocist\";\nimport { map, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport MultiDomainInput from \"./MultiDomainInput\";\nimport { formatDomainInputOptions } from \"./MultiDomainInput/utils\";\nimport { validateDomains } from \"./utils\";\n\nconst RestrictedDomains = () => {\n const [{ value: domains = [] }, meta, { setValue, setTouched }] = useField({\n name: \"restrictedDomains\",\n validate: validateDomains,\n });\n const { t } = useTranslation();\n\n const formattedDomains = map(formatDomainInputOptions, domains);\n\n return (\n <div className=\"mb-4\">\n <MultiDomainInput\n error={meta.touched ? meta.error : \"\"}\n label={t(\"neetoForm.domainRestriction.description\")}\n name=\"restrictedDomains\"\n value={formattedDomains}\n onBlur={() => setTouched(true)}\n onChange={value => setValue(nullSafe(pluck)(\"value\", value))}\n />\n </div>\n );\n};\n\nexport default RestrictedDomains;\n","import { useFormikContext } from \"formik\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SwitchBlock from \"components/BuildForm/commons/SwitchBlock\";\n\nimport RestrictedDomains from \"./RestrictedDomains\";\n\nconst Email = ({ domainRestrictionHelpDocUrl = \"\" }) => {\n const {\n values: { isDomainRestrictionEnabled = false },\n } = useFormikContext();\n\n const { t } = useTranslation();\n\n return (\n <div className=\"flex flex-col space-y-4\">\n <SwitchBlock\n className=\"mt-4\"\n name=\"isDomainRestrictionEnabled\"\n title={\n <div className=\"flex gap-2\">\n {t(\"neetoForm.domainRestriction.label\")}\n <HelpPopover\n description={t(\"neetoForm.domainRestriction.popoverDescription\")}\n popoverProps={{ position: \"top\" }}\n {...(domainRestrictionHelpDocUrl && {\n helpLinkProps: { href: domainRestrictionHelpDocUrl },\n })}\n />\n </div>\n }\n />\n {isDomainRestrictionEnabled && <RestrictedDomains />}\n </div>\n );\n};\n\nexport default Email;\n","import { Checkbox } from \"neetoui\";\n\nconst FileGroup = ({ name, label, checked, handleAllowedFileTypesChange }) => (\n <Checkbox\n {...{ checked, label, name }}\n data-cy={`neeto-form-engine-file-type-${name}`}\n id={name}\n onChange={handleAllowedFileTypesChange}\n />\n);\n\nexport default FileGroup;\n","import { difference, isEmpty } from \"ramda\";\n\nimport { FILE_TYPES_MAP } from \"../constants\";\n\nconst buildFileTypesList = fileTypes => (fileTypes ?? \"\").split(\", \");\n\nexport const getAllowedFileTypes = ({ type, isChecked, allowedFileTypes }) => {\n const fileTypes = buildFileTypesList(allowedFileTypes);\n if (isChecked) {\n const fileTypesSet = new Set([...FILE_TYPES_MAP[type], ...fileTypes]);\n\n return Array.from(fileTypesSet).join(\", \");\n }\n const newFileTypes = difference(fileTypes, FILE_TYPES_MAP[type]);\n\n return newFileTypes.join(\", \");\n};\n\nexport const isFileTypeEnabled = (type, allowedFileTypes) => {\n const fileTypes = buildFileTypesList(allowedFileTypes);\n\n return isEmpty(difference(FILE_TYPES_MAP[type], fileTypes));\n};\n","import { useFormikContext } from \"formik\";\nimport { Typography } from \"neetoui\";\nimport { Checkbox } from \"neetoui/formik\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FileGroup from \"./FileGroup\";\nimport { getAllowedFileTypes, isFileTypeEnabled } from \"./utils\";\n\nimport { FILE_GROUPS } from \"../constants\";\n\nconst FileUpload = () => {\n const { t } = useTranslation();\n\n const { values, setFieldValue } = useFormikContext();\n\n const allowedFileTypes = prop(\"allowedFileTypes\", values);\n\n const handleAllowedFileTypesChange = ({\n target: { name: fileType, checked },\n }) =>\n setFieldValue(\n \"allowedFileTypes\",\n getAllowedFileTypes({\n type: fileType,\n isChecked: checked,\n allowedFileTypes,\n })\n );\n\n return (\n <>\n <div className=\"w-full\">\n <Checkbox\n id=\"multipleFilesAllowed\"\n label={t(\"neetoForm.fileUpload.enableMultipleFilesUpload\")}\n name=\"multipleFilesAllowed\"\n />\n </div>\n <div className=\"flex flex-col space-y-3\">\n <Typography style=\"body1\" weight=\"semibold\">\n {t(\"neetoForm.fileUpload.fileTypes\")}\n </Typography>\n <div className=\"flex space-x-4\">\n {FILE_GROUPS.map(({ name, label }) => (\n <FileGroup\n {...{ handleAllowedFileTypesChange, label, name }}\n checked={isFileTypeEnabled(name, allowedFileTypes)}\n key={name}\n />\n ))}\n </div>\n </div>\n </>\n );\n};\n\nexport default FileUpload;\n","const defaultConfig = {\n strict: true,\n matchKey: \"value\",\n};\n\nconst findOptionByValue = (value, options = [], config = {}) => {\n const configObject = { ...defaultConfig, ...config };\n const { matchKey, strict } = configObject;\n\n return options.find(option =>\n // eslint-disable-next-line eqeqeq\n strict ? option[matchKey] === value : option[matchKey] == value\n );\n};\n\nconst filterOptionsByValues = (values = [], options = [], config = {}) => {\n const configObject = { ...defaultConfig, ...config };\n const { matchKey, strict } = configObject;\n\n return options.filter(option =>\n values.some(value =>\n // eslint-disable-next-line eqeqeq\n strict ? option[matchKey] === value : option[matchKey] == value\n )\n );\n};\n\nconst destroyFromList = (items, index) => {\n const itemToRemove = items[index];\n\n if (itemToRemove) {\n const nextItems = [...items];\n nextItems.splice(index, 1);\n if (itemToRemove.id) {\n nextItems.push({ ...itemToRemove, _destroy: true });\n }\n\n return nextItems;\n }\n\n return items;\n};\n\nconst insertToList = (items, item, index) => {\n const nextItems = [...(items ?? [])];\n nextItems.splice(index, 0, item);\n\n return nextItems;\n};\n\nconst pushToList = (items, item) => {\n const nextItems = [...(items ?? [])];\n nextItems.push(item);\n\n return nextItems;\n};\n\nconst formHelpers = {\n findOptionByValue,\n filterOptionsByValues,\n destroyFromList,\n insertToList,\n pushToList,\n};\n\nexport default formHelpers;\n","import classNames from \"classnames\";\nimport { FieldArray, useField } from \"formik\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport formHelpers from \"common/helpers/form\";\nimport Input from \"components/Common/InputWithMaxLength\";\n\nimport { MINIMUM_OPTIONS } from \"../../constants\";\n\nconst Options = ({ questionProps }) => {\n const { t } = useTranslation();\n\n const [{ value: optionsAttributes }, _, { setValue: setOptionsAttributes }] =\n useField(\"optionsAttributes\");\n\n const { optionLabelProps = {}, freezeOptions = false } = questionProps || {};\n\n const handleRemoveOption = index => {\n const nextOptions = formHelpers.destroyFromList(optionsAttributes, index);\n setOptionsAttributes(nextOptions);\n };\n\n return (\n <div className=\"w-full\">\n <FieldArray name=\"optionsAttributes\">\n {({ handlePush }) => (\n <>\n <Label className=\"mb-1 block\" {...optionLabelProps}>\n {t(\"neetoForm.questions.common.questionFields.field.options\")}\n </Label>\n <div className=\"flex w-2/3 flex-col space-y-2\">\n {optionsAttributes?.map(\n (option, index) =>\n !option._destroy && (\n <div\n className=\"flex items-start gap-1\"\n data-cy={`neeto-form-engine-option-${index}`}\n key={`question-option-${option.id ?? index}`}\n >\n <Input\n required\n disabled={freezeOptions}\n name={`optionsAttributes.${index}.label`}\n placeholder={t(\n \"neetoForm.questions.common.questionFields.field.numberedOption\",\n { number: index + 1 }\n )}\n />\n {!freezeOptions && (\n <Button\n data-cy=\"neeto-form-engine-delete-option-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n className={classNames({\n invisible: index < MINIMUM_OPTIONS,\n })}\n tooltipProps={{\n position: \"top\",\n content: t(\"neetoForm.common.delete\"),\n }}\n onClick={() => handleRemoveOption(index)}\n />\n )}\n </div>\n )\n )}\n </div>\n {!freezeOptions && (\n <div className=\"mt-3 w-full\">\n <Button\n data-cy=\"neeto-form-engine-add-option-button\"\n icon={Plus}\n iconPosition=\"left\"\n size=\"small\"\n style=\"text\"\n label={t(\n \"neetoForm.questions.common.questionFields.field.addOption\"\n )}\n onClick={handlePush({ label: \"\" })}\n />\n </div>\n )}\n </>\n )}\n </FieldArray>\n </div>\n );\n};\n\nexport default Options;\n","import { hyphenate } from \"neetocist\";\n\nimport Input from \"components/Common/InputWithMaxLength\";\n\nimport { RATING_OPTIONS } from \"./constants\";\n\nconst RatingItem = ({ children }) => (\n <div className=\"flex w-16 flex-col items-center gap-3\">{children}</div>\n);\n\nconst Rating = () => (\n <div className=\"flex flex-col\">\n <div className=\"w-full\">\n <div className=\"flex gap-6\">\n {RATING_OPTIONS.map(({ icon: Icon, name, color }) => (\n <RatingItem key={name}>\n <Icon {...{ color }} size={48} />\n <Input\n {...{ name }}\n data-cy={`neeto-form-engine-${hyphenate(name)}`}\n />\n </RatingItem>\n ))}\n </div>\n </div>\n </div>\n);\n\nexport default Rating;\n","import classNames from \"classnames\";\nimport { useField, useFormikContext } from \"formik\";\nimport { Label } from \"neetoui\";\nimport { Select } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n STAR_RATING_ICONS_MAP,\n STAR_RATING_MAX_VALUE_OPTIONS,\n STAR_RATING_MIN_VALUE_OPTIONS,\n} from \"./constants\";\n\nconst StarRating = () => {\n const { t } = useTranslation();\n\n const { setFieldValue } = useFormikContext();\n\n const [{ value: iconType }, _, { setValue: setIconType }] =\n useField(\"iconType\");\n\n return (\n <>\n <div className=\"flex space-x-4\">\n <Select\n className=\"w-1/2\"\n data-cy=\"neeto-form-engine-star-rating-min-value\"\n label={t(\"neetoForm.common.start\")}\n name=\"minValue\"\n options={STAR_RATING_MIN_VALUE_OPTIONS}\n onChange={option => setFieldValue(\"minValue\", option?.value)}\n />\n <Select\n className=\"w-1/2\"\n data-cy=\"neeto-form-engine-star-rating-max-value\"\n label={t(\"neetoForm.common.end\")}\n name=\"maxValue\"\n options={STAR_RATING_MAX_VALUE_OPTIONS}\n onChange={option => setFieldValue(\"maxValue\", option?.value)}\n />\n </div>\n <Label>{t(\"neetoForm.common.shape\")}</Label>\n <div className=\"flex gap-2\">\n {Object.entries(STAR_RATING_ICONS_MAP).map(([name, IconType]) => {\n const isActive = name === iconType;\n\n return (\n <div\n data-cy={`neeto-form-engine-rating-icon-${name}`}\n key={name}\n className={classNames(\n \"flex h-10 w-10 items-center justify-center gap-2\",\n \"neeto-ui-border-gray-800 neeto-ui-rounded-full cursor-pointer border\",\n \"transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-text-gray-800 neeto-ui-bg-gray-200\": !isActive,\n \"neeto-ui-text-white neeto-ui-bg-gray-800\": isActive,\n }\n )}\n onClick={() => setIconType(name)}\n >\n <IconType />\n </div>\n );\n })}\n </div>\n </>\n );\n};\n\nexport default StarRating;\n","import { findBy, isPresent, slugify } from \"neetocist\";\nimport { assoc, equals, last, pipe, split } from \"ramda\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\n\nimport Add from \"./Add\";\nimport Edit from \"./Edit\";\n\nimport { QUESTION_ACTIONS } from \"../constants\";\nimport Captcha from \"../Questions/Fields/Captcha\";\nimport Email from \"../Questions/Fields/Email\";\nimport FileUpload from \"../Questions/Fields/FileUpload\";\nimport Options from \"../Questions/Fields/Options\";\nimport Rating from \"../Questions/Fields/Rating\";\nimport StarRating from \"../Questions/Fields/StarRating\";\n\nconst {\n CHECKBOX,\n RADIO,\n DROPDOWN,\n STAR_RATING,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n} = QUESTION_TYPES;\n\nconst transformValueForOption = ({ label, type }) =>\n `${slugify(label)}-${type}`;\n\nexport const renderAdditionalData = ({\n kind,\n questionProps,\n domainRestrictionHelpDocUrl,\n enableDomainRestriction,\n}) => {\n switch (kind) {\n case CHECKBOX:\n case RADIO:\n case DROPDOWN:\n return <Options {...{ questionProps }} />;\n case RATING:\n return <Rating />;\n case STAR_RATING:\n return <StarRating />;\n case FILE_UPLOAD:\n return <FileUpload />;\n case CAPTCHA:\n return <Captcha />;\n case EMAIL:\n return enableDomainRestriction ? (\n <Email {...{ domainRestrictionHelpDocUrl }} />\n ) : null;\n default:\n return null;\n }\n};\n\nexport const resolveActionComponent = action =>\n equals(action, QUESTION_ACTIONS.ADD) ? Add : Edit;\n\nexport const getQuestionKind = (questionKinds, pattern) => {\n const questionKind = findBy(pattern, questionKinds);\n\n return questionKind ? assoc(\"kind\", questionKind.type, questionKind) : null;\n};\n\nexport const buildKindOptions = kinds =>\n kinds.map(({ label, type }) => ({\n label,\n value: transformValueForOption({ label, type }),\n }));\n\nexport const extractKindFromOption = pipe(split(\"-\"), last);\n\nexport const buildDefaultValueForKind = questionKind =>\n isPresent(questionKind)\n ? { value: transformValueForOption(questionKind) }\n : undefined;\n","import { useRef } from \"react\";\n\nimport { Pane } from \"neetoui\";\n\nimport { resolveActionComponent } from \"./utils\";\n\nconst ManageQuestionPane = ({\n isOpen,\n onClose,\n action,\n question,\n availableQuestionKinds,\n fieldCodeHelpDocUrl,\n domainRestrictionHelpDocUrl,\n ...props\n}) => {\n const initialFocusRef = useRef(null);\n\n const Component = resolveActionComponent(action);\n\n return (\n <Pane {...{ initialFocusRef, isOpen, onClose }}>\n <Component\n {...{\n availableQuestionKinds,\n domainRestrictionHelpDocUrl,\n fieldCodeHelpDocUrl,\n initialFocusRef,\n isOpen,\n onClose,\n question,\n ...props,\n }}\n />\n </Pane>\n );\n};\n\nexport default ManageQuestionPane;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Plus } from \"neetoicons\";\nimport { Button, Tooltip } from \"neetoui\";\n\nconst AddQuestion = withT(\n ({ t, onAdd, disabledAddButtonTooltipProps, isDisabled }) => (\n <Tooltip\n disabled={!isDisabled}\n position=\"top\"\n content={\n disabledAddButtonTooltipProps?.content ||\n t(\"neetoForm.questions.common.primaryPanel.noQuestionLeft\")\n }\n >\n <span>\n <Button\n data-cy=\"neeto-form-engine-add-question\"\n disabled={isDisabled}\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoForm.questions.common.primaryPanel.addQuestion\")}\n style=\"link\"\n onClick={onAdd}\n />\n </span>\n </Tooltip>\n )\n);\n\nexport default AddQuestion;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { DragDropContext } from \"@hello-pangea/dnd\";\nimport { Form as FormikForm, useFormikContext } from \"formik\";\nimport { filterBy, findBy } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { ActionBlock } from \"neetoui/formik\";\nimport { __, includes, isEmpty, mergeLeft, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport DeleteAlert from \"./DeleteAlert\";\nimport Overview from \"./Overview\";\nimport Questions from \"./Questions\";\nimport {\n handleFieldDragEnd,\n getAvailableQuestionKinds,\n duplicateFieldData,\n formatQuestionAttributesForClone,\n} from \"./utils\";\n\nimport AddFirstQuestion from \"../AddFirstQuestion\";\nimport { QUESTION_ACTIONS, RICH_TEXT_QUESTIONS } from \"../constants\";\nimport ManageQuestionPane from \"../ManageQuestionPane\";\nimport AddQuestion from \"../Questions/AddQuestion\";\n\nconst Form = ({\n questionKinds,\n onValueChange,\n formId,\n isDeletable,\n isRequiredField,\n submitButtonProps,\n cancelButtonProps,\n isKindAlreadyActive,\n getActiveKindDetails,\n isDisabledFieldLabel,\n disabledAddButtonTooltipProps,\n enableFieldCode,\n isFormEnabled,\n savedTitle,\n formTitle,\n formDescription,\n selectedLanguage,\n availableLanguages,\n onLanguageChange,\n additionalActionOptions,\n isReordering,\n additionalQuestionKindPattern,\n showActionBlock,\n buildRequestArgs,\n fieldCodeHelpDocUrl,\n enableDomainRestriction,\n domainRestrictionHelpDocUrl,\n ...formDomProps\n}) => {\n const containerRef = useRef();\n\n const { t } = useTranslation();\n const formikContext = useFormikContext();\n const [selectedQuestion, setSelectedQuestion] = useState(null);\n const [selectedAction, setSelectedAction] = useState(\"\");\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isManageQuestionPaneOpen, setIsManageQuestionPaneOpen] =\n useState(false);\n\n const {\n values,\n setFieldValue,\n dirty,\n isSubmitting,\n isValid,\n errors,\n submitForm,\n resetForm,\n } = formikContext;\n\n const setFormData = useBuildFormStore(prop(\"setFormData\"));\n\n const { mutate: createQuestion } = useCreateQuestion(\n formId,\n selectedLanguage,\n { onSuccess: showThumbsUpToastr }\n );\n\n useEffect(() => {\n setFormData({\n formId,\n enabled: isFormEnabled,\n title: savedTitle,\n values,\n dirty,\n isSubmitting,\n isValid,\n errors,\n submitForm,\n resetForm,\n selectedLanguage,\n });\n }, [\n formId,\n isFormEnabled,\n savedTitle,\n setFormData,\n values,\n dirty,\n isSubmitting,\n isValid,\n errors,\n submitForm,\n resetForm,\n selectedLanguage,\n ]);\n\n const { questions } = values;\n\n const handleSelect = question => {\n setSelectedQuestion(question);\n };\n\n const handleAdd = () => {\n setSelectedAction(QUESTION_ACTIONS.ADD);\n setIsManageQuestionPaneOpen(true);\n };\n\n const handleEdit = () => {\n setSelectedAction(QUESTION_ACTIONS.EDIT);\n setIsManageQuestionPaneOpen(true);\n };\n\n const handleClone = () => {\n const values = duplicateFieldData({\n item: selectedQuestion,\n questionKinds: availableQuestionKinds,\n questions,\n });\n const displayOrder = selectedQuestion.displayOrder + 1;\n const attributes = mergeLeft({ displayOrder }, values);\n\n const payload = {\n language: selectedLanguage,\n neetoFormQuestion: formatQuestionAttributesForClone(attributes),\n ...buildRequestArgs,\n };\n\n createQuestion(payload, {\n onSuccess: ({ questions }) => {\n const newQuestion = findBy({ displayOrder }, questions);\n handleSelect(newQuestion);\n },\n });\n };\n\n const handleDelete = () => {\n setIsDeleteAlertOpen(true);\n };\n\n useOnClickOutside(containerRef, () => handleSelect(null), {\n enabled: !(isDeleteAlertOpen || isManageQuestionPaneOpen),\n });\n\n useEffect(() => {\n onValueChange?.(questions);\n }, [questions]);\n\n const availableQuestionKinds = getAvailableQuestionKinds({\n allQuestionKinds: questionKinds,\n activeQuestions: questions,\n isKindAlreadyActive,\n });\n\n const hasActiveQuestions =\n questions &&\n questions.length &&\n questions.some(question => question._destroy !== true);\n\n const handleLanguageChange = code => {\n resetForm();\n onLanguageChange(code);\n };\n\n const richTextQuestions = filterBy(\n { kind: includes(__, RICH_TEXT_QUESTIONS) },\n questions\n );\n\n const resetFormData = () => {\n resetForm();\n setFormData({\n richTextFieldsToReset: pluck(\"fieldCode\", richTextQuestions),\n });\n };\n\n return (\n <>\n <DeleteAlert\n {...{ handleSelect, selectedQuestion }}\n isOpen={isDeleteAlertOpen}\n languagesCount={availableLanguages.length}\n onClose={() => setIsDeleteAlertOpen(false)}\n />\n <FormikForm\n className=\"neeto-form-nano-form-wrapper flex h-full flex-col\"\n {...formDomProps}\n noValidate\n >\n {formTitle && (\n <Overview\n {...{\n additionalActionOptions,\n availableLanguages,\n selectedLanguage,\n }}\n description={formDescription}\n title={formTitle}\n onLanguageChange={handleLanguageChange}\n />\n )}\n <div className=\"neeto-form-nano-form-wrapper__body min-h-0 w-full flex-grow space-y-6 overflow-y-auto px-6 pb-6\">\n {hasActiveQuestions ? (\n <div className=\"space-y-6\" ref={containerRef}>\n <DragDropContext\n onDragEnd={({ source, destination }) =>\n handleFieldDragEnd({\n source,\n destination,\n items: questions,\n setValue: setFieldValue,\n })\n }\n >\n <Questions\n {...{\n getActiveKindDetails,\n isDeletable,\n questions,\n selectedQuestion,\n }}\n allQuestionKinds={questionKinds}\n onClone={handleClone}\n onDelete={handleDelete}\n onEdit={handleEdit}\n onSelect={handleSelect}\n />\n </DragDropContext>\n <div className=\"mb-8 w-full\">\n <AddQuestion\n {...{ disabledAddButtonTooltipProps }}\n isDisabled={isEmpty(availableQuestionKinds)}\n onAdd={handleAdd}\n />\n </div>\n </div>\n ) : (\n <AddFirstQuestion>\n <AddQuestion\n {...{ disabledAddButtonTooltipProps }}\n isDisabled={isEmpty(availableQuestionKinds)}\n onAdd={handleAdd}\n />\n </AddFirstQuestion>\n )}\n </div>\n {(showActionBlock || dirty) && (\n <div className=\"neeto-ui-border-gray-300 neeto-form-nano-form-wrapper__footer flex flex-shrink-0 justify-end border-t px-6 py-4\">\n <ActionBlock\n {...{ submitButtonProps }}\n isSubmitting={isReordering}\n cancelButtonProps={{\n label: t(\"neetoForm.common.reset\"),\n onClick: resetFormData,\n ...cancelButtonProps,\n }}\n />\n </div>\n )}\n <ManageQuestionPane\n {...{\n additionalQuestionKindPattern,\n availableQuestionKinds,\n buildRequestArgs,\n domainRestrictionHelpDocUrl,\n enableDomainRestriction,\n enableFieldCode,\n fieldCodeHelpDocUrl,\n getActiveKindDetails,\n handleSelect,\n isDisabledFieldLabel,\n isRequiredField,\n questions,\n }}\n action={selectedAction}\n allQuestionKinds={questionKinds}\n isOpen={isManageQuestionPaneOpen}\n question={selectedQuestion}\n onClose={() => setIsManageQuestionPaneOpen(false)}\n />\n </FormikForm>\n </>\n );\n};\n\nexport default Form;\n","import { useEffect } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport classNames from \"classnames\";\nimport { Formik } from \"formik\";\nimport { noop, removeBy } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { assoc, concat, isEmpty, isNil } from \"ramda\";\n\nimport { QUERY_KEYS } from \"common/constants\";\nimport { QUESTION_KIND } from \"components/ExternalForm/constants\";\nimport { useFetchQuestions, useReorderQuestions } from \"hooks/useFormApi\";\n\nimport {\n DEFAULT_AVAILABLE_LANGUAGES,\n MANDATORY_KINDS,\n QUESTIONS_INITIAL_VALUE,\n} from \"./constants\";\nimport Form from \"./Form\";\nimport { isQuestionKindAlreadyActive } from \"./Form/utils\";\nimport { QUESTION_KINDS } from \"./Questions/constants\";\nimport { getActiveQuestionKindDetails } from \"./Questions/utils\";\nimport { buildReorderPayload } from \"./utils\";\n\nconst BuildForm = ({\n id,\n onUpdate,\n buildRequestArgs,\n nonRemovableFields = [],\n requiredFields = [],\n formDomProps,\n showActionBlock = false,\n submitButtonProps,\n cancelButtonProps,\n questionKinds,\n isKindAlreadyActive = isQuestionKindAlreadyActive,\n getActiveKindDetails = getActiveQuestionKindDetails,\n isQuestionDeletable,\n isFieldRequired,\n isFieldLabelDisabled,\n showLoader = false,\n kindUniqueOn = [\"type\"],\n allowAdditionalGuests = false,\n disabledAddButtonTooltipProps,\n enableFieldCode = false,\n availableLanguages = DEFAULT_AVAILABLE_LANGUAGES,\n formDescription,\n formTitle = \"\",\n selectedLanguage = \"en\",\n onLanguageChange = noop,\n additionalActionOptions = [],\n additionalQuestionKindPattern,\n fieldCodeHelpDocUrl,\n enableDomainRestriction = true,\n domainRestrictionHelpDocUrl,\n className,\n}) => {\n const queryClient = useQueryClient();\n\n const { mutate: reorderQuestions, isPending: isReordering } =\n useReorderQuestions(id, { onSuccess: showThumbsUpToastr });\n\n const {\n data,\n isLoading,\n isPending: isQuestionsPending,\n } = useFetchQuestions({ formId: id, language: selectedLanguage });\n\n const {\n enabled: isFormEnabled,\n title: savedTitle,\n questions,\n isQuestionsLoading,\n } = data || QUESTIONS_INITIAL_VALUE;\n\n useEffect(() => {\n if (data) {\n onUpdate?.(data);\n }\n }, [data]);\n\n if (isLoading || (showLoader && isQuestionsLoading && !isQuestionsPending)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center py-6\">\n <PageLoader />\n </div>\n );\n }\n\n const handleSubmit = ({ questions }, { setSubmitting }) => {\n const payload = {\n neetoFormQuestions: {\n questions: buildReorderPayload(questions),\n },\n };\n\n reorderQuestions(payload, {\n onSettled: () => setSubmitting(false),\n });\n };\n\n const onValueChange = questions => {\n const { dataUpdateCount } = queryClient.getQueryState([\n QUERY_KEYS.QUESTIONS,\n id,\n selectedLanguage,\n ]);\n\n if (dataUpdateCount > 0) {\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, `preview/${id}`, selectedLanguage],\n assoc(\"questions\", questions)\n );\n }\n };\n\n const isDeletable =\n isQuestionDeletable ??\n (question => !nonRemovableFields.includes(question.kind));\n\n const isRequiredField =\n isFieldRequired ??\n (({ kind }) => concat(MANDATORY_KINDS, requiredFields).includes(kind));\n\n const isDisabledFieldLabel = isFieldLabelDisabled ?? (() => false);\n\n const defaultQuestionKinds = allowAdditionalGuests\n ? QUESTION_KINDS\n : removeBy({ type: QUESTION_KIND.ADDITIONAL_GUESTS.value }, QUESTION_KINDS);\n\n return (\n <div\n className={classNames(\n \"neeto-form-nano-form-outer-wrapper relative\",\n className\n )}\n >\n <Formik\n enableReinitialize\n initialValues={{ questions }}\n onSubmit={handleSubmit}\n >\n {({ errors, setFieldError }) => (\n <Form\n {...{\n ...formDomProps,\n additionalActionOptions,\n additionalQuestionKindPattern,\n availableLanguages,\n buildRequestArgs,\n cancelButtonProps,\n disabledAddButtonTooltipProps,\n domainRestrictionHelpDocUrl,\n enableDomainRestriction,\n enableFieldCode,\n fieldCodeHelpDocUrl,\n formDescription,\n formTitle,\n getActiveKindDetails,\n isDeletable,\n isDisabledFieldLabel,\n isFormEnabled,\n isKindAlreadyActive,\n isReordering,\n isRequiredField,\n kindUniqueOn,\n onLanguageChange,\n onValueChange,\n savedTitle,\n selectedLanguage,\n showActionBlock,\n submitButtonProps,\n }}\n formId={id}\n questionKinds={\n isNil(questionKinds) ? defaultQuestionKinds : questionKinds\n }\n onChange={event => {\n if (isEmpty(errors)) return;\n setFieldError(event.target.name);\n }}\n />\n )}\n </Formik>\n {isQuestionsLoading && !isQuestionsPending && (\n <div className=\"neeto-ui-bg-white absolute inset-0 flex items-center justify-center\">\n <PageLoader />\n </div>\n )}\n </div>\n );\n};\n\nexport default BuildForm;\n","const NeetoFormProvider = ({ children }) => <>{children}</>;\n\nexport default NeetoFormProvider;\n","import { memo } from \"react\";\n\nconst Spinner = ({ size = 24 }) => (\n <div className=\"neeto-form-engine-spinner\">\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 25 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.5 5.00098V8.75M17.4401 7.04867L14.9888 9.5M19.5008 11.9994H15.5M17.4401 16.9372L14.9888 14.4859M12.5023 18.9979V15M7.5516 16.9372L10.4888 14M5.50391 11.9994H9.5M7.5516 7.04867L10.0029 9.5\"\n stroke=\"#87929D\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.5\"\n />\n </svg>\n </div>\n);\n\nexport default memo(Spinner);\n","import classNames from \"classnames\";\nimport { Check } from \"neetoicons\";\n\nimport Spinner from \"./Spinner\";\n\nconst Button = ({\n label,\n loading = false,\n success = false,\n className = \"\",\n ...otherProps\n}) => (\n <button\n className={classNames(\"neeto-form-engine-button\", className)}\n {...otherProps}\n >\n {loading && <ButtonLoader />}\n {success && <Success />}\n {label}\n </button>\n);\n\nconst ButtonLoader = () => (\n <div className=\"neeto-form-engine-button__loader\">\n <Spinner />\n </div>\n);\n\nconst Success = () => (\n <div className=\"neeto-form-engine-button__success\">\n <Check />\n </div>\n);\n\nexport default Button;\n","export const CALLOUT_STYLES = {\n ERROR: \"error\",\n INFO: \"info\",\n};\n\nexport const CALLOUT_POSITIONS = {\n ABSOLUTE: \"absolute\",\n STATIC: \"static\",\n};\n\nexport const DOCUMENT_TYPE = {\n frame: \"FRAME\",\n site: \"SITE\",\n};\n","import classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Close } from \"neetoicons\";\nimport { not } from \"ramda\";\n\nimport { isBlank } from \"utils\";\n\nimport Button from \"./Button\";\nimport { CALLOUT_POSITIONS, CALLOUT_STYLES } from \"./constants\";\n\nconst Callout = ({\n style = CALLOUT_STYLES.ERROR,\n position = CALLOUT_POSITIONS.ABSOLUTE,\n callout = {},\n children,\n className,\n onClose,\n}) => {\n const { isVisible, title, message, primaryButton, secondaryButton } = callout;\n\n if (!isVisible) return null;\n\n return (\n <div\n className={classnames(\"neeto-form-engine-callout\", {\n \"neeto-form-engine-callout--error\": style === CALLOUT_STYLES.ERROR,\n \"neeto-form-engine-callout--info\": style === CALLOUT_STYLES.INFO,\n \"neeto-form-engine-callout--static\":\n position === CALLOUT_POSITIONS.STATIC,\n \"neeto-form-engine-callout--absolute\":\n position === CALLOUT_POSITIONS.ABSOLUTE,\n [className]: className,\n })}\n >\n {isPresent(onClose) && (\n <button className=\"neeto-form-engine-callout__close\" onClick={onClose}>\n <Close size={16} />\n </button>\n )}\n <div className=\"neeto-form-engine-callout__content\">\n {not(isBlank(title)) && <h5>{title}</h5>}\n <p>{message}</p>\n </div>\n {primaryButton && (\n <Button\n label={primaryButton.label}\n size=\"small\"\n onClick={primaryButton.onClick}\n />\n )}\n {secondaryButton && (\n <Button\n label={secondaryButton.label}\n size=\"small\"\n onClick={secondaryButton.onClick}\n />\n )}\n {children}\n </div>\n );\n};\n\nexport default Callout;\n","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 { I18nextProvider } from \"react-i18next\";\n\nimport { getComponentDisplayName } from \"utils\";\n\nconst withI18nInstance = (Component, i18n) => {\n const I18nWrapper = props => (\n <I18nextProvider {...{ i18n }}>\n <Component {...props} />\n </I18nextProvider>\n );\n\n I18nWrapper.displayName = `I18nWrapper(${getComponentDisplayName(\n Component\n )})`;\n\n return I18nWrapper;\n};\n\nexport default withI18nInstance;\n","import { useRef, useEffect } from \"react\";\n\nconst useIsMounted = () => {\n const isMounted = useRef(true);\n\n useEffect(\n () => () => {\n isMounted.current = false;\n },\n []\n );\n\n return () => isMounted.current;\n};\n\nexport default useIsMounted;\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\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\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\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 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\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\";\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","<svg width=\"80\" height=\"80\" viewBox=\"0 0 80 80\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n<rect width=\"80\" height=\"80\" fill=\"url(#pattern0)\"/>\n<defs>\n<pattern id=\"pattern0\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n<use xlink:href=\"#image0_2771_14961\" transform=\"scale(0.00290698)\"/>\n</pattern>\n<image id=\"image0_2771_14961\" width=\"344\" height=\"344\" xlink:href=\"data:image/png;base64,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\"/>\n</defs>\n</svg>\n","import { memo } from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography } from \"neetoui\";\n\nimport SuccessIcon from \"images/neeto_form/Success\";\n\nconst Success = withT(({ t }) => (\n <div className=\"flex h-full w-full flex-col items-center justify-center space-y-4\">\n <SuccessIcon />\n <Typography style=\"h1\">{t(\"neetoForm.successPage.title1\")}</Typography>\n <Typography style=\"h1\">{t(\"neetoForm.successPage.title2\")}</Typography>\n </div>\n));\nexport default memo(Success);\n","import { Fragment, useState, useRef, useEffect } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport classNames from \"classnames\";\nimport { Formik, Form } from \"formik\";\nimport i18next from \"i18next\";\nimport { isPresent, noop } from \"neetocist\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Warning } from \"neetoicons\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport {\n Toastr,\n Typography,\n Button,\n Spinner,\n Callout as NeetoUICallout,\n} from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { equals, isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { QUERY_KEYS } from \"common/constants\";\nimport Callout from \"components/Common/Callout\";\nimport FormikWrap from \"components/Common/FormikWrap\";\nimport withI18nInstance from \"hocs/withI18nInstance\";\nimport {\n useCreateSubmission,\n useForm,\n useSubmission,\n useUpdateSubmission,\n} from \"hooks/useFormApi\";\nimport useIsMounted from \"hooks/useIsMounted\";\nimport NoQuestions from \"images/noData/no-questions\";\nimport { parseServerError } from \"utils\";\nimport { clearLocalStorageValues, getWithExpiry } from \"utils/localStorage\";\n\nimport { getFieldComponent } from \"./Fields/utils\";\nimport Success from \"./Success\";\nimport {\n generateInitValues,\n generateFormResponse,\n mergeRefs,\n buildAutoCompleteAttribute,\n renderButtonsInOrder,\n} from \"./utils\";\nimport { clientI18nInstance } from \"./utils/clientI18nInstance\";\n\nconst ExternalForm = ({\n preview = false,\n formId,\n submissionId,\n customSubmitHandler,\n onBeforeSubmit,\n onSubmitSuccess,\n showTitle = true,\n formTitle,\n titleProps,\n submitRequestArgs,\n footer,\n submitButtonProps,\n cancelButtonProps,\n resetButtonProps,\n displayThankYou = true,\n showSuccessToastr = false,\n showEmptyState = true,\n className,\n preserveValues = false,\n clearValuesOnReset = false,\n clearValuesOnSubmit = false,\n initialValues = {},\n onChange,\n formDomProps,\n editorProps = {},\n customValidator,\n autoCompleteKinds = [],\n enablePreFilling = false,\n language = i18next.resolvedLanguage,\n}) => {\n const [isSubmitted, setIsSubmitted] = useState(false);\n const [showSuccess, setShowSuccess] = useState(false);\n const [localValues, setLocalValues] = useState(\n getWithExpiry(`${formId}/values`)\n );\n const isMounted = useIsMounted();\n const [error, setError] = useState(null);\n\n const formRef = useRef();\n const formikInnerRef = useRef();\n const editorRef = useRef();\n const captchaRef = useRef(null);\n\n const queryClient = useQueryClient();\n\n useEffect(() => {\n if (equals(language, clientI18nInstance.resolvedLanguage)) return;\n\n clientI18nInstance.changeLanguage(language);\n }, [language]);\n\n const { t } = useTranslation();\n\n useEffect(() => {\n setLocalValues(getWithExpiry(`${formId}/values`));\n }, [formId]);\n\n const { mutateAsync: createSubmission } = useCreateSubmission({\n enabled: !submissionId,\n });\n\n const { mutateAsync: updateSubmission } = useUpdateSubmission({\n enabled: !!submissionId,\n });\n\n const { data: submission } = useSubmission({\n formId,\n submissionId,\n placeholderData: submissionId ? { responses: [], isLoading: true } : {},\n enabled: !!submissionId,\n });\n\n const clearLocalFormValues = () =>\n clearLocalStorageValues(`${formId}/values`);\n\n const onSubmit = async (values, { setSubmitting }) => {\n setError(null);\n let responses = generateFormResponse(values, questions);\n try {\n if (preview) {\n await new Promise(resolve =>\n setTimeout(() => {\n resolve();\n setIsSubmitted(true);\n setTimeout(() => setShowSuccess(true), 1000);\n }, 1500)\n );\n } else {\n if (onBeforeSubmit) {\n const newResponses = await onBeforeSubmit(responses, values);\n if (newResponses) {\n responses = newResponses;\n }\n }\n let data;\n if (customSubmitHandler) {\n data = await customSubmitHandler(\n { responses, values },\n clearLocalFormValues\n );\n\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.SUBMISSION, formId, submissionId],\n });\n } else {\n if (submissionId) {\n data = await updateSubmission({\n formId,\n values: {\n neetoFormResponse: { submissionId, responses },\n },\n });\n } else {\n data = await createSubmission({\n formId,\n values: {\n neetoFormResponse: { responses },\n ...submitRequestArgs,\n },\n });\n }\n }\n\n showSuccessToastr &&\n Toastr.success(t(\"neetoForm.toasts.formSubmitted\"));\n clearValuesOnSubmit && clearLocalFormValues();\n onSubmitSuccess?.({ values, responses, data }, clearLocalFormValues);\n if (isMounted()) {\n setIsSubmitted(true);\n setTimeout(() => setShowSuccess(true), 1000);\n }\n }\n } catch (error) {\n setError(parseServerError(error));\n } finally {\n if (isMounted()) {\n setSubmitting(false);\n }\n }\n };\n\n const onReset = (e, handleReset) => {\n if (clearValuesOnReset) {\n clearLocalStorageValues(`${formId}/values`);\n setLocalValues(generateInitValues({ questions }));\n submissionId &&\n queryClient.setQueryData(\n [QUERY_KEYS.SUBMISSION, formId, submissionId],\n { responses: [] }\n );\n }\n editorRef?.current?.editor?.commands?.setContent(\"\");\n captchaRef.current?.reset();\n handleReset(e);\n formDomProps?.onReset?.(e);\n };\n\n const handleScrollToError = errors => {\n if (!formRef.current) return;\n const errorKeys = Object.keys(errors);\n if (isEmpty(errorKeys)) return;\n for (const formElement of formRef.current) {\n if (errorKeys.includes(formElement.name)) {\n formElement.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n break;\n }\n }\n };\n\n const {\n data: form = { title: \"\", questions: [], isQuestionsLoading: true },\n isLoading,\n } = useForm({ formId, language, preview, enabled: !preview });\n\n const { dataUpdateCount } = queryClient.getQueryState([\n QUERY_KEYS.QUESTIONS,\n formId,\n language,\n ]);\n\n const keyPressRef = useHotkeys(\n \"command+enter\",\n formikInnerRef.current?.handleSubmit || noop,\n { mode: \"scoped\" }\n );\n\n if (\n isLoading ||\n form.isQuestionsLoading ||\n (!!submissionId && submission?.isLoading)\n ) {\n return (\n <div className=\"loader flex h-full w-full items-center justify-center\">\n <PageLoader />\n </div>\n );\n }\n\n const { title, questions = [] } = form;\n\n const renderedQuestions = preview\n ? questions.filter(({ _destroy }) => !_destroy)\n : questions.filter(({ isHidden }) => !isHidden);\n\n if (displayThankYou && showSuccess) {\n return <Success />;\n }\n\n return (\n <>\n {showTitle && (\n <div className=\"py-6 text-center\">\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h4\"\n weight=\"semibold\"\n {...titleProps}\n >\n {formTitle || title}\n </Typography>\n </div>\n )}\n <Formik\n {...{ onSubmit }}\n enableReinitialize\n innerRef={formikInnerRef}\n initialValues={generateInitValues({\n questions,\n initialValues: submission?.responses,\n localValues: preserveValues ? localValues : initialValues,\n fieldCodes: enablePreFilling\n ? getQueryParams({ toCamelCase: false })\n : {},\n })}\n >\n {({ isSubmitting, errors, setFieldError, handleReset }) => (\n <FormikWrap\n {...{ dataUpdateCount, formId, preserveValues }}\n onError={handleScrollToError}\n onValuesChange={onChange}\n >\n <Form\n noValidate\n ref={mergeRefs(formRef, keyPressRef)}\n className={classNames(\n \"neeto-form-engine-form relative space-y-4\",\n { [className]: className }\n )}\n onChange={event => {\n if (isEmpty(errors)) return;\n setFieldError(event.target.name, \"\");\n }}\n {...formDomProps}\n onReset={e => onReset(e, handleReset)}\n >\n {submission?.isLoading && (\n <div className=\"neeto-ui-bg-gray-100 absolute bottom-0 left-0 right-0 top-0 flex items-center justify-center opacity-75\">\n <Spinner />\n </div>\n )}\n {renderedQuestions.map(question => {\n const FieldComponent = getFieldComponent(question);\n\n return (\n <Fragment key={question.id ?? question.nodeId}>\n <FieldComponent\n {...{\n captchaRef,\n editorProps,\n editorRef,\n preview,\n question,\n }}\n customValidator={customValidator?.(question)}\n autoComplete={buildAutoCompleteAttribute(\n question.kind,\n autoCompleteKinds,\n formDomProps\n )}\n />\n {question.isHidden && (\n <NeetoUICallout icon={Warning} style=\"warning\">\n <Typography style=\"body2\">\n {t(\"neetoForm.callouts.hiddenQuestion\")}\n </Typography>\n </NeetoUICallout>\n )}\n </Fragment>\n );\n })}\n {showEmptyState && isEmpty(renderedQuestions) && (\n <div className=\"flex flex-col items-center justify-center gap-y-4 py-8\">\n <NoQuestions />\n <Typography style=\"h3\" weight=\"semibold\">\n {t(\"neetoForm.questions.common.notFound\")}\n </Typography>\n </div>\n )}\n {footer}\n {!isEmpty(renderedQuestions) && (\n <div className=\"mt-8 flex items-center justify-between\">\n {cancelButtonProps && (\n <Button\n label={t(\"neetoForm.common.cancel\")}\n style=\"secondary\"\n {...cancelButtonProps}\n />\n )}\n <div className=\"flex gap-x-2\">\n {renderButtonsInOrder(\n [\n <Button\n disabled={isSubmitting || isSubmitted}\n key=\"submit\"\n label={t(\"neetoForm.common.submit\")}\n loading={isSubmitting}\n type=\"submit\"\n {...submitButtonProps}\n />,\n <Button\n key=\"reset\"\n label={t(\"neetoForm.common.reset\")}\n style=\"secondary\"\n type=\"reset\"\n {...resetButtonProps}\n />,\n ],\n isPresent(cancelButtonProps)\n )}\n </div>\n </div>\n )}\n </Form>\n {!customSubmitHandler && (\n <Callout\n callout={{\n isVisible: isPresent(error),\n title: t(\"neetoForm.callouts.submitError\"),\n message: error,\n }}\n onClose={() => setError(null)}\n />\n )}\n </FormikWrap>\n )}\n </Formik>\n </>\n );\n};\n\nExternalForm.propTypes = {\n preview: PropTypes.bool,\n formId: PropTypes.string,\n submissionId: PropTypes.string,\n onBeforeSubmit: PropTypes.func,\n onSubmitSuccess: PropTypes.func,\n showTitle: PropTypes.bool,\n submitRequestArgs: PropTypes.object,\n footer: PropTypes.node,\n submitButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n displayThankYou: PropTypes.bool,\n showSuccessToastr: PropTypes.bool,\n showEmptyState: PropTypes.bool,\n initialValues: PropTypes.object,\n className: PropTypes.string,\n enablePreFilling: PropTypes.bool,\n};\n\nexport default withI18nInstance(ExternalForm, clientI18nInstance);\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar React = _interopRequireWildcard(_react);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nexports.default = function (decoratedHref, decoratedText, key) {\n return React.createElement(\n 'a',\n { href: decoratedHref, key: key },\n decoratedText\n );\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (href) {\n return href;\n};","module.exports=/[\\0-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/","module.exports=/[\\0-\\x1F\\x7F-\\x9F]/","module.exports=/[ \\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]/","module.exports=/[!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4E\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD803[\\uDF55-\\uDF59]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC8\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDC4B-\\uDC4F\\uDC5B\\uDC5D\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDE60-\\uDE6C\\uDF3C-\\uDF3E]|\\uD806[\\uDC3B\\uDE3F-\\uDE46\\uDE9A-\\uDE9C\\uDE9E-\\uDEA2]|\\uD807[\\uDC41-\\uDC45\\uDC70\\uDC71\\uDEF7\\uDEF8]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD81B[\\uDE97-\\uDE9A]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]|\\uD83A[\\uDD5E\\uDD5F]/","'use strict';\n\n\nmodule.exports = function (opts) {\n var re = {};\n\n // Use direct extract instead of `regenerate` to reduse browserified size\n re.src_Any = require('uc.micro/properties/Any/regex').source;\n re.src_Cc = require('uc.micro/categories/Cc/regex').source;\n re.src_Z = require('uc.micro/categories/Z/regex').source;\n re.src_P = require('uc.micro/categories/P/regex').source;\n\n // \\p{\\Z\\P\\Cc\\CF} (white spaces + control + format + punctuation)\n re.src_ZPCc = [ re.src_Z, re.src_P, re.src_Cc ].join('|');\n\n // \\p{\\Z\\Cc} (white spaces + control)\n re.src_ZCc = [ re.src_Z, re.src_Cc ].join('|');\n\n // Experimental. List of chars, completely prohibited in links\n // because can separate it from other part of text\n var text_separators = '[><\\uff5c]';\n\n // All possible word characters (everything without punctuation, spaces & controls)\n // Defined via punctuation & spaces to save space\n // Should be something like \\p{\\L\\N\\S\\M} (\\w but without `_`)\n re.src_pseudo_letter = '(?:(?!' + text_separators + '|' + re.src_ZPCc + ')' + re.src_Any + ')';\n // The same as abothe but without [0-9]\n // var src_pseudo_letter_non_d = '(?:(?![0-9]|' + src_ZPCc + ')' + src_Any + ')';\n\n ////////////////////////////////////////////////////////////////////////////////\n\n re.src_ip4 =\n\n '(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)';\n\n // Prohibit any of \"@/[]()\" in user/pass to avoid wrong domain fetch.\n re.src_auth = '(?:(?:(?!' + re.src_ZCc + '|[@/\\\\[\\\\]()]).)+@)?';\n\n re.src_port =\n\n '(?::(?:6(?:[0-4]\\\\d{3}|5(?:[0-4]\\\\d{2}|5(?:[0-2]\\\\d|3[0-5])))|[1-5]?\\\\d{1,4}))?';\n\n re.src_host_terminator =\n\n '(?=$|' + text_separators + '|' + re.src_ZPCc + ')(?!-|_|:\\\\d|\\\\.-|\\\\.(?!$|' + re.src_ZPCc + '))';\n\n re.src_path =\n\n '(?:' +\n '[/?#]' +\n '(?:' +\n '(?!' + re.src_ZCc + '|' + text_separators + '|[()[\\\\]{}.,\"\\'?!\\\\-]).|' +\n '\\\\[(?:(?!' + re.src_ZCc + '|\\\\]).)*\\\\]|' +\n '\\\\((?:(?!' + re.src_ZCc + '|[)]).)*\\\\)|' +\n '\\\\{(?:(?!' + re.src_ZCc + '|[}]).)*\\\\}|' +\n '\\\\\"(?:(?!' + re.src_ZCc + '|[\"]).)+\\\\\"|' +\n \"\\\\'(?:(?!\" + re.src_ZCc + \"|[']).)+\\\\'|\" +\n \"\\\\'(?=\" + re.src_pseudo_letter + '|[-]).|' + // allow `I'm_king` if no pair found\n '\\\\.{2,4}[a-zA-Z0-9%/]|' + // github has ... in commit range links,\n // google has .... in links (issue #66)\n // Restrict to\n // - english\n // - percent-encoded\n // - parts of file path\n // until more examples found.\n '\\\\.(?!' + re.src_ZCc + '|[.]).|' +\n (opts && opts['---'] ?\n '\\\\-(?!--(?:[^-]|$))(?:-*)|' // `---` => long dash, terminate\n :\n '\\\\-+|'\n ) +\n '\\\\,(?!' + re.src_ZCc + ').|' + // allow `,,,` in paths\n '\\\\!(?!' + re.src_ZCc + '|[!]).|' +\n '\\\\?(?!' + re.src_ZCc + '|[?]).' +\n ')+' +\n '|\\\\/' +\n ')?';\n\n // Allow anything in markdown spec, forbid quote (\") at the first position\n // because emails enclosed in quotes are far more common\n re.src_email_name =\n\n '[\\\\-;:&=\\\\+\\\\$,\\\\.a-zA-Z0-9_][\\\\-;:&=\\\\+\\\\$,\\\\\"\\\\.a-zA-Z0-9_]*';\n\n re.src_xn =\n\n 'xn--[a-z0-9\\\\-]{1,59}';\n\n // More to read about domain names\n // http://serverfault.com/questions/638260/\n\n re.src_domain_root =\n\n // Allow letters & digits (http://test1)\n '(?:' +\n re.src_xn +\n '|' +\n re.src_pseudo_letter + '{1,63}' +\n ')';\n\n re.src_domain =\n\n '(?:' +\n re.src_xn +\n '|' +\n '(?:' + re.src_pseudo_letter + ')' +\n '|' +\n '(?:' + re.src_pseudo_letter + '(?:-|' + re.src_pseudo_letter + '){0,61}' + re.src_pseudo_letter + ')' +\n ')';\n\n re.src_host =\n\n '(?:' +\n // Don't need IP check, because digits are already allowed in normal domain names\n // src_ip4 +\n // '|' +\n '(?:(?:(?:' + re.src_domain + ')\\\\.)*' + re.src_domain/*_root*/ + ')' +\n ')';\n\n re.tpl_host_fuzzy =\n\n '(?:' +\n re.src_ip4 +\n '|' +\n '(?:(?:(?:' + re.src_domain + ')\\\\.)+(?:%TLDS%))' +\n ')';\n\n re.tpl_host_no_ip_fuzzy =\n\n '(?:(?:(?:' + re.src_domain + ')\\\\.)+(?:%TLDS%))';\n\n re.src_host_strict =\n\n re.src_host + re.src_host_terminator;\n\n re.tpl_host_fuzzy_strict =\n\n re.tpl_host_fuzzy + re.src_host_terminator;\n\n re.src_host_port_strict =\n\n re.src_host + re.src_port + re.src_host_terminator;\n\n re.tpl_host_port_fuzzy_strict =\n\n re.tpl_host_fuzzy + re.src_port + re.src_host_terminator;\n\n re.tpl_host_port_no_ip_fuzzy_strict =\n\n re.tpl_host_no_ip_fuzzy + re.src_port + re.src_host_terminator;\n\n\n ////////////////////////////////////////////////////////////////////////////////\n // Main rules\n\n // Rude test fuzzy links by host, for quick deny\n re.tpl_host_fuzzy_test =\n\n 'localhost|www\\\\.|\\\\.\\\\d{1,3}\\\\.|(?:\\\\.(?:%TLDS%)(?:' + re.src_ZPCc + '|>|$))';\n\n re.tpl_email_fuzzy =\n\n '(^|' + text_separators + '|\"|\\\\(|' + re.src_ZCc + ')' +\n '(' + re.src_email_name + '@' + re.tpl_host_fuzzy_strict + ')';\n\n re.tpl_link_fuzzy =\n // Fuzzy link can't be prepended with .:/\\- and non punctuation.\n // but can start with > (markdown blockquote)\n '(^|(?![.:/\\\\-_@])(?:[$+<=>^`|\\uff5c]|' + re.src_ZPCc + '))' +\n '((?![$+<=>^`|\\uff5c])' + re.tpl_host_port_fuzzy_strict + re.src_path + ')';\n\n re.tpl_link_no_ip_fuzzy =\n // Fuzzy link can't be prepended with .:/\\- and non punctuation.\n // but can start with > (markdown blockquote)\n '(^|(?![.:/\\\\-_@])(?:[$+<=>^`|\\uff5c]|' + re.src_ZPCc + '))' +\n '((?![$+<=>^`|\\uff5c])' + re.tpl_host_port_no_ip_fuzzy_strict + re.src_path + ')';\n\n return re;\n};\n","'use strict';\n\n\n////////////////////////////////////////////////////////////////////////////////\n// Helpers\n\n// Merge objects\n//\nfunction assign(obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n\n sources.forEach(function (source) {\n if (!source) { return; }\n\n Object.keys(source).forEach(function (key) {\n obj[key] = source[key];\n });\n });\n\n return obj;\n}\n\nfunction _class(obj) { return Object.prototype.toString.call(obj); }\nfunction isString(obj) { return _class(obj) === '[object String]'; }\nfunction isObject(obj) { return _class(obj) === '[object Object]'; }\nfunction isRegExp(obj) { return _class(obj) === '[object RegExp]'; }\nfunction isFunction(obj) { return _class(obj) === '[object Function]'; }\n\n\nfunction escapeRE(str) { return str.replace(/[.?*+^$[\\]\\\\(){}|-]/g, '\\\\$&'); }\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nvar defaultOptions = {\n fuzzyLink: true,\n fuzzyEmail: true,\n fuzzyIP: false\n};\n\n\nfunction isOptionsObj(obj) {\n return Object.keys(obj || {}).reduce(function (acc, k) {\n return acc || defaultOptions.hasOwnProperty(k);\n }, false);\n}\n\n\nvar defaultSchemas = {\n 'http:': {\n validate: function (text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.http) {\n // compile lazily, because \"host\"-containing variables can change on tlds update.\n self.re.http = new RegExp(\n '^\\\\/\\\\/' + self.re.src_auth + self.re.src_host_port_strict + self.re.src_path, 'i'\n );\n }\n if (self.re.http.test(tail)) {\n return tail.match(self.re.http)[0].length;\n }\n return 0;\n }\n },\n 'https:': 'http:',\n 'ftp:': 'http:',\n '//': {\n validate: function (text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.no_http) {\n // compile lazily, because \"host\"-containing variables can change on tlds update.\n self.re.no_http = new RegExp(\n '^' +\n self.re.src_auth +\n // Don't allow single-level domains, because of false positives like '//test'\n // with code comments\n '(?:localhost|(?:(?:' + self.re.src_domain + ')\\\\.)+' + self.re.src_domain_root + ')' +\n self.re.src_port +\n self.re.src_host_terminator +\n self.re.src_path,\n\n 'i'\n );\n }\n\n if (self.re.no_http.test(tail)) {\n // should not be `://` & `///`, that protects from errors in protocol name\n if (pos >= 3 && text[pos - 3] === ':') { return 0; }\n if (pos >= 3 && text[pos - 3] === '/') { return 0; }\n return tail.match(self.re.no_http)[0].length;\n }\n return 0;\n }\n },\n 'mailto:': {\n validate: function (text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.mailto) {\n self.re.mailto = new RegExp(\n '^' + self.re.src_email_name + '@' + self.re.src_host_strict, 'i'\n );\n }\n if (self.re.mailto.test(tail)) {\n return tail.match(self.re.mailto)[0].length;\n }\n return 0;\n }\n }\n};\n\n/*eslint-disable max-len*/\n\n// RE pattern for 2-character tlds (autogenerated by ./support/tlds_2char_gen.js)\nvar tlds_2ch_src_re = 'a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]';\n\n// DON'T try to make PRs with changes. Extend TLDs with LinkifyIt.tlds() instead\nvar tlds_default = 'biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф'.split('|');\n\n/*eslint-enable max-len*/\n\n////////////////////////////////////////////////////////////////////////////////\n\nfunction resetScanCache(self) {\n self.__index__ = -1;\n self.__text_cache__ = '';\n}\n\nfunction createValidator(re) {\n return function (text, pos) {\n var tail = text.slice(pos);\n\n if (re.test(tail)) {\n return tail.match(re)[0].length;\n }\n return 0;\n };\n}\n\nfunction createNormalizer() {\n return function (match, self) {\n self.normalize(match);\n };\n}\n\n// Schemas compiler. Build regexps.\n//\nfunction compile(self) {\n\n // Load & clone RE patterns.\n var re = self.re = require('./lib/re')(self.__opts__);\n\n // Define dynamic patterns\n var tlds = self.__tlds__.slice();\n\n self.onCompile();\n\n if (!self.__tlds_replaced__) {\n tlds.push(tlds_2ch_src_re);\n }\n tlds.push(re.src_xn);\n\n re.src_tlds = tlds.join('|');\n\n function untpl(tpl) { return tpl.replace('%TLDS%', re.src_tlds); }\n\n re.email_fuzzy = RegExp(untpl(re.tpl_email_fuzzy), 'i');\n re.link_fuzzy = RegExp(untpl(re.tpl_link_fuzzy), 'i');\n re.link_no_ip_fuzzy = RegExp(untpl(re.tpl_link_no_ip_fuzzy), 'i');\n re.host_fuzzy_test = RegExp(untpl(re.tpl_host_fuzzy_test), 'i');\n\n //\n // Compile each schema\n //\n\n var aliases = [];\n\n self.__compiled__ = {}; // Reset compiled data\n\n function schemaError(name, val) {\n throw new Error('(LinkifyIt) Invalid schema \"' + name + '\": ' + val);\n }\n\n Object.keys(self.__schemas__).forEach(function (name) {\n var val = self.__schemas__[name];\n\n // skip disabled methods\n if (val === null) { return; }\n\n var compiled = { validate: null, link: null };\n\n self.__compiled__[name] = compiled;\n\n if (isObject(val)) {\n if (isRegExp(val.validate)) {\n compiled.validate = createValidator(val.validate);\n } else if (isFunction(val.validate)) {\n compiled.validate = val.validate;\n } else {\n schemaError(name, val);\n }\n\n if (isFunction(val.normalize)) {\n compiled.normalize = val.normalize;\n } else if (!val.normalize) {\n compiled.normalize = createNormalizer();\n } else {\n schemaError(name, val);\n }\n\n return;\n }\n\n if (isString(val)) {\n aliases.push(name);\n return;\n }\n\n schemaError(name, val);\n });\n\n //\n // Compile postponed aliases\n //\n\n aliases.forEach(function (alias) {\n if (!self.__compiled__[self.__schemas__[alias]]) {\n // Silently fail on missed schemas to avoid errons on disable.\n // schemaError(alias, self.__schemas__[alias]);\n return;\n }\n\n self.__compiled__[alias].validate =\n self.__compiled__[self.__schemas__[alias]].validate;\n self.__compiled__[alias].normalize =\n self.__compiled__[self.__schemas__[alias]].normalize;\n });\n\n //\n // Fake record for guessed links\n //\n self.__compiled__[''] = { validate: null, normalize: createNormalizer() };\n\n //\n // Build schema condition\n //\n var slist = Object.keys(self.__compiled__)\n .filter(function (name) {\n // Filter disabled & fake schemas\n return name.length > 0 && self.__compiled__[name];\n })\n .map(escapeRE)\n .join('|');\n // (?!_) cause 1.5x slowdown\n self.re.schema_test = RegExp('(^|(?!_)(?:[><\\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'i');\n self.re.schema_search = RegExp('(^|(?!_)(?:[><\\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'ig');\n\n self.re.pretest = RegExp(\n '(' + self.re.schema_test.source + ')|(' + self.re.host_fuzzy_test.source + ')|@',\n 'i'\n );\n\n //\n // Cleanup\n //\n\n resetScanCache(self);\n}\n\n/**\n * class Match\n *\n * Match result. Single element of array, returned by [[LinkifyIt#match]]\n **/\nfunction Match(self, shift) {\n var start = self.__index__,\n end = self.__last_index__,\n text = self.__text_cache__.slice(start, end);\n\n /**\n * Match#schema -> String\n *\n * Prefix (protocol) for matched string.\n **/\n this.schema = self.__schema__.toLowerCase();\n /**\n * Match#index -> Number\n *\n * First position of matched string.\n **/\n this.index = start + shift;\n /**\n * Match#lastIndex -> Number\n *\n * Next position after matched string.\n **/\n this.lastIndex = end + shift;\n /**\n * Match#raw -> String\n *\n * Matched string.\n **/\n this.raw = text;\n /**\n * Match#text -> String\n *\n * Notmalized text of matched string.\n **/\n this.text = text;\n /**\n * Match#url -> String\n *\n * Normalized url of matched string.\n **/\n this.url = text;\n}\n\nfunction createMatch(self, shift) {\n var match = new Match(self, shift);\n\n self.__compiled__[match.schema].normalize(match, self);\n\n return match;\n}\n\n\n/**\n * class LinkifyIt\n **/\n\n/**\n * new LinkifyIt(schemas, options)\n * - schemas (Object): Optional. Additional schemas to validate (prefix/validator)\n * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }\n *\n * Creates new linkifier instance with optional additional schemas.\n * Can be called without `new` keyword for convenience.\n *\n * By default understands:\n *\n * - `http(s)://...` , `ftp://...`, `mailto:...` & `//...` links\n * - \"fuzzy\" links and emails (example.com, foo@bar.com).\n *\n * `schemas` is an object, where each key/value describes protocol/rule:\n *\n * - __key__ - link prefix (usually, protocol name with `:` at the end, `skype:`\n * for example). `linkify-it` makes shure that prefix is not preceeded with\n * alphanumeric char and symbols. Only whitespaces and punctuation allowed.\n * - __value__ - rule to check tail after link prefix\n * - _String_ - just alias to existing rule\n * - _Object_\n * - _validate_ - validator function (should return matched length on success),\n * or `RegExp`.\n * - _normalize_ - optional function to normalize text & url of matched result\n * (for example, for @twitter mentions).\n *\n * `options`:\n *\n * - __fuzzyLink__ - recognige URL-s without `http(s):` prefix. Default `true`.\n * - __fuzzyIP__ - allow IPs in fuzzy links above. Can conflict with some texts\n * like version numbers. Default `false`.\n * - __fuzzyEmail__ - recognize emails without `mailto:` prefix.\n *\n **/\nfunction LinkifyIt(schemas, options) {\n if (!(this instanceof LinkifyIt)) {\n return new LinkifyIt(schemas, options);\n }\n\n if (!options) {\n if (isOptionsObj(schemas)) {\n options = schemas;\n schemas = {};\n }\n }\n\n this.__opts__ = assign({}, defaultOptions, options);\n\n // Cache last tested result. Used to skip repeating steps on next `match` call.\n this.__index__ = -1;\n this.__last_index__ = -1; // Next scan position\n this.__schema__ = '';\n this.__text_cache__ = '';\n\n this.__schemas__ = assign({}, defaultSchemas, schemas);\n this.__compiled__ = {};\n\n this.__tlds__ = tlds_default;\n this.__tlds_replaced__ = false;\n\n this.re = {};\n\n compile(this);\n}\n\n\n/** chainable\n * LinkifyIt#add(schema, definition)\n * - schema (String): rule name (fixed pattern prefix)\n * - definition (String|RegExp|Object): schema definition\n *\n * Add new rule definition. See constructor description for details.\n **/\nLinkifyIt.prototype.add = function add(schema, definition) {\n this.__schemas__[schema] = definition;\n compile(this);\n return this;\n};\n\n\n/** chainable\n * LinkifyIt#set(options)\n * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }\n *\n * Set recognition options for links without schema.\n **/\nLinkifyIt.prototype.set = function set(options) {\n this.__opts__ = assign(this.__opts__, options);\n return this;\n};\n\n\n/**\n * LinkifyIt#test(text) -> Boolean\n *\n * Searches linkifiable pattern and returns `true` on success or `false` on fail.\n **/\nLinkifyIt.prototype.test = function test(text) {\n // Reset scan cache\n this.__text_cache__ = text;\n this.__index__ = -1;\n\n if (!text.length) { return false; }\n\n var m, ml, me, len, shift, next, re, tld_pos, at_pos;\n\n // try to scan for link with schema - that's the most simple rule\n if (this.re.schema_test.test(text)) {\n re = this.re.schema_search;\n re.lastIndex = 0;\n while ((m = re.exec(text)) !== null) {\n len = this.testSchemaAt(text, m[2], re.lastIndex);\n if (len) {\n this.__schema__ = m[2];\n this.__index__ = m.index + m[1].length;\n this.__last_index__ = m.index + m[0].length + len;\n break;\n }\n }\n }\n\n if (this.__opts__.fuzzyLink && this.__compiled__['http:']) {\n // guess schemaless links\n tld_pos = text.search(this.re.host_fuzzy_test);\n if (tld_pos >= 0) {\n // if tld is located after found link - no need to check fuzzy pattern\n if (this.__index__ < 0 || tld_pos < this.__index__) {\n if ((ml = text.match(this.__opts__.fuzzyIP ? this.re.link_fuzzy : this.re.link_no_ip_fuzzy)) !== null) {\n\n shift = ml.index + ml[1].length;\n\n if (this.__index__ < 0 || shift < this.__index__) {\n this.__schema__ = '';\n this.__index__ = shift;\n this.__last_index__ = ml.index + ml[0].length;\n }\n }\n }\n }\n }\n\n if (this.__opts__.fuzzyEmail && this.__compiled__['mailto:']) {\n // guess schemaless emails\n at_pos = text.indexOf('@');\n if (at_pos >= 0) {\n // We can't skip this check, because this cases are possible:\n // 192.168.1.1@gmail.com, my.in@example.com\n if ((me = text.match(this.re.email_fuzzy)) !== null) {\n\n shift = me.index + me[1].length;\n next = me.index + me[0].length;\n\n if (this.__index__ < 0 || shift < this.__index__ ||\n (shift === this.__index__ && next > this.__last_index__)) {\n this.__schema__ = 'mailto:';\n this.__index__ = shift;\n this.__last_index__ = next;\n }\n }\n }\n }\n\n return this.__index__ >= 0;\n};\n\n\n/**\n * LinkifyIt#pretest(text) -> Boolean\n *\n * Very quick check, that can give false positives. Returns true if link MAY BE\n * can exists. Can be used for speed optimization, when you need to check that\n * link NOT exists.\n **/\nLinkifyIt.prototype.pretest = function pretest(text) {\n return this.re.pretest.test(text);\n};\n\n\n/**\n * LinkifyIt#testSchemaAt(text, name, position) -> Number\n * - text (String): text to scan\n * - name (String): rule (schema) name\n * - position (Number): text offset to check from\n *\n * Similar to [[LinkifyIt#test]] but checks only specific protocol tail exactly\n * at given position. Returns length of found pattern (0 on fail).\n **/\nLinkifyIt.prototype.testSchemaAt = function testSchemaAt(text, schema, pos) {\n // If not supported schema check requested - terminate\n if (!this.__compiled__[schema.toLowerCase()]) {\n return 0;\n }\n return this.__compiled__[schema.toLowerCase()].validate(text, pos, this);\n};\n\n\n/**\n * LinkifyIt#match(text) -> Array|null\n *\n * Returns array of found link descriptions or `null` on fail. We strongly\n * recommend to use [[LinkifyIt#test]] first, for best speed.\n *\n * ##### Result match description\n *\n * - __schema__ - link schema, can be empty for fuzzy links, or `//` for\n * protocol-neutral links.\n * - __index__ - offset of matched text\n * - __lastIndex__ - index of next char after mathch end\n * - __raw__ - matched text\n * - __text__ - normalized text\n * - __url__ - link, generated from matched text\n **/\nLinkifyIt.prototype.match = function match(text) {\n var shift = 0, result = [];\n\n // Try to take previous element from cache, if .test() called before\n if (this.__index__ >= 0 && this.__text_cache__ === text) {\n result.push(createMatch(this, shift));\n shift = this.__last_index__;\n }\n\n // Cut head if cache was used\n var tail = shift ? text.slice(shift) : text;\n\n // Scan string until end reached\n while (this.test(tail)) {\n result.push(createMatch(this, shift));\n\n tail = tail.slice(this.__last_index__);\n shift += this.__last_index__;\n }\n\n if (result.length) {\n return result;\n }\n\n return null;\n};\n\n\n/** chainable\n * LinkifyIt#tlds(list [, keepOld]) -> this\n * - list (Array): list of tlds\n * - keepOld (Boolean): merge with current list if `true` (`false` by default)\n *\n * Load (or merge) new tlds list. Those are user for fuzzy links (without prefix)\n * to avoid false positives. By default this algorythm used:\n *\n * - hostname with any 2-letter root zones are ok.\n * - biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф\n * are ok.\n * - encoded (`xn--...`) root zones are ok.\n *\n * If list is replaced, then exact match for 2-chars root zones will be checked.\n **/\nLinkifyIt.prototype.tlds = function tlds(list, keepOld) {\n list = Array.isArray(list) ? list : [ list ];\n\n if (!keepOld) {\n this.__tlds__ = list.slice();\n this.__tlds_replaced__ = true;\n compile(this);\n return this;\n }\n\n this.__tlds__ = this.__tlds__.concat(list)\n .sort()\n .filter(function (el, idx, arr) {\n return el !== arr[idx - 1];\n })\n .reverse();\n\n compile(this);\n return this;\n};\n\n/**\n * LinkifyIt#normalize(match)\n *\n * Default normalizer (if schema does not define it's own).\n **/\nLinkifyIt.prototype.normalize = function normalize(match) {\n\n // Do minimal possible changes by default. Need to collect feedback prior\n // to move forward https://github.com/markdown-it/linkify-it/issues/1\n\n if (!match.schema) { match.url = 'http://' + match.url; }\n\n if (match.schema === 'mailto:' && !/^mailto:/i.test(match.url)) {\n match.url = 'mailto:' + match.url;\n }\n};\n\n\n/**\n * LinkifyIt#onCompile()\n *\n * Override to modify basic RegExp-s.\n **/\nLinkifyIt.prototype.onCompile = function onCompile() {\n};\n\n\nmodule.exports = LinkifyIt;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _linkifyIt = require('linkify-it');\n\nvar _linkifyIt2 = _interopRequireDefault(_linkifyIt);\n\nvar _tlds = require('tlds');\n\nvar _tlds2 = _interopRequireDefault(_tlds);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar linkify = new _linkifyIt2.default();\nlinkify.tlds(_tlds2.default);\n\nexports.default = function (text) {\n return linkify.match(text);\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (text) {\n return text;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar React = _interopRequireWildcard(_react);\n\nvar _defaultComponentDecorator = require('../decorators/defaultComponentDecorator');\n\nvar _defaultComponentDecorator2 = _interopRequireDefault(_defaultComponentDecorator);\n\nvar _defaultHrefDecorator = require('../decorators/defaultHrefDecorator');\n\nvar _defaultHrefDecorator2 = _interopRequireDefault(_defaultHrefDecorator);\n\nvar _defaultMatchDecorator = require('../decorators/defaultMatchDecorator');\n\nvar _defaultMatchDecorator2 = _interopRequireDefault(_defaultMatchDecorator);\n\nvar _defaultTextDecorator = require('../decorators/defaultTextDecorator');\n\nvar _defaultTextDecorator2 = _interopRequireDefault(_defaultTextDecorator);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Linkify = function (_React$Component) {\n _inherits(Linkify, _React$Component);\n\n function Linkify() {\n _classCallCheck(this, Linkify);\n\n return _possibleConstructorReturn(this, (Linkify.__proto__ || Object.getPrototypeOf(Linkify)).apply(this, arguments));\n }\n\n _createClass(Linkify, [{\n key: 'parseString',\n value: function parseString(string) {\n var _this2 = this;\n\n if (string === '') {\n return string;\n }\n\n var matches = this.props.matchDecorator(string);\n if (!matches) {\n return string;\n }\n\n var elements = [];\n var lastIndex = 0;\n matches.forEach(function (match, i) {\n // Push preceding text if there is any\n if (match.index > lastIndex) {\n elements.push(string.substring(lastIndex, match.index));\n }\n\n var decoratedHref = _this2.props.hrefDecorator(match.url);\n var decoratedText = _this2.props.textDecorator(match.text);\n var decoratedComponent = _this2.props.componentDecorator(decoratedHref, decoratedText, i);\n elements.push(decoratedComponent);\n\n lastIndex = match.lastIndex;\n });\n\n // Push remaining text if there is any\n if (string.length > lastIndex) {\n elements.push(string.substring(lastIndex));\n }\n\n return elements.length === 1 ? elements[0] : elements;\n }\n }, {\n key: 'parse',\n value: function parse(children) {\n var _this3 = this;\n\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (typeof children === 'string') {\n return this.parseString(children);\n } else if (React.isValidElement(children) && children.type !== 'a' && children.type !== 'button') {\n return React.cloneElement(children, { key: key }, this.parse(children.props.children));\n } else if (Array.isArray(children)) {\n return children.map(function (child, i) {\n return _this3.parse(child, i);\n });\n }\n\n return children;\n }\n }, {\n key: 'render',\n value: function render() {\n return React.createElement(\n React.Fragment,\n null,\n this.parse(this.props.children)\n );\n }\n }]);\n\n return Linkify;\n}(React.Component);\n\nLinkify.defaultProps = {\n componentDecorator: _defaultComponentDecorator2.default,\n hrefDecorator: _defaultHrefDecorator2.default,\n matchDecorator: _defaultMatchDecorator2.default,\n textDecorator: _defaultTextDecorator2.default\n};\nexports.default = Linkify;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Linkify = require('./components/Linkify');\n\nvar _Linkify2 = _interopRequireDefault(_Linkify);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Linkify2.default;","import { isNotPresent, removeBy } from \"neetocist\";\nimport { includes, __ } from \"ramda\";\n\nimport { QUESTION_KIND } from \"components/ExternalForm/constants\";\n\nexport const linkifyDecorator = (decoratedHref, decoratedText, key) => (\n <a\n className=\"neeto-ui-text-accent-800 hover:neeto-ui-text-accent-800\"\n href={decoratedHref}\n key={key}\n rel=\"noreferrer\"\n target=\"_blank\"\n >\n {decoratedText}\n </a>\n);\n\nexport const filterResponses = (responses, kinds) => {\n const filteredResponses = removeBy({ kind: includes(__, kinds) }, responses);\n\n return filterAdditionalGuestResponses(filteredResponses);\n};\n\nexport const filterAdditionalGuestResponses = removeBy({\n kind: QUESTION_KIND.ADDITIONAL_GUESTS.value,\n value: isNotPresent,\n});\n","import { Typography } from \"neetoui\";\nimport ReactLinkify from \"react-linkify\";\n\nimport { linkifyDecorator } from \"../utils\";\n\nconst FileUpload = ({ files }) => (\n <div className=\"space-y-2\">\n {files?.map(({ url, name }, index) => (\n <Typography className=\"break-all\" key={index} style=\"body2\">\n <ReactLinkify\n componentDecorator={() => linkifyDecorator(url, name, index)}\n >\n {url}\n </ReactLinkify>\n </Typography>\n ))}\n </div>\n);\n\nexport default FileUpload;\n","import classnames from \"classnames\";\nimport { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { EditorContent } from \"neetoeditor\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { PhoneNumber } from \"neetomolecules/PhoneNumber\";\nimport { Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { renderToString } from \"react-dom/server\";\nimport ReactLinkify from \"react-linkify\";\n\nimport { QUESTION_KIND } from \"components/ExternalForm/constants\";\nimport { useSubmission } from \"hooks/useFormApi\";\n\nimport FileUpload from \"./QuestionResponses/FileUpload\";\nimport { filterResponses, linkifyDecorator } from \"./utils\";\n\nconst getValue = ({ value, kind }) => {\n if (isEmpty(value)) return <i>{t(\"neetoForm.common.unanswered\")}</i>;\n\n if (kind === QUESTION_KIND.DATE.value) {\n return value && dateFormat.date(value);\n }\n\n if (kind === QUESTION_KIND.ADDITIONAL_GUESTS.value) {\n return value?.join(\", \");\n }\n\n if (kind === QUESTION_KIND.CONDITION.value) {\n return value?.toLowerCase() === \"true\"\n ? t(\"neetoForm.common.yes\")\n : t(\"neetoForm.common.no\");\n }\n\n return value;\n};\n\nconst getEditorContent = value => {\n if (typeof value !== \"string\") {\n return renderToString(value);\n }\n\n return value;\n};\n\nconst Submission = ({\n formId = \"\",\n submissionId = \"\",\n className = \"\",\n fetchPublicSubmission = true,\n questionLabelProps = {},\n answerProps = {},\n omitKinds = [],\n}) => {\n const { data: submission = { responses: [] }, isLoading } = useSubmission({\n formId,\n submissionId,\n fetchPublicSubmission,\n enabled: !!(formId && submissionId),\n });\n\n const { responses } = submission;\n\n const filteredResponses = filterResponses(responses, omitKinds);\n\n const renderSubmittedValue = (kind, value) => {\n switch (kind) {\n case QUESTION_KIND.RICH_TEXT.value:\n return (\n <EditorContent\n content={getEditorContent(getValue({ value, kind }))}\n />\n );\n case QUESTION_KIND.PHONE.value:\n return isPresent(value) ? (\n <PhoneNumber {...{ value }} showEmoji />\n ) : (\n \"-\"\n );\n case QUESTION_KIND.FILE_UPLOAD.value:\n return isPresent(value) ? <FileUpload files={value} /> : \"-\";\n default:\n return (\n <Typography weight=\"semibold\" {...answerProps}>\n <ReactLinkify componentDecorator={linkifyDecorator}>\n {getValue({ value, kind })}\n </ReactLinkify>\n </Typography>\n );\n }\n };\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <PageLoader />\n </div>\n );\n }\n\n return (\n <div\n className={classnames(\"mx-auto flex h-full w-full flex-col items-start\", {\n [className]: className,\n })}\n >\n {filteredResponses.map(({ kind, label, value }) => (\n <div className=\"mb-4\" key={label}>\n <Typography style=\"h5\" weight=\"light\" {...questionLabelProps}>\n {label}\n </Typography>\n {renderSubmittedValue(kind, value)}\n </div>\n ))}\n </div>\n );\n};\n\nexport default Submission;\n","import { parsePhoneNumber } from \"libphonenumber-js\";\nimport { findById, isPresent } from \"neetocist\";\nimport { assoc, filter, map, pluck } from \"ramda\";\n\nimport { QUESTIONS_WITHOUT_FIELD_CODE } from \"components/BuildForm/constants\";\nimport { QUESTION_KIND } from \"components/ExternalForm/constants\";\n\nexport const getPreFillableQuestions = questions => {\n const modifiedQuestions = map(assoc(\"isRequired\", false), questions);\n\n return modifiedQuestions.filter(\n question => !QUESTIONS_WITHOUT_FIELD_CODE.includes(question.kind)\n );\n};\n\nexport const buildQueryParameters = (responses, questions) => {\n const filteredResponses = filter(isPresent, responses);\n\n const queryParameters = {};\n questions.forEach(question => {\n const { id, kind, fieldCode, optionsAttributes } = question;\n\n if (QUESTIONS_WITHOUT_FIELD_CODE.includes(kind)) return;\n\n const response = filteredResponses[id];\n\n if (!response) return;\n\n switch (kind) {\n case QUESTION_KIND.ADDITIONAL_GUESTS.value: {\n queryParameters[fieldCode] = pluck(\"label\", response).join(\",\");\n\n return;\n }\n case QUESTION_KIND.CHECKBOX.value: {\n const selectedLabels = response\n .map((value, index) => value && optionsAttributes[index]?.label)\n .filter(Boolean);\n\n queryParameters[fieldCode] = isPresent(selectedLabels)\n ? selectedLabels.join(\",\")\n : undefined;\n\n return;\n }\n case QUESTION_KIND.RADIO.value:\n case QUESTION_KIND.DROPDOWN.value: {\n queryParameters[fieldCode] = findById(\n response,\n optionsAttributes\n )?.label;\n\n return;\n }\n case QUESTION_KIND.PHONE.value: {\n const parsedNumber = parsePhoneNumber(response);\n queryParameters[`${fieldCode}.country`] = parsedNumber.country;\n queryParameters[`${fieldCode}.number`] = parsedNumber.nationalNumber;\n\n return;\n }\n case QUESTION_KIND.STAR_RATING.value: {\n queryParameters[fieldCode] = parseInt(response);\n\n return;\n }\n default: {\n queryParameters[fieldCode] = response;\n\n return;\n }\n }\n });\n\n return queryParameters;\n};\n","import { useRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Formik, Form } from \"formik\";\nimport { noop } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Typography, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FormikWrap from \"components/Common/FormikWrap\";\nimport { useForm } from \"hooks/useFormApi\";\nimport NoQuestions from \"images/noData/no-questions\";\n\nimport { buildQueryParameters, getPreFillableQuestions } from \"./utils\";\n\nimport { getFieldComponent } from \"../ExternalForm/Fields/utils\";\nimport {\n generateInitValues,\n mergeRefs,\n buildAutoCompleteAttribute,\n} from \"../ExternalForm/utils\";\n\nconst UrlBuilder = ({\n formId,\n showTitle = true,\n formTitle,\n titleProps,\n onSubmitSuccess,\n submitButtonProps,\n cancelButtonProps,\n resetButtonProps,\n showEmptyState = true,\n className,\n onChange,\n formDomProps,\n editorProps = {},\n customValidator,\n autoCompleteKinds = [],\n}) => {\n const formRef = useRef();\n const formikInnerRef = useRef();\n const editorRef = useRef();\n\n const { t } = useTranslation();\n\n const onSubmit = (values, { setSubmitting }) => {\n onSubmitSuccess?.({\n values,\n queryParameters: buildQueryParameters(values, questions),\n });\n\n setSubmitting(false);\n };\n\n const onReset = (e, handleReset) => {\n editorRef?.current?.editor?.commands?.setContent(\"\");\n handleReset(e);\n formDomProps?.onReset?.(e);\n };\n\n const handleScrollToError = errors => {\n if (!formRef.current) return;\n const errorKeys = Object.keys(errors);\n if (isEmpty(errorKeys)) return;\n for (const formElement of formRef.current) {\n if (errorKeys.includes(formElement.name)) {\n formElement.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n break;\n }\n }\n };\n\n const { data: form = { title: \"\", questions: [] }, isLoading } = useForm({\n formId,\n placeholderData: { isQuestionsLoading: true },\n });\n\n const keyPressRef = useHotkeys(\n \"command+enter\",\n formikInnerRef.current?.handleSubmit || noop,\n { mode: \"scoped\" }\n );\n\n if (isLoading || form.isQuestionsLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <PageLoader />\n </div>\n );\n }\n\n const { title, questions } = form;\n\n const modifiedQuestions = getPreFillableQuestions(questions);\n\n return (\n <>\n {showTitle && (\n <div className=\"py-6 text-center\">\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h4\"\n weight=\"semibold\"\n {...titleProps}\n >\n {formTitle || title}\n </Typography>\n </div>\n )}\n <Formik\n {...{ onSubmit }}\n enableReinitialize\n initialValues={generateInitValues({ questions: modifiedQuestions })}\n innerRef={formikInnerRef}\n >\n {({ isSubmitting, errors, setFieldError, handleReset }) => (\n <FormikWrap\n {...{ formId }}\n preserveValues={false}\n onError={handleScrollToError}\n onValuesChange={onChange}\n >\n <Form\n noValidate\n ref={mergeRefs(formRef, keyPressRef)}\n className={classNames(\n \"neeto-form-engine-form relative space-y-4\",\n className\n )}\n onChange={event => {\n if (isEmpty(errors)) return;\n setFieldError(event.target.name, \"\");\n }}\n {...formDomProps}\n onReset={e => onReset(e, handleReset)}\n >\n <div className=\"neeto-form-engine-questions-wrapper space-y-4 overflow-auto pr-4\">\n {modifiedQuestions.map(question => {\n const FieldComponent = getFieldComponent(question);\n\n return (\n <FieldComponent\n {...{ editorProps, editorRef, question }}\n customValidator={customValidator?.(question)}\n key={question.id ?? question.nodeId}\n autoComplete={buildAutoCompleteAttribute(\n question.kind,\n autoCompleteKinds,\n formDomProps\n )}\n />\n );\n })}\n {showEmptyState && isEmpty(modifiedQuestions) && (\n <div className=\"flex flex-col items-center justify-center gap-y-4 py-8\">\n <NoQuestions />\n <Typography style=\"h3\" weight=\"semibold\">\n {t(\"neetoForm.questions.common.notFound\")}\n </Typography>\n </div>\n )}\n </div>\n {!isEmpty(modifiedQuestions) && (\n <div className=\"mt-8 flex items-center justify-start gap-x-2\">\n <Button\n disabled={isSubmitting}\n label={t(\"neetoForm.common.generateLink\")}\n loading={isSubmitting}\n type=\"submit\"\n {...submitButtonProps}\n />\n {resetButtonProps && (\n <Button\n label={t(\"neetoForm.common.reset\")}\n style=\"secondary\"\n type=\"reset\"\n {...resetButtonProps}\n />\n )}\n {cancelButtonProps && (\n <Button\n label={t(\"neetoForm.common.cancel\")}\n {...cancelButtonProps}\n />\n )}\n </div>\n )}\n </Form>\n </FormikWrap>\n )}\n </Formik>\n </>\n );\n};\n\nUrlBuilder.propTypes = {\n formId: PropTypes.string,\n onSubmitSuccess: PropTypes.func,\n showTitle: PropTypes.bool,\n submitButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n showSuccessToastr: PropTypes.bool,\n showEmptyState: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default UrlBuilder;\n","import { useSubmission } from \"./useFormApi\";\n\nconst useFormSubmission = ({ formId = \"\", submissionId = \"\" }) => {\n const { data: submission, isLoading } = useSubmission({\n formId,\n submissionId,\n enabled: !!(formId && submissionId),\n });\n\n return { submission, isLoading };\n};\n\nexport default useFormSubmission;\n"],"names":["BASE_URL","QUERY_KEYS","QUESTIONS","SUBMISSIONS","SUBMISSION","FORMS","FORM","FORMIK","DIRECT_UPLOAD_URL","FORMS_URL","concat","FORM_URL","QUESTIONS_URL","QUESTION_URL","PUBLIC_QUESTIONS_URL","REORDER_QUESTIONS_URL","QUESTION_RESPONSES_URL","PUBLIC_QUESTION_RESPONSES_URL","SUBMISSIONS_URL","SUBMISSION_URL","PUBLIC_SUBMISSION_URL","Star","props","_props$size","size","other","_objectWithoutProperties","_excluded","_jsx","_objectSpread","fill","height","stroke","strokeLinecap","strokeLinejoin","strokeWidth","viewBox","width","xmlns","children","d","Heart","_props$size2","_excluded2","Zap","_props$size3","_excluded3","Crown","_ref","_ref$size","otherProps","_excluded4","Trophy","_ref2","_ref2$size","_excluded5","_jsxs","MemoizedStar","memo","MemoizedHeart","MemoizedZap","MemoizedCrown","MemoizedTrophy","_path","_path2","_extends","React","_path3","QUESTION_KIND","TEXT","value","NAME","EMAIL","type","PHONE","CHECKBOX","RADIO","DROPDOWN","PARAGRAPH","TEXTAREA","QUESTION","RATING","STAR_RATING","TERMS","CONDITION","DATE","ADDITIONAL_GUESTS","RICH_TEXT","INTEGER","onKeyDown","e","key","preventDefault","DECIMAL","FILE_UPLOAD","CAPTCHA","RATING_VALUES","GOOD","label","t","AVERAGE","BAD","SCHEMA_LESS_QUESTION_KINDS","RATING_OPTIONS","icon","HappyFace","modifier","ConfusedFace","SadFace","ICONS_MAP","star","StarIcon","heart","crown","trophy","zap","ERROR_CODES","FILE_TOO_LARGE","FILE_INVALID_TYPE","TOO_MANY_FILES","EMAIL_REGEX","RegExp","getForms","params","axios","get","createForm","payload","post","updateForm","formId","patch","buildUrl","destroyForm","getQuestions","language","arguments","length","undefined","i18next","resolvedLanguage","getPublicQuestions","createQuestion","updateQuestion","questionId","deleteQuestion","reorderQuestions","submitPublicForm","updatePublicSubmission","put","getPublicSubmission","submissionId","getSubmissions","getSubmission","updateSubmission","neetoFormApi","handleQuestionMutationSuccess","args","queryClient","onSuccess","_args","_slicedToArray","data","invalidateQueries","queryKey","setQueryData","assoc","questions","apply","_toConsumableArray","useForm","_ref$preview","preview","_ref$language","options","useQuery","queryFn","placeholderData","keepPreviousData","useFetchQuestions","_ref2$language","useCreateForm","useQueryClient","useMutation","mutationFn","form","_options$onSuccess","forms","id","call","useUpdateForm","_ref3","values","_ref4","title","mergeLeft","useCreateQuestion","filterNonNull","_len","Array","_key","useUpdateQuestion","_ref5","_len2","_key2","useDeleteQuestion","_len3","_key3","useReorderQuestions","_len4","_key4","useForms","_ref6","_ref6$page","page","DEFAULT_PAGE_INDEX","_ref6$pageSize","pageSize","DEFAULT_PAGE_SIZE","useDeleteForm","useMutationWithInvalidation","_ref7","keysToInvalidate","_","_ref8","_ref9","useSubmission","_ref11","_ref11$fetchPublicSub","fetchPublicSubmission","useCreateSubmission","_ref12","_data$submission","_data$submission2","_len5","_key5","submission","useUpdateSubmission","_ref13","_data$submission3","_len6","_key6","QUESTION_TYPES","TERMS_AND_CONDITION","CAPTCHA_TYPES","RECAPTCHA_V2","MATH_CAPTCHA","DEFAULT_AVAILABLE_LANGUAGES","code","name","MANDATORY_KINDS","QUESTIONS_WITHOUT_FIELD_CODE","QUESTIONS_INITIAL_VALUE","enabled","kind","nodeId","isQuestionsLoading","RESERVED_FIELD_CODES","SELECTABLE_KINDS","RICH_TEXT_QUESTIONS","QUESTION_ACTIONS","ADD","EDIT","MINIMUM_OPTIONS","isBlank","compose","isEmpty","trim","parseServerError","error","_error$notice","notice","isEmptyValues","obj","either","isNil","every","isArray","equals","useWith","path","split","isFunction","fieldWithFallback","question","fieldName","hasRichContent","fallback","field","isFieldEmpty","isEditorEmpty","isNotNil","getComponentDisplayName","Component","displayName","useBuildFormStore","create","withImmutableActions","set","formState","dirty","isSubmitting","isValid","errors","submitForm","noop","resetForm","selectedLanguage","richTextFieldsToReset","setFormData","arg","modify","useBuildFormState","prop","BadSmiley","color","defaultProps","OkaySmiley","GoodSmiley","Drag","clipPath","getActiveQuestionKindDetails","allQuestionKinds","item","_findBy","findBy","isSingular","generateArray","start","end","range","htmlToPlainText","htmlContent","formattedContent","replaceAll","EMPTY_PARAGRAPH_REGEX","node","document","createElement","innerHTML","DOMPurify","sanitize","textContent","innerText","generateRatingOptions","map","toLabelAndValue","FILE_TYPES","DOCUMENTS","IMAGES","AUDIO_VIDEO","STAR_RATING_ICONS_MAP","STAR_RATING_MAX_VALUE_OPTIONS","STAR_RATING_MIN_VALUE_OPTIONS","FILE_TYPES_MAP","_FILE_TYPES_MAP","_defineProperty","DEFAULT_ALLOWED_FILE_TYPES","flat","join","FILE_GROUPS","DEFAULT_OPTIONS","QUESTION_KINDS","defaults","isRequired","optionsAttributes","minValue","maxValue","iconType","highestRatingLabel","averageRatingLabel","lowestRatingLabel","termsLink","privacyPolicyLink","multipleFilesAllowed","allowedFileTypes","variant","INDEPENDENT_LABELS_MAP","paragraph","termsandcondition","DeleteAlert","selectedQuestion","isOpen","onClose","languagesCount","handleSelect","_useTranslation","useTranslation","_useBuildFormStore","store","_store$formState","shallow","renderQuestionLabel","questionKind","independentLabel","isPresent","questionLabel","truncate","_useDeleteQuestion","showThumbsUpToastr","mutate","isDeleting","isPending","selectNextQuestion","selectedQuestionIndex","displayOrder","wasLastQuestion","newDisplayOrder","newQuestion","handleSubmit","Alert","submitButtonLabel","message","Trans","i18nKey","count","onSubmit","ChangeLanguageDropdown","currentLanguage","languages","onChange","_useState","useState","_useState2","isUnsavedChangesAlertOpen","setIsUnsavedChangesAlertOpen","_useState3","_useState4","setSelectedLanguage","_useFormikContext","useFormikContext","languageChangeHandler","selectedLanguageName","_Fragment","Tooltip","content","Dropdown","buttonStyle","Menu","MenuItem","Button","isActive","onClick","Overview","description","availableLanguages","onLanguageChange","additionalActionOptions","className","Typography","lineHeight","style","weight","MoreDropdown","dropdownButtonProps","isRounded","dropdownProps","strategy","position","menuItems","validateEditorContent","editorRef","_editorRef$current","current","editor","buildReorderPayload","reduce","acc","isRichTextQuestion","includes","__","Card","_ref$question","getActiveKindDetails","onSelect","onEdit","onClone","onDelete","_getActiveKindDetails","slugify","classNames","isVisible","Questions","isDeletable","Droppable","droppableId","droppableProps","placeholder","innerRef","ref","index","_question$id","_question$id2","_createElement","Draggable","draggableId","draggableProps","dragHandleProps","moveItem","arr","sourceIndex","destinationIndex","removedItem","splice","arrayHelpers","isChoiceQuestion","generateUniqueFieldCode","fieldCodes","pluck","filterBy","uniqueNumber","candidateFieldCode","prefix","fieldCode","isQuestionKindAlreadyActive","activeQuestions","some","activeQuestion","_destroy","handleFieldDragEnd","items","setValue","source","destination","nextItems","orderedItems","createFieldData","_ref3$kind","metadata","_ref3$isRequired","uuid","duplicateFieldData","questionKinds","defaultAttributeNames","keys","defaultAttributes","pick","newQuestionLabel","omit","getAvailableQuestionKinds","_ref5$activeQuestions","isKindAlreadyActive","reject","isSingularKind","formatQuestionAttributesForClone","when","AddFirstQuestion","NoQuestions","QUESTIONS_WITH_ADDITIONAL_DATA","QUESTIONS_WITH_PLACEHOLDERS","DEFAULT_PLACEHOLDERS","what","INITIAL_VALUES","FormikAdaptiveInput","handleKeyDown","event","shiftKey","isMetaKeyPressed","handleFocus","element","setSelectionRange","Textarea","resize","onFocus","target","Block","dataCy","useUpdateEditorContent","initialValue","initialStateRef","useRef","_useBuildFormStore2","_store$formState2","shouldReset","setEditorContent","_editorRef$current$ed","commands","setContent","without","_useFetchQuestions","useEffect","pathArray","part","parsedPart","parseInt","isNaN","Editor","_useField","useField","validate","_useField2","_useField2$","touched","_useField2$2","setTouched","NeetoEditor","required","onBlur","RequiredSwitch","withT","Switch","InputWithMaxLength","maxLength","substring","shouldShowMaxLength","Input","FieldCode","helpDocUrl","Accordion","Item","helpText","components","Link","href","Form","initialFocusRef","isRequiredField","isDisabledFieldLabel","enableFieldCode","availableQuestionKinds","additionalQuestionKindPattern","fieldCodeHelpDocUrl","enableDomainRestriction","domainRestrictionHelpDocUrl","_ref$isEdit","isEdit","setValues","setErrors","questionKindUniquenessPattern","_useStateWithDependen","useStateWithDependency","getQuestionKind","_useStateWithDependen2","_ref2$questionProps","questionProps","isLabelDisabled","shouldShowPlaceholder","hasAdditionalData","shouldShowFieldCode","shouldShowHideSwitch","handleKindChange","option","buildQuestionData","updateFormState","extractKindFromOption","Pane","Body","Select","isClearable","isSearchable","defaultValue","buildDefaultValueForKind","isDisabled","buildKindOptions","disabled","renderAdditionalData","requiredLabelValidation","schema","richTextFieldMissingErrorMessage","formValidationSchema","yup","object","shape","string","test","notOneOf","notRequired","array","is","otherwise","of","nullable","Add","buildRequestArgs","_useCreateQuestion","isCreating","neetoFormQuestion","Header","formikProps","initialValues","validationSchema","QuestionForm","Footer","ActionBlock","cancelButtonProps","Edit","_useUpdateQuestion","isUpdating","setSubmitting","onSettled","Captcha","Radio","labelProps","SwitchBlock","_ref$className","Label","classnames","hyphenate","component","STYLES","border","MultiValueRemove","innerProps","hyphenize","Close","ValueContainer","getValue","_props$selectProps","selectProps","isFocused","visibleDomainsCount","_children","_toArray","firstChild","rest","slice","shouldCollapse","Tag","ClearIndicator","ERROR_MESSAGE_DELIMITER","DELIMITER_KEYS","DOMAIN_SEPARATION_REGEX","FLEXIBLE_DOMAIN_REGEX","VALID_DOMAIN_REGEX","DOMAIN_VALIDATION_SCHEMA","domain","CUSTOM_STYLES","input","multiValue","styles","valid","CUSTOM_COMPONENTS","DropdownIndicator","removeDuplicateErrorMessages","pipe","filter","uniq","formatDomainInputOptions","validateSync","_unused","pruneDuplicates","getValidDomains","domains","getValidDomainsCount","formatErrorMessage","MultiDomainInput","_ref$label","_ref$value","_ref$onChange","_ref$error","_ref$onBlur","inputValue","setInputValue","setIsFocused","handleFilterDomains","handleDomainChange","inputValues","match","domainMatches","stopPropagation","onCreateOption","handleBlur","isFilterDomainsLinkVisible","CreatableSelect","isMulti","classNamePrefix","menuIsOpen","control","maxHeight","overflowY","onInputChange","validateDomains","ensure","compact","min","entity","Promise","_asyncToGenerator","_regeneratorRuntime","mark","_callee","resolve","wrap","_callee$","_context","prev","next","t0","stop","_x","RestrictedDomains","_useField2$0$value","meta","formattedDomains","nullSafe","Email","_ref$domainRestrictio","_useFormikContext$val","isDomainRestrictionEnabled","HelpPopover","popoverProps","helpLinkProps","FileGroup","checked","handleAllowedFileTypesChange","Checkbox","buildFileTypesList","fileTypes","getAllowedFileTypes","isChecked","fileTypesSet","Set","from","newFileTypes","difference","isFileTypeEnabled","FileUpload","setFieldValue","_ref$target","fileType","defaultConfig","strict","matchKey","findOptionByValue","config","configObject","find","filterOptionsByValues","destroyFromList","itemToRemove","push","insertToList","pushToList","formHelpers","Options","setOptionsAttributes","_ref2$optionLabelProp","optionLabelProps","_ref2$freezeOptions","freezeOptions","handleRemoveOption","nextOptions","FieldArray","handlePush","_option$id","number","Delete","invisible","tooltipProps","Plus","iconPosition","RatingItem","Rating","Icon","StarRating","setIconType","Object","entries","IconType","transformValueForOption","resolveActionComponent","action","pattern","kinds","last","ManageQuestionPane","AddQuestion","onAdd","disabledAddButtonTooltipProps","onValueChange","submitButtonProps","isFormEnabled","savedTitle","formTitle","formDescription","isReordering","showActionBlock","formDomProps","containerRef","formikContext","setSelectedQuestion","selectedAction","setSelectedAction","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","isManageQuestionPaneOpen","setIsManageQuestionPaneOpen","handleAdd","handleEdit","handleClone","attributes","handleDelete","useOnClickOutside","hasActiveQuestions","handleLanguageChange","richTextQuestions","resetFormData","FormikForm","noValidate","DragDropContext","onDragEnd","BuildForm","onUpdate","_ref$nonRemovableFiel","nonRemovableFields","_ref$requiredFields","requiredFields","_ref$showActionBlock","_ref$isKindAlreadyAct","_ref$getActiveKindDet","isQuestionDeletable","isFieldRequired","isFieldLabelDisabled","_ref$showLoader","showLoader","_ref$kindUniqueOn","kindUniqueOn","_ref$allowAdditionalG","allowAdditionalGuests","_ref$enableFieldCode","_ref$availableLanguag","_ref$formTitle","_ref$selectedLanguage","_ref$onLanguageChange","_ref$additionalAction","_ref$enableDomainRest","_useReorderQuestions","isLoading","isQuestionsPending","PageLoader","neetoFormQuestions","_queryClient$getQuery","getQueryState","dataUpdateCount","defaultQuestionKinds","removeBy","Formik","enableReinitialize","setFieldError","NeetoFormProvider","Spinner","_ref$loading","loading","_ref$success","success","ButtonLoader","Success","Check","CALLOUT_STYLES","ERROR","INFO","CALLOUT_POSITIONS","ABSOLUTE","STATIC","Callout","_ref$style","_ref$position","_ref$callout","callout","primaryButton","secondaryButton","not","clientI18nInstance","cloneInstance","clearLocalStorageValues","localStorage","removeItem","console","setWithExpiry","expireInDays","expiryDate","dayjs","add","toDate","localStorageExpiry","getTime","setItem","JSON","stringify","getWithExpiry","itemStr","getItem","parse","now","Date","FormikWrap","onError","preserveValues","onValuesChange","validateForm","revalidate","syncValuesWithLocalStorage","touchedErrors","withI18nInstance","i18n","I18nWrapper","I18nextProvider","useIsMounted","isMounted","getInvalidFieldError","getRequiredFieldError","getSelectMinError","getInvalidTypeError","addMethod","valueInLowerCase","toLower","validItems","uniqueItems","createError","isValidDate","date","extractEmailDomain","email","isEmailFromRestrictedDomain","restrictedDomains","validateTextField","typeError","phoneNumberValidation","validateEmailField","isNotPresent","validateNameField","validateSingleChoiceField","validateMultiChoiceField","validateRatingField","validateStarRatingField","validateTermsField","_ref9$isRequired","oneOf","validateConditionField","_ref10","_ref10$isRequired","validateDateField","validateMultiEmailField","editorHasValue","validateRichTextField","validateFileUploadField","_ref14","files_schema","signedId","url","unique","files","validateCaptchaField","_ref15","mixed","transform","fieldKindValidatorMap","_fieldKindValidatorMa","validateFieldValue","_ref16","customValidator","validator","_ref17","MultipleEmailInput","_jsx2","isInputVisible","setIsInputVisible","NeetoUIMultiEmailInput","toEmailValues","getPhoneNumberFromUrl","countryCode","phoneNumber","formattedValue","getPhoneData","formatInternational","getOptionFromURL","preFillOption","getMultipleOptionsFromURL","fieldCodeValue","allOptions","getStarRatingFromUrl","rating","clamp","getAdditionalGuestsFromUrl","allEmails","getRatingFromUrl","allowedValues","getNumberFromUrl","parsedValue","parseFloat","getLabel","generateInitValues","_ref7$initialValues","_ref7$localValues","localValues","_ref7$fieldCodes","initValues","valuesMap","answer","optionIds","forEach","_valuesMap$id$value","_valuesMap","_valuesMap2","emailsFromSubmission","isNotEmpty","_valuesMap$id","_valuesMap$id2","_optionsAttributes$fi","_valuesMap$id3","_valuesMap3","_valuesMap4","_valuesMap$id$value2","_valuesMap5","_valuesMap$id$value3","_valuesMap6","_valuesMap$id$value4","_valuesMap7","_valuesMap$id$value5","_valuesMap8","generateFormResponse","response","formResponse","responseValue","findById","questionOptionId","parsePhoneNumber","mergeRefs","refs","getError","buildAutoCompleteAttribute","autoCompleteKinds","autoComplete","convertMbToBytes","mb","renderErrorMessage","errorObject","maxFileSize","isMultiple","file","fileName","maxSize","Math","round","extname","renderButtonsInOrder","buttonsArray","shouldReverse","orderedButtons","reverse","identity","getSelectedRating","CaptchaField","captchaRef","handleVerifyCaptcha","CAPTCHA_COMPONENT_MAP","MATH_OPERATORS","PLUS","MINUS","generateRandomOperation","firstNumber","getRandomInt","secondNumber","operator","randomPick","MathCaptcha","operation","setOperation","userInput","setUserInput","resetCaptcha","useImperativeHandle","reset","calculateResult","verifyCaptcha","result","Number","useUpdateEffect","Refresh","withEventTargetValue","Recaptcha","verifyRecaptcha","expiredRecaptcha","_captchaRef$current","ReCAPTCHA","hl","sitekey","globalProps","formNanoRecaptchaV2SiteKey","onErrored","onExpired","ConditionField","Field","extend","weekOfYear","weekday","localeData","utc","DateField","_QUESTION_KIND$kind$t","toUpperCase","_ref2$field","DatePicker","dateFormat","popupClassName","getValidDate","toISOString","EmailField","handleFieldChange","useFileUpload","accept","multiple","uploadProgress","setUploadProgress","uploadError","setUploadError","setError","filesRef","cancel","useCallback","_value$files","newFiles","idx","onDropAccepted","acceptedFiles","initialFiles","updatedFiles","upload","DirectUpload","directUploadWillStoreFileWithXHR","xhr","addEventListener","percentComplete","loaded","total","blob","blob_url","filename","signed_id","isUploadCompleted","sent","uploadedFile","onDropRejected","fileRejections","fileObject","_useDropzone","useDropzone","getRootProps","getInputProps","isDragActive","progress","DropZone","_ref$hasFileSizeLimit","hasFileSizeLimit","shouldShowFileSizeLimit","htmlFor","typography","span","unit","types","Progress","percents","_ref$stroke","_ref$emptyStroke","emptyStroke","_ref$emptyStrokeOpaci","emptyStrokeOpacity","_ref$duration","duration","_ref$delay","delay","_ref$strokeWidth","radius","circumference","ceil","PI","fillPercents","abs","transition","variants","hidden","strokeDashoffset","show","version","cx","cy","r","strokeOpacity","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","mpg","mpeg","flv","avi","jpg","jpeg","png","gif","getAcceptedFileTypes","accepted","mimeTypes","extension","mimeType","convertBytesToMb","bytes","toFixed","FilePreview","isUploading","FileGeneric","iconSize","rel","fileSize","FileUploadField","_useFileUpload","shouldShowError","maxFileSizeInBytes","isUploadingFile","NameField","Choices","isCheckBox","ChoiceWrapper","stacked","_value$index","active","OptionsField","setFieldTouched","validateField","_question$optionsAttr","isDropdown","transformedOptions","setTimeout","PhoneNumberField","_getPhoneData","PhoneNumberInput","initialCountryCode","country","handleClick","currentTarget","nextElementSibling","click","render","labels","Fragment","RatingField","RichTextEditor","_ref$editorProps","editorProps","debouncedPlaceholder","useDebounce","propsToCompare","FastField","shouldUpdate","isPropsUnequal","addons","RatingButton","selectedRating","StarRatingField","TermsField","EditorContent","TextField","_otherProps$onChange","_QUESTION_KIND$kind$t2","QUESTION_TO_COMPONENT_MAP","_QUESTION_TO_COMPONEN","AdditionalGuests","_CAPTCHA_COMPONENT_MA","getFieldComponent","nextProps","prevProps","notEqualsDeep","SuccessIcon","ExternalForm","_formikInnerRef$curre","customSubmitHandler","onBeforeSubmit","onSubmitSuccess","_ref$showTitle","showTitle","titleProps","submitRequestArgs","footer","resetButtonProps","_ref$displayThankYou","displayThankYou","_ref$showSuccessToast","showSuccessToastr","_ref$showEmptyState","showEmptyState","_ref$preserveValues","_ref$clearValuesOnRes","clearValuesOnReset","_ref$clearValuesOnSub","clearValuesOnSubmit","_ref$initialValues","_ref$autoCompleteKind","_ref$enablePreFilling","enablePreFilling","isSubmitted","setIsSubmitted","showSuccess","setShowSuccess","setLocalValues","formRef","formikInnerRef","changeLanguage","_useCreateSubmission","createSubmission","mutateAsync","_useUpdateSubmission","_useSubmission","responses","clearLocalFormValues","newResponses","neetoFormResponse","Toastr","finish","_x2","onReset","handleReset","_formDomProps$onReset","handleScrollToError","errorKeys","_iterator","_createForOfIteratorHelper","_step","s","n","done","formElement","scrollIntoView","behavior","block","err","f","_useForm","_useForm$data","keyPressRef","useHotkeys","mode","_form$questions","renderedQuestions","isHidden","getQueryParams","toCamelCase","FieldComponent","NeetoUICallout","Warning","_react","require$$0","_interopRequireWildcard","regex","require$$1","require$$2","require$$3","_interopRequireDefault","Linkify_1","require$$4","linkifyDecorator","decoratedHref","decoratedText","filterResponses","filteredResponses","filterAdditionalGuestResponses","ReactLinkify","componentDecorator","toLowerCase","getEditorContent","renderToString","Submission","_ref2$formId","_ref2$submissionId","_ref2$className","_ref2$fetchPublicSubm","_ref2$questionLabelPr","questionLabelProps","_ref2$answerProps","answerProps","_ref2$omitKinds","omitKinds","_useSubmission$data","renderSubmittedValue","PhoneNumber","showEmoji","getPreFillableQuestions","modifiedQuestions","buildQueryParameters","queryParameters","selectedLabels","_optionsAttributes$in","Boolean","_findById","parsedNumber","nationalNumber","UrlBuilder","useFormSubmission","_ref$formId","_ref$submissionId"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../app/javascript/src/common/constants.js","../app/javascript/src/components/Common/StarRatingIcons.jsx","../app/javascript/src/assets/images/feedback/confused-face.svg","../app/javascript/src/assets/images/feedback/happy-face.svg","../app/javascript/src/assets/images/feedback/sad-face.svg","../app/javascript/src/components/ExternalForm/constants.js","../app/javascript/src/apis/neeto_form.js","../app/javascript/src/hooks/utils.js","../app/javascript/src/hooks/useFormApi.js","../app/javascript/src/components/constants.js","../app/javascript/src/components/BuildForm/constants.js","../app/javascript/src/utils/index.js","../app/javascript/src/stores/buildForm.js","../app/javascript/src/components/BuildForm/Icons.jsx","../app/javascript/src/components/BuildForm/Questions/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/constants.js","../app/javascript/src/components/BuildForm/Questions/constants.js","../app/javascript/src/components/BuildForm/Form/DeleteAlert.jsx","../app/javascript/src/components/BuildForm/Form/ChangeLanguageDropdown.jsx","../app/javascript/src/components/BuildForm/Form/Overview.jsx","../app/javascript/src/components/BuildForm/utils.js","../app/javascript/src/components/BuildForm/Questions/Card.jsx","../app/javascript/src/components/BuildForm/Form/Questions.jsx","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../app/javascript/src/common/helpers/array.js","../app/javascript/src/components/BuildForm/Form/utils.js","../app/javascript/src/assets/images/noData/no-questions.svg","../app/javascript/src/components/BuildForm/AddFirstQuestion.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/constants.js","../app/javascript/src/components/Common/FormikAdaptiveInput.jsx","../app/javascript/src/components/BuildForm/commons/Block.jsx","../app/javascript/src/components/BuildForm/hooks/useUpdateEditorContent.js","../app/javascript/src/components/BuildForm/commons/Editor.jsx","../app/javascript/src/components/BuildForm/commons/RequiredSwitch.jsx","../app/javascript/src/components/Common/InputWithMaxLength.jsx","../app/javascript/src/components/BuildForm/Questions/FieldCode.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/Form.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/validations.js","../app/javascript/src/components/BuildForm/ManageQuestionPane/Add.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/Edit.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Captcha/index.jsx","../app/javascript/src/components/BuildForm/commons/SwitchBlock.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/constants.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/index.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/Email/RestrictedDomains.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/index.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/FileGroup.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/index.jsx","../app/javascript/src/common/helpers/form.js","../app/javascript/src/components/BuildForm/Questions/Fields/Options.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Rating.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/StarRating.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/utils.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/index.jsx","../app/javascript/src/components/BuildForm/Questions/AddQuestion.jsx","../app/javascript/src/components/BuildForm/Form/index.jsx","../app/javascript/src/components/BuildForm/index.jsx","../app/javascript/src/components/Common/NeetoFormProvider.jsx","../app/javascript/src/components/Common/Spinner.jsx","../app/javascript/src/components/Common/Button.jsx","../app/javascript/src/components/Common/constants.js","../app/javascript/src/components/Common/Callout.jsx","../app/javascript/src/components/ExternalForm/utils/clientI18nInstance.js","../app/javascript/src/utils/localStorage.js","../app/javascript/src/components/Common/FormikWrap.js","../app/javascript/src/hocs/withI18nInstance.jsx","../app/javascript/src/hooks/useIsMounted.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","../app/javascript/src/assets/images/neeto_form/Success.svg","../app/javascript/src/components/ExternalForm/Success.jsx","../app/javascript/src/components/ExternalForm/index.jsx","../node_modules/react-linkify/dist/decorators/defaultComponentDecorator.js","../node_modules/react-linkify/dist/decorators/defaultHrefDecorator.js","../node_modules/uc.micro/properties/Any/regex.js","../node_modules/uc.micro/categories/Cc/regex.js","../node_modules/uc.micro/categories/Z/regex.js","../node_modules/uc.micro/categories/P/regex.js","../node_modules/linkify-it/lib/re.js","../node_modules/linkify-it/index.js","../node_modules/react-linkify/dist/decorators/defaultMatchDecorator.js","../node_modules/react-linkify/dist/decorators/defaultTextDecorator.js","../node_modules/react-linkify/dist/components/Linkify.js","../node_modules/react-linkify/dist/index.js","../app/javascript/src/components/Submissions/utils.jsx","../app/javascript/src/components/Submissions/QuestionResponses/FileUpload.jsx","../app/javascript/src/components/Submissions/Submission.jsx","../app/javascript/src/components/UrlBuilder/utils.js","../app/javascript/src/components/UrlBuilder/index.jsx","../app/javascript/src/hooks/useFormSubmission.js"],"sourcesContent":["export const STRING_FILTER_OPTIONS = [\n { value: \"cont\", label: \"Contains\" },\n { value: \"eq\", label: \"Equals\" },\n { value: \"not_eq\", label: \"Not Equals\" },\n { value: \"start\", label: \"Starts With\" },\n { value: \"end\", label: \"Ends With\" },\n];\nexport const BASE_URL = \"/form\";\n\nexport const QUERY_KEYS = {\n QUESTIONS: \"neetoFormQuestions\",\n SUBMISSIONS: \"neetoFormSubmissions\",\n SUBMISSION: \"neetoFormSubmission\",\n FORMS: \"neetoFormForms\",\n FORM: \"neetoFormForm\",\n FORMIK: \"neetoFormFormik\",\n};\n\nexport const DIRECT_UPLOAD_URL = \"/api/direct_uploads\";\n\nexport const FORMS_URL = `${BASE_URL}/api/v1/forms`;\nexport const FORM_URL = `${FORMS_URL}/:formId`;\n\nexport const QUESTIONS_URL = `${FORM_URL}/questions`;\nexport const QUESTION_URL = `${QUESTIONS_URL}/:questionId`;\nexport const PUBLIC_QUESTIONS_URL = `${FORM_URL}/public/questions`;\nexport const REORDER_QUESTIONS_URL = `${QUESTIONS_URL}/reorder`;\n\nexport const QUESTION_RESPONSES_URL = `${FORM_URL}/question_responses`;\nexport const PUBLIC_QUESTION_RESPONSES_URL = `${FORM_URL}/public/question_responses`;\n\nexport const SUBMISSIONS_URL = `${FORM_URL}/submissions`;\nexport const SUBMISSION_URL = `${SUBMISSIONS_URL}/:submissionId`;\nexport const PUBLIC_SUBMISSION_URL = `${FORM_URL}/public/submissions/:submissionId`;\n","/* eslint-disable @bigbinary/neeto/no-multiple-components-in-a-file */\nimport { memo } from \"react\";\n\nconst Star = props => {\n const { size = 20, ...other } = props;\n\n return (\n <svg\n fill=\"none\"\n height={size}\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <path d=\"M12 2L15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2z\" />\n </svg>\n );\n};\n\nconst Heart = props => {\n const { size = 20, ...other } = props;\n\n return (\n <svg\n fill=\"none\"\n height={size}\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <path d=\"M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z\" />\n </svg>\n );\n};\n\nconst Zap = props => {\n const { size = 20, ...other } = props;\n\n return (\n <svg\n fill=\"none\"\n height={size}\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <path d=\"M13 2L3 14 12 14 11 22 21 10 12 10 13 2z\" />\n </svg>\n );\n};\n\nconst Crown = ({ size = 20, ...otherProps }) => (\n <svg\n fill=\"none\"\n height={size}\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path\n d=\"M22.3186 17.8652C22.3186 18.8915 21.4789 19.7311 20.4527 19.7311L20.4714 19.733H5.54466C4.49979 19.733 3.67882 18.912 3.67882 17.8858V8.61254H3.66016C3.66016 8.0901 4.07064 7.67962 4.59308 7.67962C4.761 7.67962 4.94759 7.71693 5.09686 7.82888L9.23902 10.5903L12.1871 6.14963V6.13097C12.4669 5.70182 13.0453 5.57122 13.4745 5.86975C13.5678 5.92573 13.6611 6.01902 13.717 6.11231L16.6651 10.5344L20.8072 7.75425C21.2177 7.45572 21.8129 7.56767 22.0928 7.99681C22.1861 8.14608 22.2421 8.314 22.2421 8.50059V17.7552\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.5\"\n />\n </svg>\n);\n\nconst Trophy = ({ size = 20, ...otherProps }) => (\n <svg\n fill=\"none\"\n height={size}\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path\n d=\"M17.6873 8.05176H20.0311V8.05176C20.894 8.05176 21.5936 8.75131 21.5936 9.61426V11.1768C21.5936 12.9026 20.1944 14.3018 18.4686 14.3018H17.5889\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M13 16.6455V21.333\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M16.125 21.333H9.875\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M9.875 5.70801H16.125V5.70801C16.9879 5.70801 17.6875 6.40756 17.6875 7.27051V13.5205C17.6875 15.2464 16.2884 16.6455 14.5625 16.6455H11.4375V16.6455C9.71161 16.6455 8.3125 15.2464 8.3125 13.5205V7.27051V7.27051C8.3125 6.40756 9.01205 5.70801 9.875 5.70801V5.70801Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M8.3125 8.05176H5.96875V8.05176C5.1058 8.05176 4.40625 8.75131 4.40625 9.61426V11.1768V11.1768C4.40625 12.9026 5.80536 14.3018 7.53125 14.3018H8.41094\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.5\"\n />\n </svg>\n);\n\nconst MemoizedStar = memo(Star);\nconst MemoizedHeart = memo(Heart);\nconst MemoizedZap = memo(Zap);\nconst MemoizedCrown = memo(Crown);\nconst MemoizedTrophy = memo(Trophy);\n\nexport {\n MemoizedStar as Star,\n MemoizedHeart as Heart,\n MemoizedZap as Zap,\n MemoizedCrown as Crown,\n MemoizedTrophy as Trophy,\n};\n","<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M16 4C9.38267 4 4 9.38267 4 16C4 22.6173 9.38267 28 16 28C22.6173 28 28 22.616 28 16C28 9.384 22.616 4 16 4Z\" stroke=\"#68737D\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n<path d=\"M20.6675 20.9177C20.6675 20.9177 18.9168 22.667 16.0008 22.667C13.0835 22.667 11.3342 20.9177 11.3342 20.9177M20.4382 12.667C20.2542 12.667 20.1048 12.8163 20.1062 13.0003C20.1062 13.1843 20.2555 13.3337 20.4395 13.3337C20.6235 13.3337 20.7728 13.1843 20.7728 13.0003C20.7728 12.8163 20.6235 12.667 20.4382 12.667ZM11.5195 12.667C11.3355 12.667 11.1862 12.8163 11.1875 13.0003C11.1875 13.1843 11.3368 13.3337 11.5208 13.3337C11.7048 13.3337 11.8542 13.1843 11.8542 13.0003C11.8542 12.8163 11.7048 12.667 11.5195 12.667Z\" stroke=\"#68737D\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n","<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M9.33203 13.3336C9.8587 12.687 10.5787 12.3203 11.332 12.3203C12.0854 12.3203 12.7854 12.687 13.332 13.3336M18.6654 13.3336C19.192 12.687 19.912 12.3203 20.6654 12.3203C21.4187 12.3203 22.1187 12.687 22.6654 13.3336\" stroke=\"#68737D\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n<path d=\"M24.4853 7.51472C29.1715 12.201 29.1715 19.799 24.4853 24.4853C19.799 29.1715 12.201 29.1715 7.51472 24.4853C2.82843 19.799 2.82843 12.201 7.51472 7.51472C12.201 2.82843 19.799 2.82843 24.4853 7.51472\" stroke=\"#68737D\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n<path d=\"M20.6654 19.584C20.6654 19.584 18.9147 21.3333 15.9987 21.3333C13.0814 21.3333 11.332 19.584 11.332 19.584\" stroke=\"#68737D\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n","<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M20.6666 12V13.3333M24.4853 7.51472C29.1715 12.201 29.1715 19.799 24.4853 24.4853C19.799 29.1715 12.201 29.1715 7.51472 24.4853C2.82843 19.799 2.82843 12.201 7.51472 7.51472C12.201 2.82843 19.799 2.82843 24.4853 7.51472V7.51472ZM11.3333 12V13.3333V12Z\" stroke=\"#68737D\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n<path d=\"M11.332 21.3333C11.332 21.3333 13.0827 19.584 15.9987 19.584C18.916 19.584 20.6654 21.3333 20.6654 21.3333\" stroke=\"#68737D\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n","import { t } from \"i18next\";\n\nimport {\n Star as StarIcon,\n Heart,\n Crown,\n Trophy,\n Zap,\n} from \"components/Common/StarRatingIcons\";\nimport ConfusedFace from \"images/feedback/confused-face\";\nimport HappyFace from \"images/feedback/happy-face\";\nimport SadFace from \"images/feedback/sad-face\";\n\nexport const QUESTION_KIND = {\n TEXT: { value: \"text\" },\n NAME: { value: \"name\" },\n EMAIL: { type: \"email\", value: \"email\" },\n PHONE: { type: \"tel\", value: \"phone\" },\n CHECKBOX: { value: \"checkbox\" },\n RADIO: { value: \"radio\" },\n DROPDOWN: { value: \"dropdown\" },\n PARAGRAPH: { value: \"paragraph\" },\n TEXTAREA: { value: \"textarea\" },\n QUESTION: { value: \"question\" },\n RATING: { value: \"rating\" },\n STAR_RATING: { value: \"star_rating\" },\n TERMS: { value: \"termsandcondition\", type: \"checkbox\" },\n CONDITION: { value: \"condition\", type: \"checkbox\" },\n DATE: { value: \"date\" },\n ADDITIONAL_GUESTS: { value: \"additional_guests\" },\n RICH_TEXT: { value: \"rich_text\" },\n INTEGER: {\n type: \"number\",\n value: \"integer\",\n onKeyDown: e => {\n if (e.key === \".\" || e.key === \"e\") e.preventDefault();\n },\n },\n DECIMAL: {\n type: \"number\",\n value: \"decimal\",\n onKeyDown: e => {\n if (e.key === \"e\") e.preventDefault();\n },\n },\n FILE_UPLOAD: { value: \"file_upload\" },\n CAPTCHA: { value: \"captcha\" },\n};\n\nexport const RATING_VALUES = {\n GOOD: { label: t(\"neetoForm.common.good\"), value: \"good\" },\n AVERAGE: { label: t(\"neetoForm.common.okay\"), value: \"okay\" },\n BAD: { label: t(\"neetoForm.common.bad\"), value: \"bad\" },\n};\n\nexport const SCHEMA_LESS_QUESTION_KINDS = [QUESTION_KIND.PARAGRAPH.value];\n\nexport const RATING_OPTIONS = [\n {\n icon: HappyFace,\n modifier: \"happy\",\n value: RATING_VALUES.GOOD.value,\n },\n {\n icon: ConfusedFace,\n modifier: \"confused\",\n value: RATING_VALUES.AVERAGE.value,\n },\n { icon: SadFace, modifier: \"sad\", value: RATING_VALUES.BAD.value },\n];\n\nexport const GENERIC_PHONE_REGEX = /\\+\\d{11,14}$/;\n\nexport const ICONS_MAP = {\n star: StarIcon,\n heart: Heart,\n crown: Crown,\n trophy: Trophy,\n zap: Zap,\n};\n\nexport const ERROR_CODES = {\n FILE_TOO_LARGE: \"file-too-large\",\n FILE_INVALID_TYPE: \"file-invalid-type\",\n TOO_MANY_FILES: \"too-many-files\",\n};\n\nexport const EMAIL_REGEX = new RegExp(\n \"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$\",\n \"i\"\n);\n","import axios from \"axios\";\nimport i18next from \"i18next\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport {\n FORMS_URL,\n FORM_URL,\n PUBLIC_QUESTIONS_URL,\n PUBLIC_QUESTION_RESPONSES_URL,\n PUBLIC_SUBMISSION_URL,\n QUESTIONS_URL,\n QUESTION_RESPONSES_URL,\n QUESTION_URL,\n REORDER_QUESTIONS_URL,\n SUBMISSIONS_URL,\n SUBMISSION_URL,\n} from \"src/common/constants\";\n\nconst getForms = params => axios.get(FORMS_URL, { params });\nconst createForm = payload => axios.post(FORMS_URL, payload);\nconst updateForm = (formId, payload) =>\n axios.patch(buildUrl(FORM_URL, { formId }), payload);\nconst destroyForm = formId => axios.delete(buildUrl(FORM_URL, { formId }));\n\nconst getQuestions = (formId, language = i18next.resolvedLanguage) =>\n axios.get(buildUrl(QUESTIONS_URL, { formId }), { params: { language } });\n\nconst getPublicQuestions = (formId, language = i18next.resolvedLanguage) =>\n axios.get(buildUrl(PUBLIC_QUESTIONS_URL, { formId }), {\n params: { language },\n });\n\nconst createQuestion = (formId, payload) =>\n axios.post(buildUrl(QUESTIONS_URL, { formId }), payload);\n\nconst updateQuestion = ({ formId, questionId, payload }) =>\n axios.patch(buildUrl(QUESTION_URL, { formId, questionId }), payload);\n\nconst deleteQuestion = (formId, questionId) =>\n axios.delete(buildUrl(QUESTION_URL, { formId, questionId }));\n\nconst reorderQuestions = (formId, payload) =>\n axios.post(buildUrl(REORDER_QUESTIONS_URL, { formId }), payload);\n\nconst submitPublicForm = (formId, payload) =>\n axios.post(buildUrl(PUBLIC_QUESTION_RESPONSES_URL, { formId }), payload);\n\nconst updatePublicSubmission = (formId, payload) =>\n axios.put(buildUrl(PUBLIC_QUESTION_RESPONSES_URL, { formId }), payload);\n\nconst getPublicSubmission = (\n formId,\n submissionId,\n language = i18next.resolvedLanguage\n) =>\n axios.get(buildUrl(PUBLIC_SUBMISSION_URL, { formId, submissionId }), {\n params: { language },\n });\n\nconst getSubmissions = (formId, language = i18next.resolvedLanguage) =>\n axios.get(buildUrl(SUBMISSIONS_URL, { formId }), {\n params: { language },\n });\n\nconst getSubmission = (\n formId,\n submissionId,\n language = i18next.resolvedLanguage\n) =>\n axios.get(buildUrl(SUBMISSION_URL, { formId, submissionId }), {\n params: { language },\n });\n\nconst updateSubmission = (formId, payload) =>\n axios.put(buildUrl(QUESTION_RESPONSES_URL, { formId }), payload);\n\nconst neetoFormApi = {\n getForms,\n createForm,\n updateForm,\n destroyForm,\n getQuestions,\n getPublicQuestions,\n createQuestion,\n updateQuestion,\n deleteQuestion,\n reorderQuestions,\n submitPublicForm,\n getSubmissions,\n getSubmission,\n getPublicSubmission,\n updateSubmission,\n updatePublicSubmission,\n};\n\nexport default neetoFormApi;\n","import { assoc } from \"ramda\";\n\nimport { QUERY_KEYS } from \"src/common/constants\";\n\nexport const handleQuestionMutationSuccess = ({\n args,\n formId,\n language,\n queryClient,\n onSuccess,\n}) => {\n const [data] = args;\n\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.QUESTIONS, formId],\n });\n\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.QUESTIONS, `preview/${formId}`],\n });\n\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, formId, language],\n assoc(\"questions\", data.questions)\n );\n\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, `preview/${formId}`, language],\n assoc(\"questions\", data.questions)\n );\n\n onSuccess?.(...args);\n};\n","import {\n useQuery,\n useMutation,\n useQueryClient,\n keepPreviousData,\n} from \"@tanstack/react-query\";\nimport i18next from \"i18next\";\nimport { filterNonNull } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { assoc, mergeLeft } from \"ramda\";\n\nimport neetoFormApi from \"apis/neeto_form\";\nimport { QUERY_KEYS } from \"common/constants\";\n\nimport { handleQuestionMutationSuccess } from \"./utils\";\n\nexport const useForm = ({\n formId,\n preview = null,\n language = i18next.resolvedLanguage,\n ...options\n}) =>\n useQuery({\n queryKey: [\n QUERY_KEYS.QUESTIONS,\n preview ? `preview/${formId}` : formId,\n language,\n ],\n queryFn: () => neetoFormApi.getPublicQuestions(formId, language),\n placeholderData: keepPreviousData,\n ...options,\n });\n\nexport const useFetchQuestions = ({\n formId,\n language = i18next.resolvedLanguage,\n ...options\n}) =>\n useQuery({\n queryKey: [QUERY_KEYS.QUESTIONS, formId, language],\n queryFn: () => neetoFormApi.getQuestions(formId, language),\n placeholderData: keepPreviousData,\n ...options,\n });\n\nexport const useCreateForm = (options, language = i18next.resolvedLanguage) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: neetoFormApi.createForm,\n ...options,\n onSuccess: form => {\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS],\n forms => forms && [...forms, form]\n );\n queryClient.setQueryData([QUERY_KEYS.QUESTIONS, form.id, language], form);\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, `preview/${form.id}`, language],\n form\n );\n queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.FORMS] });\n options?.onSuccess?.(form);\n },\n });\n};\n\nexport const useUpdateForm = (options, language = i18next.resolvedLanguage) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ id, values }) => neetoFormApi.updateForm(id, values),\n ...options,\n onSuccess: (data, { id }) => {\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, id, language],\n assoc(\"title\", data.title)\n );\n\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, `preview/${id}`, language],\n mergeLeft({ questions: data.questions, title: data.title })\n );\n queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.FORMS] });\n queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.QUESTIONS, id] });\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.QUESTIONS, `preview/${id}`],\n });\n\n options.onSuccess && options.onSuccess(data);\n },\n });\n};\n\nexport const useCreateQuestion = (formId, language, options = {}) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: payload =>\n neetoFormApi.createQuestion(formId, filterNonNull(payload)),\n ...options,\n onSuccess: (...args) =>\n handleQuestionMutationSuccess({\n args,\n formId,\n language,\n queryClient,\n onSuccess: options.onSuccess,\n }),\n });\n};\n\nexport const useUpdateQuestion = (formId, language, options = {}) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ questionId, payload }) =>\n neetoFormApi.updateQuestion({\n formId,\n questionId,\n payload: filterNonNull(payload),\n }),\n ...options,\n onSuccess: (...args) =>\n handleQuestionMutationSuccess({\n args,\n formId,\n language,\n queryClient,\n onSuccess: options.onSuccess,\n }),\n });\n};\n\nexport const useDeleteQuestion = (formId, language, options = {}) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: questionId => neetoFormApi.deleteQuestion(formId, questionId),\n ...options,\n onSuccess: (...args) =>\n handleQuestionMutationSuccess({\n args,\n formId,\n language,\n queryClient,\n onSuccess: options.onSuccess,\n }),\n });\n};\n\nexport const useReorderQuestions = (formId, language, options = {}) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: payload =>\n neetoFormApi.reorderQuestions(formId, filterNonNull(payload)),\n ...options,\n onSuccess: (...args) =>\n handleQuestionMutationSuccess({\n args,\n formId,\n language,\n queryClient,\n onSuccess: options.onSuccess,\n }),\n });\n};\n\nexport const useForms = ({\n page = DEFAULT_PAGE_INDEX,\n pageSize = DEFAULT_PAGE_SIZE,\n ...options\n} = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.FORMS, page],\n queryFn: () => neetoFormApi.getForms({ page, pageSize }),\n placeholderData: keepPreviousData,\n ...options,\n });\n\nexport const useDeleteForm = options =>\n useMutationWithInvalidation(({ id }) => neetoFormApi.destroyForm(id), {\n ...options,\n keysToInvalidate: [\n [QUERY_KEYS.FORMS],\n (_, { id }) => [QUERY_KEYS.QUESTIONS, id],\n (_, { id }) => [QUERY_KEYS.QUESTIONS, `preview/${id}`],\n ],\n onSuccess: (...args) => {\n options.onSuccess && options.onSuccess(...args);\n },\n });\n\nexport const useSubmissions = ({ formId, ...options }) =>\n useQuery({\n queryKey: [QUERY_KEYS.SUBMISSIONS, formId],\n queryFn: () => neetoFormApi.getPublicSubmissions(formId),\n placeholderData: keepPreviousData,\n ...options,\n });\n\nexport const useSubmission = ({\n formId,\n submissionId,\n fetchPublicSubmission = true,\n ...options\n}) =>\n useQuery({\n queryKey: [QUERY_KEYS.SUBMISSION, formId, submissionId],\n queryFn: () =>\n fetchPublicSubmission\n ? neetoFormApi.getPublicSubmission(formId, submissionId)\n : neetoFormApi.getSubmission(formId, submissionId),\n placeholderData: keepPreviousData,\n ...options,\n });\n\nexport const useCreateSubmission = options => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ formId, values }) =>\n neetoFormApi.submitPublicForm(formId, values),\n ...options,\n onSuccess: (...args) => {\n const [data, { formId }] = args;\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.SUBMISSIONS, formId],\n });\n\n queryClient.setQueryData(\n [QUERY_KEYS.SUBMISSION, formId, data?.submission?.id],\n data?.submission\n );\n\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.SUBMISSION, formId, data?.submission?.id],\n });\n options.onSuccess && options.onSuccess(...args);\n },\n });\n};\n\nexport const useUpdateSubmission = options => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ formId, values }) =>\n neetoFormApi.updatePublicSubmission(formId, values),\n ...options,\n onSuccess: (...args) => {\n const [data, { formId }] = args;\n queryClient.invalidateQueries({\n queryKey: [[QUERY_KEYS.SUBMISSIONS, formId]],\n });\n\n queryClient.setQueryData(\n [QUERY_KEYS.SUBMISSION, formId, data?.submission?.id],\n data?.submission\n );\n\n queryClient.invalidateQueries({\n queryKey: [[QUERY_KEYS.SUBMISSION, formId, data.submission.id]],\n });\n options.onSuccess && options.onSuccess(...args);\n },\n });\n};\n","export const QUESTION_TYPES = {\n NAME: \"name\",\n PHONE: \"phone\",\n EMAIL: \"email\",\n ADDITIONAL_GUESTS: \"additional_guests\",\n TEXT: \"text\",\n TEXTAREA: \"textarea\",\n RICH_TEXT: \"rich_text\",\n INTEGER: \"integer\",\n DECIMAL: \"decimal\",\n PARAGRAPH: \"paragraph\",\n TERMS_AND_CONDITION: \"termsandcondition\",\n CONDITION: \"condition\",\n CHECKBOX: \"checkbox\",\n RADIO: \"radio\",\n DROPDOWN: \"dropdown\",\n STAR_RATING: \"star_rating\",\n RATING: \"rating\",\n DATE: \"date\",\n FILE_UPLOAD: \"file_upload\",\n CAPTCHA: \"captcha\",\n};\n\nexport const CAPTCHA_TYPES = {\n RECAPTCHA_V2: \"recaptcha_v2\",\n MATH_CAPTCHA: \"math_captcha\",\n};\n","import { QUESTION_TYPES } from \"components/constants\";\n\nconst {\n PARAGRAPH,\n TERMS_AND_CONDITION,\n CONDITION,\n CHECKBOX,\n RADIO,\n DROPDOWN,\n FILE_UPLOAD,\n CAPTCHA,\n} = QUESTION_TYPES;\n\nexport const DEFAULT_AVAILABLE_LANGUAGES = [{ code: \"en\", name: \"English\" }];\n\nexport const MANDATORY_KINDS = [CAPTCHA];\n\nexport const QUESTIONS_WITHOUT_FIELD_CODE = [\n PARAGRAPH,\n TERMS_AND_CONDITION,\n CONDITION,\n FILE_UPLOAD,\n CAPTCHA,\n];\n\nexport const QUESTIONS_INITIAL_VALUE = {\n enabled: false,\n questions: [\n { label: \"\", kind: \"text\", nodeId: \"1\" },\n { label: \"\", kind: \"email\", nodeId: \"2\" },\n ],\n title: \"\",\n isQuestionsLoading: true,\n};\n\nexport const RESERVED_FIELD_CODES = [\"month\", \"date\", \"time\", \"lang\"];\n\nexport const SELECTABLE_KINDS = [RADIO, CHECKBOX, DROPDOWN];\n\nexport const RICH_TEXT_QUESTIONS = [PARAGRAPH, TERMS_AND_CONDITION];\n\nexport const QUESTION_ACTIONS = { ADD: \"add\", EDIT: \"edit\" };\n\nexport const MINIMUM_OPTIONS = 2;\n","import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport {\n compose,\n isEmpty,\n trim,\n isNil,\n equals,\n values,\n either,\n useWith,\n path,\n split,\n isNotNil,\n} from \"ramda\";\n\nexport const isBlank = compose(isEmpty, trim);\n\nexport const parseServerError = error =>\n error.notice ?? t(\"neetoForm.common.somethingWentWrong\");\n\nexport const isPlainObject = obj =>\n typeof obj === \"object\" && !Array.isArray(obj) && obj !== null;\n\nexport const isStringOrNumber = obj =>\n typeof obj === \"string\" || typeof obj === \"number\";\n\nexport const isEmptyValues = obj =>\n either(isNil, isEmpty)(obj)\n ? true\n : values(obj).every(value => {\n if (isEmpty(value)) {\n return true;\n } else if (Array.isArray(value)) {\n return equals([false, false, false], value);\n }\n\n return !value;\n });\n\n// eslint-disable-next-line react-hooks/rules-of-hooks\nexport const dotPath = useWith(path, [split(\".\")]);\n\nexport const isFunction = obj => typeof obj === \"function\";\n\nexport const fieldWithFallback = (\n question,\n fieldName,\n hasRichContent = false\n) => {\n const fallback = question[`${fieldName}Fallback`];\n const field = question[fieldName];\n const isFieldEmpty = hasRichContent ? isEditorEmpty(field) : isEmpty(field);\n\n return isFieldEmpty && isNotNil(fallback) ? fallback : field;\n};\n\nexport const getComponentDisplayName = Component =>\n Component.displayName || Component.name || \"Component\";\n","import i18next from \"i18next\";\nimport { noop } from \"neetocist\";\nimport { withImmutableActions } from \"neetocommons/react-utils\";\nimport { mergeLeft, modify, prop } from \"ramda\";\nimport { create } from \"zustand\";\n\nimport { isFunction } from \"utils\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useBuildFormStore = create(\n withImmutableActions(set => ({\n formState: {\n values: {},\n dirty: false,\n isSubmitting: false,\n isValid: true,\n errors: [],\n submitForm: noop,\n resetForm: noop,\n selectedLanguage: i18next.resolvedLanguage,\n formId: null,\n enabled: false,\n title: \"\",\n richTextFieldsToReset: [],\n },\n\n setFormData: arg =>\n set(modify(\"formState\", isFunction(arg) ? arg : mergeLeft(arg))),\n }))\n);\n\nexport const useBuildFormState = () => useBuildFormStore(prop(\"formState\"));\n\nexport default useBuildFormStore;\n","const BadSmiley = props => {\n const { size, color, ...other } = props;\n\n return (\n <svg fill=\"none\" height={size} viewBox=\"0 0 48 48\" width={size} {...other}>\n <path\n d=\"M24 0C10.767 0 0 10.767 0 24s10.767 24 24 24c13.234 0 24-10.767 24-24S37.234 0 24 0zm0 45.913c-12.084 0-21.913-9.83-21.913-21.913 0-12.084 9.83-21.913 21.913-21.913 12.082 0 21.913 9.83 21.913 21.913 0 12.084-9.83 21.913-21.913 21.913z\"\n fill={color}\n />\n <path\n d=\"M18.783 19.826a3.134 3.134 0 00-3.13-3.13 3.134 3.134 0 00-3.131 3.13 3.134 3.134 0 003.13 3.13 3.134 3.134 0 003.13-3.13zm-4.174 0c0-.575.468-1.044 1.043-1.044s1.044.469 1.044 1.044c0 .575-.469 1.043-1.044 1.043a1.045 1.045 0 01-1.043-1.043zm17.739-3.13a3.134 3.134 0 00-3.13 3.13 3.134 3.134 0 003.13 3.13 3.134 3.134 0 003.13-3.13 3.134 3.134 0 00-3.13-3.13zm0 4.173a1.045 1.045 0 010-2.087 1.045 1.045 0 010 2.087zM24 29.218a13.677 13.677 0 00-10.168 4.52 1.043 1.043 0 101.553 1.394A11.587 11.587 0 0124 31.305c3.3 0 6.44 1.394 8.614 3.826a1.045 1.045 0 001.473.082 1.044 1.044 0 00.082-1.473c-2.57-2.874-6.277-4.523-10.169-4.523z\"\n fill={color}\n />\n </svg>\n );\n};\n\nBadSmiley.defaultProps = {\n color: \"currentColor\",\n size: 24,\n strokeWidth: \"1.5\",\n};\n\nconst OkaySmiley = props => {\n const { size, color, ...other } = props;\n\n return (\n <svg fill=\"none\" height={size} viewBox=\"0 0 48 48\" width={size} {...other}>\n <path\n d=\"M24 0C10.767 0 0 10.767 0 24s10.767 24 24 24 24-10.767 24-24S37.233 0 24 0zm0 45.913c-12.084 0-21.913-9.83-21.913-21.913 0-12.084 9.83-21.913 21.913-21.913 12.084 0 21.913 9.83 21.913 21.913 0 12.084-9.83 21.913-21.913 21.913z\"\n fill={color}\n />\n <path\n d=\"M15.652 22.956a3.134 3.134 0 003.13-3.13 3.134 3.134 0 00-3.13-3.13 3.134 3.134 0 00-3.13 3.13 3.134 3.134 0 003.13 3.13zm0-4.174c.575 0 1.044.469 1.044 1.044 0 .575-.469 1.043-1.044 1.043a1.045 1.045 0 01-1.043-1.043c0-.575.468-1.044 1.043-1.044zm16.696-2.086a3.134 3.134 0 00-3.13 3.13 3.134 3.134 0 003.13 3.13 3.134 3.134 0 003.13-3.13 3.134 3.134 0 00-3.13-3.13zm0 4.173a1.045 1.045 0 01-1.044-1.043c0-.575.469-1.044 1.044-1.044a1.044 1.044 0 010 2.087zm2.087 8.349h-20.87a1.044 1.044 0 000 2.086h20.87a1.044 1.044 0 000-2.086z\"\n fill={color}\n />\n </svg>\n );\n};\n\nOkaySmiley.defaultProps = {\n color: \"currentColor\",\n size: 24,\n strokeWidth: \"1.5\",\n};\n\nconst GoodSmiley = props => {\n const { size, color, ...other } = props;\n\n return (\n <svg fill=\"none\" height={size} viewBox=\"0 0 48 48\" width={size} {...other}>\n <path\n d=\"M24 0C10.767 0 0 10.767 0 24s10.767 24 24 24 24-10.767 24-24S37.233 0 24 0zm0 45.913c-12.084 0-21.913-9.83-21.913-21.913 0-12.084 9.83-21.913 21.913-21.913 12.084 0 21.913 9.83 21.913 21.913 0 12.084-9.83 21.913-21.913 21.913z\"\n fill={color}\n />\n <path\n d=\"M18.783 19.826a3.134 3.134 0 00-3.13-3.13 3.134 3.134 0 00-3.131 3.13 3.134 3.134 0 003.13 3.13 3.134 3.134 0 003.13-3.13zm-4.174 0a1.044 1.044 0 012.087 0c0 .575-.469 1.044-1.044 1.044a1.045 1.045 0 01-1.043-1.044zm17.739-3.13a3.134 3.134 0 00-3.13 3.13 3.134 3.134 0 003.13 3.13 3.134 3.134 0 003.13-3.13 3.134 3.134 0 00-3.13-3.13zm0 4.174a1.045 1.045 0 01-1.044-1.044 1.044 1.044 0 111.044 1.044zm.265 8.695c-2.175 2.432-5.314 3.826-8.613 3.826a11.59 11.59 0 01-8.615-3.827 1.043 1.043 0 10-1.553 1.394A13.677 13.677 0 0024 35.478c3.892 0 7.599-1.648 10.17-4.521a1.043 1.043 0 10-1.557-1.392z\"\n fill={color}\n />\n </svg>\n );\n};\n\nGoodSmiley.defaultProps = {\n color: \"currentColor\",\n size: 24,\n strokeWidth: \"1.5\",\n};\n\nconst Drag = props => {\n const { size, color, ...other } = props;\n\n return (\n <svg fill=\"none\" height={size} viewBox=\"0 0 24 24\" width={size} {...other}>\n <g\n clipPath=\"url(#clip0_6290_43)\"\n fill={color}\n stroke={color}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.5\"\n >\n <path d=\"M8 12a1 1 0 102 0 1 1 0 00-2 0zM8 18a1 1 0 102 0 1 1 0 00-2 0zM8 6a1 1 0 102 0 1 1 0 00-2 0zM14 12a1 1 0 102 0 1 1 0 00-2 0zM14 18a1 1 0 102 0 1 1 0 00-2 0zM14 6a1 1 0 102 0 1 1 0 00-2 0z\" />\n </g>\n <defs>\n <clipPath id=\"clip0_6290_43\">\n <path d=\"M0 0H24V24H0z\" fill={color} />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nDrag.defaultProps = {\n color: \"currentColor\",\n size: 24,\n strokeWidth: \"1.5\",\n};\n\nexport { BadSmiley, OkaySmiley, GoodSmiley, Drag };\n","import DOMPurify from \"dompurify\";\nimport { findBy } from \"neetocist\";\nimport { range } from \"ramda\";\n\nimport { EMPTY_PARAGRAPH_REGEX } from \"./constants\";\n\nexport const getActiveQuestionKindDetails = ({ allQuestionKinds, item }) => {\n const { kind, label } = item;\n\n const { isSingular } = findBy({ type: kind }, allQuestionKinds);\n\n return { kind, label, isSingular };\n};\n\nexport const generateArray = (start, end) => range(start, end + 1);\n\nexport const isElementOverflowing = ({\n clientWidth,\n clientHeight,\n scrollWidth,\n scrollHeight,\n}) => scrollHeight > clientHeight || scrollWidth > clientWidth;\n\nexport const htmlToPlainText = htmlContent => {\n const formattedContent = htmlContent.replaceAll(EMPTY_PARAGRAPH_REGEX, \"\\n\");\n const node = document.createElement(\"div\");\n node.innerHTML = DOMPurify.sanitize(formattedContent);\n\n return node.textContent || node.innerText || \"\";\n};\n","import { t } from \"i18next\";\nimport { toLabelAndValue } from \"neetocist\";\n\nimport { generateArray } from \"../utils\";\n\nexport const validateEditorContent = editorRef => () =>\n editorRef.current?.editor?.isEmpty\n ? t(\"neetoForm.common.thisFieldIsRequired\")\n : \"\";\n\nexport const generateRatingOptions = range =>\n generateArray(...range).map(toLabelAndValue);\n","import { t } from \"i18next\";\nimport { values } from \"ramda\";\n\nimport { BadSmiley, GoodSmiley, OkaySmiley } from \"components/BuildForm/Icons\";\nimport {\n Crown,\n Heart,\n Star,\n Trophy,\n Zap,\n} from \"components/Common/StarRatingIcons\";\n\nimport { generateRatingOptions } from \"./utils\";\n\nconst FILE_TYPES = {\n DOCUMENTS: \"documents\",\n IMAGES: \"images\",\n AUDIO_VIDEO: \"audio/video\",\n};\n\nexport const INPUT_FIELD_MAX_LENGTH = 60;\nexport const PLACEHOLDER_MAX_LENGTH = 40;\nexport const TEXTAREA_FIELD_MAX_LENGTH = 150;\n\nexport const STAR_RATING_ICONS_MAP = {\n star: Star,\n heart: Heart,\n crown: Crown,\n trophy: Trophy,\n zap: Zap,\n};\n\nexport const STAR_RATING_MAX_VALUE_OPTIONS = generateRatingOptions([3, 10]);\nexport const STAR_RATING_MIN_VALUE_OPTIONS = generateRatingOptions([0, 1]);\n\nexport const FILE_TYPES_MAP = {\n [FILE_TYPES.DOCUMENTS]: [\n \"pdf\",\n \"doc\",\n \"docx\",\n \"xls\",\n \"xlsx\",\n \"csv\",\n \"txt\",\n \"rtf\",\n \"html\",\n \"zip\",\n \"md\",\n ],\n [FILE_TYPES.IMAGES]: [\"jpg\", \"jpeg\", \"png\", \"gif\"],\n [FILE_TYPES.AUDIO_VIDEO]: [\"mp3\", \"wma\", \"mpg\", \"flv\", \"avi\"],\n};\n\nexport const DEFAULT_ALLOWED_FILE_TYPES = values(FILE_TYPES_MAP)\n .flat()\n .join(\", \");\n\nexport const FILE_GROUPS = [\n { label: t(\"neetoForm.fileTypes.documents\"), name: FILE_TYPES.DOCUMENTS },\n { label: t(\"neetoForm.fileTypes.images\"), name: FILE_TYPES.IMAGES },\n {\n label: t(\"neetoForm.fileTypes.audioVideo\"),\n name: FILE_TYPES.AUDIO_VIDEO,\n },\n];\n\nexport const RATING_OPTIONS = [\n { icon: GoodSmiley, name: \"highestRatingLabel\", color: \"#00ba88\" },\n { icon: OkaySmiley, name: \"averageRatingLabel\", color: \"#f3cd82\" },\n { icon: BadSmiley, name: \"lowestRatingLabel\", color: \"#f56a58\" },\n];\n","import { t } from \"i18next\";\n\nimport { CAPTCHA_TYPES, QUESTION_TYPES } from \"components/constants\";\n\nimport { DEFAULT_ALLOWED_FILE_TYPES } from \"./Fields/constants\";\n\nimport { MINIMUM_OPTIONS } from \"../constants\";\n\nconst {\n NAME,\n PHONE,\n EMAIL,\n ADDITIONAL_GUESTS,\n TEXT,\n TEXTAREA,\n RICH_TEXT,\n INTEGER,\n DECIMAL,\n PARAGRAPH,\n TERMS_AND_CONDITION,\n CONDITION,\n CHECKBOX,\n RADIO,\n DROPDOWN,\n STAR_RATING,\n RATING,\n DATE,\n FILE_UPLOAD,\n CAPTCHA,\n} = QUESTION_TYPES;\n\nconst DEFAULT_OPTIONS = new Array(MINIMUM_OPTIONS).fill({\n label: \"\",\n});\n\nexport const QUESTION_KINDS = [\n {\n type: EMAIL,\n label: t(\"neetoForm.fields.eif\"),\n isSingular: true,\n defaults: { label: \"\" },\n },\n {\n type: ADDITIONAL_GUESTS,\n label: t(\"neetoForm.fields.agif\"),\n isSingular: true,\n defaults: { label: t(\"neetoForm.common.addAdditionalGuests\") },\n },\n {\n type: PHONE,\n label: t(\"neetoForm.fields.pif\"),\n isSingular: true,\n defaults: { label: \"\" },\n },\n {\n type: NAME,\n label: t(\"neetoForm.fields.nif\"),\n isSingular: true,\n defaults: { label: \"\" },\n },\n {\n type: TEXT,\n label: t(\"neetoForm.fields.tif\"),\n isSingular: false,\n defaults: { label: \"\" },\n },\n {\n type: TEXTAREA,\n label: t(\"neetoForm.fields.qif\"),\n isSingular: false,\n defaults: { label: \"\" },\n },\n {\n type: INTEGER,\n label: t(\"neetoForm.fields.iif\"),\n isSingular: false,\n defaults: { label: \"\" },\n },\n {\n type: DECIMAL,\n label: t(\"neetoForm.fields.dif\"),\n isSingular: false,\n defaults: { label: \"\" },\n },\n {\n type: RICH_TEXT,\n label: t(\"neetoForm.fields.rtf\"),\n isSingular: false,\n defaults: { label: \"\" },\n },\n {\n type: PARAGRAPH,\n label: t(\"neetoForm.fields.def\"),\n isSingular: false,\n defaults: { label: \"\" },\n },\n {\n type: CHECKBOX,\n label: t(\"neetoForm.fields.mcf\"),\n isSingular: false,\n defaults: {\n label: \"\",\n isRequired: false,\n optionsAttributes: DEFAULT_OPTIONS,\n },\n },\n {\n type: RADIO,\n label: t(\"neetoForm.fields.scf\"),\n isSingular: false,\n defaults: {\n label: \"\",\n isRequired: false,\n optionsAttributes: DEFAULT_OPTIONS,\n },\n },\n {\n type: DROPDOWN,\n label: t(\"neetoForm.fields.drf\"),\n isSingular: false,\n defaults: {\n label: \"\",\n isRequired: false,\n optionsAttributes: DEFAULT_OPTIONS,\n },\n },\n {\n type: STAR_RATING,\n label: t(\"neetoForm.fields.rif\"),\n isSingular: false,\n defaults: {\n label: \"\",\n isRequired: true,\n minValue: 1,\n maxValue: 5,\n iconType: \"star\",\n },\n },\n {\n type: RATING,\n label: t(\"neetoForm.fields.fbf\"),\n isSingular: false,\n defaults: {\n label: \"\",\n isRequired: true,\n highestRatingLabel: \"\",\n averageRatingLabel: \"\",\n lowestRatingLabel: \"\",\n },\n },\n {\n type: TERMS_AND_CONDITION,\n label: t(\"neetoForm.fields.tcf\"),\n isSingular: true,\n defaults: {\n termsLink: \"\",\n privacyPolicyLink: \"\",\n isRequired: true,\n label: t(\"neetoForm.common.agreeTermsAndConditions\"),\n },\n },\n {\n type: CONDITION,\n label: t(\"neetoForm.fields.cf\"),\n defaults: {\n isRequired: true,\n label: t(\"neetoForm.common.agreeCondition\"),\n },\n },\n {\n type: DATE,\n label: t(\"neetoForm.fields.date\"),\n isSingular: false,\n defaults: { label: \"\", isRequired: true },\n },\n {\n type: FILE_UPLOAD,\n label: t(\"neetoForm.fields.fileUpload\"),\n isSingular: false,\n defaults: {\n label: \"\",\n multipleFilesAllowed: true,\n allowedFileTypes: DEFAULT_ALLOWED_FILE_TYPES,\n },\n },\n {\n type: CAPTCHA,\n label: t(\"neetoForm.fields.captcha\"),\n isSingular: true,\n defaults: {\n label: \"\",\n isRequired: true,\n variant: CAPTCHA_TYPES.RECAPTCHA_V2,\n },\n },\n];\n\n// To show the question type as label in accordion\nexport const INDEPENDENT_LABELS_MAP = {\n paragraph: t(\"neetoForm.fields.def\"),\n termsandcondition: t(\"neetoForm.fields.tcf\"),\n};\n\nexport const PADDED_FIELDS = [PARAGRAPH, TERMS_AND_CONDITION];\n\nexport const EMPTY_PARAGRAPH_REGEX = new RegExp(/<p[^>]*?>\\s*<\\/p>/gi);\n","import { findBy, isPresent, truncate } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { equals } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDeleteQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\nimport { fieldWithFallback } from \"utils\";\n\nimport { INDEPENDENT_LABELS_MAP } from \"../Questions/constants\";\n\nconst DeleteAlert = ({\n selectedQuestion,\n isOpen,\n onClose,\n languagesCount,\n handleSelect,\n}) => {\n const { t } = useTranslation();\n\n const { selectedLanguage } = useBuildFormStore.pick(\"formState\");\n\n const renderQuestionLabel = () => {\n const questionKind = selectedQuestion.kind;\n const independentLabel = INDEPENDENT_LABELS_MAP[questionKind];\n if (isPresent(independentLabel)) return independentLabel;\n\n const questionLabel = fieldWithFallback(selectedQuestion, \"label\");\n\n return truncate(questionLabel, 40);\n };\n\n const { mutate: deleteQuestion, isPending: isDeleting } = useDeleteQuestion(\n selectedQuestion?.formId,\n selectedLanguage,\n {\n onSuccess: () => {\n showThumbsUpToastr();\n onClose();\n },\n }\n );\n\n const selectNextQuestion = questions => {\n const selectedQuestionIndex = selectedQuestion.displayOrder;\n const wasLastQuestion = equals(selectedQuestionIndex, questions.length);\n\n const newDisplayOrder = wasLastQuestion\n ? selectedQuestionIndex - 1\n : selectedQuestionIndex;\n\n const newQuestion = findBy({ displayOrder: newDisplayOrder }, questions);\n handleSelect(newQuestion);\n };\n\n const handleSubmit = () => {\n deleteQuestion(selectedQuestion.id, {\n onSuccess: ({ questions }) => selectNextQuestion(questions),\n });\n };\n\n return (\n <Alert\n {...{ isOpen, onClose }}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoForm.common.delete\")}\n title={t(\"neetoForm.questions.deleteAlert.title\")}\n message={\n isPresent(selectedQuestion) && (\n <Trans\n i18nKey=\"neetoForm.questions.deleteAlert.message\"\n values={{\n count: languagesCount,\n label: renderQuestionLabel(),\n }}\n />\n )\n }\n onSubmit={handleSubmit}\n />\n );\n};\n\nexport default DeleteAlert;\n","import { useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { findBy } from \"neetocist\";\nimport { Alert, Dropdown, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ChangeLanguageDropdown = ({ currentLanguage, languages, onChange }) => {\n const [isUnsavedChangesAlertOpen, setIsUnsavedChangesAlertOpen] =\n useState(false);\n const [selectedLanguage, setSelectedLanguage] = useState(currentLanguage);\n\n const { t } = useTranslation();\n\n const { dirty } = useFormikContext();\n\n const languageChangeHandler = code => {\n if (!dirty) {\n onChange(code);\n\n return;\n }\n\n setSelectedLanguage(code);\n setIsUnsavedChangesAlertOpen(true);\n };\n\n const selectedLanguageName = findBy(\n { code: currentLanguage },\n languages\n )?.name;\n\n return (\n <>\n <Tooltip content={t(\"neetoForm.questions.changeLanguage\")}>\n <div>\n <Dropdown buttonStyle=\"secondary\" label={selectedLanguageName}>\n <Dropdown.Menu>\n {languages.map(({ code, name }) => (\n <Dropdown.MenuItem.Button\n isActive={currentLanguage === code}\n key={code}\n onClick={() => languageChangeHandler(code)}\n >\n {name}\n </Dropdown.MenuItem.Button>\n ))}\n </Dropdown.Menu>\n </Dropdown>\n </div>\n </Tooltip>\n <Alert\n isOpen={isUnsavedChangesAlertOpen}\n message={t(\"neetoForm.questions.unsavedChangesAlert.message\")}\n submitButtonLabel={t(\"neetoForm.questions.unsavedChangesAlert.discard\")}\n title={t(\"neetoForm.questions.unsavedChangesAlert.title\")}\n onClose={() => setIsUnsavedChangesAlertOpen(false)}\n onSubmit={() => {\n onChange(selectedLanguage);\n setIsUnsavedChangesAlertOpen(false);\n }}\n />\n </>\n );\n};\n\nexport default ChangeLanguageDropdown;\n","import { isPresent } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\n\nimport ChangeLanguageDropdown from \"./ChangeLanguageDropdown\";\n\nconst Overview = ({\n title,\n description,\n availableLanguages,\n selectedLanguage,\n onLanguageChange,\n additionalActionOptions,\n}) => (\n <div className=\"neeto-form-nano-form-wrapper__overview mb-4 w-full flex-shrink-0 space-y-4 px-6 pt-6\">\n <div className=\"flex items-center justify-between\">\n <Typography\n data-cy=\"neeto-form-engine-overview-title\"\n lineHeight=\"neeto-ui-leading-normal\"\n style=\"h2\"\n weight=\"neeto-ui-font-semibold\"\n >\n {title}\n </Typography>\n <div className=\"flex flex-shrink-0 items-center justify-between space-x-1\">\n {availableLanguages.length > 1 && (\n <ChangeLanguageDropdown\n currentLanguage={selectedLanguage}\n languages={availableLanguages}\n onChange={onLanguageChange}\n />\n )}\n {isPresent(additionalActionOptions) && (\n <MoreDropdown\n dropdownButtonProps={{ isRounded: true, style: \"tertiary\" }}\n dropdownProps={{ strategy: \"fixed\", position: \"bottom-start\" }}\n menuItems={additionalActionOptions}\n />\n )}\n </div>\n </div>\n <Typography data-cy=\"neeto-form-engine-overview-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n);\n\nexport default Overview;\n","import { t } from \"i18next\";\nimport { assoc, includes, reduce, __ } from \"ramda\";\n\nimport { RICH_TEXT_QUESTIONS } from \"./constants\";\n\nexport const validateEditorContent = editorRef => () =>\n editorRef.current?.editor?.isEmpty\n ? t(\"neetoForm.common.thisFieldIsRequired\")\n : \"\";\n\nexport const buildReorderPayload = questions =>\n reduce(\n (acc, { id, displayOrder }) => assoc(id, displayOrder, acc),\n {},\n questions\n );\n\nexport const isRichTextQuestion = includes(__, RICH_TEXT_QUESTIONS);\n","import classNames from \"classnames\";\nimport { slugify } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { fieldWithFallback, isFunction } from \"utils\";\n\nimport { htmlToPlainText } from \"./utils\";\n\nimport { Drag } from \"../Icons\";\nimport { isRichTextQuestion } from \"../utils\";\n\nconst Card = ({\n question = {},\n allQuestionKinds,\n getActiveKindDetails,\n isActive,\n onSelect,\n onEdit,\n onClone,\n onDelete,\n}) => {\n const { t } = useTranslation();\n\n const { kind, isSingular } = getActiveKindDetails({\n allQuestionKinds,\n item: question,\n });\n\n const label = fieldWithFallback(question, \"label\");\n\n const questionLabel = isRichTextQuestion(kind)\n ? htmlToPlainText(label)\n : label;\n\n return (\n <div\n data-cy={`neeto-form-engine-${slugify(questionLabel)}`}\n className={classNames(\n \"neeto-ui-rounded neeto-ui-border-gray-300 neeto-ui-bg-white neeto-form-nano-form__card flex h-10 w-full items-center justify-between border p-2\",\n {\n \"neeto-ui-border-primary-500 neeto-form-nano-form__card--active\":\n isActive,\n }\n )}\n onClick={() => onSelect(question)}\n >\n <div className=\"flex min-w-0 flex-grow items-center gap-1\">\n <Drag className=\"neeto-ui-text-gray-600 flex-shrink-0\" />\n <Typography\n className=\"line-clamp-2 min-w-0 flex-grow truncate break-words\"\n lineHeight=\"snug\"\n style=\"body2\"\n weight=\"medium\"\n >\n {questionLabel}\n </Typography>\n </div>\n <MoreDropdown\n dropdownButtonProps={{ className: \"shrink-0\" }}\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n \"data-cy\": \"edit-question\",\n key: \"edit\",\n label: t(\"neetoForm.common.edit\"),\n onClick: onEdit,\n },\n {\n \"data-cy\": \"clone-question\",\n key: \"clone\",\n label: t(\"neetoForm.common.clone\"),\n isVisible: !isSingular && isFunction(onClone),\n onClick: onClone,\n },\n {\n \"data-cy\": \"delete-question\",\n key: \"delete\",\n label: t(\"neetoForm.common.delete\"),\n isVisible: isFunction(onDelete),\n onClick: onDelete,\n },\n ]}\n />\n </div>\n );\n};\n\nexport default Card;\n","import { Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { equals } from \"ramda\";\n\nimport Card from \"../Questions/Card\";\n\nconst Questions = ({\n questions,\n isDeletable,\n allQuestionKinds,\n getActiveKindDetails,\n selectedQuestion,\n onEdit,\n onClone,\n onDelete,\n onSelect,\n}) => (\n <Droppable droppableId=\"droppable\">\n {({ droppableProps, placeholder, innerRef }) => (\n <div {...droppableProps} className=\"space-y-2\" ref={innerRef}>\n {questions.map((question, index) => (\n <Draggable\n {...{ index }}\n draggableId={`question-${question.id ?? question.nodeId}`}\n key={`question-${question.id ?? question.nodeId}`}\n >\n {({ draggableProps, dragHandleProps, innerRef }) => (\n <div {...draggableProps} {...dragHandleProps} ref={innerRef}>\n <Card\n {...{\n allQuestionKinds,\n getActiveKindDetails,\n onClone,\n onEdit,\n onSelect,\n question,\n }}\n isActive={equals(selectedQuestion, question)}\n onDelete={isDeletable(question) && onDelete}\n />\n </div>\n )}\n </Draggable>\n ))}\n {placeholder}\n </div>\n )}\n </Droppable>\n);\nexport default Questions;\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","const moveItem = (arr, sourceIndex, destinationIndex) => {\n if (sourceIndex === destinationIndex) return arr;\n\n if (arr instanceof Array && arr[sourceIndex] !== undefined) {\n const removedItem = arr.splice(sourceIndex, 1)[0];\n arr.splice(destinationIndex, 0, removedItem);\n }\n\n return arr;\n};\n\nconst arrayHelpers = {\n moveItem,\n};\n\nexport default arrayHelpers;\n","import { t } from \"i18next\";\nimport { filterBy, findBy } from \"neetocist\";\nimport {\n isEmpty,\n reject,\n omit,\n pluck,\n keys,\n pick,\n when,\n assoc,\n includes,\n} from \"ramda\";\nimport { v4 as uuid } from \"uuid\";\n\nimport arrayHelpers from \"common/helpers/array\";\nimport { fieldWithFallback } from \"utils\";\n\nimport { RESERVED_FIELD_CODES, SELECTABLE_KINDS } from \"../constants\";\nimport { isRichTextQuestion } from \"../utils\";\n\nconst isChoiceQuestion = question => includes(question?.kind, SELECTABLE_KINDS);\n\nconst generateUniqueFieldCode = (type, questions) => {\n const fieldCodes = pluck(\"fieldCode\", filterBy({ kind: type }, questions));\n\n let uniqueNumber = fieldCodes.length;\n\n let candidateFieldCode = \"\";\n\n const prefix = RESERVED_FIELD_CODES.includes(type) ? `${type}_field` : type;\n\n //We need to continue this while loop until we can generate a unique fieldCode\n // eslint-disable-next-line no-constant-condition\n while (true) {\n candidateFieldCode = `${prefix}${uniqueNumber || \"\"}`;\n\n if (!findBy({ fieldCode: candidateFieldCode }, questions)) break;\n\n uniqueNumber += 1;\n }\n\n return candidateFieldCode;\n};\n\nexport const isQuestionKindAlreadyActive = ({ activeQuestions, kind }) =>\n activeQuestions.some(\n activeQuestion =>\n activeQuestion.kind === kind.type && activeQuestion._destroy !== true\n );\n\nexport const handleFieldDragEnd = ({\n items,\n setValue,\n source,\n destination,\n}) => {\n if (!(destination && items instanceof Array)) return;\n const nextItems = [...items];\n arrayHelpers.moveItem(nextItems, source.index, destination.index);\n const orderedItems = nextItems.map((item, index) => ({\n ...item,\n displayOrder: index,\n }));\n setValue(\"questions\", orderedItems);\n};\n\nexport const createFieldData = ({\n kind: { defaults, type, metadata },\n isRequired = undefined,\n questions,\n}) => ({\n ...defaults,\n metadata,\n isRequired,\n kind: type,\n nodeId: uuid(),\n fieldCode: generateUniqueFieldCode(type, questions),\n});\n\nexport const duplicateFieldData = ({ item, questionKinds, questions }) => {\n const questionKind = findBy({ type: item.kind }, questionKinds);\n const { isRequired, kind, optionsAttributes } = item;\n const label = fieldWithFallback(item, \"label\");\n const defaultAttributeNames = keys(questionKind.defaults || {});\n const defaultAttributes = pick(defaultAttributeNames, item);\n const newQuestionLabel = isRichTextQuestion(kind)\n ? label\n : t(\"neetoForm.common.clonedElementLabel\", { label });\n\n return {\n ...defaultAttributes,\n isRequired,\n kind,\n label: newQuestionLabel,\n optionsAttributes: optionsAttributes && optionsAttributes.map(omit([\"id\"])),\n nodeId: uuid(),\n fieldCode: generateUniqueFieldCode(item.kind, questions),\n displayOrder: item.displayOrder + 1,\n };\n};\n\nexport const getAvailableQuestionKinds = ({\n allQuestionKinds,\n activeQuestions = [],\n isKindAlreadyActive,\n}) => {\n if (isEmpty(activeQuestions)) return allQuestionKinds;\n\n return reject(kind => {\n const isSingularKind = kind.isSingular;\n\n return isSingularKind && isKindAlreadyActive({ activeQuestions, kind });\n }, allQuestionKinds);\n};\n\nexport const formatQuestionAttributesForClone = when(\n isChoiceQuestion,\n assoc(\"isCloning\", true)\n);\n","<svg width=\"230\" height=\"230\" viewBox=\"0 0 231 230\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M28.368 19.7562C54.3223 19.3411 48.7724 19.5262 86.7305 18.3429C86.9252 18.3283 87.1066 18.2382 87.2358 18.0919C87.3651 17.9455 87.432 17.7545 87.4224 17.5595C87.4128 17.3645 87.3274 17.181 87.1844 17.048C87.0414 16.9151 86.8521 16.8433 86.6569 16.8479C43.8987 17.7403 41.9415 17.8553 28.368 18.3866C28.271 18.3746 28.1727 18.3834 28.0793 18.4124C27.986 18.4413 27.8998 18.4898 27.8265 18.5545C27.7533 18.6193 27.6947 18.6988 27.6546 18.7879C27.6144 18.877 27.5938 18.9737 27.5938 19.0714C27.5938 19.1691 27.6144 19.2657 27.6546 19.3548C27.6947 19.4439 27.7533 19.5235 27.8265 19.5883C27.8998 19.653 27.986 19.7015 28.0793 19.7304C28.1727 19.7594 28.271 19.7682 28.368 19.7562Z\" fill=\"#2F3941\"/>\n<path d=\"M28.7398 31.5687C35.8135 31.8182 43.8704 31.4939 56.0937 30.8936C56.2884 30.879 56.4697 30.789 56.599 30.6426C56.7282 30.4963 56.7952 30.3053 56.7856 30.1103C56.776 29.9152 56.6906 29.7317 56.5476 29.5988C56.4046 29.4658 56.2153 29.394 56.0201 29.3986C43.5875 29.4469 35.3857 29.5953 28.7398 30.2036C28.6425 30.191 28.5437 30.1992 28.4498 30.2278C28.3559 30.2564 28.2693 30.3047 28.1955 30.3695C28.1218 30.4343 28.0628 30.514 28.0223 30.6034C27.9819 30.6928 27.9609 30.7898 27.9609 30.8879C27.9609 30.986 27.9819 31.083 28.0223 31.1724C28.0628 31.2618 28.1218 31.3415 28.1955 31.4063C28.2693 31.471 28.3559 31.5193 28.4498 31.5479C28.5437 31.5765 28.6425 31.5848 28.7398 31.5721V31.5687Z\" fill=\"#2F3941\"/>\n<path d=\"M94.1107 192.305C100.549 192.337 106.98 191.865 113.344 190.891C113.529 190.857 113.694 190.755 113.806 190.605C113.919 190.455 113.972 190.269 113.954 190.082C113.936 189.895 113.848 189.722 113.709 189.597C113.57 189.471 113.388 189.403 113.201 189.404C106.784 189.415 100.377 189.93 94.0406 190.943C93.8796 190.977 93.7359 191.067 93.6355 191.197C93.5352 191.328 93.4846 191.49 93.4931 191.654C93.5016 191.818 93.5684 191.974 93.6817 192.093C93.7949 192.213 93.9471 192.288 94.1107 192.305Z\" fill=\"#2F3941\"/>\n<path d=\"M94.8867 199.57C100.093 199.683 105.298 199.29 110.429 198.396C110.529 198.392 110.626 198.367 110.716 198.324C110.806 198.281 110.886 198.219 110.952 198.144C111.017 198.069 111.067 197.981 111.097 197.886C111.128 197.791 111.139 197.691 111.129 197.591C111.112 197.394 111.018 197.211 110.867 197.082C110.717 196.953 110.522 196.888 110.324 196.901C105.114 196.834 99.9089 197.27 94.782 198.202C94.6016 198.218 94.4345 198.304 94.3171 198.442C94.1996 198.58 94.1411 198.758 94.1541 198.939C94.1691 199.119 94.2543 199.286 94.3913 199.405C94.5283 199.523 94.7062 199.582 94.8867 199.57Z\" fill=\"#2F3941\"/>\n<path d=\"M176.881 128.551C174.717 118.291 176.85 107.787 185.039 101.033C187.703 99.0266 190.8 97.6743 194.083 97.0848C205.492 94.6456 217.362 100.267 221.072 111.781C224.456 122.293 220.472 134.436 214.723 139.449C205.481 147.507 189.262 147.306 182.09 136.997C179.445 137.276 176.771 136.957 174.266 136.062C171.761 135.168 169.489 133.721 167.619 131.83C167.468 131.768 167.343 131.656 167.265 131.513C167.188 131.369 167.162 131.203 167.192 131.043C167.223 130.883 167.307 130.738 167.432 130.634C167.557 130.529 167.714 130.47 167.877 130.468C170.989 130.562 174.077 129.905 176.881 128.551ZM169.829 131.813C171.553 133.226 173.554 134.263 175.703 134.855C177.852 135.447 180.102 135.582 182.307 135.25C182.468 135.218 182.635 135.234 182.787 135.298C182.938 135.362 183.067 135.47 183.156 135.609C189.607 145.345 204.995 145.407 213.389 137.916C221.272 130.882 224.947 109.237 209.44 101.109C206.465 99.6205 203.206 98.7869 199.882 98.6639C196.558 98.5409 193.247 99.1314 190.17 100.396C181.66 103.785 175.469 114.857 178.503 128.789C178.541 128.951 178.525 129.12 178.458 129.271C178.392 129.423 178.278 129.549 178.134 129.631C175.561 130.963 172.725 131.708 169.829 131.813Z\" fill=\"#2F3941\"/>\n<path d=\"M191.423 127.973C191.176 124.517 185.941 124.511 185.775 127.973C185.762 128.351 185.825 128.727 185.959 129.08C186.094 129.434 186.298 129.756 186.56 130.029C186.821 130.302 187.134 130.52 187.481 130.67C187.828 130.82 188.202 130.899 188.58 130.902C188.963 130.908 189.342 130.837 189.696 130.691C190.049 130.545 190.369 130.328 190.636 130.053C190.902 129.779 191.109 129.452 191.245 129.095C191.38 128.737 191.441 128.355 191.423 127.973Z\" fill=\"#2F3941\"/>\n<path d=\"M202.501 127.973C202.254 124.517 197.019 124.511 196.853 127.973C196.84 128.351 196.903 128.727 197.037 129.08C197.172 129.434 197.376 129.756 197.638 130.029C197.899 130.302 198.213 130.52 198.56 130.67C198.907 130.82 199.28 130.899 199.658 130.902C200.041 130.908 200.42 130.837 200.774 130.691C201.128 130.545 201.447 130.328 201.714 130.053C201.98 129.779 202.188 129.452 202.323 129.095C202.458 128.737 202.519 128.355 202.501 127.973Z\" fill=\"#2F3941\"/>\n<path d=\"M213.204 127.602C212.957 124.152 207.722 124.14 207.556 127.602C207.543 127.979 207.606 128.356 207.74 128.709C207.875 129.062 208.079 129.385 208.341 129.658C208.602 129.931 208.916 130.149 209.263 130.299C209.61 130.449 209.983 130.527 210.361 130.531C210.744 130.537 211.124 130.465 211.477 130.319C211.831 130.173 212.151 129.956 212.417 129.682C212.683 129.407 212.891 129.081 213.026 128.723C213.161 128.365 213.222 127.984 213.204 127.602Z\" fill=\"#2F3941\"/>\n<path d=\"M47.5783 77.4746C47.6346 77.9599 47.9796 79.6895 48.7662 79.6182C49.4873 79.5515 49.4562 78.9109 49.6724 77.3883C49.7161 76.5833 49.5678 74.2764 48.7593 74.1856C47.7473 74.0706 47.3713 76.4626 47.5783 77.4746Z\" fill=\"#2F3941\"/>\n<path d=\"M46.0415 81.4588C46.3215 82.0042 46.7624 82.4504 47.3044 82.7369C47.8465 83.0233 48.4635 83.1363 49.0719 83.0603C49.6802 82.9844 50.2506 82.7233 50.7056 82.3123C51.1606 81.9014 51.4782 81.3606 51.6156 80.763C51.6522 80.671 51.6698 80.5725 51.6672 80.4734C51.6646 80.3744 51.6419 80.2769 51.6005 80.1869C51.5591 80.0969 51.4998 80.0162 51.4263 79.9498C51.3528 79.8834 51.2666 79.8326 51.1728 79.8005C50.987 79.7336 50.7823 79.7422 50.6027 79.8246C50.4232 79.9069 50.2831 80.0564 50.2126 80.2409C50.0378 80.4433 49.823 80.6074 49.5817 80.7227C49.3405 80.8381 49.078 80.9024 48.8107 80.9114C48.2425 80.9811 47.6661 80.8878 47.149 80.6423C47.0957 80.5695 47.0285 80.5081 46.9512 80.4615C46.874 80.4149 46.7882 80.3841 46.699 80.371C46.6098 80.3578 46.5188 80.3625 46.4314 80.3848C46.344 80.4071 46.2619 80.4465 46.1899 80.5008C46.0459 80.6102 45.95 80.7712 45.9223 80.9499C45.8946 81.1285 45.9374 81.311 46.0415 81.4588Z\" fill=\"#2F3941\"/>\n<path d=\"M50.3086 75.0934C50.3086 75.3398 50.4008 75.5761 50.5649 75.7504C50.729 75.9247 50.9516 76.0226 51.1837 76.0226C51.4158 76.0226 51.6384 75.9247 51.8026 75.7504C51.9667 75.5761 52.0589 75.3398 52.0589 75.0934C52.0589 74.8469 51.9667 74.6106 51.8026 74.4363C51.6384 74.262 51.4158 74.1641 51.1837 74.1641C50.9516 74.1641 50.729 74.262 50.5649 74.4363C50.4008 74.6106 50.3086 74.8469 50.3086 75.0934Z\" fill=\"#2F3941\"/>\n<path d=\"M45.2578 75.1772C45.2578 75.2992 45.2805 75.4201 45.3244 75.5328C45.3684 75.6455 45.4329 75.748 45.5141 75.8343C45.5954 75.9205 45.6919 75.989 45.7981 76.0357C45.9042 76.0824 46.018 76.1064 46.133 76.1064C46.2479 76.1064 46.3617 76.0824 46.4679 76.0357C46.574 75.989 46.6705 75.9205 46.7518 75.8343C46.833 75.748 46.8975 75.6455 46.9415 75.5328C46.9855 75.4201 47.0081 75.2992 47.0081 75.1772C47.0081 75.0552 46.9855 74.9344 46.9415 74.8216C46.8975 74.7089 46.833 74.6065 46.7518 74.5202C46.6705 74.4339 46.574 74.3654 46.4679 74.3187C46.3617 74.2721 46.2479 74.248 46.133 74.248C46.018 74.248 45.9042 74.2721 45.7981 74.3187C45.6919 74.3654 45.5954 74.4339 45.5141 74.5202C45.4329 74.6065 45.3684 74.7089 45.3244 74.8216C45.2805 74.9344 45.2578 75.0552 45.2578 75.1772Z\" fill=\"#2F3941\"/>\n<path d=\"M55.9796 73.9451C56.826 67.8363 54.2604 61.6286 48.377 62.5601C42.9168 63.4513 40.1579 69.8396 41.707 74.5396C41.1077 74.8069 40.6041 75.2503 40.2632 75.8109C39.9222 76.3714 39.7601 77.0226 39.7985 77.6776C39.8368 78.3326 40.0738 78.9603 40.4778 79.4773C40.8818 79.9943 41.4337 80.3759 42.06 80.5714C42.29 83.1784 43.279 85.9476 45.5652 87.177C45.5813 87.7359 45.6342 88.4259 45.6342 89.1699C45.5192 89.209 43.2836 90.0232 43.1675 90.0899C43.0738 90.1232 42.9877 90.1749 42.9144 90.2421C42.8411 90.3092 42.782 90.3904 42.7407 90.4809C42.6994 90.5713 42.6767 90.6691 42.674 90.7685C42.6712 90.8679 42.6885 90.9668 42.7247 91.0594C42.8015 91.2469 42.9492 91.3964 43.1357 91.4757C43.3221 91.5549 43.5323 91.5574 43.7206 91.4826L46.5186 90.7201C46.7706 90.6645 46.9945 90.5208 47.1501 90.3149C47.3056 90.1089 47.3826 89.8542 47.3672 89.5966C47.3454 89.3436 47.2523 88.5213 47.1499 87.7738C50.4286 88.5386 49.6638 86.6836 49.6638 89.4988C49.6589 89.7822 49.764 90.0565 49.957 90.264C50.1499 90.4716 50.4158 90.5963 50.6988 90.612L53.6152 90.9387C53.7094 90.9656 53.8079 90.9737 53.9052 90.9624C54.0025 90.9512 54.0966 90.9208 54.1821 90.873C54.2676 90.8252 54.3429 90.761 54.4034 90.6841C54.464 90.6071 54.5088 90.5189 54.5352 90.4246C54.5878 90.2389 54.5672 90.0401 54.4778 89.869C54.3885 89.6979 54.237 89.5675 54.0545 89.5046C53.3258 89.1579 52.5733 88.8635 51.8028 88.6237C51.7675 88.1705 51.6866 87.7221 51.5613 87.2851C54.1224 85.9465 54.7123 82.861 54.6215 79.9538C57.7552 79.3708 58.4452 75.3055 55.9796 73.9451ZM53.8038 78.1023C53.6665 78.0805 53.5261 78.0887 53.3924 78.1266C53.2586 78.1645 53.1347 78.2311 53.0293 78.3217C52.9239 78.4123 52.8395 78.5248 52.782 78.6514C52.7245 78.778 52.6953 78.9155 52.6964 79.0545C52.6964 82.6632 52.1536 85.9453 48.5242 85.7751C46.3518 85.6751 45.2444 84.5101 44.5383 82.4827C44.1978 81.6125 43.9982 80.6936 43.9472 79.7606C43.941 79.5244 43.8468 79.2991 43.6829 79.1288C43.5191 78.9586 43.2975 78.8558 43.0617 78.8406C40.9514 78.7325 41.0331 76.5165 42.5246 75.7414C42.7062 75.8172 42.905 75.8419 43.0996 75.8127C43.5274 75.7471 44.8534 75.3032 44.9086 74.5753C45.0051 73.8437 45.1406 73.1178 45.3145 72.4006C45.7636 72.3656 46.213 72.4644 46.606 72.6847C47.5559 73.2102 48.1826 72.2454 47.603 71.5634C47.1925 71.0315 46.6215 70.6459 45.9746 70.464C46.2556 69.8274 46.6025 69.2218 47.0096 68.6574C47.5471 69.8912 48.3692 70.98 49.4086 71.8348C50.4481 72.6895 51.6753 73.2858 52.9896 73.5748C53.5198 74.4948 53.8211 75.0629 54.7227 75.0629C55.0582 75.1816 55.3532 75.393 55.5737 75.6724C55.7159 75.9497 55.7784 76.261 55.7542 76.5716C55.73 76.8823 55.62 77.1802 55.4365 77.432C55.2531 77.6839 55.0033 77.88 54.7151 77.9983C54.4268 78.1166 54.1113 78.1527 53.8038 78.1023Z\" fill=\"#2F3941\"/>\n<path d=\"M110.025 74.4198C110.678 72.6496 110.893 70.748 110.653 68.8768C110.638 68.6811 110.547 68.4989 110.4 68.3687C110.254 68.2384 110.062 68.1702 109.866 68.1784C109.67 68.1866 109.484 68.2706 109.349 68.4126C109.214 68.5547 109.139 68.7437 109.14 68.94C109.065 70.2357 108.804 71.5138 108.365 72.735C106.798 77.3925 105.109 78.4022 106.039 79.1083C107.147 79.9467 109.469 75.8193 110.025 74.4198Z\" fill=\"#2F3941\"/>\n<path d=\"M111.503 76.7931C111.573 77.5875 111.548 78.3873 111.43 79.1759C111.33 80.4535 110.638 81.1056 111.43 81.5403C112.437 82.0934 113.226 80.0453 113.534 78.9804C113.75 78.1396 113.75 77.2578 113.534 76.417C113.263 75.512 112.292 73.7249 111.503 74.2573C110.859 74.646 111.363 74.7392 111.503 76.7931Z\" fill=\"#2F3941\"/>\n<path d=\"M120.877 66.6591C119.909 65.1331 112.132 71.1257 113.531 72.3953C114.285 73.1739 121.473 67.5975 120.877 66.6591Z\" fill=\"#2F3941\"/>\n<path d=\"M123.463 70.6325C122.918 68.697 115.127 73.1625 116.227 74.6713C116.907 75.6039 123.752 71.3984 123.463 70.6325Z\" fill=\"#2F3941\"/>\n<path d=\"M123.757 75.3177C123.384 73.2742 116.089 76.5597 117.26 78.1778C117.831 78.969 123.911 76.171 123.757 75.3177Z\" fill=\"#2F3941\"/>\n<path d=\"M112.831 86.4373C113.509 85.9601 119.305 82.3663 121.838 81.0794C122.018 81.0003 122.161 80.8549 122.237 80.6733C122.313 80.4917 122.316 80.288 122.245 80.1042C122.165 79.9206 122.016 79.7753 121.831 79.699C121.646 79.6226 121.438 79.6211 121.252 79.6948C116.174 81.3232 114.381 82.6963 111.912 85.4092C111.778 85.53 111.696 85.6978 111.682 85.8778C111.668 86.0578 111.724 86.2363 111.838 86.3763C111.964 86.512 112.137 86.594 112.322 86.6054C112.507 86.6167 112.689 86.5565 112.831 86.4373Z\" fill=\"#2F3941\"/>\n<path d=\"M165.88 26.3973C148.497 15.2964 127.049 13.7588 108.653 25.7073C108.53 27.3541 108.382 29.0009 108.255 30.6523C108.06 33.1938 108.19 35.4697 106.557 37.481C103.721 40.977 98.2929 40.931 93.8953 40.9437L97.55 50.6876C97.6124 50.8576 97.6248 51.0418 97.5857 51.2186C97.5465 51.3953 97.4575 51.5572 97.3292 51.6849C97.2009 51.8126 97.0387 51.9008 96.8617 51.9391C96.6848 51.9774 96.5006 51.9641 96.331 51.9009C93.4873 50.8362 90.7785 49.4413 88.2602 47.7448C82.2572 58.633 79.6054 71.0196 81.5282 82.9785C81.5888 83.2036 81.7244 83.4014 81.9126 83.5391C82.1007 83.6769 82.3302 83.7465 82.5632 83.7363C82.7851 83.7363 91.8655 83.6075 97.2924 83.4385C97.4436 83.4323 97.5908 83.3877 97.7199 83.3088C97.8491 83.2299 97.9561 83.1194 98.0307 82.9877C101.359 77.6781 101.279 76.5051 102.35 76.2521C103.229 76.044 104.057 76.2981 105.044 75.3793C105.839 74.4956 106.42 73.4416 106.743 72.2984C107.443 70.0686 107.457 67.312 108.846 65.7676C109.948 64.5428 110.801 65.3938 111.21 64.3588C113.721 58.0154 117.431 51.7491 123.316 48.1841C135.425 40.8712 152.801 46.9432 155.248 61.746C155.867 65.7766 155.472 69.8979 154.099 73.7377C152.727 77.5776 150.419 81.0151 147.385 83.7398C142.724 88.0546 137.08 91.0549 133.284 96.5795C124.054 109.84 123.317 126.148 124.792 142.12C124.817 142.385 124.94 142.632 125.139 142.81C125.338 142.989 125.596 143.085 125.863 143.081L153.771 142.636C153.916 142.632 154.058 142.599 154.19 142.54C154.323 142.481 154.442 142.397 154.541 142.291C154.641 142.186 154.718 142.062 154.77 141.927C154.822 141.792 154.846 141.648 154.842 141.503C154.635 133.235 151.914 120.712 155.877 112.763C159.955 104.697 169.668 100.841 175.443 93.8552C190.008 76.2441 191.748 42.9194 165.88 26.3973Z\" fill=\"#2F3941\"/>\n<path d=\"M82.1518 42.8877C24.5701 44.4229 19.7689 45.5212 15.3368 44.2539C10.3228 42.8394 9.25787 38.6994 8.98877 33.8096C8.66102 27.8457 8.65642 23.8218 8.73002 20.7272C8.86572 15.0577 9.07502 8.80626 14.6376 7.35496C23.1476 5.13431 97.1374 4.85486 105.446 8.83961C106.279 9.23981 107.799 9.67106 108.551 15.0301C109.295 20.2752 108.658 25.4284 108.257 30.6597C108.061 33.2012 108.191 35.4771 106.558 37.4884C103.722 40.9844 98.2943 40.9384 93.8967 40.9511L97.5514 50.695C97.6138 50.8649 97.6262 51.0492 97.5871 51.226C97.548 51.4027 97.459 51.5646 97.3307 51.6923C97.2024 51.82 97.0401 51.9082 96.8632 51.9465C96.6862 51.9848 96.502 51.9715 96.3324 51.9083C91.0466 49.8863 86.2234 46.8182 82.1518 42.8877ZM95.072 49.3553L91.7497 40.3979C91.6952 40.2639 91.6742 40.1185 91.6887 39.9745C91.7031 39.8306 91.7525 39.6923 91.8325 39.5717C91.9125 39.4511 92.0207 39.3519 92.1478 39.2826C92.2748 39.2134 92.4169 39.1762 92.5616 39.1743C95.3253 39.2954 98.0943 39.1537 100.831 38.7511C106.686 37.5103 106.293 33.9855 106.589 30.5309C107.042 25.2582 107.705 20.442 106.995 15.2428C106.802 13.8283 106.632 10.836 104.634 9.97811C96.3623 6.42116 22.9038 7.38372 15.1873 9.41461C10.8966 10.5428 10.9737 16.3468 10.8679 20.7835C10.7816 24.3968 10.9518 30.0985 11.1634 33.6854C11.5372 40.0219 13.0379 42.6427 20.0966 42.6358C40.3366 42.614 61.8566 41.3708 82.5209 40.9108C82.6504 40.9078 82.7792 40.9308 82.8997 40.9784C83.0202 41.026 83.1299 41.0972 83.2224 41.188C86.6485 44.603 90.6642 47.37 95.0755 49.3553H95.072Z\" fill=\"#2F3941\"/>\n<path d=\"M42.6361 144.643C46.6198 145.003 50.6197 145.153 54.6191 145.091C55.7346 123.101 54.8583 91.3587 55.2401 90.2363C52.0086 93.2619 52.9505 92.5362 48.0446 97.0212C44.3094 94.045 42.9225 91.8612 41.884 91.1114C42.0496 92.435 41.1756 109.846 42.6361 144.643Z\" fill=\"#2F3941\"/>\n<path d=\"M111.393 88.0642C110.118 86.2346 106.831 82.2889 104.97 79.6692C104.866 79.5244 104.728 79.4073 104.568 79.3282C104.408 79.2491 104.231 79.2104 104.052 79.2153C103.874 79.2203 103.699 79.2689 103.544 79.3569C103.389 79.4448 103.257 79.5694 103.161 79.7198C99.6652 85.3548 93.8899 89.9284 87.9525 92.8839C71.9226 100.934 66.5406 91.9788 56.4632 89.5489C56.3181 89.5133 56.167 89.5091 56.0202 89.5366C55.8733 89.5641 55.734 89.6226 55.6117 89.7083C55.4893 89.794 55.3866 89.9049 55.3105 90.0334C55.2345 90.162 55.1867 90.3054 55.1706 90.4539C54.9831 92.3445 55.6444 124.926 54.6209 145.09C50.6214 145.152 46.6215 145.002 42.6379 144.642C41.8938 126.932 41.5626 109.114 41.918 91.2486C41.9236 91.092 41.8929 90.9362 41.8281 90.7935C41.7633 90.6509 41.6662 90.5252 41.5446 90.4264C41.423 90.3276 41.28 90.2584 41.1271 90.2243C40.9742 90.1902 40.8154 90.192 40.6633 90.2297C34.5057 91.8606 28.8486 94.9931 24.1988 99.3469C17.6944 105.38 11.7788 113.103 9.95026 121.706C7.26616 134.304 14.1248 147.313 23.6456 155.837C23.8298 156 24.0685 156.089 24.3146 156.085C24.5606 156.08 24.7963 155.984 24.975 155.815C25.3116 155.484 25.6508 155.154 25.9928 154.825C26.6368 156.111 27.4786 156.749 29.3554 158.21C29.074 158.574 28.7827 158.931 28.4814 159.281C28.338 159.453 28.2503 159.665 28.2298 159.888C28.2093 160.111 28.2569 160.335 28.3664 160.53C32.3442 167.216 31.576 175.983 30.9504 183.682C29.9925 194.528 29.5865 203.692 29.2887 213.812C29.2888 213.988 29.3306 214.161 29.4105 214.317C29.4905 214.473 29.6064 214.608 29.7487 214.711C25.7237 217.735 18.2981 217.283 15.9326 219.214C15.5522 219.487 15.2872 219.892 15.1892 220.35C15.0912 220.809 15.1672 221.287 15.4024 221.692C16.8319 224.315 20.8891 223.94 23.7123 223.812C26.8242 223.649 35.4561 223.558 37.3594 221.319C37.804 220.734 38.1211 220.062 38.29 219.347C38.459 218.632 38.4761 217.889 38.3403 217.167C39.0108 216.454 38.3518 217.062 46.4191 162.221C47.1192 162.288 47.8245 162.278 48.5224 162.191C50.3946 172.223 60.4663 210.51 61.4024 215.281C61.4297 215.433 61.5024 215.573 61.611 215.683C61.7197 215.793 61.859 215.867 62.0108 215.896C61.4599 220.227 61.9176 222.596 66.8063 223.566C69.6398 224.1 72.5228 224.326 75.4048 224.239C81.0628 224.155 81.4653 224.293 82.5889 222.845C84.0839 220.837 82.6452 219.288 80.4913 218.035C76.6491 215.797 71.818 216.54 68.9913 213.75C69.1291 213.673 69.242 213.558 69.3166 213.419C69.3912 213.28 69.4243 213.122 69.4122 212.964C66.5843 188.596 64.0072 168.416 62.8066 146.782C66.9914 146.736 70.8888 146.611 70.8888 146.611V146.547C71.074 146.546 71.2521 146.476 71.3886 146.35C71.525 146.225 71.61 146.053 71.6271 145.869C71.3764 145.869 71.9019 140.19 71.3695 120.783C73.994 120.572 76.606 120.226 79.1952 119.748C94.6052 116.675 104.485 103.336 111.458 89.1636C111.549 88.9917 111.59 88.7985 111.578 88.6048C111.567 88.4111 111.503 88.2242 111.393 88.0642ZM36.0783 220.181C34.7489 221.626 26.2009 221.609 23.618 221.685C22.192 221.739 18.3591 222.079 17.4241 220.833C19.7425 219.295 27.3647 219.299 31.2828 215.283C33.1285 215.906 35.1008 216.573 36.797 217.27C36.9412 218.297 36.6837 219.339 36.0783 220.181ZM36.3807 145.954C36.1756 145.967 35.978 146.036 35.809 146.153C35.64 146.269 35.5061 146.43 35.4216 146.618C34.1203 150.187 32.428 153.601 30.3754 156.797C28.517 154.77 28.5527 154.625 27.3578 153.518C29.5497 151.448 31.8026 149.432 34.4614 147.239C34.626 147.108 34.7388 146.924 34.7795 146.718C34.8202 146.512 34.7861 146.298 34.6833 146.115C33.3884 143.915 33.7633 145.356 28.9828 137.413C29.4359 123.146 29.184 122.348 28.0743 122.954C24.5679 124.847 23.756 127.469 24.1988 130.3C24.9428 134.974 31.4012 144.205 32.764 146.348C30.3559 148.291 27.2037 151.04 24.3103 153.803C20.0743 149.824 16.6725 145.042 14.303 139.736C9.57881 128.959 11.0462 119.804 17.2229 110.628C22.4577 102.855 30.6123 95.3242 39.8514 92.5734C39.6341 109.915 40.2309 128.851 41.1164 145.735L36.3807 145.954ZM27.2118 134.29C25.5799 131.097 24.5518 127.716 27.1704 125.272C26.791 128.267 26.8049 131.298 27.2118 134.29ZM67.6274 214.499C70.7393 218.179 75.8407 217.489 79.4804 219.766C79.8093 219.977 81.1111 220.814 81.064 221.23C81.3802 222.725 67.4422 222.125 65.1687 221.115C63.7726 220.522 63.4839 219.655 63.4092 218.166C63.3866 217.308 63.4143 216.45 63.492 215.596C68.123 214.294 67.2663 214.09 67.6274 214.499ZM78.8709 117.988C76.1029 118.575 73.2601 118.859 70.4173 119.174C70.2021 119.197 70.0032 119.299 69.8597 119.461C69.7163 119.623 69.6387 119.833 69.6422 120.049C69.8492 128.069 70.1965 130.219 70.1965 145.127C66.3612 145.205 60.1443 145.277 56.2815 145.127C57.4154 125.469 57.0945 92.854 57.1313 91.8592C66.3681 94.7032 72.462 102.965 88.915 94.8136C94.9456 91.9246 100.168 87.5892 104.118 82.1935C104.143 82.2188 108.404 87.6307 109.249 88.7979C102.738 102.081 93.3839 114.875 78.8709 117.988Z\" fill=\"#2F3941\"/>\n<path d=\"M154.954 155.082C151.432 151.607 146.676 149.67 141.728 149.696C136.781 149.721 132.045 151.706 128.559 155.217C126.562 157.237 125.06 159.692 124.17 162.389C123.28 165.086 123.026 167.953 123.427 170.765C123.502 171.359 123.617 171.947 123.772 172.526C125.573 171.011 127.454 169.595 129.407 168.284C129.559 168.198 129.734 168.161 129.908 168.179C130.082 168.198 130.245 168.27 130.376 168.386C130.506 168.502 130.597 168.656 130.635 168.826C130.674 168.997 130.658 169.175 130.59 169.335C130.08 170.485 128.689 175.861 127.485 180.239C129.099 182.177 131.089 183.769 133.336 184.916C135.583 186.063 138.039 186.742 140.556 186.912C143.072 187.083 145.598 186.74 147.978 185.906C150.359 185.072 152.546 183.764 154.406 182.06C156.266 180.356 157.762 178.292 158.801 175.994C159.841 173.695 160.403 171.21 160.454 168.688C160.505 166.166 160.043 163.659 159.098 161.321C158.152 158.982 156.741 156.86 154.951 155.082H154.954Z\" fill=\"#2F3941\"/>\n<path d=\"M116.743 178.27C119.124 176.309 127.525 169.316 129.404 168.283C129.556 168.197 129.731 168.16 129.905 168.178C130.078 168.197 130.242 168.269 130.373 168.385C130.503 168.501 130.594 168.655 130.632 168.825C130.671 168.996 130.655 169.174 130.587 169.335C129.841 171.024 127.208 181.736 126.045 185.162C126.615 189.34 126.849 193.556 126.747 197.772C126.67 200.278 126.46 202.697 124.975 204.629C121.065 209.711 99.8493 210.976 94.0763 211.069C90.3043 211.131 86.2667 211.234 83.7033 208.464C81.9358 206.554 81.7184 203.985 81.4148 201.493C80.799 197.045 80.6261 192.548 80.8985 188.066C81.1929 184.205 82.4751 181.258 86.2138 180.378C95.4368 178.211 107.289 178.085 116.743 178.27ZM128.335 171.103C125.418 173.364 117.945 179.772 117.813 179.885C117.608 180.066 117.349 180.176 117.075 180.196C107.983 180.115 95.5909 180.387 86.6933 182.496C83.9885 183.14 83.2813 185.437 83.0754 188.224C82.7021 193.861 83.0745 199.523 84.1829 205.063C84.4404 205.99 84.961 206.822 85.6816 207.459C86.4022 208.097 87.2921 208.512 88.2435 208.654C93.8371 210.016 116.598 207.465 120.767 205.677C121.696 205.337 122.529 204.778 123.197 204.049C123.866 203.319 124.348 202.439 124.605 201.484C125.295 199.199 125.153 193.817 125.049 191.447C124.771 185.122 124.186 184.954 124.827 184.504C125.751 181.561 127.337 174.813 128.335 171.103Z\" fill=\"#2F3941\"/>\n</svg>\n","import NoQuestions from \"images/noData/no-questions\";\n\nconst AddFirstQuestion = ({ children }) => (\n <div className=\"flex h-full flex-col items-center justify-center py-8\">\n <div className=\"mb-6\">\n <NoQuestions />\n </div>\n {children}\n </div>\n);\n\nexport default AddFirstQuestion;\n","import { t } from \"i18next\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\n\nimport { SELECTABLE_KINDS } from \"../constants\";\n\nconst {\n NAME,\n PHONE,\n EMAIL,\n ADDITIONAL_GUESTS,\n TEXT,\n TEXTAREA,\n RICH_TEXT,\n INTEGER,\n DECIMAL,\n STAR_RATING,\n RATING,\n DATE,\n FILE_UPLOAD,\n CAPTCHA,\n} = QUESTION_TYPES;\n\nexport const QUESTIONS_WITH_ADDITIONAL_DATA = [\n ...SELECTABLE_KINDS,\n STAR_RATING,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n];\n\nexport const QUESTIONS_WITH_PLACEHOLDERS = [\n NAME,\n PHONE,\n EMAIL,\n ADDITIONAL_GUESTS,\n TEXT,\n TEXTAREA,\n RICH_TEXT,\n INTEGER,\n DECIMAL,\n DATE,\n];\n\nexport const DEFAULT_PLACEHOLDERS = {\n CHECKBOX: t(\"neetoForm.questions.common.questionFields.field.labelExample\", {\n what: t(\"neetoForm.common.hobbies\"),\n }),\n RADIO: t(\"neetoForm.questions.common.questionFields.field.labelExample\", {\n what: t(\"neetoForm.common.country\"),\n }),\n DROPDOWN: t(\"neetoForm.questions.common.questionFields.field.labelExample\", {\n what: t(\"neetoForm.common.company\"),\n }),\n};\n\nexport const INITIAL_VALUES = { kind: \"\", label: \"\", fieldCode: \"\" };\n","import { useFormikContext } from \"formik\";\nimport { isMetaKeyPressed } from \"neetocommons/react-utils\";\nimport { Textarea } from \"neetoui/formik\";\n\nconst FormikAdaptiveInput = ({ label, name, ...otherProps }) => {\n const { dirty, isValid, submitForm } = useFormikContext();\n\n const handleKeyDown = event => {\n if (event.key !== \"Enter\" || event.shiftKey) return;\n\n event.preventDefault();\n if (isMetaKeyPressed(event)) return;\n\n dirty && isValid && submitForm();\n };\n\n const handleFocus = element => {\n const end = element.value.length;\n element.setSelectionRange(end, end);\n };\n\n return (\n <Textarea\n {...{ label, name }}\n className=\"neeto-form-nano-adaptive-input\"\n resize=\"none\"\n size=\"small\"\n onFocus={({ target }) => handleFocus(target)}\n onKeyDown={handleKeyDown}\n {...otherProps}\n />\n );\n};\n\nexport default FormikAdaptiveInput;\n","import { Typography } from \"neetoui\";\n\nconst Block = ({ title, children, dataCy }) => (\n <div className=\"mt-4 space-y-4\" data-cy={dataCy}>\n <div\n className=\"flex items-center justify-between\"\n data-cy=\"properties-header\"\n >\n <Typography lineHeight=\"normal\" style=\"body1\" weight=\"semibold\">\n {title}\n </Typography>\n </div>\n <div className=\"space-y-4\">{children}</div>\n </div>\n);\n\nexport default Block;\n","import { useEffect, useRef } from \"react\";\n\nimport { modify, path, without } from \"ramda\";\n\nimport { useFetchQuestions } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nconst useUpdateEditorContent = ({\n editorRef,\n fieldName,\n value,\n initialValue,\n fieldCode,\n}) => {\n const initialStateRef = useRef({ language: \"\", value: null });\n\n const { setFormData } = useBuildFormStore.pick();\n const { formId, selectedLanguage: language } =\n useBuildFormStore.pick(\"formState\");\n\n const shouldReset = useBuildFormStore(store =>\n store.formState.richTextFieldsToReset.includes(fieldCode)\n );\n\n const setEditorContent = content =>\n editorRef.current.editor?.commands?.setContent(content);\n\n if (shouldReset) {\n setEditorContent(initialValue);\n setFormData(modify(\"richTextFieldsToReset\", without([fieldCode])));\n }\n\n const { data } = useFetchQuestions({ formId, language });\n\n useEffect(() => {\n if (!data) return;\n\n const pathArray = fieldName.split(\".\").map(part => {\n const parsedPart = parseInt(part);\n\n return isNaN(parsedPart) ? part : parsedPart;\n });\n\n setEditorContent(path(pathArray, data));\n }, [data]);\n\n useEffect(() => {\n if (initialStateRef.current[\"language\"] !== language) {\n initialStateRef.current[\"language\"] = language;\n initialStateRef.current[\"value\"] = null;\n\n return;\n }\n\n if (initialStateRef.current[\"value\"] === null && value !== null) {\n setEditorContent(value);\n initialStateRef.current[\"value\"] = value;\n }\n }, [language, value]);\n};\n\nexport default useUpdateEditorContent;\n","import { useRef } from \"react\";\n\nimport { useField, useFormikContext } from \"formik\";\nimport { Editor as NeetoEditor } from \"neetoeditor\";\n\nimport useUpdateEditorContent from \"../hooks/useUpdateEditorContent\";\nimport { validateEditorContent } from \"../utils\";\n\nconst Editor = () => {\n const editorRef = useRef({ editor: {} });\n\n const {\n values: { fieldCode },\n } = useFormikContext();\n\n const fieldName = \"label\";\n\n const [\n { value },\n { touched, error, initialValue },\n { setTouched, setValue },\n ] = useField({\n name: fieldName,\n validate: validateEditorContent(editorRef),\n });\n\n useUpdateEditorContent({\n editorRef,\n fieldName,\n value,\n initialValue,\n fieldCode,\n });\n\n return (\n <div className=\"w-full cursor-auto\">\n <NeetoEditor\n required\n error={touched ? error : \"\"}\n id=\"editor\"\n initialValue={value}\n name={fieldName}\n ref={editorRef}\n onBlur={() => setTouched(true)}\n onChange={setValue}\n />\n </div>\n );\n};\n\nexport default Editor;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Switch } from \"neetoui/formik\";\n\nconst RequiredSwitch = withT(({ t }) => (\n <div className=\"w-full\">\n <Switch label={t(\"neetoForm.common.required\")} name=\"isRequired\" />\n </div>\n));\n\nexport default RequiredSwitch;\n","import { useEffect } from \"react\";\n\nimport { useField } from \"formik\";\nimport { Input } from \"neetoui/formik\";\n\nconst InputWithMaxLength = ({ maxLength, ...props }) => {\n const [{ value }, , { setValue }] = useField(props);\n\n useEffect(() => {\n if (value && value.length > maxLength) {\n setValue(value.substring(0, maxLength));\n }\n }, [value, maxLength, setValue]);\n\n const shouldShowMaxLength = value && value.length > maxLength - 10;\n\n return <Input {...props} {...(shouldShowMaxLength && { maxLength })} />;\n};\n\nexport default InputWithMaxLength;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Button, Accordion } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport Input from \"components/Common/InputWithMaxLength\";\n\nconst FieldCode = withT(({ helpDocUrl, t }) => (\n <Accordion\n className=\"neeto-form-nano-advanced-properties-accordion\"\n data-cy=\"advanced-properties-card\"\n >\n <Accordion.Item title={t(\"neetoForm.common.advancedProperties\")}>\n <Input\n required\n label={t(\"neetoForm.questions.common.questionFields.field.fieldCode\")}\n name=\"fieldCode\"\n helpText={\n helpDocUrl && (\n <Trans\n i18nKey=\"neetoForm.questions.common.questionFields.field.fieldCodeHelpDescription\"\n components={{\n Link: (\n <Button\n className=\"text-xs\"\n href={helpDocUrl}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n )\n }\n />\n </Accordion.Item>\n </Accordion>\n));\n\nexport default FieldCode;\n","import { useFormikContext } from \"formik\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport { Pane } from \"neetoui\";\nimport { Select, Switch } from \"neetoui/formik\";\nimport { includes, isNil, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FormikAdaptiveInput from \"components/Common/FormikAdaptiveInput\";\n\nimport {\n DEFAULT_PLACEHOLDERS,\n INITIAL_VALUES,\n QUESTIONS_WITH_ADDITIONAL_DATA,\n QUESTIONS_WITH_PLACEHOLDERS,\n} from \"./constants\";\nimport {\n buildDefaultValueForKind,\n buildKindOptions,\n extractKindFromOption,\n getQuestionKind,\n renderAdditionalData,\n} from \"./utils\";\n\nimport Block from \"../commons/Block\";\nimport Editor from \"../commons/Editor\";\nimport RequiredSwitch from \"../commons/RequiredSwitch\";\nimport { QUESTIONS_WITHOUT_FIELD_CODE } from \"../constants\";\nimport { createFieldData } from \"../Form/utils\";\nimport FieldCode from \"../Questions/FieldCode\";\nimport { isRichTextQuestion } from \"../utils\";\n\nconst Form = ({\n questions,\n initialFocusRef,\n isRequiredField,\n isDisabledFieldLabel,\n enableFieldCode,\n allQuestionKinds,\n availableQuestionKinds,\n getActiveKindDetails,\n additionalQuestionKindPattern,\n fieldCodeHelpDocUrl,\n enableDomainRestriction,\n domainRestrictionHelpDocUrl,\n isEdit = false,\n}) => {\n const { t } = useTranslation();\n\n const { values, setValues, setErrors, setTouched } = useFormikContext();\n\n const { kind } = values;\n\n const questionKinds = isEdit ? allQuestionKinds : availableQuestionKinds;\n\n const questionKindUniquenessPattern = mergeLeft(\n isEdit && additionalQuestionKindPattern\n ? additionalQuestionKindPattern(values)\n : {},\n { type: kind }\n );\n\n const [questionKind] = useStateWithDependency(\n getQuestionKind(questionKinds, questionKindUniquenessPattern),\n [kind]\n );\n\n const { questionProps = {} } = questionKind\n ? getActiveKindDetails({ allQuestionKinds, item: questionKind })\n : {};\n\n const isRequired = questionKind && isRequiredField(questionKind);\n const isLabelDisabled = questionKind && isDisabledFieldLabel(questionKind);\n const shouldShowPlaceholder = includes(kind, QUESTIONS_WITH_PLACEHOLDERS);\n const hasAdditionalData = includes(kind, QUESTIONS_WITH_ADDITIONAL_DATA);\n const shouldShowFieldCode =\n enableFieldCode && !includes(kind, QUESTIONS_WITHOUT_FIELD_CODE);\n\n const shouldShowHideSwitch = !includes(kind, QUESTIONS_WITHOUT_FIELD_CODE);\n\n const handleKindChange = option => {\n const data = buildQuestionData(option);\n updateFormState(data);\n };\n\n const buildQuestionData = option => {\n if (isNil(option)) {\n return INITIAL_VALUES;\n }\n\n const { label, value } = option;\n const kind = extractKindFromOption(value);\n const questionKind = getQuestionKind(availableQuestionKinds, {\n type: kind,\n label,\n });\n\n return createFieldData({\n kind: questionKind,\n isRequired,\n questions,\n });\n };\n\n const updateFormState = data => {\n setValues(data);\n setErrors({});\n setTouched({});\n };\n\n return (\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Select\n isClearable\n isSearchable\n defaultValue={buildDefaultValueForKind(questionKind)}\n innerRef={initialFocusRef}\n isDisabled={isEdit}\n name=\"kind\"\n options={buildKindOptions(questionKinds)}\n label={t(\n \"neetoForm.questions.common.questionFields.field.questionType\"\n )}\n onChange={handleKindChange}\n />\n {isRichTextQuestion(kind) ? (\n <Editor {...{ isLabelDisabled }} />\n ) : (\n <div className=\"space-y-6\">\n <div className=\"space-y-4\">\n <FormikAdaptiveInput\n required\n disabled={isLabelDisabled}\n name=\"label\"\n placeholder={DEFAULT_PLACEHOLDERS[kind]}\n label={t(\n \"neetoForm.questions.common.questionFields.field.question\"\n )}\n />\n {shouldShowPlaceholder && (\n <FormikAdaptiveInput\n name=\"placeholder\"\n label={t(\n \"neetoForm.questions.common.questionFields.field.placeholder\"\n )}\n />\n )}\n {hasAdditionalData &&\n renderAdditionalData({\n kind,\n questionProps,\n domainRestrictionHelpDocUrl,\n enableDomainRestriction,\n })}\n </div>\n {!isRequired && (\n <Block\n dataCy=\"settings-card\"\n title={t(\"neetoForm.common.settings\")}\n >\n <RequiredSwitch />\n {shouldShowHideSwitch && (\n <Switch\n label={t(\"neetoForm.common.hideQuestion\")}\n name=\"isHidden\"\n />\n )}\n </Block>\n )}\n {shouldShowFieldCode && (\n <FieldCode helpDocUrl={fieldCodeHelpDocUrl} />\n )}\n </div>\n )}\n </div>\n </Pane.Body>\n );\n};\n\nexport default Form;\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { equals, includes } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\n\nimport {\n QUESTIONS_WITHOUT_FIELD_CODE,\n RESERVED_FIELD_CODES,\n RICH_TEXT_QUESTIONS,\n SELECTABLE_KINDS,\n} from \"../constants\";\n\nconst requiredLabelValidation = (schema, field) =>\n schema.trim().required(t(\"neetoForm.common.fieldReq\", { field }));\n\nconst richTextFieldMissingErrorMessage = kind => {\n const field = equals(kind, QUESTION_TYPES.PARAGRAPH)\n ? t(\"neetoForm.fields.def\")\n : t(\"neetoForm.fields.tcf\");\n\n return t(\"neetoForm.error.fieldCantBeEmpty\", { field });\n};\n\nexport const formValidationSchema = yup.object().shape({\n kind: yup\n .string()\n .trim()\n .required(\n t(\"neetoForm.common.fieldReq\", {\n field: t(\n \"neetoForm.questions.common.questionFields.field.questionType\"\n ),\n })\n ),\n label: yup\n .string()\n .when(\"kind\", (kind, schema) =>\n includes(kind, RICH_TEXT_QUESTIONS)\n ? schema.test(\n \"required\",\n richTextFieldMissingErrorMessage(kind),\n value => !isEditorEmpty(value)\n )\n : requiredLabelValidation(\n schema,\n t(\"neetoForm.questions.common.questionFields.field.question\")\n )\n ),\n fieldCode: yup\n .string()\n .trim()\n .notOneOf(RESERVED_FIELD_CODES, t(\"neetoForm.error.invalidFieldCode\"))\n .when(\"kind\", (kind, schema) =>\n includes(kind, QUESTIONS_WITHOUT_FIELD_CODE)\n ? schema.notRequired()\n : requiredLabelValidation(\n schema,\n t(\"neetoForm.questions.common.questionFields.field.fieldCode\")\n )\n ),\n optionsAttributes: yup.array().when(\"_destroy\", {\n is: true,\n otherwise: schema =>\n schema.when(\"kind\", (kind, schema) =>\n includes(kind, SELECTABLE_KINDS)\n ? schema.of(\n yup.object().shape({\n label: requiredLabelValidation(\n yup.string(),\n t(\"neetoForm.questions.common.questionFields.field.option\")\n ),\n })\n )\n : schema.notRequired()\n ),\n }),\n highestRatingLabel: yup.string().nullable(),\n averageRatingLabel: yup.string().nullable(),\n lowestRatingLabel: yup.string().nullable(),\n});\n","import { findBy } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form } from \"neetoui/formik\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport { INITIAL_VALUES } from \"./constants\";\nimport QuestionForm from \"./Form\";\nimport { formValidationSchema } from \"./validations\";\n\nconst Add = ({\n question,\n onClose,\n questions,\n handleSelect,\n buildRequestArgs,\n isOpen,\n fieldCodeHelpDocUrl,\n domainRestrictionHelpDocUrl,\n ...props\n}) => {\n const { formId, selectedLanguage: language } =\n useBuildFormStore.pick(\"formState\");\n\n const { t } = useTranslation();\n\n const { mutate: createQuestion, isPending: isCreating } = useCreateQuestion(\n formId,\n language,\n {\n onSuccess: () => {\n showThumbsUpToastr();\n onClose();\n },\n }\n );\n\n const handleSubmit = values => {\n if (isCreating || !isOpen) return;\n\n const displayOrder = question\n ? question.displayOrder + 1\n : questions.length;\n\n createQuestion(\n {\n language,\n neetoFormQuestion: mergeLeft({ displayOrder }, values),\n ...buildRequestArgs,\n },\n {\n onSuccess: ({ questions }) => {\n const newQuestion = findBy({ displayOrder }, questions);\n handleSelect(newQuestion);\n },\n }\n );\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"add-question-pane-header\" style=\"h2\">\n {t(\"neetoForm.questions.common.primaryPanel.addQuestion\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: INITIAL_VALUES,\n validationSchema: formValidationSchema,\n onSubmit: handleSubmit,\n }}\n >\n <>\n <QuestionForm\n {...{\n ...props,\n domainRestrictionHelpDocUrl,\n fieldCodeHelpDocUrl,\n question,\n questions,\n }}\n />\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={isCreating}\n />\n </Pane.Footer>\n </>\n </Form>\n </>\n );\n};\n\nexport default Add;\n","import { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport QuestionForm from \"./Form\";\nimport { formValidationSchema } from \"./validations\";\n\nconst Edit = ({\n question,\n isOpen,\n onClose,\n fieldCodeHelpDocUrl,\n domainRestrictionHelpDocUrl,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { selectedLanguage: language } = useBuildFormStore.pick(\"formState\");\n\n const { mutate: updateQuestion, isPending: isUpdating } = useUpdateQuestion(\n question?.formId,\n language\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n if (isUpdating || !isOpen) return;\n\n const payload = { language, neetoFormQuestion: values };\n updateQuestion(\n { questionId: question.id, payload },\n {\n onSuccess: () => {\n showThumbsUpToastr();\n onClose();\n },\n onSettled: () => setSubmitting(false),\n }\n );\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"edit-question-pane-header\" style=\"h2\">\n {t(\"neetoForm.questions.common.editQuestion\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: question,\n validationSchema: formValidationSchema,\n onSubmit: handleSubmit,\n }}\n >\n <>\n <QuestionForm\n {...{\n domainRestrictionHelpDocUrl,\n fieldCodeHelpDocUrl,\n question,\n ...props,\n }}\n isEdit\n />\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={isUpdating}\n />\n </Pane.Footer>\n </>\n </Form>\n </>\n );\n};\n\nexport default Edit;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Radio } from \"neetoui/formik\";\n\nimport { CAPTCHA_TYPES } from \"components/constants\";\n\nconst Captcha = withT(({ t }) => (\n <Radio\n label={t(\"neetoForm.common.captchaType\")}\n labelProps={{ required: true }}\n name=\"variant\"\n >\n <Radio.Item\n label={t(\"neetoForm.common.reCaptchaV2\")}\n value={CAPTCHA_TYPES.RECAPTCHA_V2}\n />\n <Radio.Item\n label={t(\"neetoForm.common.mathCaptcha\")}\n value={CAPTCHA_TYPES.MATH_CAPTCHA}\n />\n </Radio>\n));\n\nexport default Captcha;\n","import classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Label, Typography } from \"neetoui\";\nimport { Switch } from \"neetoui/formik\";\n\nconst SwitchBlock = ({ name, title, className = \"\", ...otherProps }) => (\n <Label\n className={classnames(\"flex items-center justify-start gap-2 \", className)}\n data-cy={`neeto-form-engine-${hyphenate(title)}-toggle-label`}\n >\n <Switch\n {...{ ...otherProps, name }}\n data-cy={`neeto-form-engine-${hyphenate(title)}-switch`}\n />\n <Typography component=\"span\" style=\"body1\">\n {title}\n </Typography>\n </Label>\n);\n\nexport default SwitchBlock;\n","import { t } from \"i18next\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Close } from \"neetoicons\";\nimport { Tag } from \"neetoui\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { components } from \"react-select\";\nimport * as yup from \"yup\";\n\nconst STYLES = {\n border: {\n default: \"1px solid rgb(var(--neeto-ui-gray-400))\",\n error: \"1px solid rgb(var(--neeto-ui-error-800)) !important\",\n },\n color: {\n default: \"rgb(var(--neeto-ui-gray-800))\",\n error: \"rgb(var(--neeto-ui-error-800)) !important\",\n },\n};\n\nconst MultiValueRemove = props => (\n <components.MultiValueRemove\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: `${hyphenize(props.data.label)}-remove-icon`,\n }}\n >\n <Close size={16} />\n </components.MultiValueRemove>\n);\n\nconst ValueContainer = ({ children, ...props }) => {\n const { t } = useTranslation();\n\n const {\n getValue,\n selectProps: { isFocused, visibleDomainsCount },\n } = props;\n const value = getValue();\n const [firstChild, ...rest] = children;\n\n const shouldCollapse = !isFocused && value.length > visibleDomainsCount;\n\n return (\n <components.ValueContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-domain-input-container\",\n }}\n >\n {shouldCollapse ? firstChild.slice(0, visibleDomainsCount) : firstChild}\n {shouldCollapse && (\n <Tag\n style=\"secondary\"\n label={t(\"neetoForm.common.remainingItemsCount\", {\n count: value.length - visibleDomainsCount,\n })}\n />\n )}\n {rest}\n </components.ValueContainer>\n );\n};\n\nconst ClearIndicator = props => (\n <components.ClearIndicator\n {...props}\n innerProps={{ ...props.innerProps, [\"data-cy\"]: \"clear-all-button\" }}\n >\n <Close className=\"cursor-pointer\" size={16} />\n </components.ClearIndicator>\n);\n\nexport const ERROR_MESSAGE_DELIMITER = \". \";\nexport const DELIMITER_KEYS = [\"Enter\", \"Tab\", \",\", \" \"];\nexport const DOMAIN_SEPARATION_REGEX = /[^\\s,]+/g;\nexport const FLEXIBLE_DOMAIN_REGEX = /^[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)+$/;\n\nexport const VALID_DOMAIN_REGEX =\n /^(?:[a-zA-Z0-9-]{1,63}\\.)+[a-zA-Z0-9-]{2,63}$/;\n\nexport const DOMAIN_VALIDATION_SCHEMA = yup\n .string()\n .required(\n t(\"neetoForm.error.requiredField\", {\n label: t(\"neetoForm.common.domain\"),\n })\n )\n .test(\"verify domains\", t(\"neetoForm.error.invalidDomain\"), domain =>\n VALID_DOMAIN_REGEX.test(domain)\n );\n\nexport const CUSTOM_STYLES = {\n input: assoc(\"overflow\", \"hidden\"),\n multiValue: (styles, { data: { valid } }) => ({\n ...styles,\n border: valid ? STYLES.border.default : STYLES.border.error,\n color: valid ? STYLES.color.default : STYLES.color.error,\n }),\n};\n\nexport const CUSTOM_COMPONENTS = {\n DropdownIndicator: null,\n MultiValueRemove,\n ValueContainer,\n ClearIndicator,\n};\n","import { filter, isNotNil, join, map, pipe, pluck, uniq } from \"ramda\";\n\nimport { ERROR_MESSAGE_DELIMITER, DOMAIN_VALIDATION_SCHEMA } from \"./constants\";\n\nconst removeDuplicateErrorMessages = pipe(\n filter(isNotNil),\n uniq,\n join(ERROR_MESSAGE_DELIMITER)\n);\n\nexport const formatDomainInputOptions = domain => {\n let isValid;\n\n try {\n DOMAIN_VALIDATION_SCHEMA.validateSync(domain);\n isValid = true;\n } catch {\n isValid = false;\n }\n\n return { label: domain, value: domain, valid: isValid };\n};\n\nexport const pruneDuplicates = pipe(\n pluck(\"value\"),\n uniq,\n map(formatDomainInputOptions)\n);\n\nexport const getValidDomains = domains =>\n domains.filter(domain => domain?.valid);\n\nexport const getValidDomainsCount = domains => getValidDomains(domains).length;\n\nexport const formatErrorMessage = error => {\n if (typeof error === \"string\") return error;\n\n return removeDuplicateErrorMessages(error);\n};\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Label } from \"neetoui\";\nimport { mergeLeft, filter, includes, test } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport CreatableSelect from \"react-select/creatable\";\n\nimport {\n CUSTOM_COMPONENTS,\n CUSTOM_STYLES,\n DELIMITER_KEYS,\n DOMAIN_SEPARATION_REGEX,\n ERROR_MESSAGE_DELIMITER,\n FLEXIBLE_DOMAIN_REGEX,\n} from \"./constants\";\nimport {\n formatDomainInputOptions,\n formatErrorMessage,\n getValidDomainsCount,\n pruneDuplicates,\n getValidDomains,\n} from \"./utils\";\n\nconst MultiDomainInput = ({\n label = \"\",\n value = [],\n onChange = noop,\n error = \"\",\n onBlur = noop,\n ...otherProps\n}) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n\n const { t } = useTranslation();\n\n const handleFilterDomains = () => onChange(getValidDomains(value));\n\n const handleDomainChange = () => {\n const inputValues = inputValue.match(DOMAIN_SEPARATION_REGEX) || [];\n const domainMatches = filter(test(FLEXIBLE_DOMAIN_REGEX), inputValues);\n\n const domains = domainMatches.map(formatDomainInputOptions);\n onChange(pruneDuplicates([...value, ...domains]));\n setInputValue(\"\");\n };\n\n const handleKeyDown = event => {\n if (!inputValue) return;\n\n if (includes(event.key, DELIMITER_KEYS)) {\n handleDomainChange();\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n const onCreateOption = input => {\n const domain = formatDomainInputOptions(input);\n onChange(pruneDuplicates([...value, domain]));\n };\n\n const handleBlur = event => {\n inputValue ? handleDomainChange() : onBlur(event);\n setIsFocused(false);\n };\n\n const isFilterDomainsLinkVisible = value.length > getValidDomainsCount(value);\n\n return (\n <div className=\"neeto-ui-input__wrapper neeto-ui-email-input__wrapper\">\n <div className=\"neeto-ui-email-input__label-wrapper\">\n <Label\n className=\"neeto-ui-email-input__label\"\n data-cy={`${hyphenize(label)}-input-label`}\n >\n {label}\n </Label>\n </div>\n <CreatableSelect\n isMulti\n required\n classNamePrefix=\"neeto-ui-react-select\"\n components={CUSTOM_COMPONENTS}\n menuIsOpen={false}\n visibleDomainsCount={3}\n className={classnames(\n \"neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select\",\n { \"neeto-ui-react-select__container--error\": !!error }\n )}\n styles={{\n ...CUSTOM_STYLES,\n control: mergeLeft({\n maxHeight: \"200px\",\n overflowY: \"auto\",\n }),\n }}\n onBlur={handleBlur}\n onFocus={() => setIsFocused(true)}\n onInputChange={setInputValue}\n onKeyDown={handleKeyDown}\n {...{\n inputValue,\n isFocused,\n onChange,\n onCreateOption,\n value,\n ...otherProps,\n }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n >\n {formatErrorMessage(error)}\n {isFilterDomainsLinkVisible && (\n <span\n className=\"neeto-ui-font-semibold cursor-pointer\"\n onClick={handleFilterDomains}\n >\n {ERROR_MESSAGE_DELIMITER}\n {t(\"neetoForm.domainRestriction.removeInvalidDomains\")}\n </span>\n )}\n </p>\n )}\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n >\n {t(\"neetoForm.domainRestriction.helpText\")}\n </p>\n </div>\n );\n};\n\nexport default MultiDomainInput;\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { VALID_DOMAIN_REGEX } from \"./MultiDomainInput/constants\";\n\nexport const validateDomains = value => {\n const schema = yup\n .array()\n .of(\n yup\n .string()\n .test(\"verify domains\", t(\"neetoForm.error.invalidDomain\"), domain =>\n VALID_DOMAIN_REGEX.test(domain)\n )\n )\n .ensure()\n .compact()\n .min(\n 1,\n t(\"neetoForm.error.minOneEntity\", {\n entity: t(\"neetoForm.common.domain\"),\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);\n resolve(undefined);\n } catch (err) {\n resolve(err.message);\n }\n });\n};\n","import { useField } from \"formik\";\nimport { nullSafe } from \"neetocist\";\nimport { map, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport MultiDomainInput from \"./MultiDomainInput\";\nimport { formatDomainInputOptions } from \"./MultiDomainInput/utils\";\nimport { validateDomains } from \"./utils\";\n\nconst RestrictedDomains = () => {\n const [{ value: domains = [] }, meta, { setValue, setTouched }] = useField({\n name: \"restrictedDomains\",\n validate: validateDomains,\n });\n const { t } = useTranslation();\n\n const formattedDomains = map(formatDomainInputOptions, domains);\n\n return (\n <div className=\"mb-4\">\n <MultiDomainInput\n error={meta.touched ? meta.error : \"\"}\n label={t(\"neetoForm.domainRestriction.description\")}\n name=\"restrictedDomains\"\n value={formattedDomains}\n onBlur={() => setTouched(true)}\n onChange={value => setValue(nullSafe(pluck)(\"value\", value))}\n />\n </div>\n );\n};\n\nexport default RestrictedDomains;\n","import { useFormikContext } from \"formik\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SwitchBlock from \"components/BuildForm/commons/SwitchBlock\";\n\nimport RestrictedDomains from \"./RestrictedDomains\";\n\nconst Email = ({ domainRestrictionHelpDocUrl = \"\" }) => {\n const {\n values: { isDomainRestrictionEnabled = false },\n } = useFormikContext();\n\n const { t } = useTranslation();\n\n return (\n <div className=\"flex flex-col space-y-4\">\n <SwitchBlock\n className=\"mt-4\"\n name=\"isDomainRestrictionEnabled\"\n title={\n <div className=\"flex gap-2\">\n {t(\"neetoForm.domainRestriction.label\")}\n <HelpPopover\n description={t(\"neetoForm.domainRestriction.popoverDescription\")}\n popoverProps={{ position: \"top\" }}\n {...(domainRestrictionHelpDocUrl && {\n helpLinkProps: { href: domainRestrictionHelpDocUrl },\n })}\n />\n </div>\n }\n />\n {isDomainRestrictionEnabled && <RestrictedDomains />}\n </div>\n );\n};\n\nexport default Email;\n","import { Checkbox } from \"neetoui\";\n\nconst FileGroup = ({ name, label, checked, handleAllowedFileTypesChange }) => (\n <Checkbox\n {...{ checked, label, name }}\n data-cy={`neeto-form-engine-file-type-${name}`}\n id={name}\n onChange={handleAllowedFileTypesChange}\n />\n);\n\nexport default FileGroup;\n","import { difference, isEmpty } from \"ramda\";\n\nimport { FILE_TYPES_MAP } from \"../constants\";\n\nconst buildFileTypesList = fileTypes => (fileTypes ?? \"\").split(\", \");\n\nexport const getAllowedFileTypes = ({ type, isChecked, allowedFileTypes }) => {\n const fileTypes = buildFileTypesList(allowedFileTypes);\n if (isChecked) {\n const fileTypesSet = new Set([...FILE_TYPES_MAP[type], ...fileTypes]);\n\n return Array.from(fileTypesSet).join(\", \");\n }\n const newFileTypes = difference(fileTypes, FILE_TYPES_MAP[type]);\n\n return newFileTypes.join(\", \");\n};\n\nexport const isFileTypeEnabled = (type, allowedFileTypes) => {\n const fileTypes = buildFileTypesList(allowedFileTypes);\n\n return isEmpty(difference(FILE_TYPES_MAP[type], fileTypes));\n};\n","import { useFormikContext } from \"formik\";\nimport { Typography } from \"neetoui\";\nimport { Checkbox } from \"neetoui/formik\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FileGroup from \"./FileGroup\";\nimport { getAllowedFileTypes, isFileTypeEnabled } from \"./utils\";\n\nimport { FILE_GROUPS } from \"../constants\";\n\nconst FileUpload = () => {\n const { t } = useTranslation();\n\n const { values, setFieldValue } = useFormikContext();\n\n const allowedFileTypes = prop(\"allowedFileTypes\", values);\n\n const handleAllowedFileTypesChange = ({\n target: { name: fileType, checked },\n }) =>\n setFieldValue(\n \"allowedFileTypes\",\n getAllowedFileTypes({\n type: fileType,\n isChecked: checked,\n allowedFileTypes,\n })\n );\n\n return (\n <>\n <div className=\"w-full\">\n <Checkbox\n id=\"multipleFilesAllowed\"\n label={t(\"neetoForm.fileUpload.enableMultipleFilesUpload\")}\n name=\"multipleFilesAllowed\"\n />\n </div>\n <div className=\"flex flex-col space-y-3\">\n <Typography style=\"body1\" weight=\"semibold\">\n {t(\"neetoForm.fileUpload.fileTypes\")}\n </Typography>\n <div className=\"flex space-x-4\">\n {FILE_GROUPS.map(({ name, label }) => (\n <FileGroup\n {...{ handleAllowedFileTypesChange, label, name }}\n checked={isFileTypeEnabled(name, allowedFileTypes)}\n key={name}\n />\n ))}\n </div>\n </div>\n </>\n );\n};\n\nexport default FileUpload;\n","const defaultConfig = {\n strict: true,\n matchKey: \"value\",\n};\n\nconst findOptionByValue = (value, options = [], config = {}) => {\n const configObject = { ...defaultConfig, ...config };\n const { matchKey, strict } = configObject;\n\n return options.find(option =>\n // eslint-disable-next-line eqeqeq\n strict ? option[matchKey] === value : option[matchKey] == value\n );\n};\n\nconst filterOptionsByValues = (values = [], options = [], config = {}) => {\n const configObject = { ...defaultConfig, ...config };\n const { matchKey, strict } = configObject;\n\n return options.filter(option =>\n values.some(value =>\n // eslint-disable-next-line eqeqeq\n strict ? option[matchKey] === value : option[matchKey] == value\n )\n );\n};\n\nconst destroyFromList = (items, index) => {\n const itemToRemove = items[index];\n\n if (itemToRemove) {\n const nextItems = [...items];\n nextItems.splice(index, 1);\n if (itemToRemove.id) {\n nextItems.push({ ...itemToRemove, _destroy: true });\n }\n\n return nextItems;\n }\n\n return items;\n};\n\nconst insertToList = (items, item, index) => {\n const nextItems = [...(items ?? [])];\n nextItems.splice(index, 0, item);\n\n return nextItems;\n};\n\nconst pushToList = (items, item) => {\n const nextItems = [...(items ?? [])];\n nextItems.push(item);\n\n return nextItems;\n};\n\nconst formHelpers = {\n findOptionByValue,\n filterOptionsByValues,\n destroyFromList,\n insertToList,\n pushToList,\n};\n\nexport default formHelpers;\n","import classNames from \"classnames\";\nimport { FieldArray, useField } from \"formik\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport formHelpers from \"common/helpers/form\";\nimport Input from \"components/Common/InputWithMaxLength\";\nimport useBuildFormStore from \"src/stores/buildForm\";\nimport { isFunction } from \"utils\";\n\nimport { MINIMUM_OPTIONS } from \"../../constants\";\n\nconst Options = ({ questionProps }) => {\n const { t } = useTranslation();\n\n const { selectedLanguage } = useBuildFormStore.pick(\"formState\");\n\n const [{ value: optionsAttributes }, _, { setValue: setOptionsAttributes }] =\n useField(\"optionsAttributes\");\n\n const {\n optionLabelProps = {},\n freezeOptions = false,\n disableAddOption = false,\n disableRemoveOption = false,\n } = questionProps || {};\n\n const handleRemoveOption = index => {\n const nextOptions = formHelpers.destroyFromList(optionsAttributes, index);\n setOptionsAttributes(nextOptions);\n };\n\n const isManageOptionDisabled = isFunction(freezeOptions)\n ? freezeOptions(selectedLanguage)\n : freezeOptions;\n\n const isAddOptionDisabled = disableAddOption || isManageOptionDisabled;\n\n const isRemoveOptionDisabled = disableRemoveOption || isManageOptionDisabled;\n\n return (\n <div className=\"w-full\">\n <FieldArray name=\"optionsAttributes\">\n {({ handlePush }) => (\n <>\n <Label className=\"mb-1 block\" {...optionLabelProps}>\n {t(\"neetoForm.questions.common.questionFields.field.options\")}\n </Label>\n <div className=\"flex w-2/3 flex-col space-y-2\">\n {optionsAttributes?.map(\n (option, index) =>\n !option._destroy && (\n <div\n className=\"flex items-start gap-1\"\n data-cy={`neeto-form-engine-option-${index}`}\n key={`question-option-${option.id ?? index}`}\n >\n <Input\n required\n disabled={isManageOptionDisabled}\n name={`optionsAttributes.${index}.label`}\n placeholder={t(\n \"neetoForm.questions.common.questionFields.field.numberedOption\",\n { number: index + 1 }\n )}\n />\n {!isRemoveOptionDisabled && (\n <Button\n data-cy=\"neeto-form-engine-delete-option-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n className={classNames({\n invisible: index < MINIMUM_OPTIONS,\n })}\n tooltipProps={{\n position: \"top\",\n content: t(\"neetoForm.common.delete\"),\n }}\n onClick={() => handleRemoveOption(index)}\n />\n )}\n </div>\n )\n )}\n </div>\n {!isAddOptionDisabled && (\n <div className=\"mt-3 w-full\">\n <Button\n data-cy=\"neeto-form-engine-add-option-button\"\n icon={Plus}\n iconPosition=\"left\"\n size=\"small\"\n style=\"text\"\n label={t(\n \"neetoForm.questions.common.questionFields.field.addOption\"\n )}\n onClick={handlePush({ label: \"\" })}\n />\n </div>\n )}\n </>\n )}\n </FieldArray>\n </div>\n );\n};\n\nexport default Options;\n","import { hyphenate } from \"neetocist\";\n\nimport Input from \"components/Common/InputWithMaxLength\";\n\nimport { RATING_OPTIONS } from \"./constants\";\n\nconst RatingItem = ({ children }) => (\n <div className=\"flex w-16 flex-col items-center gap-3\">{children}</div>\n);\n\nconst Rating = () => (\n <div className=\"flex flex-col\">\n <div className=\"w-full\">\n <div className=\"flex gap-6\">\n {RATING_OPTIONS.map(({ icon: Icon, name, color }) => (\n <RatingItem key={name}>\n <Icon {...{ color }} size={48} />\n <Input\n {...{ name }}\n data-cy={`neeto-form-engine-${hyphenate(name)}`}\n />\n </RatingItem>\n ))}\n </div>\n </div>\n </div>\n);\n\nexport default Rating;\n","import classNames from \"classnames\";\nimport { useField, useFormikContext } from \"formik\";\nimport { Label } from \"neetoui\";\nimport { Select } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n STAR_RATING_ICONS_MAP,\n STAR_RATING_MAX_VALUE_OPTIONS,\n STAR_RATING_MIN_VALUE_OPTIONS,\n} from \"./constants\";\n\nconst StarRating = () => {\n const { t } = useTranslation();\n\n const { setFieldValue } = useFormikContext();\n\n const [{ value: iconType }, _, { setValue: setIconType }] =\n useField(\"iconType\");\n\n return (\n <>\n <div className=\"flex space-x-4\">\n <Select\n className=\"w-1/2\"\n data-cy=\"neeto-form-engine-star-rating-min-value\"\n label={t(\"neetoForm.common.start\")}\n name=\"minValue\"\n options={STAR_RATING_MIN_VALUE_OPTIONS}\n onChange={option => setFieldValue(\"minValue\", option?.value)}\n />\n <Select\n className=\"w-1/2\"\n data-cy=\"neeto-form-engine-star-rating-max-value\"\n label={t(\"neetoForm.common.end\")}\n name=\"maxValue\"\n options={STAR_RATING_MAX_VALUE_OPTIONS}\n onChange={option => setFieldValue(\"maxValue\", option?.value)}\n />\n </div>\n <Label>{t(\"neetoForm.common.shape\")}</Label>\n <div className=\"flex gap-2\">\n {Object.entries(STAR_RATING_ICONS_MAP).map(([name, IconType]) => {\n const isActive = name === iconType;\n\n return (\n <div\n data-cy={`neeto-form-engine-rating-icon-${name}`}\n key={name}\n className={classNames(\n \"flex h-10 w-10 items-center justify-center gap-2\",\n \"neeto-ui-border-gray-800 neeto-ui-rounded-full cursor-pointer border\",\n \"transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-text-gray-800 neeto-ui-bg-gray-200\": !isActive,\n \"neeto-ui-text-white neeto-ui-bg-gray-800\": isActive,\n }\n )}\n onClick={() => setIconType(name)}\n >\n <IconType />\n </div>\n );\n })}\n </div>\n </>\n );\n};\n\nexport default StarRating;\n","import { findBy, isPresent, slugify } from \"neetocist\";\nimport { assoc, equals, last, pipe, split } from \"ramda\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\n\nimport Add from \"./Add\";\nimport Edit from \"./Edit\";\n\nimport { QUESTION_ACTIONS } from \"../constants\";\nimport Captcha from \"../Questions/Fields/Captcha\";\nimport Email from \"../Questions/Fields/Email\";\nimport FileUpload from \"../Questions/Fields/FileUpload\";\nimport Options from \"../Questions/Fields/Options\";\nimport Rating from \"../Questions/Fields/Rating\";\nimport StarRating from \"../Questions/Fields/StarRating\";\n\nconst {\n CHECKBOX,\n RADIO,\n DROPDOWN,\n STAR_RATING,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n} = QUESTION_TYPES;\n\nconst transformValueForOption = ({ label, type }) =>\n `${slugify(label)}-${type}`;\n\nexport const renderAdditionalData = ({\n kind,\n questionProps,\n domainRestrictionHelpDocUrl,\n enableDomainRestriction,\n}) => {\n switch (kind) {\n case CHECKBOX:\n case RADIO:\n case DROPDOWN:\n return <Options {...{ questionProps }} />;\n case RATING:\n return <Rating />;\n case STAR_RATING:\n return <StarRating />;\n case FILE_UPLOAD:\n return <FileUpload />;\n case CAPTCHA:\n return <Captcha />;\n case EMAIL:\n return enableDomainRestriction ? (\n <Email {...{ domainRestrictionHelpDocUrl }} />\n ) : null;\n default:\n return null;\n }\n};\n\nexport const resolveActionComponent = action =>\n equals(action, QUESTION_ACTIONS.ADD) ? Add : Edit;\n\nexport const getQuestionKind = (questionKinds, pattern) => {\n const questionKind = findBy(pattern, questionKinds);\n\n return questionKind ? assoc(\"kind\", questionKind.type, questionKind) : null;\n};\n\nexport const buildKindOptions = kinds =>\n kinds.map(({ label, type }) => ({\n label,\n value: transformValueForOption({ label, type }),\n }));\n\nexport const extractKindFromOption = pipe(split(\"-\"), last);\n\nexport const buildDefaultValueForKind = questionKind =>\n isPresent(questionKind)\n ? { value: transformValueForOption(questionKind) }\n : undefined;\n","import { useRef } from \"react\";\n\nimport { Pane } from \"neetoui\";\n\nimport { resolveActionComponent } from \"./utils\";\n\nconst ManageQuestionPane = ({\n isOpen,\n onClose,\n action,\n question,\n availableQuestionKinds,\n fieldCodeHelpDocUrl,\n domainRestrictionHelpDocUrl,\n ...props\n}) => {\n const initialFocusRef = useRef(null);\n\n const Component = resolveActionComponent(action);\n\n return (\n <Pane {...{ initialFocusRef, isOpen, onClose }}>\n <Component\n {...{\n availableQuestionKinds,\n domainRestrictionHelpDocUrl,\n fieldCodeHelpDocUrl,\n initialFocusRef,\n isOpen,\n onClose,\n question,\n ...props,\n }}\n />\n </Pane>\n );\n};\n\nexport default ManageQuestionPane;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Plus } from \"neetoicons\";\nimport { Button, Tooltip } from \"neetoui\";\n\nconst AddQuestion = withT(\n ({ t, onAdd, disabledAddButtonTooltipProps, isDisabled }) => (\n <Tooltip\n disabled={!isDisabled}\n position=\"top\"\n content={\n disabledAddButtonTooltipProps?.content ||\n t(\"neetoForm.questions.common.primaryPanel.noQuestionLeft\")\n }\n >\n <span>\n <Button\n data-cy=\"neeto-form-engine-add-question\"\n disabled={isDisabled}\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoForm.questions.common.primaryPanel.addQuestion\")}\n style=\"link\"\n onClick={onAdd}\n />\n </span>\n </Tooltip>\n )\n);\n\nexport default AddQuestion;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { DragDropContext } from \"@hello-pangea/dnd\";\nimport { Form as FormikForm, useFormikContext } from \"formik\";\nimport { filterBy, findBy } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { ActionBlock } from \"neetoui/formik\";\nimport { __, includes, isEmpty, mergeLeft, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport DeleteAlert from \"./DeleteAlert\";\nimport Overview from \"./Overview\";\nimport Questions from \"./Questions\";\nimport {\n handleFieldDragEnd,\n getAvailableQuestionKinds,\n duplicateFieldData,\n formatQuestionAttributesForClone,\n} from \"./utils\";\n\nimport AddFirstQuestion from \"../AddFirstQuestion\";\nimport { QUESTION_ACTIONS, RICH_TEXT_QUESTIONS } from \"../constants\";\nimport ManageQuestionPane from \"../ManageQuestionPane\";\nimport AddQuestion from \"../Questions/AddQuestion\";\n\nconst Form = ({\n questionKinds,\n onValueChange,\n formId,\n isDeletable,\n isRequiredField,\n submitButtonProps,\n cancelButtonProps,\n isKindAlreadyActive,\n getActiveKindDetails,\n isDisabledFieldLabel,\n disabledAddButtonTooltipProps,\n enableFieldCode,\n isFormEnabled,\n savedTitle,\n formTitle,\n formDescription,\n selectedLanguage,\n availableLanguages,\n onLanguageChange,\n additionalActionOptions,\n isReordering,\n additionalQuestionKindPattern,\n showActionBlock,\n buildRequestArgs,\n fieldCodeHelpDocUrl,\n enableDomainRestriction,\n domainRestrictionHelpDocUrl,\n ...formDomProps\n}) => {\n const containerRef = useRef();\n\n const { t } = useTranslation();\n const formikContext = useFormikContext();\n const [selectedQuestion, setSelectedQuestion] = useState(null);\n const [selectedAction, setSelectedAction] = useState(\"\");\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isManageQuestionPaneOpen, setIsManageQuestionPaneOpen] =\n useState(false);\n\n const {\n values,\n setFieldValue,\n dirty,\n isSubmitting,\n isValid,\n errors,\n submitForm,\n resetForm,\n } = formikContext;\n\n const setFormData = useBuildFormStore(prop(\"setFormData\"));\n\n const { mutate: createQuestion } = useCreateQuestion(\n formId,\n selectedLanguage,\n { onSuccess: showThumbsUpToastr }\n );\n\n useEffect(() => {\n setFormData({\n formId,\n enabled: isFormEnabled,\n title: savedTitle,\n values,\n dirty,\n isSubmitting,\n isValid,\n errors,\n submitForm,\n resetForm,\n selectedLanguage,\n });\n }, [\n formId,\n isFormEnabled,\n savedTitle,\n setFormData,\n values,\n dirty,\n isSubmitting,\n isValid,\n errors,\n submitForm,\n resetForm,\n selectedLanguage,\n ]);\n\n const { questions } = values;\n\n const handleSelect = question => {\n setSelectedQuestion(question);\n };\n\n const handleAdd = () => {\n setSelectedAction(QUESTION_ACTIONS.ADD);\n setIsManageQuestionPaneOpen(true);\n };\n\n const handleEdit = () => {\n setSelectedAction(QUESTION_ACTIONS.EDIT);\n setIsManageQuestionPaneOpen(true);\n };\n\n const handleClone = () => {\n const values = duplicateFieldData({\n item: selectedQuestion,\n questionKinds: availableQuestionKinds,\n questions,\n });\n const displayOrder = selectedQuestion.displayOrder + 1;\n const attributes = mergeLeft({ displayOrder }, values);\n\n const payload = {\n language: selectedLanguage,\n neetoFormQuestion: formatQuestionAttributesForClone(attributes),\n ...buildRequestArgs,\n };\n\n createQuestion(payload, {\n onSuccess: ({ questions }) => {\n const newQuestion = findBy({ displayOrder }, questions);\n handleSelect(newQuestion);\n },\n });\n };\n\n const handleDelete = () => {\n setIsDeleteAlertOpen(true);\n };\n\n useOnClickOutside(containerRef, () => handleSelect(null), {\n enabled: !(isDeleteAlertOpen || isManageQuestionPaneOpen),\n });\n\n useEffect(() => {\n onValueChange?.(questions);\n }, [questions]);\n\n const availableQuestionKinds = getAvailableQuestionKinds({\n allQuestionKinds: questionKinds,\n activeQuestions: questions,\n isKindAlreadyActive,\n });\n\n const hasActiveQuestions =\n questions &&\n questions.length &&\n questions.some(question => question._destroy !== true);\n\n const handleLanguageChange = code => {\n resetForm();\n onLanguageChange(code);\n };\n\n const richTextQuestions = filterBy(\n { kind: includes(__, RICH_TEXT_QUESTIONS) },\n questions\n );\n\n const resetFormData = () => {\n resetForm();\n setFormData({\n richTextFieldsToReset: pluck(\"fieldCode\", richTextQuestions),\n });\n };\n\n return (\n <>\n <DeleteAlert\n {...{ handleSelect, selectedQuestion }}\n isOpen={isDeleteAlertOpen}\n languagesCount={availableLanguages.length}\n onClose={() => setIsDeleteAlertOpen(false)}\n />\n <FormikForm\n className=\"neeto-form-nano-form-wrapper flex h-full flex-col\"\n {...formDomProps}\n noValidate\n >\n {formTitle && (\n <Overview\n {...{\n additionalActionOptions,\n availableLanguages,\n selectedLanguage,\n }}\n description={formDescription}\n title={formTitle}\n onLanguageChange={handleLanguageChange}\n />\n )}\n <div className=\"neeto-form-nano-form-wrapper__body min-h-0 w-full flex-grow space-y-6 overflow-y-auto px-6 pb-6\">\n {hasActiveQuestions ? (\n <div className=\"space-y-6\" ref={containerRef}>\n <DragDropContext\n onDragEnd={({ source, destination }) =>\n handleFieldDragEnd({\n source,\n destination,\n items: questions,\n setValue: setFieldValue,\n })\n }\n >\n <Questions\n {...{\n getActiveKindDetails,\n isDeletable,\n questions,\n selectedQuestion,\n }}\n allQuestionKinds={questionKinds}\n onClone={handleClone}\n onDelete={handleDelete}\n onEdit={handleEdit}\n onSelect={handleSelect}\n />\n </DragDropContext>\n <div className=\"mb-8 w-full\">\n <AddQuestion\n {...{ disabledAddButtonTooltipProps }}\n isDisabled={isEmpty(availableQuestionKinds)}\n onAdd={handleAdd}\n />\n </div>\n </div>\n ) : (\n <AddFirstQuestion>\n <AddQuestion\n {...{ disabledAddButtonTooltipProps }}\n isDisabled={isEmpty(availableQuestionKinds)}\n onAdd={handleAdd}\n />\n </AddFirstQuestion>\n )}\n </div>\n {(showActionBlock || dirty) && (\n <div className=\"neeto-ui-border-gray-300 neeto-form-nano-form-wrapper__footer flex flex-shrink-0 justify-end border-t px-6 py-4\">\n <ActionBlock\n {...{ submitButtonProps }}\n isSubmitting={isReordering}\n cancelButtonProps={{\n label: t(\"neetoForm.common.reset\"),\n onClick: resetFormData,\n ...cancelButtonProps,\n }}\n />\n </div>\n )}\n <ManageQuestionPane\n {...{\n additionalQuestionKindPattern,\n availableQuestionKinds,\n buildRequestArgs,\n domainRestrictionHelpDocUrl,\n enableDomainRestriction,\n enableFieldCode,\n fieldCodeHelpDocUrl,\n getActiveKindDetails,\n handleSelect,\n isDisabledFieldLabel,\n isRequiredField,\n questions,\n }}\n action={selectedAction}\n allQuestionKinds={questionKinds}\n isOpen={isManageQuestionPaneOpen}\n question={selectedQuestion}\n onClose={() => setIsManageQuestionPaneOpen(false)}\n />\n </FormikForm>\n </>\n );\n};\n\nexport default Form;\n","import { useEffect } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport classNames from \"classnames\";\nimport { Formik } from \"formik\";\nimport { noop, removeBy } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { assoc, concat, isEmpty, isNil } from \"ramda\";\n\nimport { QUERY_KEYS } from \"common/constants\";\nimport { QUESTION_KIND } from \"components/ExternalForm/constants\";\nimport { useFetchQuestions, useReorderQuestions } from \"hooks/useFormApi\";\n\nimport {\n DEFAULT_AVAILABLE_LANGUAGES,\n MANDATORY_KINDS,\n QUESTIONS_INITIAL_VALUE,\n} from \"./constants\";\nimport Form from \"./Form\";\nimport { isQuestionKindAlreadyActive } from \"./Form/utils\";\nimport { QUESTION_KINDS } from \"./Questions/constants\";\nimport { getActiveQuestionKindDetails } from \"./Questions/utils\";\nimport { buildReorderPayload } from \"./utils\";\n\nconst BuildForm = ({\n id,\n onUpdate,\n buildRequestArgs,\n nonRemovableFields = [],\n requiredFields = [],\n formDomProps,\n showActionBlock = false,\n submitButtonProps,\n cancelButtonProps,\n questionKinds,\n isKindAlreadyActive = isQuestionKindAlreadyActive,\n getActiveKindDetails = getActiveQuestionKindDetails,\n isQuestionDeletable,\n isFieldRequired,\n isFieldLabelDisabled,\n showLoader = false,\n kindUniqueOn = [\"type\"],\n allowAdditionalGuests = false,\n disabledAddButtonTooltipProps,\n enableFieldCode = false,\n availableLanguages = DEFAULT_AVAILABLE_LANGUAGES,\n formDescription,\n formTitle = \"\",\n selectedLanguage = \"en\",\n onLanguageChange = noop,\n additionalActionOptions = [],\n additionalQuestionKindPattern,\n fieldCodeHelpDocUrl,\n enableDomainRestriction = true,\n domainRestrictionHelpDocUrl,\n className,\n}) => {\n const queryClient = useQueryClient();\n\n const { mutate: reorderQuestions, isPending: isReordering } =\n useReorderQuestions(id, { onSuccess: showThumbsUpToastr });\n\n const {\n data,\n isLoading,\n isPending: isQuestionsPending,\n } = useFetchQuestions({ formId: id, language: selectedLanguage });\n\n const {\n enabled: isFormEnabled,\n title: savedTitle,\n questions,\n isQuestionsLoading,\n } = data || QUESTIONS_INITIAL_VALUE;\n\n useEffect(() => {\n if (data) {\n onUpdate?.(data);\n }\n }, [data]);\n\n if (isLoading || (showLoader && isQuestionsLoading && !isQuestionsPending)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center py-6\">\n <PageLoader />\n </div>\n );\n }\n\n const handleSubmit = ({ questions }, { setSubmitting }) => {\n const payload = {\n neetoFormQuestions: {\n questions: buildReorderPayload(questions),\n },\n };\n\n reorderQuestions(payload, {\n onSettled: () => setSubmitting(false),\n });\n };\n\n const onValueChange = questions => {\n const { dataUpdateCount } = queryClient.getQueryState([\n QUERY_KEYS.QUESTIONS,\n id,\n selectedLanguage,\n ]);\n\n if (dataUpdateCount > 0) {\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, `preview/${id}`, selectedLanguage],\n assoc(\"questions\", questions)\n );\n }\n };\n\n const isDeletable =\n isQuestionDeletable ??\n (question => !nonRemovableFields.includes(question.kind));\n\n const isRequiredField =\n isFieldRequired ??\n (({ kind }) => concat(MANDATORY_KINDS, requiredFields).includes(kind));\n\n const isDisabledFieldLabel = isFieldLabelDisabled ?? (() => false);\n\n const defaultQuestionKinds = allowAdditionalGuests\n ? QUESTION_KINDS\n : removeBy({ type: QUESTION_KIND.ADDITIONAL_GUESTS.value }, QUESTION_KINDS);\n\n return (\n <div\n className={classNames(\n \"neeto-form-nano-form-outer-wrapper relative\",\n className\n )}\n >\n <Formik\n enableReinitialize\n initialValues={{ questions }}\n onSubmit={handleSubmit}\n >\n {({ errors, setFieldError }) => (\n <Form\n {...{\n ...formDomProps,\n additionalActionOptions,\n additionalQuestionKindPattern,\n availableLanguages,\n buildRequestArgs,\n cancelButtonProps,\n disabledAddButtonTooltipProps,\n domainRestrictionHelpDocUrl,\n enableDomainRestriction,\n enableFieldCode,\n fieldCodeHelpDocUrl,\n formDescription,\n formTitle,\n getActiveKindDetails,\n isDeletable,\n isDisabledFieldLabel,\n isFormEnabled,\n isKindAlreadyActive,\n isReordering,\n isRequiredField,\n kindUniqueOn,\n onLanguageChange,\n onValueChange,\n savedTitle,\n selectedLanguage,\n showActionBlock,\n submitButtonProps,\n }}\n formId={id}\n questionKinds={\n isNil(questionKinds) ? defaultQuestionKinds : questionKinds\n }\n onChange={event => {\n if (isEmpty(errors)) return;\n setFieldError(event.target.name);\n }}\n />\n )}\n </Formik>\n {isQuestionsLoading && !isQuestionsPending && (\n <div className=\"neeto-ui-bg-white absolute inset-0 flex items-center justify-center\">\n <PageLoader />\n </div>\n )}\n </div>\n );\n};\n\nexport default BuildForm;\n","const NeetoFormProvider = ({ children }) => <>{children}</>;\n\nexport default NeetoFormProvider;\n","import { memo } from \"react\";\n\nconst Spinner = ({ size = 24 }) => (\n <div className=\"neeto-form-engine-spinner\">\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 25 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.5 5.00098V8.75M17.4401 7.04867L14.9888 9.5M19.5008 11.9994H15.5M17.4401 16.9372L14.9888 14.4859M12.5023 18.9979V15M7.5516 16.9372L10.4888 14M5.50391 11.9994H9.5M7.5516 7.04867L10.0029 9.5\"\n stroke=\"#87929D\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.5\"\n />\n </svg>\n </div>\n);\n\nexport default memo(Spinner);\n","import classNames from \"classnames\";\nimport { Check } from \"neetoicons\";\n\nimport Spinner from \"./Spinner\";\n\nconst Button = ({\n label,\n loading = false,\n success = false,\n className = \"\",\n ...otherProps\n}) => (\n <button\n className={classNames(\"neeto-form-engine-button\", className)}\n {...otherProps}\n >\n {loading && <ButtonLoader />}\n {success && <Success />}\n {label}\n </button>\n);\n\nconst ButtonLoader = () => (\n <div className=\"neeto-form-engine-button__loader\">\n <Spinner />\n </div>\n);\n\nconst Success = () => (\n <div className=\"neeto-form-engine-button__success\">\n <Check />\n </div>\n);\n\nexport default Button;\n","export const CALLOUT_STYLES = {\n ERROR: \"error\",\n INFO: \"info\",\n};\n\nexport const CALLOUT_POSITIONS = {\n ABSOLUTE: \"absolute\",\n STATIC: \"static\",\n};\n\nexport const DOCUMENT_TYPE = {\n frame: \"FRAME\",\n site: \"SITE\",\n};\n","import classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Close } from \"neetoicons\";\nimport { not } from \"ramda\";\n\nimport { isBlank } from \"utils\";\n\nimport Button from \"./Button\";\nimport { CALLOUT_POSITIONS, CALLOUT_STYLES } from \"./constants\";\n\nconst Callout = ({\n style = CALLOUT_STYLES.ERROR,\n position = CALLOUT_POSITIONS.ABSOLUTE,\n callout = {},\n children,\n className,\n onClose,\n}) => {\n const { isVisible, title, message, primaryButton, secondaryButton } = callout;\n\n if (!isVisible) return null;\n\n return (\n <div\n className={classnames(\"neeto-form-engine-callout\", {\n \"neeto-form-engine-callout--error\": style === CALLOUT_STYLES.ERROR,\n \"neeto-form-engine-callout--info\": style === CALLOUT_STYLES.INFO,\n \"neeto-form-engine-callout--static\":\n position === CALLOUT_POSITIONS.STATIC,\n \"neeto-form-engine-callout--absolute\":\n position === CALLOUT_POSITIONS.ABSOLUTE,\n [className]: className,\n })}\n >\n {isPresent(onClose) && (\n <button className=\"neeto-form-engine-callout__close\" onClick={onClose}>\n <Close size={16} />\n </button>\n )}\n <div className=\"neeto-form-engine-callout__content\">\n {not(isBlank(title)) && <h5>{title}</h5>}\n <p>{message}</p>\n </div>\n {primaryButton && (\n <Button\n label={primaryButton.label}\n size=\"small\"\n onClick={primaryButton.onClick}\n />\n )}\n {secondaryButton && (\n <Button\n label={secondaryButton.label}\n size=\"small\"\n onClick={secondaryButton.onClick}\n />\n )}\n {children}\n </div>\n );\n};\n\nexport default Callout;\n","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 { I18nextProvider } from \"react-i18next\";\n\nimport { getComponentDisplayName } from \"utils\";\n\nconst withI18nInstance = (Component, i18n) => {\n const I18nWrapper = props => (\n <I18nextProvider {...{ i18n }}>\n <Component {...props} />\n </I18nextProvider>\n );\n\n I18nWrapper.displayName = `I18nWrapper(${getComponentDisplayName(\n Component\n )})`;\n\n return I18nWrapper;\n};\n\nexport default withI18nInstance;\n","import { useRef, useEffect } from \"react\";\n\nconst useIsMounted = () => {\n const isMounted = useRef(true);\n\n useEffect(\n () => () => {\n isMounted.current = false;\n },\n []\n );\n\n return () => isMounted.current;\n};\n\nexport default useIsMounted;\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\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\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\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 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\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\";\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","<svg width=\"80\" height=\"80\" viewBox=\"0 0 80 80\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n<rect width=\"80\" height=\"80\" fill=\"url(#pattern0)\"/>\n<defs>\n<pattern id=\"pattern0\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n<use xlink:href=\"#image0_2771_14961\" transform=\"scale(0.00290698)\"/>\n</pattern>\n<image id=\"image0_2771_14961\" width=\"344\" height=\"344\" xlink:href=\"data:image/png;base64,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\"/>\n</defs>\n</svg>\n","import { memo } from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography } from \"neetoui\";\n\nimport SuccessIcon from \"images/neeto_form/Success\";\n\nconst Success = withT(({ t }) => (\n <div className=\"flex h-full w-full flex-col items-center justify-center space-y-4\">\n <SuccessIcon />\n <Typography style=\"h1\">{t(\"neetoForm.successPage.title1\")}</Typography>\n <Typography style=\"h1\">{t(\"neetoForm.successPage.title2\")}</Typography>\n </div>\n));\nexport default memo(Success);\n","import { Fragment, useState, useRef, useEffect } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport classNames from \"classnames\";\nimport { Formik, Form } from \"formik\";\nimport i18next from \"i18next\";\nimport { isPresent, noop } from \"neetocist\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Warning } from \"neetoicons\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport {\n Toastr,\n Typography,\n Button,\n Spinner,\n Callout as NeetoUICallout,\n} from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { equals, isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { QUERY_KEYS } from \"common/constants\";\nimport Callout from \"components/Common/Callout\";\nimport FormikWrap from \"components/Common/FormikWrap\";\nimport withI18nInstance from \"hocs/withI18nInstance\";\nimport {\n useCreateSubmission,\n useForm,\n useSubmission,\n useUpdateSubmission,\n} from \"hooks/useFormApi\";\nimport useIsMounted from \"hooks/useIsMounted\";\nimport NoQuestions from \"images/noData/no-questions\";\nimport { parseServerError } from \"utils\";\nimport { clearLocalStorageValues, getWithExpiry } from \"utils/localStorage\";\n\nimport { getFieldComponent } from \"./Fields/utils\";\nimport Success from \"./Success\";\nimport {\n generateInitValues,\n generateFormResponse,\n mergeRefs,\n buildAutoCompleteAttribute,\n renderButtonsInOrder,\n} from \"./utils\";\nimport { clientI18nInstance } from \"./utils/clientI18nInstance\";\n\nconst ExternalForm = ({\n preview = false,\n formId,\n submissionId,\n customSubmitHandler,\n onBeforeSubmit,\n onSubmitSuccess,\n showTitle = true,\n formTitle,\n titleProps,\n submitRequestArgs,\n footer,\n submitButtonProps,\n cancelButtonProps,\n resetButtonProps,\n displayThankYou = true,\n showSuccessToastr = false,\n showEmptyState = true,\n className,\n preserveValues = false,\n clearValuesOnReset = false,\n clearValuesOnSubmit = false,\n initialValues = {},\n onChange,\n formDomProps,\n editorProps = {},\n customValidator,\n autoCompleteKinds = [],\n enablePreFilling = false,\n language = i18next.resolvedLanguage,\n}) => {\n const [isSubmitted, setIsSubmitted] = useState(false);\n const [showSuccess, setShowSuccess] = useState(false);\n const [localValues, setLocalValues] = useState(\n getWithExpiry(`${formId}/values`)\n );\n const isMounted = useIsMounted();\n const [error, setError] = useState(null);\n\n const formRef = useRef();\n const formikInnerRef = useRef();\n const editorRef = useRef();\n const captchaRef = useRef(null);\n\n const queryClient = useQueryClient();\n\n useEffect(() => {\n if (equals(language, clientI18nInstance.resolvedLanguage)) return;\n\n clientI18nInstance.changeLanguage(language);\n }, [language]);\n\n const { t } = useTranslation();\n\n useEffect(() => {\n setLocalValues(getWithExpiry(`${formId}/values`));\n }, [formId]);\n\n const { mutateAsync: createSubmission } = useCreateSubmission({\n enabled: !submissionId,\n });\n\n const { mutateAsync: updateSubmission } = useUpdateSubmission({\n enabled: !!submissionId,\n });\n\n const { data: submission } = useSubmission({\n formId,\n submissionId,\n placeholderData: submissionId ? { responses: [], isLoading: true } : {},\n enabled: !!submissionId,\n });\n\n const clearLocalFormValues = () =>\n clearLocalStorageValues(`${formId}/values`);\n\n const onSubmit = async (values, { setSubmitting }) => {\n setError(null);\n let responses = generateFormResponse(values, questions);\n try {\n if (preview) {\n await new Promise(resolve =>\n setTimeout(() => {\n resolve();\n setIsSubmitted(true);\n setTimeout(() => setShowSuccess(true), 1000);\n }, 1500)\n );\n } else {\n if (onBeforeSubmit) {\n const newResponses = await onBeforeSubmit(responses, values);\n if (newResponses) {\n responses = newResponses;\n }\n }\n let data;\n if (customSubmitHandler) {\n data = await customSubmitHandler(\n { responses, values },\n clearLocalFormValues\n );\n\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.SUBMISSION, formId, submissionId],\n });\n } else {\n if (submissionId) {\n data = await updateSubmission({\n formId,\n values: {\n neetoFormResponse: { submissionId, responses },\n },\n });\n } else {\n data = await createSubmission({\n formId,\n values: {\n neetoFormResponse: { responses },\n ...submitRequestArgs,\n },\n });\n }\n }\n\n showSuccessToastr &&\n Toastr.success(t(\"neetoForm.toasts.formSubmitted\"));\n clearValuesOnSubmit && clearLocalFormValues();\n onSubmitSuccess?.({ values, responses, data }, clearLocalFormValues);\n if (isMounted()) {\n setIsSubmitted(true);\n setTimeout(() => setShowSuccess(true), 1000);\n }\n }\n } catch (error) {\n setError(parseServerError(error));\n } finally {\n if (isMounted()) {\n setSubmitting(false);\n }\n }\n };\n\n const onReset = (e, handleReset) => {\n if (clearValuesOnReset) {\n clearLocalStorageValues(`${formId}/values`);\n setLocalValues(generateInitValues({ questions }));\n submissionId &&\n queryClient.setQueryData(\n [QUERY_KEYS.SUBMISSION, formId, submissionId],\n { responses: [] }\n );\n }\n editorRef?.current?.editor?.commands?.setContent(\"\");\n captchaRef.current?.reset();\n handleReset(e);\n formDomProps?.onReset?.(e);\n };\n\n const handleScrollToError = errors => {\n if (!formRef.current) return;\n const errorKeys = Object.keys(errors);\n if (isEmpty(errorKeys)) return;\n for (const formElement of formRef.current) {\n if (errorKeys.includes(formElement.name)) {\n formElement.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n break;\n }\n }\n };\n\n const {\n data: form = { title: \"\", questions: [], isQuestionsLoading: true },\n isLoading,\n } = useForm({ formId, language, preview, enabled: !preview });\n\n const { dataUpdateCount } = queryClient.getQueryState([\n QUERY_KEYS.QUESTIONS,\n formId,\n language,\n ]);\n\n const keyPressRef = useHotkeys(\n \"command+enter\",\n formikInnerRef.current?.handleSubmit || noop,\n { mode: \"scoped\" }\n );\n\n if (\n isLoading ||\n form.isQuestionsLoading ||\n (!!submissionId && submission?.isLoading)\n ) {\n return (\n <div className=\"loader flex h-full w-full items-center justify-center\">\n <PageLoader />\n </div>\n );\n }\n\n const { title, questions = [] } = form;\n\n const renderedQuestions = preview\n ? questions.filter(({ _destroy }) => !_destroy)\n : questions.filter(({ isHidden }) => !isHidden);\n\n if (displayThankYou && showSuccess) {\n return <Success />;\n }\n\n return (\n <>\n {showTitle && (\n <div className=\"py-6 text-center\">\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h4\"\n weight=\"semibold\"\n {...titleProps}\n >\n {formTitle || title}\n </Typography>\n </div>\n )}\n <Formik\n {...{ onSubmit }}\n enableReinitialize\n innerRef={formikInnerRef}\n initialValues={generateInitValues({\n questions,\n initialValues: submission?.responses,\n localValues: preserveValues ? localValues : initialValues,\n fieldCodes: enablePreFilling\n ? getQueryParams({ toCamelCase: false })\n : {},\n })}\n >\n {({ isSubmitting, errors, setFieldError, handleReset }) => (\n <FormikWrap\n {...{ dataUpdateCount, formId, preserveValues }}\n onError={handleScrollToError}\n onValuesChange={onChange}\n >\n <Form\n noValidate\n ref={mergeRefs(formRef, keyPressRef)}\n className={classNames(\n \"neeto-form-engine-form relative space-y-4\",\n { [className]: className }\n )}\n onChange={event => {\n if (isEmpty(errors)) return;\n setFieldError(event.target.name, \"\");\n }}\n {...formDomProps}\n onReset={e => onReset(e, handleReset)}\n >\n {submission?.isLoading && (\n <div className=\"neeto-ui-bg-gray-100 absolute bottom-0 left-0 right-0 top-0 flex items-center justify-center opacity-75\">\n <Spinner />\n </div>\n )}\n {renderedQuestions.map(question => {\n const FieldComponent = getFieldComponent(question);\n\n return (\n <Fragment key={question.id ?? question.nodeId}>\n <FieldComponent\n {...{\n captchaRef,\n editorProps,\n editorRef,\n preview,\n question,\n }}\n customValidator={customValidator?.(question)}\n autoComplete={buildAutoCompleteAttribute(\n question.kind,\n autoCompleteKinds,\n formDomProps\n )}\n />\n {question.isHidden && (\n <NeetoUICallout icon={Warning} style=\"warning\">\n <Typography style=\"body2\">\n {t(\"neetoForm.callouts.hiddenQuestion\")}\n </Typography>\n </NeetoUICallout>\n )}\n </Fragment>\n );\n })}\n {showEmptyState && isEmpty(renderedQuestions) && (\n <div className=\"flex flex-col items-center justify-center gap-y-4 py-8\">\n <NoQuestions />\n <Typography style=\"h3\" weight=\"semibold\">\n {t(\"neetoForm.questions.common.notFound\")}\n </Typography>\n </div>\n )}\n {footer}\n {!isEmpty(renderedQuestions) && (\n <div className=\"mt-8 flex items-center justify-between\">\n {cancelButtonProps && (\n <Button\n label={t(\"neetoForm.common.cancel\")}\n style=\"secondary\"\n {...cancelButtonProps}\n />\n )}\n <div className=\"flex gap-x-2\">\n {renderButtonsInOrder(\n [\n <Button\n disabled={isSubmitting || isSubmitted}\n key=\"submit\"\n label={t(\"neetoForm.common.submit\")}\n loading={isSubmitting}\n type=\"submit\"\n {...submitButtonProps}\n />,\n <Button\n key=\"reset\"\n label={t(\"neetoForm.common.reset\")}\n style=\"secondary\"\n type=\"reset\"\n {...resetButtonProps}\n />,\n ],\n isPresent(cancelButtonProps)\n )}\n </div>\n </div>\n )}\n </Form>\n {!customSubmitHandler && (\n <Callout\n callout={{\n isVisible: isPresent(error),\n title: t(\"neetoForm.callouts.submitError\"),\n message: error,\n }}\n onClose={() => setError(null)}\n />\n )}\n </FormikWrap>\n )}\n </Formik>\n </>\n );\n};\n\nExternalForm.propTypes = {\n preview: PropTypes.bool,\n formId: PropTypes.string,\n submissionId: PropTypes.string,\n onBeforeSubmit: PropTypes.func,\n onSubmitSuccess: PropTypes.func,\n showTitle: PropTypes.bool,\n submitRequestArgs: PropTypes.object,\n footer: PropTypes.node,\n submitButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n displayThankYou: PropTypes.bool,\n showSuccessToastr: PropTypes.bool,\n showEmptyState: PropTypes.bool,\n initialValues: PropTypes.object,\n className: PropTypes.string,\n enablePreFilling: PropTypes.bool,\n};\n\nexport default withI18nInstance(ExternalForm, clientI18nInstance);\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar React = _interopRequireWildcard(_react);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nexports.default = function (decoratedHref, decoratedText, key) {\n return React.createElement(\n 'a',\n { href: decoratedHref, key: key },\n decoratedText\n );\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (href) {\n return href;\n};","module.exports=/[\\0-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/","module.exports=/[\\0-\\x1F\\x7F-\\x9F]/","module.exports=/[ \\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]/","module.exports=/[!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4E\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD803[\\uDF55-\\uDF59]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC8\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDC4B-\\uDC4F\\uDC5B\\uDC5D\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDE60-\\uDE6C\\uDF3C-\\uDF3E]|\\uD806[\\uDC3B\\uDE3F-\\uDE46\\uDE9A-\\uDE9C\\uDE9E-\\uDEA2]|\\uD807[\\uDC41-\\uDC45\\uDC70\\uDC71\\uDEF7\\uDEF8]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD81B[\\uDE97-\\uDE9A]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]|\\uD83A[\\uDD5E\\uDD5F]/","'use strict';\n\n\nmodule.exports = function (opts) {\n var re = {};\n\n // Use direct extract instead of `regenerate` to reduse browserified size\n re.src_Any = require('uc.micro/properties/Any/regex').source;\n re.src_Cc = require('uc.micro/categories/Cc/regex').source;\n re.src_Z = require('uc.micro/categories/Z/regex').source;\n re.src_P = require('uc.micro/categories/P/regex').source;\n\n // \\p{\\Z\\P\\Cc\\CF} (white spaces + control + format + punctuation)\n re.src_ZPCc = [ re.src_Z, re.src_P, re.src_Cc ].join('|');\n\n // \\p{\\Z\\Cc} (white spaces + control)\n re.src_ZCc = [ re.src_Z, re.src_Cc ].join('|');\n\n // Experimental. List of chars, completely prohibited in links\n // because can separate it from other part of text\n var text_separators = '[><\\uff5c]';\n\n // All possible word characters (everything without punctuation, spaces & controls)\n // Defined via punctuation & spaces to save space\n // Should be something like \\p{\\L\\N\\S\\M} (\\w but without `_`)\n re.src_pseudo_letter = '(?:(?!' + text_separators + '|' + re.src_ZPCc + ')' + re.src_Any + ')';\n // The same as abothe but without [0-9]\n // var src_pseudo_letter_non_d = '(?:(?![0-9]|' + src_ZPCc + ')' + src_Any + ')';\n\n ////////////////////////////////////////////////////////////////////////////////\n\n re.src_ip4 =\n\n '(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)';\n\n // Prohibit any of \"@/[]()\" in user/pass to avoid wrong domain fetch.\n re.src_auth = '(?:(?:(?!' + re.src_ZCc + '|[@/\\\\[\\\\]()]).)+@)?';\n\n re.src_port =\n\n '(?::(?:6(?:[0-4]\\\\d{3}|5(?:[0-4]\\\\d{2}|5(?:[0-2]\\\\d|3[0-5])))|[1-5]?\\\\d{1,4}))?';\n\n re.src_host_terminator =\n\n '(?=$|' + text_separators + '|' + re.src_ZPCc + ')(?!-|_|:\\\\d|\\\\.-|\\\\.(?!$|' + re.src_ZPCc + '))';\n\n re.src_path =\n\n '(?:' +\n '[/?#]' +\n '(?:' +\n '(?!' + re.src_ZCc + '|' + text_separators + '|[()[\\\\]{}.,\"\\'?!\\\\-]).|' +\n '\\\\[(?:(?!' + re.src_ZCc + '|\\\\]).)*\\\\]|' +\n '\\\\((?:(?!' + re.src_ZCc + '|[)]).)*\\\\)|' +\n '\\\\{(?:(?!' + re.src_ZCc + '|[}]).)*\\\\}|' +\n '\\\\\"(?:(?!' + re.src_ZCc + '|[\"]).)+\\\\\"|' +\n \"\\\\'(?:(?!\" + re.src_ZCc + \"|[']).)+\\\\'|\" +\n \"\\\\'(?=\" + re.src_pseudo_letter + '|[-]).|' + // allow `I'm_king` if no pair found\n '\\\\.{2,4}[a-zA-Z0-9%/]|' + // github has ... in commit range links,\n // google has .... in links (issue #66)\n // Restrict to\n // - english\n // - percent-encoded\n // - parts of file path\n // until more examples found.\n '\\\\.(?!' + re.src_ZCc + '|[.]).|' +\n (opts && opts['---'] ?\n '\\\\-(?!--(?:[^-]|$))(?:-*)|' // `---` => long dash, terminate\n :\n '\\\\-+|'\n ) +\n '\\\\,(?!' + re.src_ZCc + ').|' + // allow `,,,` in paths\n '\\\\!(?!' + re.src_ZCc + '|[!]).|' +\n '\\\\?(?!' + re.src_ZCc + '|[?]).' +\n ')+' +\n '|\\\\/' +\n ')?';\n\n // Allow anything in markdown spec, forbid quote (\") at the first position\n // because emails enclosed in quotes are far more common\n re.src_email_name =\n\n '[\\\\-;:&=\\\\+\\\\$,\\\\.a-zA-Z0-9_][\\\\-;:&=\\\\+\\\\$,\\\\\"\\\\.a-zA-Z0-9_]*';\n\n re.src_xn =\n\n 'xn--[a-z0-9\\\\-]{1,59}';\n\n // More to read about domain names\n // http://serverfault.com/questions/638260/\n\n re.src_domain_root =\n\n // Allow letters & digits (http://test1)\n '(?:' +\n re.src_xn +\n '|' +\n re.src_pseudo_letter + '{1,63}' +\n ')';\n\n re.src_domain =\n\n '(?:' +\n re.src_xn +\n '|' +\n '(?:' + re.src_pseudo_letter + ')' +\n '|' +\n '(?:' + re.src_pseudo_letter + '(?:-|' + re.src_pseudo_letter + '){0,61}' + re.src_pseudo_letter + ')' +\n ')';\n\n re.src_host =\n\n '(?:' +\n // Don't need IP check, because digits are already allowed in normal domain names\n // src_ip4 +\n // '|' +\n '(?:(?:(?:' + re.src_domain + ')\\\\.)*' + re.src_domain/*_root*/ + ')' +\n ')';\n\n re.tpl_host_fuzzy =\n\n '(?:' +\n re.src_ip4 +\n '|' +\n '(?:(?:(?:' + re.src_domain + ')\\\\.)+(?:%TLDS%))' +\n ')';\n\n re.tpl_host_no_ip_fuzzy =\n\n '(?:(?:(?:' + re.src_domain + ')\\\\.)+(?:%TLDS%))';\n\n re.src_host_strict =\n\n re.src_host + re.src_host_terminator;\n\n re.tpl_host_fuzzy_strict =\n\n re.tpl_host_fuzzy + re.src_host_terminator;\n\n re.src_host_port_strict =\n\n re.src_host + re.src_port + re.src_host_terminator;\n\n re.tpl_host_port_fuzzy_strict =\n\n re.tpl_host_fuzzy + re.src_port + re.src_host_terminator;\n\n re.tpl_host_port_no_ip_fuzzy_strict =\n\n re.tpl_host_no_ip_fuzzy + re.src_port + re.src_host_terminator;\n\n\n ////////////////////////////////////////////////////////////////////////////////\n // Main rules\n\n // Rude test fuzzy links by host, for quick deny\n re.tpl_host_fuzzy_test =\n\n 'localhost|www\\\\.|\\\\.\\\\d{1,3}\\\\.|(?:\\\\.(?:%TLDS%)(?:' + re.src_ZPCc + '|>|$))';\n\n re.tpl_email_fuzzy =\n\n '(^|' + text_separators + '|\"|\\\\(|' + re.src_ZCc + ')' +\n '(' + re.src_email_name + '@' + re.tpl_host_fuzzy_strict + ')';\n\n re.tpl_link_fuzzy =\n // Fuzzy link can't be prepended with .:/\\- and non punctuation.\n // but can start with > (markdown blockquote)\n '(^|(?![.:/\\\\-_@])(?:[$+<=>^`|\\uff5c]|' + re.src_ZPCc + '))' +\n '((?![$+<=>^`|\\uff5c])' + re.tpl_host_port_fuzzy_strict + re.src_path + ')';\n\n re.tpl_link_no_ip_fuzzy =\n // Fuzzy link can't be prepended with .:/\\- and non punctuation.\n // but can start with > (markdown blockquote)\n '(^|(?![.:/\\\\-_@])(?:[$+<=>^`|\\uff5c]|' + re.src_ZPCc + '))' +\n '((?![$+<=>^`|\\uff5c])' + re.tpl_host_port_no_ip_fuzzy_strict + re.src_path + ')';\n\n return re;\n};\n","'use strict';\n\n\n////////////////////////////////////////////////////////////////////////////////\n// Helpers\n\n// Merge objects\n//\nfunction assign(obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n\n sources.forEach(function (source) {\n if (!source) { return; }\n\n Object.keys(source).forEach(function (key) {\n obj[key] = source[key];\n });\n });\n\n return obj;\n}\n\nfunction _class(obj) { return Object.prototype.toString.call(obj); }\nfunction isString(obj) { return _class(obj) === '[object String]'; }\nfunction isObject(obj) { return _class(obj) === '[object Object]'; }\nfunction isRegExp(obj) { return _class(obj) === '[object RegExp]'; }\nfunction isFunction(obj) { return _class(obj) === '[object Function]'; }\n\n\nfunction escapeRE(str) { return str.replace(/[.?*+^$[\\]\\\\(){}|-]/g, '\\\\$&'); }\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nvar defaultOptions = {\n fuzzyLink: true,\n fuzzyEmail: true,\n fuzzyIP: false\n};\n\n\nfunction isOptionsObj(obj) {\n return Object.keys(obj || {}).reduce(function (acc, k) {\n return acc || defaultOptions.hasOwnProperty(k);\n }, false);\n}\n\n\nvar defaultSchemas = {\n 'http:': {\n validate: function (text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.http) {\n // compile lazily, because \"host\"-containing variables can change on tlds update.\n self.re.http = new RegExp(\n '^\\\\/\\\\/' + self.re.src_auth + self.re.src_host_port_strict + self.re.src_path, 'i'\n );\n }\n if (self.re.http.test(tail)) {\n return tail.match(self.re.http)[0].length;\n }\n return 0;\n }\n },\n 'https:': 'http:',\n 'ftp:': 'http:',\n '//': {\n validate: function (text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.no_http) {\n // compile lazily, because \"host\"-containing variables can change on tlds update.\n self.re.no_http = new RegExp(\n '^' +\n self.re.src_auth +\n // Don't allow single-level domains, because of false positives like '//test'\n // with code comments\n '(?:localhost|(?:(?:' + self.re.src_domain + ')\\\\.)+' + self.re.src_domain_root + ')' +\n self.re.src_port +\n self.re.src_host_terminator +\n self.re.src_path,\n\n 'i'\n );\n }\n\n if (self.re.no_http.test(tail)) {\n // should not be `://` & `///`, that protects from errors in protocol name\n if (pos >= 3 && text[pos - 3] === ':') { return 0; }\n if (pos >= 3 && text[pos - 3] === '/') { return 0; }\n return tail.match(self.re.no_http)[0].length;\n }\n return 0;\n }\n },\n 'mailto:': {\n validate: function (text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.mailto) {\n self.re.mailto = new RegExp(\n '^' + self.re.src_email_name + '@' + self.re.src_host_strict, 'i'\n );\n }\n if (self.re.mailto.test(tail)) {\n return tail.match(self.re.mailto)[0].length;\n }\n return 0;\n }\n }\n};\n\n/*eslint-disable max-len*/\n\n// RE pattern for 2-character tlds (autogenerated by ./support/tlds_2char_gen.js)\nvar tlds_2ch_src_re = 'a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]';\n\n// DON'T try to make PRs with changes. Extend TLDs with LinkifyIt.tlds() instead\nvar tlds_default = 'biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф'.split('|');\n\n/*eslint-enable max-len*/\n\n////////////////////////////////////////////////////////////////////////////////\n\nfunction resetScanCache(self) {\n self.__index__ = -1;\n self.__text_cache__ = '';\n}\n\nfunction createValidator(re) {\n return function (text, pos) {\n var tail = text.slice(pos);\n\n if (re.test(tail)) {\n return tail.match(re)[0].length;\n }\n return 0;\n };\n}\n\nfunction createNormalizer() {\n return function (match, self) {\n self.normalize(match);\n };\n}\n\n// Schemas compiler. Build regexps.\n//\nfunction compile(self) {\n\n // Load & clone RE patterns.\n var re = self.re = require('./lib/re')(self.__opts__);\n\n // Define dynamic patterns\n var tlds = self.__tlds__.slice();\n\n self.onCompile();\n\n if (!self.__tlds_replaced__) {\n tlds.push(tlds_2ch_src_re);\n }\n tlds.push(re.src_xn);\n\n re.src_tlds = tlds.join('|');\n\n function untpl(tpl) { return tpl.replace('%TLDS%', re.src_tlds); }\n\n re.email_fuzzy = RegExp(untpl(re.tpl_email_fuzzy), 'i');\n re.link_fuzzy = RegExp(untpl(re.tpl_link_fuzzy), 'i');\n re.link_no_ip_fuzzy = RegExp(untpl(re.tpl_link_no_ip_fuzzy), 'i');\n re.host_fuzzy_test = RegExp(untpl(re.tpl_host_fuzzy_test), 'i');\n\n //\n // Compile each schema\n //\n\n var aliases = [];\n\n self.__compiled__ = {}; // Reset compiled data\n\n function schemaError(name, val) {\n throw new Error('(LinkifyIt) Invalid schema \"' + name + '\": ' + val);\n }\n\n Object.keys(self.__schemas__).forEach(function (name) {\n var val = self.__schemas__[name];\n\n // skip disabled methods\n if (val === null) { return; }\n\n var compiled = { validate: null, link: null };\n\n self.__compiled__[name] = compiled;\n\n if (isObject(val)) {\n if (isRegExp(val.validate)) {\n compiled.validate = createValidator(val.validate);\n } else if (isFunction(val.validate)) {\n compiled.validate = val.validate;\n } else {\n schemaError(name, val);\n }\n\n if (isFunction(val.normalize)) {\n compiled.normalize = val.normalize;\n } else if (!val.normalize) {\n compiled.normalize = createNormalizer();\n } else {\n schemaError(name, val);\n }\n\n return;\n }\n\n if (isString(val)) {\n aliases.push(name);\n return;\n }\n\n schemaError(name, val);\n });\n\n //\n // Compile postponed aliases\n //\n\n aliases.forEach(function (alias) {\n if (!self.__compiled__[self.__schemas__[alias]]) {\n // Silently fail on missed schemas to avoid errons on disable.\n // schemaError(alias, self.__schemas__[alias]);\n return;\n }\n\n self.__compiled__[alias].validate =\n self.__compiled__[self.__schemas__[alias]].validate;\n self.__compiled__[alias].normalize =\n self.__compiled__[self.__schemas__[alias]].normalize;\n });\n\n //\n // Fake record for guessed links\n //\n self.__compiled__[''] = { validate: null, normalize: createNormalizer() };\n\n //\n // Build schema condition\n //\n var slist = Object.keys(self.__compiled__)\n .filter(function (name) {\n // Filter disabled & fake schemas\n return name.length > 0 && self.__compiled__[name];\n })\n .map(escapeRE)\n .join('|');\n // (?!_) cause 1.5x slowdown\n self.re.schema_test = RegExp('(^|(?!_)(?:[><\\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'i');\n self.re.schema_search = RegExp('(^|(?!_)(?:[><\\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'ig');\n\n self.re.pretest = RegExp(\n '(' + self.re.schema_test.source + ')|(' + self.re.host_fuzzy_test.source + ')|@',\n 'i'\n );\n\n //\n // Cleanup\n //\n\n resetScanCache(self);\n}\n\n/**\n * class Match\n *\n * Match result. Single element of array, returned by [[LinkifyIt#match]]\n **/\nfunction Match(self, shift) {\n var start = self.__index__,\n end = self.__last_index__,\n text = self.__text_cache__.slice(start, end);\n\n /**\n * Match#schema -> String\n *\n * Prefix (protocol) for matched string.\n **/\n this.schema = self.__schema__.toLowerCase();\n /**\n * Match#index -> Number\n *\n * First position of matched string.\n **/\n this.index = start + shift;\n /**\n * Match#lastIndex -> Number\n *\n * Next position after matched string.\n **/\n this.lastIndex = end + shift;\n /**\n * Match#raw -> String\n *\n * Matched string.\n **/\n this.raw = text;\n /**\n * Match#text -> String\n *\n * Notmalized text of matched string.\n **/\n this.text = text;\n /**\n * Match#url -> String\n *\n * Normalized url of matched string.\n **/\n this.url = text;\n}\n\nfunction createMatch(self, shift) {\n var match = new Match(self, shift);\n\n self.__compiled__[match.schema].normalize(match, self);\n\n return match;\n}\n\n\n/**\n * class LinkifyIt\n **/\n\n/**\n * new LinkifyIt(schemas, options)\n * - schemas (Object): Optional. Additional schemas to validate (prefix/validator)\n * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }\n *\n * Creates new linkifier instance with optional additional schemas.\n * Can be called without `new` keyword for convenience.\n *\n * By default understands:\n *\n * - `http(s)://...` , `ftp://...`, `mailto:...` & `//...` links\n * - \"fuzzy\" links and emails (example.com, foo@bar.com).\n *\n * `schemas` is an object, where each key/value describes protocol/rule:\n *\n * - __key__ - link prefix (usually, protocol name with `:` at the end, `skype:`\n * for example). `linkify-it` makes shure that prefix is not preceeded with\n * alphanumeric char and symbols. Only whitespaces and punctuation allowed.\n * - __value__ - rule to check tail after link prefix\n * - _String_ - just alias to existing rule\n * - _Object_\n * - _validate_ - validator function (should return matched length on success),\n * or `RegExp`.\n * - _normalize_ - optional function to normalize text & url of matched result\n * (for example, for @twitter mentions).\n *\n * `options`:\n *\n * - __fuzzyLink__ - recognige URL-s without `http(s):` prefix. Default `true`.\n * - __fuzzyIP__ - allow IPs in fuzzy links above. Can conflict with some texts\n * like version numbers. Default `false`.\n * - __fuzzyEmail__ - recognize emails without `mailto:` prefix.\n *\n **/\nfunction LinkifyIt(schemas, options) {\n if (!(this instanceof LinkifyIt)) {\n return new LinkifyIt(schemas, options);\n }\n\n if (!options) {\n if (isOptionsObj(schemas)) {\n options = schemas;\n schemas = {};\n }\n }\n\n this.__opts__ = assign({}, defaultOptions, options);\n\n // Cache last tested result. Used to skip repeating steps on next `match` call.\n this.__index__ = -1;\n this.__last_index__ = -1; // Next scan position\n this.__schema__ = '';\n this.__text_cache__ = '';\n\n this.__schemas__ = assign({}, defaultSchemas, schemas);\n this.__compiled__ = {};\n\n this.__tlds__ = tlds_default;\n this.__tlds_replaced__ = false;\n\n this.re = {};\n\n compile(this);\n}\n\n\n/** chainable\n * LinkifyIt#add(schema, definition)\n * - schema (String): rule name (fixed pattern prefix)\n * - definition (String|RegExp|Object): schema definition\n *\n * Add new rule definition. See constructor description for details.\n **/\nLinkifyIt.prototype.add = function add(schema, definition) {\n this.__schemas__[schema] = definition;\n compile(this);\n return this;\n};\n\n\n/** chainable\n * LinkifyIt#set(options)\n * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }\n *\n * Set recognition options for links without schema.\n **/\nLinkifyIt.prototype.set = function set(options) {\n this.__opts__ = assign(this.__opts__, options);\n return this;\n};\n\n\n/**\n * LinkifyIt#test(text) -> Boolean\n *\n * Searches linkifiable pattern and returns `true` on success or `false` on fail.\n **/\nLinkifyIt.prototype.test = function test(text) {\n // Reset scan cache\n this.__text_cache__ = text;\n this.__index__ = -1;\n\n if (!text.length) { return false; }\n\n var m, ml, me, len, shift, next, re, tld_pos, at_pos;\n\n // try to scan for link with schema - that's the most simple rule\n if (this.re.schema_test.test(text)) {\n re = this.re.schema_search;\n re.lastIndex = 0;\n while ((m = re.exec(text)) !== null) {\n len = this.testSchemaAt(text, m[2], re.lastIndex);\n if (len) {\n this.__schema__ = m[2];\n this.__index__ = m.index + m[1].length;\n this.__last_index__ = m.index + m[0].length + len;\n break;\n }\n }\n }\n\n if (this.__opts__.fuzzyLink && this.__compiled__['http:']) {\n // guess schemaless links\n tld_pos = text.search(this.re.host_fuzzy_test);\n if (tld_pos >= 0) {\n // if tld is located after found link - no need to check fuzzy pattern\n if (this.__index__ < 0 || tld_pos < this.__index__) {\n if ((ml = text.match(this.__opts__.fuzzyIP ? this.re.link_fuzzy : this.re.link_no_ip_fuzzy)) !== null) {\n\n shift = ml.index + ml[1].length;\n\n if (this.__index__ < 0 || shift < this.__index__) {\n this.__schema__ = '';\n this.__index__ = shift;\n this.__last_index__ = ml.index + ml[0].length;\n }\n }\n }\n }\n }\n\n if (this.__opts__.fuzzyEmail && this.__compiled__['mailto:']) {\n // guess schemaless emails\n at_pos = text.indexOf('@');\n if (at_pos >= 0) {\n // We can't skip this check, because this cases are possible:\n // 192.168.1.1@gmail.com, my.in@example.com\n if ((me = text.match(this.re.email_fuzzy)) !== null) {\n\n shift = me.index + me[1].length;\n next = me.index + me[0].length;\n\n if (this.__index__ < 0 || shift < this.__index__ ||\n (shift === this.__index__ && next > this.__last_index__)) {\n this.__schema__ = 'mailto:';\n this.__index__ = shift;\n this.__last_index__ = next;\n }\n }\n }\n }\n\n return this.__index__ >= 0;\n};\n\n\n/**\n * LinkifyIt#pretest(text) -> Boolean\n *\n * Very quick check, that can give false positives. Returns true if link MAY BE\n * can exists. Can be used for speed optimization, when you need to check that\n * link NOT exists.\n **/\nLinkifyIt.prototype.pretest = function pretest(text) {\n return this.re.pretest.test(text);\n};\n\n\n/**\n * LinkifyIt#testSchemaAt(text, name, position) -> Number\n * - text (String): text to scan\n * - name (String): rule (schema) name\n * - position (Number): text offset to check from\n *\n * Similar to [[LinkifyIt#test]] but checks only specific protocol tail exactly\n * at given position. Returns length of found pattern (0 on fail).\n **/\nLinkifyIt.prototype.testSchemaAt = function testSchemaAt(text, schema, pos) {\n // If not supported schema check requested - terminate\n if (!this.__compiled__[schema.toLowerCase()]) {\n return 0;\n }\n return this.__compiled__[schema.toLowerCase()].validate(text, pos, this);\n};\n\n\n/**\n * LinkifyIt#match(text) -> Array|null\n *\n * Returns array of found link descriptions or `null` on fail. We strongly\n * recommend to use [[LinkifyIt#test]] first, for best speed.\n *\n * ##### Result match description\n *\n * - __schema__ - link schema, can be empty for fuzzy links, or `//` for\n * protocol-neutral links.\n * - __index__ - offset of matched text\n * - __lastIndex__ - index of next char after mathch end\n * - __raw__ - matched text\n * - __text__ - normalized text\n * - __url__ - link, generated from matched text\n **/\nLinkifyIt.prototype.match = function match(text) {\n var shift = 0, result = [];\n\n // Try to take previous element from cache, if .test() called before\n if (this.__index__ >= 0 && this.__text_cache__ === text) {\n result.push(createMatch(this, shift));\n shift = this.__last_index__;\n }\n\n // Cut head if cache was used\n var tail = shift ? text.slice(shift) : text;\n\n // Scan string until end reached\n while (this.test(tail)) {\n result.push(createMatch(this, shift));\n\n tail = tail.slice(this.__last_index__);\n shift += this.__last_index__;\n }\n\n if (result.length) {\n return result;\n }\n\n return null;\n};\n\n\n/** chainable\n * LinkifyIt#tlds(list [, keepOld]) -> this\n * - list (Array): list of tlds\n * - keepOld (Boolean): merge with current list if `true` (`false` by default)\n *\n * Load (or merge) new tlds list. Those are user for fuzzy links (without prefix)\n * to avoid false positives. By default this algorythm used:\n *\n * - hostname with any 2-letter root zones are ok.\n * - biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф\n * are ok.\n * - encoded (`xn--...`) root zones are ok.\n *\n * If list is replaced, then exact match for 2-chars root zones will be checked.\n **/\nLinkifyIt.prototype.tlds = function tlds(list, keepOld) {\n list = Array.isArray(list) ? list : [ list ];\n\n if (!keepOld) {\n this.__tlds__ = list.slice();\n this.__tlds_replaced__ = true;\n compile(this);\n return this;\n }\n\n this.__tlds__ = this.__tlds__.concat(list)\n .sort()\n .filter(function (el, idx, arr) {\n return el !== arr[idx - 1];\n })\n .reverse();\n\n compile(this);\n return this;\n};\n\n/**\n * LinkifyIt#normalize(match)\n *\n * Default normalizer (if schema does not define it's own).\n **/\nLinkifyIt.prototype.normalize = function normalize(match) {\n\n // Do minimal possible changes by default. Need to collect feedback prior\n // to move forward https://github.com/markdown-it/linkify-it/issues/1\n\n if (!match.schema) { match.url = 'http://' + match.url; }\n\n if (match.schema === 'mailto:' && !/^mailto:/i.test(match.url)) {\n match.url = 'mailto:' + match.url;\n }\n};\n\n\n/**\n * LinkifyIt#onCompile()\n *\n * Override to modify basic RegExp-s.\n **/\nLinkifyIt.prototype.onCompile = function onCompile() {\n};\n\n\nmodule.exports = LinkifyIt;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _linkifyIt = require('linkify-it');\n\nvar _linkifyIt2 = _interopRequireDefault(_linkifyIt);\n\nvar _tlds = require('tlds');\n\nvar _tlds2 = _interopRequireDefault(_tlds);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar linkify = new _linkifyIt2.default();\nlinkify.tlds(_tlds2.default);\n\nexports.default = function (text) {\n return linkify.match(text);\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (text) {\n return text;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar React = _interopRequireWildcard(_react);\n\nvar _defaultComponentDecorator = require('../decorators/defaultComponentDecorator');\n\nvar _defaultComponentDecorator2 = _interopRequireDefault(_defaultComponentDecorator);\n\nvar _defaultHrefDecorator = require('../decorators/defaultHrefDecorator');\n\nvar _defaultHrefDecorator2 = _interopRequireDefault(_defaultHrefDecorator);\n\nvar _defaultMatchDecorator = require('../decorators/defaultMatchDecorator');\n\nvar _defaultMatchDecorator2 = _interopRequireDefault(_defaultMatchDecorator);\n\nvar _defaultTextDecorator = require('../decorators/defaultTextDecorator');\n\nvar _defaultTextDecorator2 = _interopRequireDefault(_defaultTextDecorator);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Linkify = function (_React$Component) {\n _inherits(Linkify, _React$Component);\n\n function Linkify() {\n _classCallCheck(this, Linkify);\n\n return _possibleConstructorReturn(this, (Linkify.__proto__ || Object.getPrototypeOf(Linkify)).apply(this, arguments));\n }\n\n _createClass(Linkify, [{\n key: 'parseString',\n value: function parseString(string) {\n var _this2 = this;\n\n if (string === '') {\n return string;\n }\n\n var matches = this.props.matchDecorator(string);\n if (!matches) {\n return string;\n }\n\n var elements = [];\n var lastIndex = 0;\n matches.forEach(function (match, i) {\n // Push preceding text if there is any\n if (match.index > lastIndex) {\n elements.push(string.substring(lastIndex, match.index));\n }\n\n var decoratedHref = _this2.props.hrefDecorator(match.url);\n var decoratedText = _this2.props.textDecorator(match.text);\n var decoratedComponent = _this2.props.componentDecorator(decoratedHref, decoratedText, i);\n elements.push(decoratedComponent);\n\n lastIndex = match.lastIndex;\n });\n\n // Push remaining text if there is any\n if (string.length > lastIndex) {\n elements.push(string.substring(lastIndex));\n }\n\n return elements.length === 1 ? elements[0] : elements;\n }\n }, {\n key: 'parse',\n value: function parse(children) {\n var _this3 = this;\n\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (typeof children === 'string') {\n return this.parseString(children);\n } else if (React.isValidElement(children) && children.type !== 'a' && children.type !== 'button') {\n return React.cloneElement(children, { key: key }, this.parse(children.props.children));\n } else if (Array.isArray(children)) {\n return children.map(function (child, i) {\n return _this3.parse(child, i);\n });\n }\n\n return children;\n }\n }, {\n key: 'render',\n value: function render() {\n return React.createElement(\n React.Fragment,\n null,\n this.parse(this.props.children)\n );\n }\n }]);\n\n return Linkify;\n}(React.Component);\n\nLinkify.defaultProps = {\n componentDecorator: _defaultComponentDecorator2.default,\n hrefDecorator: _defaultHrefDecorator2.default,\n matchDecorator: _defaultMatchDecorator2.default,\n textDecorator: _defaultTextDecorator2.default\n};\nexports.default = Linkify;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Linkify = require('./components/Linkify');\n\nvar _Linkify2 = _interopRequireDefault(_Linkify);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Linkify2.default;","import { isNotPresent, removeBy } from \"neetocist\";\nimport { includes, __ } from \"ramda\";\n\nimport { QUESTION_KIND } from \"components/ExternalForm/constants\";\n\nexport const linkifyDecorator = (decoratedHref, decoratedText, key) => (\n <a\n className=\"neeto-ui-text-accent-800 hover:neeto-ui-text-accent-800\"\n href={decoratedHref}\n key={key}\n rel=\"noreferrer\"\n target=\"_blank\"\n >\n {decoratedText}\n </a>\n);\n\nexport const filterResponses = (responses, kinds) => {\n const filteredResponses = removeBy({ kind: includes(__, kinds) }, responses);\n\n return filterAdditionalGuestResponses(filteredResponses);\n};\n\nexport const filterAdditionalGuestResponses = removeBy({\n kind: QUESTION_KIND.ADDITIONAL_GUESTS.value,\n value: isNotPresent,\n});\n","import { Typography } from \"neetoui\";\nimport ReactLinkify from \"react-linkify\";\n\nimport { linkifyDecorator } from \"../utils\";\n\nconst FileUpload = ({ files }) => (\n <div className=\"space-y-2\">\n {files?.map(({ url, name }, index) => (\n <Typography className=\"break-all\" key={index} style=\"body2\">\n <ReactLinkify\n componentDecorator={() => linkifyDecorator(url, name, index)}\n >\n {url}\n </ReactLinkify>\n </Typography>\n ))}\n </div>\n);\n\nexport default FileUpload;\n","import classnames from \"classnames\";\nimport { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { EditorContent } from \"neetoeditor\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { PhoneNumber } from \"neetomolecules/PhoneNumber\";\nimport { Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { renderToString } from \"react-dom/server\";\nimport ReactLinkify from \"react-linkify\";\n\nimport { QUESTION_KIND } from \"components/ExternalForm/constants\";\nimport { useSubmission } from \"hooks/useFormApi\";\n\nimport FileUpload from \"./QuestionResponses/FileUpload\";\nimport { filterResponses, linkifyDecorator } from \"./utils\";\n\nconst getValue = ({ value, kind }) => {\n if (isEmpty(value)) return <i>{t(\"neetoForm.common.unanswered\")}</i>;\n\n if (kind === QUESTION_KIND.DATE.value) {\n return value && dateFormat.date(value);\n }\n\n if (kind === QUESTION_KIND.ADDITIONAL_GUESTS.value) {\n return value?.join(\", \");\n }\n\n if (kind === QUESTION_KIND.CONDITION.value) {\n return value?.toLowerCase() === \"true\"\n ? t(\"neetoForm.common.yes\")\n : t(\"neetoForm.common.no\");\n }\n\n return value;\n};\n\nconst getEditorContent = value => {\n if (typeof value !== \"string\") {\n return renderToString(value);\n }\n\n return value;\n};\n\nconst Submission = ({\n formId = \"\",\n submissionId = \"\",\n className = \"\",\n fetchPublicSubmission = true,\n questionLabelProps = {},\n answerProps = {},\n omitKinds = [],\n}) => {\n const { data: submission = { responses: [] }, isLoading } = useSubmission({\n formId,\n submissionId,\n fetchPublicSubmission,\n enabled: !!(formId && submissionId),\n });\n\n const { responses } = submission;\n\n const filteredResponses = filterResponses(responses, omitKinds);\n\n const renderSubmittedValue = (kind, value) => {\n switch (kind) {\n case QUESTION_KIND.RICH_TEXT.value:\n return (\n <EditorContent\n content={getEditorContent(getValue({ value, kind }))}\n />\n );\n case QUESTION_KIND.PHONE.value:\n return isPresent(value) ? (\n <PhoneNumber {...{ value }} showEmoji />\n ) : (\n \"-\"\n );\n case QUESTION_KIND.FILE_UPLOAD.value:\n return isPresent(value) ? <FileUpload files={value} /> : \"-\";\n default:\n return (\n <Typography weight=\"semibold\" {...answerProps}>\n <ReactLinkify componentDecorator={linkifyDecorator}>\n {getValue({ value, kind })}\n </ReactLinkify>\n </Typography>\n );\n }\n };\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <PageLoader />\n </div>\n );\n }\n\n return (\n <div\n className={classnames(\"mx-auto flex h-full w-full flex-col items-start\", {\n [className]: className,\n })}\n >\n {filteredResponses.map(({ kind, label, value }) => (\n <div className=\"mb-4\" key={label}>\n <Typography style=\"h5\" weight=\"light\" {...questionLabelProps}>\n {label}\n </Typography>\n {renderSubmittedValue(kind, value)}\n </div>\n ))}\n </div>\n );\n};\n\nexport default Submission;\n","import { parsePhoneNumber } from \"libphonenumber-js\";\nimport { findById, isPresent } from \"neetocist\";\nimport { assoc, filter, map, pluck } from \"ramda\";\n\nimport { QUESTIONS_WITHOUT_FIELD_CODE } from \"components/BuildForm/constants\";\nimport { QUESTION_KIND } from \"components/ExternalForm/constants\";\n\nexport const getPreFillableQuestions = questions => {\n const modifiedQuestions = map(assoc(\"isRequired\", false), questions);\n\n return modifiedQuestions.filter(\n question => !QUESTIONS_WITHOUT_FIELD_CODE.includes(question.kind)\n );\n};\n\nexport const buildQueryParameters = (responses, questions) => {\n const filteredResponses = filter(isPresent, responses);\n\n const queryParameters = {};\n questions.forEach(question => {\n const { id, kind, fieldCode, optionsAttributes } = question;\n\n if (QUESTIONS_WITHOUT_FIELD_CODE.includes(kind)) return;\n\n const response = filteredResponses[id];\n\n if (!response) return;\n\n switch (kind) {\n case QUESTION_KIND.ADDITIONAL_GUESTS.value: {\n queryParameters[fieldCode] = pluck(\"label\", response).join(\",\");\n\n return;\n }\n case QUESTION_KIND.CHECKBOX.value: {\n const selectedLabels = response\n .map((value, index) => value && optionsAttributes[index]?.label)\n .filter(Boolean);\n\n queryParameters[fieldCode] = isPresent(selectedLabels)\n ? selectedLabels.join(\",\")\n : undefined;\n\n return;\n }\n case QUESTION_KIND.RADIO.value:\n case QUESTION_KIND.DROPDOWN.value: {\n queryParameters[fieldCode] = findById(\n response,\n optionsAttributes\n )?.label;\n\n return;\n }\n case QUESTION_KIND.PHONE.value: {\n const parsedNumber = parsePhoneNumber(response);\n queryParameters[`${fieldCode}.country`] = parsedNumber.country;\n queryParameters[`${fieldCode}.number`] = parsedNumber.nationalNumber;\n\n return;\n }\n case QUESTION_KIND.STAR_RATING.value: {\n queryParameters[fieldCode] = parseInt(response);\n\n return;\n }\n default: {\n queryParameters[fieldCode] = response;\n\n return;\n }\n }\n });\n\n return queryParameters;\n};\n","import { useRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Formik, Form } from \"formik\";\nimport { noop } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Typography, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FormikWrap from \"components/Common/FormikWrap\";\nimport { useForm } from \"hooks/useFormApi\";\nimport NoQuestions from \"images/noData/no-questions\";\n\nimport { buildQueryParameters, getPreFillableQuestions } from \"./utils\";\n\nimport { getFieldComponent } from \"../ExternalForm/Fields/utils\";\nimport {\n generateInitValues,\n mergeRefs,\n buildAutoCompleteAttribute,\n} from \"../ExternalForm/utils\";\n\nconst UrlBuilder = ({\n formId,\n showTitle = true,\n formTitle,\n titleProps,\n onSubmitSuccess,\n submitButtonProps,\n cancelButtonProps,\n resetButtonProps,\n showEmptyState = true,\n className,\n onChange,\n formDomProps,\n editorProps = {},\n customValidator,\n autoCompleteKinds = [],\n}) => {\n const formRef = useRef();\n const formikInnerRef = useRef();\n const editorRef = useRef();\n\n const { t } = useTranslation();\n\n const onSubmit = (values, { setSubmitting }) => {\n onSubmitSuccess?.({\n values,\n queryParameters: buildQueryParameters(values, questions),\n });\n\n setSubmitting(false);\n };\n\n const onReset = (e, handleReset) => {\n editorRef?.current?.editor?.commands?.setContent(\"\");\n handleReset(e);\n formDomProps?.onReset?.(e);\n };\n\n const handleScrollToError = errors => {\n if (!formRef.current) return;\n const errorKeys = Object.keys(errors);\n if (isEmpty(errorKeys)) return;\n for (const formElement of formRef.current) {\n if (errorKeys.includes(formElement.name)) {\n formElement.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n break;\n }\n }\n };\n\n const { data: form = { title: \"\", questions: [] }, isLoading } = useForm({\n formId,\n placeholderData: { isQuestionsLoading: true },\n });\n\n const keyPressRef = useHotkeys(\n \"command+enter\",\n formikInnerRef.current?.handleSubmit || noop,\n { mode: \"scoped\" }\n );\n\n if (isLoading || form.isQuestionsLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <PageLoader />\n </div>\n );\n }\n\n const { title, questions } = form;\n\n const modifiedQuestions = getPreFillableQuestions(questions);\n\n return (\n <>\n {showTitle && (\n <div className=\"py-6 text-center\">\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h4\"\n weight=\"semibold\"\n {...titleProps}\n >\n {formTitle || title}\n </Typography>\n </div>\n )}\n <Formik\n {...{ onSubmit }}\n enableReinitialize\n initialValues={generateInitValues({ questions: modifiedQuestions })}\n innerRef={formikInnerRef}\n >\n {({ isSubmitting, errors, setFieldError, handleReset }) => (\n <FormikWrap\n {...{ formId }}\n preserveValues={false}\n onError={handleScrollToError}\n onValuesChange={onChange}\n >\n <Form\n noValidate\n ref={mergeRefs(formRef, keyPressRef)}\n className={classNames(\n \"neeto-form-engine-form relative space-y-4\",\n className\n )}\n onChange={event => {\n if (isEmpty(errors)) return;\n setFieldError(event.target.name, \"\");\n }}\n {...formDomProps}\n onReset={e => onReset(e, handleReset)}\n >\n <div className=\"neeto-form-engine-questions-wrapper space-y-4 overflow-auto pr-4\">\n {modifiedQuestions.map(question => {\n const FieldComponent = getFieldComponent(question);\n\n return (\n <FieldComponent\n {...{ editorProps, editorRef, question }}\n customValidator={customValidator?.(question)}\n key={question.id ?? question.nodeId}\n autoComplete={buildAutoCompleteAttribute(\n question.kind,\n autoCompleteKinds,\n formDomProps\n )}\n />\n );\n })}\n {showEmptyState && isEmpty(modifiedQuestions) && (\n <div className=\"flex flex-col items-center justify-center gap-y-4 py-8\">\n <NoQuestions />\n <Typography style=\"h3\" weight=\"semibold\">\n {t(\"neetoForm.questions.common.notFound\")}\n </Typography>\n </div>\n )}\n </div>\n {!isEmpty(modifiedQuestions) && (\n <div className=\"mt-8 flex items-center justify-start gap-x-2\">\n <Button\n disabled={isSubmitting}\n label={t(\"neetoForm.common.generateLink\")}\n loading={isSubmitting}\n type=\"submit\"\n {...submitButtonProps}\n />\n {resetButtonProps && (\n <Button\n label={t(\"neetoForm.common.reset\")}\n style=\"secondary\"\n type=\"reset\"\n {...resetButtonProps}\n />\n )}\n {cancelButtonProps && (\n <Button\n label={t(\"neetoForm.common.cancel\")}\n {...cancelButtonProps}\n />\n )}\n </div>\n )}\n </Form>\n </FormikWrap>\n )}\n </Formik>\n </>\n );\n};\n\nUrlBuilder.propTypes = {\n formId: PropTypes.string,\n onSubmitSuccess: PropTypes.func,\n showTitle: PropTypes.bool,\n submitButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n showSuccessToastr: PropTypes.bool,\n showEmptyState: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default UrlBuilder;\n","import { useSubmission } from \"./useFormApi\";\n\nconst useFormSubmission = ({ formId = \"\", submissionId = \"\" }) => {\n const { data: submission, isLoading } = useSubmission({\n formId,\n submissionId,\n enabled: !!(formId && submissionId),\n });\n\n return { submission, isLoading };\n};\n\nexport default useFormSubmission;\n"],"names":["BASE_URL","QUERY_KEYS","QUESTIONS","SUBMISSIONS","SUBMISSION","FORMS","FORM","FORMIK","DIRECT_UPLOAD_URL","FORMS_URL","concat","FORM_URL","QUESTIONS_URL","QUESTION_URL","PUBLIC_QUESTIONS_URL","REORDER_QUESTIONS_URL","QUESTION_RESPONSES_URL","PUBLIC_QUESTION_RESPONSES_URL","SUBMISSIONS_URL","SUBMISSION_URL","PUBLIC_SUBMISSION_URL","Star","props","_props$size","size","other","_objectWithoutProperties","_excluded","_jsx","_objectSpread","fill","height","stroke","strokeLinecap","strokeLinejoin","strokeWidth","viewBox","width","xmlns","children","d","Heart","_props$size2","_excluded2","Zap","_props$size3","_excluded3","Crown","_ref","_ref$size","otherProps","_excluded4","Trophy","_ref2","_ref2$size","_excluded5","_jsxs","MemoizedStar","memo","MemoizedHeart","MemoizedZap","MemoizedCrown","MemoizedTrophy","_path","_path2","_extends","React","_path3","QUESTION_KIND","TEXT","value","NAME","EMAIL","type","PHONE","CHECKBOX","RADIO","DROPDOWN","PARAGRAPH","TEXTAREA","QUESTION","RATING","STAR_RATING","TERMS","CONDITION","DATE","ADDITIONAL_GUESTS","RICH_TEXT","INTEGER","onKeyDown","e","key","preventDefault","DECIMAL","FILE_UPLOAD","CAPTCHA","RATING_VALUES","GOOD","label","t","AVERAGE","BAD","SCHEMA_LESS_QUESTION_KINDS","RATING_OPTIONS","icon","HappyFace","modifier","ConfusedFace","SadFace","ICONS_MAP","star","StarIcon","heart","crown","trophy","zap","ERROR_CODES","FILE_TOO_LARGE","FILE_INVALID_TYPE","TOO_MANY_FILES","EMAIL_REGEX","RegExp","getForms","params","axios","get","createForm","payload","post","updateForm","formId","patch","buildUrl","destroyForm","getQuestions","language","arguments","length","undefined","i18next","resolvedLanguage","getPublicQuestions","createQuestion","updateQuestion","questionId","deleteQuestion","reorderQuestions","submitPublicForm","updatePublicSubmission","put","getPublicSubmission","submissionId","getSubmissions","getSubmission","updateSubmission","neetoFormApi","handleQuestionMutationSuccess","args","queryClient","onSuccess","_args","_slicedToArray","data","invalidateQueries","queryKey","setQueryData","assoc","questions","apply","_toConsumableArray","useForm","_ref$preview","preview","_ref$language","options","useQuery","queryFn","placeholderData","keepPreviousData","useFetchQuestions","_ref2$language","useCreateForm","useQueryClient","useMutation","mutationFn","form","_options$onSuccess","forms","id","call","useUpdateForm","_ref3","values","_ref4","title","mergeLeft","useCreateQuestion","filterNonNull","_len","Array","_key","useUpdateQuestion","_ref5","_len2","_key2","useDeleteQuestion","_len3","_key3","useReorderQuestions","_len4","_key4","useForms","_ref6","_ref6$page","page","DEFAULT_PAGE_INDEX","_ref6$pageSize","pageSize","DEFAULT_PAGE_SIZE","useDeleteForm","useMutationWithInvalidation","_ref7","keysToInvalidate","_","_ref8","_ref9","useSubmission","_ref11","_ref11$fetchPublicSub","fetchPublicSubmission","useCreateSubmission","_ref12","_data$submission","_data$submission2","_len5","_key5","submission","useUpdateSubmission","_ref13","_data$submission3","_len6","_key6","QUESTION_TYPES","TERMS_AND_CONDITION","CAPTCHA_TYPES","RECAPTCHA_V2","MATH_CAPTCHA","DEFAULT_AVAILABLE_LANGUAGES","code","name","MANDATORY_KINDS","QUESTIONS_WITHOUT_FIELD_CODE","QUESTIONS_INITIAL_VALUE","enabled","kind","nodeId","isQuestionsLoading","RESERVED_FIELD_CODES","SELECTABLE_KINDS","RICH_TEXT_QUESTIONS","QUESTION_ACTIONS","ADD","EDIT","MINIMUM_OPTIONS","isBlank","compose","isEmpty","trim","parseServerError","error","_error$notice","notice","isEmptyValues","obj","either","isNil","every","isArray","equals","useWith","path","split","isFunction","fieldWithFallback","question","fieldName","hasRichContent","fallback","field","isFieldEmpty","isEditorEmpty","isNotNil","getComponentDisplayName","Component","displayName","useBuildFormStore","create","withImmutableActions","set","formState","dirty","isSubmitting","isValid","errors","submitForm","noop","resetForm","selectedLanguage","richTextFieldsToReset","setFormData","arg","modify","useBuildFormState","prop","BadSmiley","color","defaultProps","OkaySmiley","GoodSmiley","Drag","clipPath","getActiveQuestionKindDetails","allQuestionKinds","item","_findBy","findBy","isSingular","generateArray","start","end","range","htmlToPlainText","htmlContent","formattedContent","replaceAll","EMPTY_PARAGRAPH_REGEX","node","document","createElement","innerHTML","DOMPurify","sanitize","textContent","innerText","generateRatingOptions","map","toLabelAndValue","FILE_TYPES","DOCUMENTS","IMAGES","AUDIO_VIDEO","STAR_RATING_ICONS_MAP","STAR_RATING_MAX_VALUE_OPTIONS","STAR_RATING_MIN_VALUE_OPTIONS","FILE_TYPES_MAP","_FILE_TYPES_MAP","_defineProperty","DEFAULT_ALLOWED_FILE_TYPES","flat","join","FILE_GROUPS","DEFAULT_OPTIONS","QUESTION_KINDS","defaults","isRequired","optionsAttributes","minValue","maxValue","iconType","highestRatingLabel","averageRatingLabel","lowestRatingLabel","termsLink","privacyPolicyLink","multipleFilesAllowed","allowedFileTypes","variant","INDEPENDENT_LABELS_MAP","paragraph","termsandcondition","DeleteAlert","selectedQuestion","isOpen","onClose","languagesCount","handleSelect","_useTranslation","useTranslation","_useBuildFormStore","store","_store$formState","shallow","renderQuestionLabel","questionKind","independentLabel","isPresent","questionLabel","truncate","_useDeleteQuestion","showThumbsUpToastr","mutate","isDeleting","isPending","selectNextQuestion","selectedQuestionIndex","displayOrder","wasLastQuestion","newDisplayOrder","newQuestion","handleSubmit","Alert","submitButtonLabel","message","Trans","i18nKey","count","onSubmit","ChangeLanguageDropdown","currentLanguage","languages","onChange","_useState","useState","_useState2","isUnsavedChangesAlertOpen","setIsUnsavedChangesAlertOpen","_useState3","_useState4","setSelectedLanguage","_useFormikContext","useFormikContext","languageChangeHandler","selectedLanguageName","_Fragment","Tooltip","content","Dropdown","buttonStyle","Menu","MenuItem","Button","isActive","onClick","Overview","description","availableLanguages","onLanguageChange","additionalActionOptions","className","Typography","lineHeight","style","weight","MoreDropdown","dropdownButtonProps","isRounded","dropdownProps","strategy","position","menuItems","validateEditorContent","editorRef","_editorRef$current","current","editor","buildReorderPayload","reduce","acc","isRichTextQuestion","includes","__","Card","_ref$question","getActiveKindDetails","onSelect","onEdit","onClone","onDelete","_getActiveKindDetails","slugify","classNames","isVisible","Questions","isDeletable","Droppable","droppableId","droppableProps","placeholder","innerRef","ref","index","_question$id","_question$id2","_createElement","Draggable","draggableId","draggableProps","dragHandleProps","moveItem","arr","sourceIndex","destinationIndex","removedItem","splice","arrayHelpers","isChoiceQuestion","generateUniqueFieldCode","fieldCodes","pluck","filterBy","uniqueNumber","candidateFieldCode","prefix","fieldCode","isQuestionKindAlreadyActive","activeQuestions","some","activeQuestion","_destroy","handleFieldDragEnd","items","setValue","source","destination","nextItems","orderedItems","createFieldData","_ref3$kind","metadata","_ref3$isRequired","uuid","duplicateFieldData","questionKinds","defaultAttributeNames","keys","defaultAttributes","pick","newQuestionLabel","omit","getAvailableQuestionKinds","_ref5$activeQuestions","isKindAlreadyActive","reject","isSingularKind","formatQuestionAttributesForClone","when","AddFirstQuestion","NoQuestions","QUESTIONS_WITH_ADDITIONAL_DATA","QUESTIONS_WITH_PLACEHOLDERS","DEFAULT_PLACEHOLDERS","what","INITIAL_VALUES","FormikAdaptiveInput","handleKeyDown","event","shiftKey","isMetaKeyPressed","handleFocus","element","setSelectionRange","Textarea","resize","onFocus","target","Block","dataCy","useUpdateEditorContent","initialValue","initialStateRef","useRef","_useBuildFormStore2","_store$formState2","shouldReset","setEditorContent","_editorRef$current$ed","commands","setContent","without","_useFetchQuestions","useEffect","pathArray","part","parsedPart","parseInt","isNaN","Editor","_useField","useField","validate","_useField2","_useField2$","touched","_useField2$2","setTouched","NeetoEditor","required","onBlur","RequiredSwitch","withT","Switch","InputWithMaxLength","maxLength","substring","shouldShowMaxLength","Input","FieldCode","helpDocUrl","Accordion","Item","helpText","components","Link","href","Form","initialFocusRef","isRequiredField","isDisabledFieldLabel","enableFieldCode","availableQuestionKinds","additionalQuestionKindPattern","fieldCodeHelpDocUrl","enableDomainRestriction","domainRestrictionHelpDocUrl","_ref$isEdit","isEdit","setValues","setErrors","questionKindUniquenessPattern","_useStateWithDependen","useStateWithDependency","getQuestionKind","_useStateWithDependen2","_ref2$questionProps","questionProps","isLabelDisabled","shouldShowPlaceholder","hasAdditionalData","shouldShowFieldCode","shouldShowHideSwitch","handleKindChange","option","buildQuestionData","updateFormState","extractKindFromOption","Pane","Body","Select","isClearable","isSearchable","defaultValue","buildDefaultValueForKind","isDisabled","buildKindOptions","disabled","renderAdditionalData","requiredLabelValidation","schema","richTextFieldMissingErrorMessage","formValidationSchema","yup","object","shape","string","test","notOneOf","notRequired","array","is","otherwise","of","nullable","Add","buildRequestArgs","_useCreateQuestion","isCreating","neetoFormQuestion","Header","formikProps","initialValues","validationSchema","QuestionForm","Footer","ActionBlock","cancelButtonProps","Edit","_useUpdateQuestion","isUpdating","setSubmitting","onSettled","Captcha","Radio","labelProps","SwitchBlock","_ref$className","Label","classnames","hyphenate","component","STYLES","border","MultiValueRemove","innerProps","hyphenize","Close","ValueContainer","getValue","_props$selectProps","selectProps","isFocused","visibleDomainsCount","_children","_toArray","firstChild","rest","slice","shouldCollapse","Tag","ClearIndicator","ERROR_MESSAGE_DELIMITER","DELIMITER_KEYS","DOMAIN_SEPARATION_REGEX","FLEXIBLE_DOMAIN_REGEX","VALID_DOMAIN_REGEX","DOMAIN_VALIDATION_SCHEMA","domain","CUSTOM_STYLES","input","multiValue","styles","valid","CUSTOM_COMPONENTS","DropdownIndicator","removeDuplicateErrorMessages","pipe","filter","uniq","formatDomainInputOptions","validateSync","_unused","pruneDuplicates","getValidDomains","domains","getValidDomainsCount","formatErrorMessage","MultiDomainInput","_ref$label","_ref$value","_ref$onChange","_ref$error","_ref$onBlur","inputValue","setInputValue","setIsFocused","handleFilterDomains","handleDomainChange","inputValues","match","domainMatches","stopPropagation","onCreateOption","handleBlur","isFilterDomainsLinkVisible","CreatableSelect","isMulti","classNamePrefix","menuIsOpen","control","maxHeight","overflowY","onInputChange","validateDomains","ensure","compact","min","entity","Promise","_asyncToGenerator","_regeneratorRuntime","mark","_callee","resolve","wrap","_callee$","_context","prev","next","t0","stop","_x","RestrictedDomains","_useField2$0$value","meta","formattedDomains","nullSafe","Email","_ref$domainRestrictio","_useFormikContext$val","isDomainRestrictionEnabled","HelpPopover","popoverProps","helpLinkProps","FileGroup","checked","handleAllowedFileTypesChange","Checkbox","buildFileTypesList","fileTypes","getAllowedFileTypes","isChecked","fileTypesSet","Set","from","newFileTypes","difference","isFileTypeEnabled","FileUpload","setFieldValue","_ref$target","fileType","defaultConfig","strict","matchKey","findOptionByValue","config","configObject","find","filterOptionsByValues","destroyFromList","itemToRemove","push","insertToList","pushToList","formHelpers","Options","setOptionsAttributes","_ref2$optionLabelProp","optionLabelProps","_ref2$freezeOptions","freezeOptions","_ref2$disableAddOptio","disableAddOption","_ref2$disableRemoveOp","disableRemoveOption","handleRemoveOption","nextOptions","isManageOptionDisabled","isAddOptionDisabled","isRemoveOptionDisabled","FieldArray","handlePush","_option$id","number","Delete","invisible","tooltipProps","Plus","iconPosition","RatingItem","Rating","Icon","StarRating","setIconType","Object","entries","IconType","transformValueForOption","resolveActionComponent","action","pattern","kinds","last","ManageQuestionPane","AddQuestion","onAdd","disabledAddButtonTooltipProps","onValueChange","submitButtonProps","isFormEnabled","savedTitle","formTitle","formDescription","isReordering","showActionBlock","formDomProps","containerRef","formikContext","setSelectedQuestion","selectedAction","setSelectedAction","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","isManageQuestionPaneOpen","setIsManageQuestionPaneOpen","handleAdd","handleEdit","handleClone","attributes","handleDelete","useOnClickOutside","hasActiveQuestions","handleLanguageChange","richTextQuestions","resetFormData","FormikForm","noValidate","DragDropContext","onDragEnd","BuildForm","onUpdate","_ref$nonRemovableFiel","nonRemovableFields","_ref$requiredFields","requiredFields","_ref$showActionBlock","_ref$isKindAlreadyAct","_ref$getActiveKindDet","isQuestionDeletable","isFieldRequired","isFieldLabelDisabled","_ref$showLoader","showLoader","_ref$kindUniqueOn","kindUniqueOn","_ref$allowAdditionalG","allowAdditionalGuests","_ref$enableFieldCode","_ref$availableLanguag","_ref$formTitle","_ref$selectedLanguage","_ref$onLanguageChange","_ref$additionalAction","_ref$enableDomainRest","_useReorderQuestions","isLoading","isQuestionsPending","PageLoader","neetoFormQuestions","_queryClient$getQuery","getQueryState","dataUpdateCount","defaultQuestionKinds","removeBy","Formik","enableReinitialize","setFieldError","NeetoFormProvider","Spinner","_ref$loading","loading","_ref$success","success","ButtonLoader","Success","Check","CALLOUT_STYLES","ERROR","INFO","CALLOUT_POSITIONS","ABSOLUTE","STATIC","Callout","_ref$style","_ref$position","_ref$callout","callout","primaryButton","secondaryButton","not","clientI18nInstance","cloneInstance","clearLocalStorageValues","localStorage","removeItem","console","setWithExpiry","expireInDays","expiryDate","dayjs","add","toDate","localStorageExpiry","getTime","setItem","JSON","stringify","getWithExpiry","itemStr","getItem","parse","now","Date","FormikWrap","onError","preserveValues","onValuesChange","validateForm","revalidate","syncValuesWithLocalStorage","touchedErrors","withI18nInstance","i18n","I18nWrapper","I18nextProvider","useIsMounted","isMounted","getInvalidFieldError","getRequiredFieldError","getSelectMinError","getInvalidTypeError","addMethod","valueInLowerCase","toLower","validItems","uniqueItems","createError","isValidDate","date","extractEmailDomain","email","isEmailFromRestrictedDomain","restrictedDomains","validateTextField","typeError","phoneNumberValidation","validateEmailField","isNotPresent","validateNameField","validateSingleChoiceField","validateMultiChoiceField","validateRatingField","validateStarRatingField","validateTermsField","_ref9$isRequired","oneOf","validateConditionField","_ref10","_ref10$isRequired","validateDateField","validateMultiEmailField","editorHasValue","validateRichTextField","validateFileUploadField","_ref14","files_schema","signedId","url","unique","files","validateCaptchaField","_ref15","mixed","transform","fieldKindValidatorMap","_fieldKindValidatorMa","validateFieldValue","_ref16","customValidator","validator","_ref17","MultipleEmailInput","_jsx2","isInputVisible","setIsInputVisible","NeetoUIMultiEmailInput","toEmailValues","getPhoneNumberFromUrl","countryCode","phoneNumber","formattedValue","getPhoneData","formatInternational","getOptionFromURL","preFillOption","getMultipleOptionsFromURL","fieldCodeValue","allOptions","getStarRatingFromUrl","rating","clamp","getAdditionalGuestsFromUrl","allEmails","getRatingFromUrl","allowedValues","getNumberFromUrl","parsedValue","parseFloat","getLabel","generateInitValues","_ref7$initialValues","_ref7$localValues","localValues","_ref7$fieldCodes","initValues","valuesMap","answer","optionIds","forEach","_valuesMap$id$value","_valuesMap","_valuesMap2","emailsFromSubmission","isNotEmpty","_valuesMap$id","_valuesMap$id2","_optionsAttributes$fi","_valuesMap$id3","_valuesMap3","_valuesMap4","_valuesMap$id$value2","_valuesMap5","_valuesMap$id$value3","_valuesMap6","_valuesMap$id$value4","_valuesMap7","_valuesMap$id$value5","_valuesMap8","generateFormResponse","response","formResponse","responseValue","findById","questionOptionId","parsePhoneNumber","mergeRefs","refs","getError","buildAutoCompleteAttribute","autoCompleteKinds","autoComplete","convertMbToBytes","mb","renderErrorMessage","errorObject","maxFileSize","isMultiple","file","fileName","maxSize","Math","round","extname","renderButtonsInOrder","buttonsArray","shouldReverse","orderedButtons","reverse","identity","getSelectedRating","CaptchaField","captchaRef","handleVerifyCaptcha","CAPTCHA_COMPONENT_MAP","MATH_OPERATORS","PLUS","MINUS","generateRandomOperation","firstNumber","getRandomInt","secondNumber","operator","randomPick","MathCaptcha","operation","setOperation","userInput","setUserInput","resetCaptcha","useImperativeHandle","reset","calculateResult","verifyCaptcha","result","Number","useUpdateEffect","Refresh","withEventTargetValue","Recaptcha","verifyRecaptcha","expiredRecaptcha","_captchaRef$current","ReCAPTCHA","hl","sitekey","globalProps","formNanoRecaptchaV2SiteKey","onErrored","onExpired","ConditionField","Field","extend","weekOfYear","weekday","localeData","utc","DateField","_QUESTION_KIND$kind$t","toUpperCase","_ref2$field","DatePicker","dateFormat","popupClassName","getValidDate","toISOString","EmailField","handleFieldChange","useFileUpload","accept","multiple","uploadProgress","setUploadProgress","uploadError","setUploadError","setError","filesRef","cancel","useCallback","_value$files","newFiles","idx","onDropAccepted","acceptedFiles","initialFiles","updatedFiles","upload","DirectUpload","directUploadWillStoreFileWithXHR","xhr","addEventListener","percentComplete","loaded","total","blob","blob_url","filename","signed_id","isUploadCompleted","sent","uploadedFile","onDropRejected","fileRejections","fileObject","_useDropzone","useDropzone","getRootProps","getInputProps","isDragActive","progress","DropZone","_ref$hasFileSizeLimit","hasFileSizeLimit","shouldShowFileSizeLimit","htmlFor","typography","span","unit","types","Progress","percents","_ref$stroke","_ref$emptyStroke","emptyStroke","_ref$emptyStrokeOpaci","emptyStrokeOpacity","_ref$duration","duration","_ref$delay","delay","_ref$strokeWidth","radius","circumference","ceil","PI","fillPercents","abs","transition","variants","hidden","strokeDashoffset","show","version","cx","cy","r","strokeOpacity","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","mpg","mpeg","flv","avi","jpg","jpeg","png","gif","getAcceptedFileTypes","accepted","mimeTypes","extension","mimeType","convertBytesToMb","bytes","toFixed","FilePreview","isUploading","FileGeneric","iconSize","rel","fileSize","FileUploadField","_useFileUpload","shouldShowError","maxFileSizeInBytes","isUploadingFile","NameField","Choices","isCheckBox","ChoiceWrapper","stacked","_value$index","active","OptionsField","setFieldTouched","validateField","_question$optionsAttr","isDropdown","transformedOptions","setTimeout","PhoneNumberField","_getPhoneData","PhoneNumberInput","initialCountryCode","country","handleClick","currentTarget","nextElementSibling","click","render","labels","Fragment","RatingField","RichTextEditor","_ref$editorProps","editorProps","debouncedPlaceholder","useDebounce","propsToCompare","FastField","shouldUpdate","isPropsUnequal","addons","RatingButton","selectedRating","StarRatingField","TermsField","EditorContent","TextField","_otherProps$onChange","_QUESTION_KIND$kind$t2","QUESTION_TO_COMPONENT_MAP","_QUESTION_TO_COMPONEN","AdditionalGuests","_CAPTCHA_COMPONENT_MA","getFieldComponent","nextProps","prevProps","notEqualsDeep","SuccessIcon","ExternalForm","_formikInnerRef$curre","customSubmitHandler","onBeforeSubmit","onSubmitSuccess","_ref$showTitle","showTitle","titleProps","submitRequestArgs","footer","resetButtonProps","_ref$displayThankYou","displayThankYou","_ref$showSuccessToast","showSuccessToastr","_ref$showEmptyState","showEmptyState","_ref$preserveValues","_ref$clearValuesOnRes","clearValuesOnReset","_ref$clearValuesOnSub","clearValuesOnSubmit","_ref$initialValues","_ref$autoCompleteKind","_ref$enablePreFilling","enablePreFilling","isSubmitted","setIsSubmitted","showSuccess","setShowSuccess","setLocalValues","formRef","formikInnerRef","changeLanguage","_useCreateSubmission","createSubmission","mutateAsync","_useUpdateSubmission","_useSubmission","responses","clearLocalFormValues","newResponses","neetoFormResponse","Toastr","finish","_x2","onReset","handleReset","_formDomProps$onReset","handleScrollToError","errorKeys","_iterator","_createForOfIteratorHelper","_step","s","n","done","formElement","scrollIntoView","behavior","block","err","f","_useForm","_useForm$data","keyPressRef","useHotkeys","mode","_form$questions","renderedQuestions","isHidden","getQueryParams","toCamelCase","FieldComponent","NeetoUICallout","Warning","_react","require$$0","_interopRequireWildcard","regex","require$$1","require$$2","require$$3","_interopRequireDefault","Linkify_1","require$$4","linkifyDecorator","decoratedHref","decoratedText","filterResponses","filteredResponses","filterAdditionalGuestResponses","ReactLinkify","componentDecorator","toLowerCase","getEditorContent","renderToString","Submission","_ref2$formId","_ref2$submissionId","_ref2$className","_ref2$fetchPublicSubm","_ref2$questionLabelPr","questionLabelProps","_ref2$answerProps","answerProps","_ref2$omitKinds","omitKinds","_useSubmission$data","renderSubmittedValue","PhoneNumber","showEmoji","getPreFillableQuestions","modifiedQuestions","buildQueryParameters","queryParameters","selectedLabels","_optionsAttributes$in","Boolean","_findById","parsedNumber","nationalNumber","UrlBuilder","useFormSubmission","_ref$formId","_ref$submissionId"],"mappings":"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"}