@bigbinary/neeto-form-frontend 3.1.0 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -1
- package/app/javascript/src/translations/ar.json +3 -1
- package/app/javascript/src/translations/de.json +3 -1
- package/app/javascript/src/translations/en.json +9 -3
- package/app/javascript/src/translations/es.json +3 -1
- package/app/javascript/src/translations/fr.json +3 -1
- package/app/javascript/src/translations/nl.json +3 -1
- package/app/javascript/src/translations/pl.json +3 -1
- package/app/javascript/src/translations/pt.json +3 -1
- package/dist/index.cjs.js +322 -80
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +320 -81
- package/dist/index.js.map +1 -1
- package/dist/main.css +1 -1
- package/dist/main.css.map +1 -1
- package/package.json +3 -1
- package/types.d.ts +1 -0
package/dist/index.cjs.js.map
CHANGED
|
@@ -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/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/Fields/ConditionField.jsx","../app/javascript/src/components/ExternalForm/utils/index.js","../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","import { 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};\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};\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} = QUESTION_TYPES;\n\nexport const DEFAULT_AVAILABLE_LANGUAGES = [{ code: \"en\", name: \"English\" }];\n\nexport const QUESTIONS_WITHOUT_FIELD_CODE = [\n PARAGRAPH,\n TERMS_AND_CONDITION,\n CONDITION,\n FILE_UPLOAD,\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\"];\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 { 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} = 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\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 { isEmpty, reject, omit, pluck, keys, pick } from \"ramda\";\nimport { v4 as uuid } from \"uuid\";\n\nimport arrayHelpers from \"common/helpers/array\";\nimport { fieldWithFallback } from \"utils\";\n\nimport { RESERVED_FIELD_CODES } from \"../constants\";\nimport { isRichTextQuestion } from \"../utils\";\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","<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} = QUESTION_TYPES;\n\nexport const QUESTIONS_WITH_ADDITIONAL_DATA = [\n ...SELECTABLE_KINDS,\n STAR_RATING,\n RATING,\n FILE_UPLOAD,\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 { Textarea } from \"neetoui/formik\";\n\nconst FormikAdaptiveInput = ({ label, name, ...otherProps }) => {\n const { submitForm } = useFormikContext();\n\n const handleKeyDown = event => {\n if (event.key !== \"Enter\" || event.shiftKey) return;\n event.preventDefault();\n 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 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({ kind, questionProps })}\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 ...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 {...{ ...props, fieldCodeHelpDocUrl, question, questions }}\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 = ({ question, isOpen, onClose, fieldCodeHelpDocUrl, ...props }) => {\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 {...{ fieldCodeHelpDocUrl, question, ...props }}\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 { 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 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 { CHECKBOX, RADIO, DROPDOWN, STAR_RATING, RATING, FILE_UPLOAD } =\n QUESTION_TYPES;\n\nconst transformValueForOption = ({ label, type }) =>\n `${slugify(label)}-${type}`;\n\nexport const renderAdditionalData = ({ kind, questionProps }) => {\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 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 ...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 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} 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 ...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, isCloning: true }, values);\n const payload = {\n language: selectedLanguage,\n neetoFormQuestion: 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 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, 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 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 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 ?? (({ kind }) => 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 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 { map, pipe, prop, reject, toLower } from \"ramda\";\nimport * as yup from \"yup\";\n\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 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 }) => {\n let schema = yup\n .string()\n .typeError(getInvalidTypeError(label, \"string\"))\n .email(getInvalidFieldError(\"Email\"));\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 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};\n\nexport const validateFieldValue =\n ({ kind, label, isRequired, customValidator, ...otherProps }) =>\n value => {\n if (!(kind in fieldKindValidatorMap)) return;\n const validator = fieldKindValidatorMap[kind];\n const schema =\n customValidator || validator({ kind, label, isRequired, ...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 { 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 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 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 { id: name, kind, isRequired, nodeId } = 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 }),\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={classnames(\"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 type=\"button\"\n className={classnames(\n \"neeto-form-engine-file-upload__button--red neeto-form-engine-file-upload__remove-button\"\n )}\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 { fieldWithFallback } from \"utils\";\n\nimport AdditionalGuests from \"./AdditionalGuests\";\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};\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 SuccessIcon from \"images/neeto_form/Success\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Success = () => {\n const { t } = useTranslation();\n\n return (\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 );\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 const formRef = useRef();\n const formikInnerRef = useRef();\n const editorRef = useRef();\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 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 {...{ editorProps, editorRef, preview, question }}\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\";\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 = 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 ? t(\"neetoForm.common.yes\") : 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}) => {\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);\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","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","DEFAULT_AVAILABLE_LANGUAGES","code","name","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","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","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","AddFirstQuestion","NoQuestions","QUESTIONS_WITH_ADDITIONAL_DATA","QUESTIONS_WITH_PLACEHOLDERS","DEFAULT_PLACEHOLDERS","what","INITIAL_VALUES","FormikAdaptiveInput","handleKeyDown","event","shiftKey","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","_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","when","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","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","filter","destroyFromList","itemToRemove","push","insertToList","pushToList","formHelpers","Options","setOptionsAttributes","_ref2$optionLabelProp","optionLabelProps","_ref2$freezeOptions","freezeOptions","handleRemoveOption","nextOptions","FieldArray","handlePush","Label","_option$id","number","Delete","invisible","tooltipProps","Plus","iconPosition","RatingItem","Rating","Icon","hyphenate","StarRating","setIconType","Object","entries","IconType","transformValueForOption","resolveActionComponent","action","pattern","kinds","pipe","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","isCloning","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","_useReorderQuestions","isLoading","isQuestionsPending","PageLoader","neetoFormQuestions","_queryClient$getQuery","getQueryState","dataUpdateCount","defaultQuestionKinds","removeBy","Formik","enableReinitialize","setFieldError","NeetoFormProvider","Spinner","_ref$loading","loading","_ref$success","success","_ref$className","ButtonLoader","Success","Check","CALLOUT_STYLES","ERROR","INFO","CALLOUT_POSITIONS","ABSOLUTE","STATIC","Callout","_ref$style","_ref$position","_ref$callout","callout","primaryButton","secondaryButton","classnames","Close","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","min","entity","getInvalidTypeError","addMethod","getValue","valueInLowerCase","toLower","validItems","uniqueItems","createError","isValidDate","date","validateTextField","typeError","phoneNumberValidation","validateEmailField","email","validateNameField","validateSingleChoiceField","validateMultiChoiceField","compact","validateRatingField","validateStarRatingField","validateTermsField","_ref8$isRequired","oneOf","validateConditionField","_ref9$isRequired","validateDateField","_ref10","isNotPresent","validateMultiEmailField","editorHasValue","validateRichTextField","validateFileUploadField","files_schema","signedId","url","unique","files","fieldKindValidatorMap","_fieldKindValidatorMa","validateFieldValue","_ref14","customValidator","validator","Promise","_ref15","_asyncToGenerator","_regeneratorRuntime","mark","_callee","resolve","wrap","_callee$","_context","prev","next","t0","stop","_x","MultipleEmailInput","_jsx2","meta","isInputVisible","setIsInputVisible","NeetoUIMultiEmailInput","ConditionField","Field","toEmailValues","valid","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","extend","weekOfYear","weekday","localeData","utc","DateField","_QUESTION_KIND$kind$t","toUpperCase","_ref2$field","DatePicker","dateFormat","popupClassName","getValidDate","toISOString","EmailField","handleFieldChange","withEventTargetValue","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","component","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","transform","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","Radio","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","_ref$value","selectedRating","StarRatingField","TermsField","EditorContent","TextField","_otherProps$onChange","_QUESTION_KIND$kind$t2","QUESTION_TO_COMPONENT_MAP","_QUESTION_TO_COMPONEN","AdditionalGuests","getFieldComponent","nextProps","prevProps","notEqualsDeep","_unused","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","ReactLinkify","componentDecorator","getEditorContent","renderToString","Submission","_ref2$formId","_ref2$submissionId","_ref2$className","_ref2$fetchPublicSubm","_ref2$questionLabelPr","questionLabelProps","_ref2$answerProps","answerProps","_useSubmission$data","filteredResponses","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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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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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/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\"];\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];\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 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({ kind, questionProps })}\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 ...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 {...{ ...props, fieldCodeHelpDocUrl, question, questions }}\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 = ({ question, isOpen, onClose, fieldCodeHelpDocUrl, ...props }) => {\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 {...{ fieldCodeHelpDocUrl, question, ...props }}\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 { 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 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 { CHECKBOX, RADIO, DROPDOWN, STAR_RATING, RATING, FILE_UPLOAD, CAPTCHA } =\n QUESTION_TYPES;\n\nconst transformValueForOption = ({ label, type }) =>\n `${slugify(label)}-${type}`;\n\nexport const renderAdditionalData = ({ kind, questionProps }) => {\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 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 ...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 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 ...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 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 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 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 { 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 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 }) => {\n let schema = yup\n .string()\n .typeError(getInvalidTypeError(label, \"string\"))\n .email(getInvalidFieldError(\"Email\"));\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 { id: name, kind, isRequired, nodeId } = 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 }),\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","_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","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","filter","destroyFromList","itemToRemove","push","insertToList","pushToList","formHelpers","Options","setOptionsAttributes","_ref2$optionLabelProp","optionLabelProps","_ref2$freezeOptions","freezeOptions","handleRemoveOption","nextOptions","FieldArray","handlePush","Label","_option$id","number","Delete","invisible","tooltipProps","Plus","iconPosition","RatingItem","Rating","Icon","hyphenate","StarRating","setIconType","Object","entries","IconType","transformValueForOption","resolveActionComponent","action","pattern","kinds","pipe","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","_useReorderQuestions","isLoading","isQuestionsPending","PageLoader","neetoFormQuestions","_queryClient$getQuery","getQueryState","dataUpdateCount","defaultQuestionKinds","removeBy","Formik","enableReinitialize","setFieldError","NeetoFormProvider","Spinner","_ref$loading","loading","_ref$success","success","_ref$className","ButtonLoader","Success","Check","CALLOUT_STYLES","ERROR","INFO","CALLOUT_POSITIONS","ABSOLUTE","STATIC","Callout","_ref$style","_ref$position","_ref$callout","callout","primaryButton","secondaryButton","classnames","Close","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","min","entity","getInvalidTypeError","addMethod","getValue","valueInLowerCase","toLower","validItems","uniqueItems","createError","isValidDate","date","validateTextField","typeError","phoneNumberValidation","validateEmailField","email","validateNameField","validateSingleChoiceField","validateMultiChoiceField","compact","validateRatingField","validateStarRatingField","validateTermsField","_ref8$isRequired","oneOf","validateConditionField","_ref9$isRequired","validateDateField","_ref10","isNotPresent","validateMultiEmailField","editorHasValue","validateRichTextField","validateFileUploadField","files_schema","signedId","url","unique","files","validateCaptchaField","_ref14","mixed","transform","fieldKindValidatorMap","_fieldKindValidatorMa","validateFieldValue","_ref15","customValidator","validator","Promise","_ref16","_asyncToGenerator","_regeneratorRuntime","mark","_callee","resolve","wrap","_callee$","_context","prev","next","t0","stop","_x","MultipleEmailInput","_jsx2","meta","isInputVisible","setIsInputVisible","NeetoUIMultiEmailInput","toEmailValues","valid","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","handleBlur","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","component","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","_ref$value","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","_unused","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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"}
|