@bigbinary/neeto-form-frontend 3.9.9 → 3.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/BuildForm.js +156 -280
  2. package/dist/BuildForm.js.map +1 -1
  3. package/dist/ExternalForm.js +8 -8
  4. package/dist/ExternalForm.js.map +1 -1
  5. package/dist/NeetoFormProvider.js.map +1 -1
  6. package/dist/Submission.js +1 -1
  7. package/dist/Submission.js.map +1 -1
  8. package/dist/UrlBuilder.js +7 -7
  9. package/dist/UrlBuilder.js.map +1 -1
  10. package/dist/{buildForm-CthgTgsm.js → buildForm-12iKiorQ.js} +3 -2
  11. package/dist/buildForm-12iKiorQ.js.map +1 -0
  12. package/dist/{buildForm-GdQQ62ve.js → buildForm-Zw1xpuBS.js} +3 -2
  13. package/dist/buildForm-Zw1xpuBS.js.map +1 -0
  14. package/dist/cjs/BuildForm.js +166 -290
  15. package/dist/cjs/BuildForm.js.map +1 -1
  16. package/dist/cjs/ExternalForm.js +8 -8
  17. package/dist/cjs/ExternalForm.js.map +1 -1
  18. package/dist/cjs/NeetoFormProvider.js.map +1 -1
  19. package/dist/cjs/Submission.js +1 -1
  20. package/dist/cjs/Submission.js.map +1 -1
  21. package/dist/cjs/UrlBuilder.js +7 -7
  22. package/dist/cjs/UrlBuilder.js.map +1 -1
  23. package/dist/cjs/hooks.js +3 -3
  24. package/dist/cjs/index.js +7 -7
  25. package/dist/{constants-C5wOjKeR.js → constants-AohkxnRH.js} +78 -28
  26. package/dist/constants-AohkxnRH.js.map +1 -0
  27. package/dist/{constants-BCiFseWW.js → constants-CCpt0hVT.js} +83 -26
  28. package/dist/constants-CCpt0hVT.js.map +1 -0
  29. package/dist/constants-D-XSuLo2.js.map +1 -1
  30. package/dist/constants-DlRX5mcQ.js.map +1 -1
  31. package/dist/hooks.js +3 -3
  32. package/dist/index-2caW4Cx0.js.map +1 -1
  33. package/dist/index-BL5SirYx.js.map +1 -1
  34. package/dist/index.js +7 -7
  35. package/dist/{useFormApi-DAiOGCeD.js → useFormApi-CWHgrz3I.js} +6 -6
  36. package/dist/useFormApi-CWHgrz3I.js.map +1 -0
  37. package/dist/{useFormApi-BS-TCKwR.js → useFormApi-DtoxIPE7.js} +6 -6
  38. package/dist/useFormApi-DtoxIPE7.js.map +1 -0
  39. package/dist/{useFormSubmission-B2aaxL1m.js → useFormSubmission-Bb1kpT-Z.js} +2 -2
  40. package/dist/{useFormSubmission-B2aaxL1m.js.map → useFormSubmission-Bb1kpT-Z.js.map} +1 -1
  41. package/dist/{useFormSubmission-DeaBHZs7.js → useFormSubmission-CU-i51el.js} +2 -2
  42. package/dist/{useFormSubmission-DeaBHZs7.js.map → useFormSubmission-CU-i51el.js.map} +1 -1
  43. package/dist/{utils-DvTIh9-Y.js → utils-ClGaz0cq.js} +27 -26
  44. package/dist/utils-ClGaz0cq.js.map +1 -0
  45. package/dist/{utils-DjiqVQzl.js → utils-DI6tmFqX.js} +27 -26
  46. package/dist/utils-DI6tmFqX.js.map +1 -0
  47. package/package.json +60 -57
  48. package/types.d.ts +1 -1
  49. package/dist/buildForm-CthgTgsm.js.map +0 -1
  50. package/dist/buildForm-GdQQ62ve.js.map +0 -1
  51. package/dist/constants-BCiFseWW.js.map +0 -1
  52. package/dist/constants-C5wOjKeR.js.map +0 -1
  53. package/dist/useFormApi-BS-TCKwR.js.map +0 -1
  54. package/dist/useFormApi-DAiOGCeD.js.map +0 -1
  55. package/dist/utils-DjiqVQzl.js.map +0 -1
  56. package/dist/utils-DvTIh9-Y.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BuildForm.js","sources":["../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","../app/javascript/src/common/helpers/array.js","../app/javascript/src/components/BuildForm/Form/utils.js","../app/javascript/src/components/BuildForm/AddFirstQuestion.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/constants.js","../app/javascript/src/components/Common/FormikAdaptiveInput.jsx","../app/javascript/src/components/BuildForm/commons/Block.jsx","../app/javascript/src/components/BuildForm/hooks/useUpdateEditorContent.js","../app/javascript/src/components/BuildForm/commons/Editor.jsx","../app/javascript/src/components/BuildForm/commons/RequiredSwitch.jsx","../app/javascript/src/components/Common/InputWithMaxLength.jsx","../app/javascript/src/components/BuildForm/Questions/FieldCode.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/Form.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/validations.js","../app/javascript/src/components/BuildForm/ManageQuestionPane/Add.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/Edit.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Captcha/index.jsx","../app/javascript/src/components/BuildForm/commons/SwitchBlock.jsx","../app/javascript/src/components/BuildForm/commons/TitleWithHelpPopover.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/constants.js","../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/constants.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/index.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/Email/EmailDomains.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/RestrictDomainsBlock.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/index.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/FileGroup.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/index.jsx","../app/javascript/src/common/helpers/form.js","../app/javascript/src/components/BuildForm/Questions/Fields/Options.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Rating.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/StarRating.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/utils.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/index.jsx","../app/javascript/src/components/BuildForm/Questions/AddQuestion.jsx","../app/javascript/src/components/BuildForm/Form/index.jsx","../app/javascript/src/components/BuildForm/index.jsx"],"sourcesContent":["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 { Plus } from \"neetoicons\";\nimport { assoc, includes, reduce, __ } from \"ramda\";\n\nimport {\n AUTO_GENERATED_KINDS,\n IMMUTABLE_KINDS,\n RICH_TEXT_QUESTIONS,\n} 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);\nexport const isAutoGeneratedQuestion = includes(__, AUTO_GENERATED_KINDS);\nexport const isImmutableField = field => IMMUTABLE_KINDS.includes(field.kind);\n\nexport const buildAddQuestionButtonProps = (\n onAdd,\n isDisabled,\n tooltipProps\n) => ({\n \"data-cy\": \"neeto-form-engine-add-question-button\",\n disabled: isDisabled,\n label: t(\"neetoForm.questions.common.primaryPanel.addQuestion\"),\n icon: Plus,\n iconPosition: \"left\",\n style: \"link\",\n onClick: onAdd,\n ...(isDisabled && { tooltipProps }),\n});\n\nexport const buildDisabledAddButtonTooltipProps = (\n isDisabled,\n disabledAddButtonTooltipProps = {}\n) => ({\n disabled: !isDisabled,\n position: \"top\",\n content: t(\"neetoForm.questions.common.primaryPanel.noQuestionLeft\"),\n ...disabledAddButtonTooltipProps,\n});\n","import { useEffect, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isNotPresent, slugify } from \"neetocist\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { path } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\nimport useBuildFormStore from \"src/stores/buildForm\";\nimport { fieldWithFallback, isFunction } from \"utils\";\n\nimport { htmlToPlainText, isElementOverflowing } 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 [isTooltipEnabled, setIsTooltipEnabled] = useState(false);\n\n const questionLabelRef = useRef(null);\n\n const { t } = useTranslation();\n\n const smsReminderHelpDocUrl = useBuildFormStore(\n path([\"formState\", \"helpDocUrls\", \"smsReminder\"])\n );\n\n const { kind, isSingular } = getActiveKindDetails({\n allQuestionKinds,\n item: question,\n });\n\n const isSmsReminderQuestion = kind === QUESTION_TYPES.SMS_REMINDER;\n\n const label = fieldWithFallback(question, \"label\");\n\n const questionLabel = isRichTextQuestion(kind)\n ? htmlToPlainText(label)\n : label;\n\n useEffect(() => {\n const element = questionLabelRef.current;\n if (isNotPresent(element)) return;\n\n setIsTooltipEnabled(isElementOverflowing(element));\n }, [questionLabel]);\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 gap-1 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 <Tooltip\n content={questionLabel}\n disabled={!isTooltipEnabled}\n position=\"top\"\n >\n <Typography\n className=\"line-clamp-2 min-w-0 flex-grow truncate break-words\"\n lineHeight=\"snug\"\n ref={questionLabelRef}\n style=\"body2\"\n weight=\"medium\"\n >\n {questionLabel}\n </Typography>\n </Tooltip>\n </div>\n <div className=\"flex items-center gap-1\">\n {isSmsReminderQuestion && (\n <HelpPopover\n description={t(\"neetoForm.smsReminder.popoverDescription\")}\n popoverProps={{ position: \"top\" }}\n {...(smsReminderHelpDocUrl && {\n helpLinkProps: { href: smsReminderHelpDocUrl },\n })}\n />\n )}\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 </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","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 { findBy } from \"neetocist\";\nimport {\n isEmpty,\n reject,\n omit,\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 {\n NON_BASIC_LATIN_CHARACTERS_REGEX,\n RESERVED_FIELD_CODES,\n SELECTABLE_KINDS,\n} from \"../constants\";\nimport { isAutoGeneratedQuestion, isRichTextQuestion } from \"../utils\";\n\nconst isChoiceQuestion = question => includes(question?.kind, SELECTABLE_KINDS);\n\nconst underscoredWithoutSpecialCharacters = string =>\n string\n .toLowerCase()\n .replace(/[\\s-]/g, \"_\")\n .replace(/[\\W]/gi, \"\")\n .replace(/_+/g, \"_\")\n .replace(/^_+|_+$/, \"\");\n\nconst addSuffixForReservedFieldCode = fieldCode =>\n RESERVED_FIELD_CODES.includes(fieldCode) ? `${fieldCode}_field` : fieldCode;\n\nconst getUniqueNumbersFromExistingFieldCodes = (prefix, questions) =>\n questions\n .filter(question => question.fieldCode.startsWith(prefix))\n .map(question => parseInt(question.fieldCode.replace(prefix, \"\")) || 0);\n\nconst generateFieldCodePrefix = (label, kind) => {\n let prefix;\n\n if (NON_BASIC_LATIN_CHARACTERS_REGEX.test(label) || isEmpty(label)) {\n prefix = kind;\n } else {\n const sanitizedLabel = underscoredWithoutSpecialCharacters(label).slice(\n 0,\n 30\n );\n prefix = isEmpty(sanitizedLabel) ? kind : sanitizedLabel;\n }\n\n return addSuffixForReservedFieldCode(prefix) || \"\";\n};\n\nexport const generateUniqueFieldCode = ({\n questions,\n label = \"\",\n kind = \"\",\n}) => {\n const prefix = generateFieldCodePrefix(label, kind);\n\n let uniqueNumber = Math.max(\n 0,\n ...getUniqueNumbersFromExistingFieldCodes(prefix, questions)\n );\n let candidateFieldCode = \"\";\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 === 0 ? \"\" : 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({\n questions,\n kind: type,\n label: defaults[\"label\"],\n }),\n});\n\nexport const duplicateFieldData = ({ item, questionKinds, questions }) => {\n const { isRequired, kind, optionsAttributes } = item;\n\n const questionKind = findBy({ type: kind }, questionKinds);\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({\n questions,\n kind,\n label: newQuestionLabel,\n }),\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 (\n isAutoGeneratedQuestion(kind.type) ||\n (isSingularKind && isKindAlreadyActive({ activeQuestions, kind }))\n );\n }, allQuestionKinds);\n};\n\nexport const formatQuestionAttributesForClone = when(\n isChoiceQuestion,\n assoc(\"isCloning\", true)\n);\n","import { NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n buildAddQuestionButtonProps,\n buildDisabledAddButtonTooltipProps,\n} from \"./utils\";\n\nconst AddFirstQuestion = ({\n onAdd,\n isDisabled,\n disabledAddButtonTooltipProps,\n}) => {\n const { t } = useTranslation();\n const tooltipProps = buildDisabledAddButtonTooltipProps(\n isDisabled,\n disabledAddButtonTooltipProps\n );\n\n return (\n <div className=\"flex h-full flex-col items-center justify-center py-8\">\n <NoData\n showTooltipWhenButtonDisabled\n className=\"min-h-80\"\n title={t(\"neetoForm.questions.common.noData\")}\n primaryButtonProps={buildAddQuestionButtonProps(\n onAdd,\n isDisabled,\n tooltipProps\n )}\n />\n </div>\n );\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 SMS_REMINDER,\n} = QUESTION_TYPES;\n\nexport const QUESTIONS_WITH_ADDITIONAL_DATA = [\n ...SELECTABLE_KINDS,\n STAR_RATING,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n];\n\nexport const QUESTIONS_WITH_PLACEHOLDERS = [\n NAME,\n PHONE,\n EMAIL,\n ADDITIONAL_GUESTS,\n TEXT,\n TEXTAREA,\n RICH_TEXT,\n INTEGER,\n DECIMAL,\n DATE,\n SMS_REMINDER,\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\nexport const VALID_FIELD_CODE_REGEX = /^[a-z0-9]+(_[a-z0-9]+)*$/;\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 { Button, Accordion } from \"neetoui\";\nimport { path } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport Input from \"components/Common/InputWithMaxLength\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport { FIELD_CODES_REJECT_CHARS_REGEX } from \"./constants\";\n\nconst FieldCode = () => {\n const helpDocUrl = useBuildFormStore(\n path([\"formState\", \"helpDocUrls\", \"fieldCode\"])\n );\n\n const { t } = useTranslation();\n\n return (\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 rejectCharsRegex={FIELD_CODES_REJECT_CHARS_REGEX}\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};\n\nexport default FieldCode;\n","import { useFormikContext } from \"formik\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport { withEventTargetValue } from \"neetocommons/utils\";\nimport { Pane } from \"neetoui\";\nimport { Select, Switch } from \"neetoui/formik\";\nimport { includes, isNil, mergeLeft, path } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FormikAdaptiveInput from \"components/Common/FormikAdaptiveInput\";\nimport useBuildFormStore from \"src/stores/buildForm\";\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 hideSwitchLabelProps,\n renderAdditionalData,\n} from \"./utils\";\n\nimport Block from \"../commons/Block\";\nimport Editor from \"../commons/Editor\";\nimport RequiredSwitch from \"../commons/RequiredSwitch\";\nimport {\n NON_HIDEABLE_FIELDS,\n QUESTIONS_WITHOUT_FIELD_CODE,\n} from \"../constants\";\nimport { createFieldData, generateUniqueFieldCode } from \"../Form/utils\";\nimport FieldCode from \"../Questions/FieldCode\";\nimport { isImmutableField, 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 isEdit = false,\n}) => {\n const { t } = useTranslation();\n\n const { values, setValues, setErrors, setTouched, setFieldValue } =\n useFormikContext();\n\n const hideQuestionHelpDoc = useBuildFormStore(\n path([\"formState\", \"helpDocUrls\", \"hideQuestion\"])\n );\n\n const { enableDomainWhitelisting, enableDomainBlacklisting } =\n useBuildFormStore.pick(\"formState\");\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 isImmutable = questionKind && isImmutableField(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, NON_HIDEABLE_FIELDS);\n const isSettingsBlockVisible =\n !isRequired && (!isImmutable || shouldShowHideSwitch);\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({ kind: questionKind, isRequired, questions });\n };\n\n const updateFormState = data => {\n setValues(data);\n setErrors({});\n setTouched({});\n };\n\n const handleLabelChange = label => {\n setFieldValue(\"label\", label);\n\n if (isEdit) return;\n\n const uniqueFieldCode = generateUniqueFieldCode({\n questions,\n label,\n kind,\n });\n\n setFieldValue(\"fieldCode\", uniqueFieldCode);\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 onChange={withEventTargetValue(handleLabelChange)}\n />\n {shouldShowPlaceholder && (\n <FormikAdaptiveInput\n name=\"placeholder\"\n label={t(\n \"neetoForm.questions.common.questionFields.field.placeholder\"\n )}\n />\n )}\n {hasAdditionalData &&\n renderAdditionalData({\n kind,\n questionProps,\n enableDomainWhitelisting,\n enableDomainBlacklisting,\n })}\n </div>\n {isSettingsBlockVisible && (\n <Block\n dataCy=\"settings-card\"\n title={t(\"neetoForm.common.settings\")}\n >\n {!isImmutable && <RequiredSwitch />}\n {shouldShowHideSwitch && (\n <Switch\n label={t(\"neetoForm.common.hideQuestion\")}\n labelProps={hideSwitchLabelProps(hideQuestionHelpDoc)}\n name=\"isHidden\"\n />\n )}\n </Block>\n )}\n {shouldShowFieldCode && <FieldCode />}\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 { VALID_FIELD_CODE_REGEX } from \"./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 fieldCodeValidation = (schema, field) =>\n schema\n .trim()\n .required(t(\"neetoForm.common.fieldReq\", { field }))\n .matches(\n VALID_FIELD_CODE_REGEX,\n t(\"neetoForm.error.invalidField\", { label: field })\n );\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 = (enableFieldCode = false) =>\n 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 enableFieldCode && !includes(kind, QUESTIONS_WITHOUT_FIELD_CODE)\n ? fieldCodeValidation(\n schema,\n t(\"neetoForm.questions.common.questionFields.field.fieldCode\")\n )\n : schema.notRequired()\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 ...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(props[\"enableFieldCode\"]),\n onSubmit: handleSubmit,\n }}\n >\n <>\n <QuestionForm {...{ ...props, question, questions }} />\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, ...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(props[\"enableFieldCode\"]),\n onSubmit: handleSubmit,\n }}\n >\n <>\n <QuestionForm {...{ question, ...props }} isEdit />\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={isUpdating}\n />\n </Pane.Footer>\n </>\n </Form>\n </>\n );\n};\n\nexport default Edit;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Radio } from \"neetoui/formik\";\n\nimport { CAPTCHA_TYPES } from \"components/constants\";\n\nconst Captcha = withT(({ t }) => (\n <Radio\n label={t(\"neetoForm.common.captchaType\")}\n labelProps={{ required: true }}\n name=\"variant\"\n >\n <Radio.Item\n label={t(\"neetoForm.common.reCaptchaV2\")}\n value={CAPTCHA_TYPES.RECAPTCHA_V2}\n />\n <Radio.Item\n label={t(\"neetoForm.common.mathCaptcha\")}\n value={CAPTCHA_TYPES.MATH_CAPTCHA}\n />\n </Radio>\n));\n\nexport default Captcha;\n","import classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Label, Typography } from \"neetoui\";\nimport { Switch } from \"neetoui/formik\";\n\nconst SwitchBlock = ({ name, title, className = \"\", ...otherProps }) => (\n <Label\n className={classnames(\"flex items-center justify-start gap-2 \", className)}\n data-cy={`neeto-form-engine-${hyphenate(title && name)}-toggle-label`}\n >\n <Switch\n {...{ ...otherProps, name }}\n data-cy={`neeto-form-engine-${hyphenate(title && name)}-switch`}\n />\n <Typography component=\"span\" style=\"body1\">\n {title}\n </Typography>\n </Label>\n);\n\nexport default SwitchBlock;\n","import HelpPopover from \"neetomolecules/HelpPopover\";\n\nconst TitleWithHelpPopover = ({ title, description, helpLink }) => (\n <div className=\"flex gap-2\">\n {title}\n <HelpPopover\n {...{ description }}\n popoverProps={{ position: \"top\" }}\n {...(helpLink && { helpLinkProps: { href: helpLink } })}\n />\n </div>\n);\n\nexport default TitleWithHelpPopover;\n","import { t } from \"i18next\";\n\nexport const DOMAIN_RESTRICTION_TRANSLATIONS = {\n whitelistedDomains: {\n title: t(\"neetoForm.domainRestriction.whitelistedDomains.label\"),\n description: t(\n \"neetoForm.domainRestriction.whitelistedDomains.description\"\n ),\n popoverDescription: t(\n \"neetoForm.domainRestriction.whitelistedDomains.popoverDescription\"\n ),\n },\n blacklistedDomains: {\n title: t(\"neetoForm.domainRestriction.blacklistedDomains.label\"),\n description: t(\n \"neetoForm.domainRestriction.blacklistedDomains.description\"\n ),\n popoverDescription: t(\n \"neetoForm.domainRestriction.blacklistedDomains.popoverDescription\"\n ),\n },\n};\n","import { t } from \"i18next\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Close } from \"neetoicons\";\nimport { Tag } from \"neetoui\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { components } from \"react-select\";\nimport * as yup from \"yup\";\n\nconst STYLES = {\n border: {\n default: \"1px solid rgb(var(--neeto-ui-gray-400))\",\n error: \"1px solid rgb(var(--neeto-ui-error-800)) !important\",\n },\n color: {\n default: \"rgb(var(--neeto-ui-gray-800))\",\n error: \"rgb(var(--neeto-ui-error-800)) !important\",\n },\n};\n\nconst MultiValueRemove = props => (\n <components.MultiValueRemove\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: `${hyphenize(props.data.label)}-remove-icon`,\n }}\n >\n <Close size={16} />\n </components.MultiValueRemove>\n);\n\nconst ValueContainer = ({ children, ...props }) => {\n const { t } = useTranslation();\n\n const {\n getValue,\n selectProps: { isFocused, visibleDomainsCount },\n } = props;\n const value = getValue();\n const [firstChild, ...rest] = children;\n\n const shouldCollapse = !isFocused && value.length > visibleDomainsCount;\n\n return (\n <components.ValueContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-domain-input-container\",\n }}\n >\n {shouldCollapse ? firstChild.slice(0, visibleDomainsCount) : firstChild}\n {shouldCollapse && (\n <Tag\n style=\"secondary\"\n label={t(\"neetoForm.common.remainingItemsCount\", {\n count: value.length - visibleDomainsCount,\n })}\n />\n )}\n {rest}\n </components.ValueContainer>\n );\n};\n\nconst ClearIndicator = props => (\n <components.ClearIndicator\n {...props}\n innerProps={{ ...props.innerProps, [\"data-cy\"]: \"clear-all-button\" }}\n >\n <Close className=\"cursor-pointer\" size={16} />\n </components.ClearIndicator>\n);\n\nexport const ERROR_MESSAGE_DELIMITER = \". \";\nexport const DELIMITER_KEYS = [\"Enter\", \"Tab\", \",\", \" \"];\nexport const DOMAIN_SEPARATION_REGEX = /[^\\s,]+/g;\nexport const FLEXIBLE_DOMAIN_REGEX = /^[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)+$/;\n\nexport const VALID_DOMAIN_REGEX =\n /^(?:[a-zA-Z0-9-]{1,63}\\.)+[a-zA-Z0-9-]{2,63}$/;\n\nexport const DOMAIN_VALIDATION_SCHEMA = yup\n .string()\n .required(\n t(\"neetoForm.error.requiredField\", {\n label: t(\"neetoForm.common.domain\"),\n })\n )\n .test(\"verify domains\", t(\"neetoForm.error.invalidDomain\"), domain =>\n VALID_DOMAIN_REGEX.test(domain)\n );\n\nexport const CUSTOM_STYLES = {\n input: assoc(\"overflow\", \"hidden\"),\n multiValue: (styles, { data: { valid } }) => ({\n ...styles,\n border: valid ? STYLES.border.default : STYLES.border.error,\n color: valid ? STYLES.color.default : STYLES.color.error,\n }),\n};\n\nexport const CUSTOM_COMPONENTS = {\n DropdownIndicator: null,\n MultiValueRemove,\n ValueContainer,\n ClearIndicator,\n};\n","import { filter, isNotNil, join, map, pipe, pluck, uniq } from \"ramda\";\n\nimport { ERROR_MESSAGE_DELIMITER, DOMAIN_VALIDATION_SCHEMA } from \"./constants\";\n\nconst removeDuplicateErrorMessages = pipe(\n filter(isNotNil),\n uniq,\n join(ERROR_MESSAGE_DELIMITER)\n);\n\nexport const formatDomainInputOptions = domain => {\n let isValid;\n\n try {\n DOMAIN_VALIDATION_SCHEMA.validateSync(domain);\n isValid = true;\n } catch {\n isValid = false;\n }\n\n return { label: domain, value: domain, valid: isValid };\n};\n\nexport const pruneDuplicates = pipe(\n pluck(\"value\"),\n uniq,\n map(formatDomainInputOptions)\n);\n\nexport const getValidDomains = domains =>\n domains.filter(domain => domain?.valid);\n\nexport const getValidDomainsCount = domains => getValidDomains(domains).length;\n\nexport const formatErrorMessage = error => {\n if (typeof error === \"string\") return error;\n\n return removeDuplicateErrorMessages(error);\n};\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Label } from \"neetoui\";\nimport { mergeLeft, filter, includes, test } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport CreatableSelect from \"react-select/creatable\";\n\nimport {\n CUSTOM_COMPONENTS,\n CUSTOM_STYLES,\n DELIMITER_KEYS,\n DOMAIN_SEPARATION_REGEX,\n ERROR_MESSAGE_DELIMITER,\n FLEXIBLE_DOMAIN_REGEX,\n} from \"./constants\";\nimport {\n formatDomainInputOptions,\n formatErrorMessage,\n getValidDomainsCount,\n pruneDuplicates,\n getValidDomains,\n} from \"./utils\";\n\nconst MultiDomainInput = ({\n label = \"\",\n value = [],\n onChange = noop,\n error = \"\",\n onBlur = noop,\n ...otherProps\n}) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n\n const { t } = useTranslation();\n\n const handleFilterDomains = () => onChange(getValidDomains(value));\n\n const handleDomainChange = () => {\n const inputValues = inputValue.match(DOMAIN_SEPARATION_REGEX) || [];\n const domainMatches = filter(test(FLEXIBLE_DOMAIN_REGEX), inputValues);\n\n const domains = domainMatches.map(formatDomainInputOptions);\n onChange(pruneDuplicates([...value, ...domains]));\n setInputValue(\"\");\n };\n\n const handleKeyDown = event => {\n if (!inputValue) return;\n\n if (includes(event.key, DELIMITER_KEYS)) {\n handleDomainChange();\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n const onCreateOption = input => {\n const domain = formatDomainInputOptions(input);\n onChange(pruneDuplicates([...value, domain]));\n };\n\n const handleBlur = event => {\n inputValue ? handleDomainChange() : onBlur(event);\n setIsFocused(false);\n };\n\n const isFilterDomainsLinkVisible = value.length > getValidDomainsCount(value);\n\n return (\n <div className=\"neeto-ui-input__wrapper neeto-ui-email-input__wrapper\">\n <div className=\"neeto-ui-email-input__label-wrapper\">\n <Label\n className=\"neeto-ui-email-input__label\"\n data-cy={`${hyphenize(label)}-input-label`}\n >\n {label}\n </Label>\n </div>\n <CreatableSelect\n isMulti\n required\n classNamePrefix=\"neeto-ui-react-select\"\n components={CUSTOM_COMPONENTS}\n menuIsOpen={false}\n visibleDomainsCount={3}\n className={classnames(\n \"neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select\",\n { \"neeto-ui-react-select__container--error\": !!error }\n )}\n styles={{\n ...CUSTOM_STYLES,\n control: mergeLeft({\n maxHeight: \"200px\",\n overflowY: \"auto\",\n }),\n }}\n onBlur={handleBlur}\n onFocus={() => setIsFocused(true)}\n onInputChange={setInputValue}\n onKeyDown={handleKeyDown}\n {...{\n inputValue,\n isFocused,\n onChange,\n onCreateOption,\n value,\n ...otherProps,\n }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n >\n {formatErrorMessage(error)}\n {isFilterDomainsLinkVisible && (\n <span\n className=\"neeto-ui-font-semibold cursor-pointer\"\n onClick={handleFilterDomains}\n >\n {ERROR_MESSAGE_DELIMITER}\n {t(\"neetoForm.domainRestriction.removeInvalidDomains\")}\n </span>\n )}\n </p>\n )}\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n >\n {t(\"neetoForm.domainRestriction.helpText\")}\n </p>\n </div>\n );\n};\n\nexport default MultiDomainInput;\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { VALID_DOMAIN_REGEX } from \"./MultiDomainInput/constants\";\n\nexport const validateDomains = value => {\n const schema = yup\n .array()\n .of(\n yup\n .string()\n .test(\"verify domains\", t(\"neetoForm.error.invalidDomain\"), domain =>\n VALID_DOMAIN_REGEX.test(domain)\n )\n )\n .ensure()\n .compact()\n .min(\n 1,\n t(\"neetoForm.error.minOneEntity\", {\n entity: t(\"neetoForm.common.domain\"),\n })\n );\n\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async resolve => {\n try {\n await schema.validate(value);\n resolve(undefined);\n } catch (err) {\n resolve(err.message);\n }\n });\n};\n","import { useField } from \"formik\";\nimport { nullSafe } from \"neetocist\";\nimport { map, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport MultiDomainInput from \"./MultiDomainInput\";\nimport { formatDomainInputOptions } from \"./MultiDomainInput/utils\";\nimport { validateDomains } from \"./utils\";\n\nconst EmailDomains = ({ name, label }) => {\n const { t } = useTranslation();\n\n const [{ value: domains = [] }, meta, { setValue, setTouched }] = useField({\n name,\n validate: validateDomains,\n });\n\n const formattedDomains = map(formatDomainInputOptions, domains);\n\n return (\n <div className=\"mb-4\">\n <MultiDomainInput\n {...{ label, name }}\n error={meta.touched ? meta.error : \"\"}\n placeholder={t(\"neetoForm.domainRestriction.placeholder\")}\n value={formattedDomains}\n onBlur={() => setTouched(true)}\n onChange={value => setValue(nullSafe(pluck)(\"value\", value))}\n />\n </div>\n );\n};\n\nexport default EmailDomains;\n","import { hyphenate } from \"neetocist\";\nimport { path } from \"ramda\";\n\nimport SwitchBlock from \"components/BuildForm/commons/SwitchBlock\";\nimport TitleWithHelpPopover from \"components/BuildForm/commons/TitleWithHelpPopover\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport { DOMAIN_RESTRICTION_TRANSLATIONS } from \"./constants\";\nimport EmailDomains from \"./EmailDomains\";\n\nconst RestrictDomainsBlock = ({\n switchName,\n domainName,\n isDomainRestrictionEnabled,\n}) => {\n const { title, description, popoverDescription } =\n DOMAIN_RESTRICTION_TRANSLATIONS[domainName];\n\n const helpLink = useBuildFormStore(\n path([\"formState\", \"helpDocUrls\", domainName])\n );\n\n return (\n <div\n className=\"flex flex-col space-y-4\"\n data-cy={`${hyphenate(switchName)}-container`}\n >\n <SwitchBlock\n className=\"mt-4\"\n name={switchName}\n title={\n <TitleWithHelpPopover\n {...{ helpLink, title }}\n description={popoverDescription}\n />\n }\n />\n {isDomainRestrictionEnabled && (\n <EmailDomains label={description} name={domainName} />\n )}\n </div>\n );\n};\n\nexport default RestrictDomainsBlock;\n","import { useFormikContext } from \"formik\";\n\nimport RestrictDomainsBlock from \"./RestrictDomainsBlock\";\n\nconst Email = ({ enableDomainWhitelisting, enableDomainBlacklisting }) => {\n const {\n values: {\n isDomainWhitelistingEnabled = false,\n isDomainBlacklistingEnabled = false,\n },\n } = useFormikContext();\n\n return (\n <div className=\"flex flex-col space-y-4\">\n {enableDomainWhitelisting && (\n <RestrictDomainsBlock\n domainName=\"whitelistedDomains\"\n isDomainRestrictionEnabled={isDomainWhitelistingEnabled}\n switchName=\"isDomainWhitelistingEnabled\"\n />\n )}\n {enableDomainBlacklisting && (\n <RestrictDomainsBlock\n domainName=\"blacklistedDomains\"\n isDomainRestrictionEnabled={isDomainBlacklistingEnabled}\n switchName=\"isDomainBlacklistingEnabled\"\n />\n )}\n </div>\n );\n};\n\nexport default Email;\n","import { Checkbox } from \"neetoui\";\n\nconst FileGroup = ({ name, label, checked, handleAllowedFileTypesChange }) => (\n <Checkbox\n {...{ checked, label, name }}\n data-cy={`neeto-form-engine-file-type-${name}`}\n id={name}\n onChange={handleAllowedFileTypesChange}\n />\n);\n\nexport default FileGroup;\n","import { difference, isEmpty } from \"ramda\";\n\nimport { FILE_TYPES_MAP } from \"../constants\";\n\nconst buildFileTypesList = fileTypes => (fileTypes ?? \"\").split(\", \");\n\nexport const getAllowedFileTypes = ({ type, isChecked, allowedFileTypes }) => {\n const fileTypes = buildFileTypesList(allowedFileTypes);\n if (isChecked) {\n const fileTypesSet = new Set([...FILE_TYPES_MAP[type], ...fileTypes]);\n\n return Array.from(fileTypesSet).join(\", \");\n }\n const newFileTypes = difference(fileTypes, FILE_TYPES_MAP[type]);\n\n return newFileTypes.join(\", \");\n};\n\nexport const isFileTypeEnabled = (type, allowedFileTypes) => {\n const fileTypes = buildFileTypesList(allowedFileTypes);\n\n return isEmpty(difference(FILE_TYPES_MAP[type], fileTypes));\n};\n","import { useFormikContext } from \"formik\";\nimport { Typography } from \"neetoui\";\nimport { Checkbox } from \"neetoui/formik\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FileGroup from \"./FileGroup\";\nimport { getAllowedFileTypes, isFileTypeEnabled } from \"./utils\";\n\nimport { FILE_GROUPS } from \"../constants\";\n\nconst FileUpload = () => {\n const { t } = useTranslation();\n\n const { values, setFieldValue } = useFormikContext();\n\n const allowedFileTypes = prop(\"allowedFileTypes\", values);\n\n const handleAllowedFileTypesChange = ({\n target: { name: fileType, checked },\n }) =>\n setFieldValue(\n \"allowedFileTypes\",\n getAllowedFileTypes({\n type: fileType,\n isChecked: checked,\n allowedFileTypes,\n })\n );\n\n return (\n <>\n <div className=\"w-full\">\n <Checkbox\n id=\"multipleFilesAllowed\"\n label={t(\"neetoForm.fileUpload.enableMultipleFilesUpload\")}\n name=\"multipleFilesAllowed\"\n />\n </div>\n <div className=\"flex flex-col space-y-3\">\n <Typography style=\"body1\" weight=\"semibold\">\n {t(\"neetoForm.fileUpload.fileTypes\")}\n </Typography>\n <div className=\"flex space-x-4\">\n {FILE_GROUPS.map(({ name, label }) => (\n <FileGroup\n {...{ handleAllowedFileTypesChange, label, name }}\n checked={isFileTypeEnabled(name, allowedFileTypes)}\n key={name}\n />\n ))}\n </div>\n </div>\n </>\n );\n};\n\nexport default FileUpload;\n","const defaultConfig = {\n strict: true,\n matchKey: \"value\",\n};\n\nconst findOptionByValue = (value, options = [], config = {}) => {\n const configObject = { ...defaultConfig, ...config };\n const { matchKey, strict } = configObject;\n\n return options.find(option =>\n // eslint-disable-next-line eqeqeq\n strict ? option[matchKey] === value : option[matchKey] == value\n );\n};\n\nconst filterOptionsByValues = (values = [], options = [], config = {}) => {\n const configObject = { ...defaultConfig, ...config };\n const { matchKey, strict } = configObject;\n\n return options.filter(option =>\n values.some(value =>\n // eslint-disable-next-line eqeqeq\n strict ? option[matchKey] === value : option[matchKey] == value\n )\n );\n};\n\nconst destroyFromList = (items, index) => {\n const itemToRemove = items[index];\n\n if (itemToRemove) {\n const nextItems = [...items];\n nextItems.splice(index, 1);\n if (itemToRemove.id) {\n nextItems.push({ ...itemToRemove, _destroy: true });\n }\n\n return nextItems;\n }\n\n return items;\n};\n\nconst insertToList = (items, item, index) => {\n const nextItems = [...(items ?? [])];\n nextItems.splice(index, 0, item);\n\n return nextItems;\n};\n\nconst pushToList = (items, item) => {\n const nextItems = [...(items ?? [])];\n nextItems.push(item);\n\n return nextItems;\n};\n\nconst formHelpers = {\n findOptionByValue,\n filterOptionsByValues,\n destroyFromList,\n insertToList,\n pushToList,\n};\n\nexport default formHelpers;\n","import classNames from \"classnames\";\nimport { FieldArray, useField } from \"formik\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport formHelpers from \"common/helpers/form\";\nimport Input from \"components/Common/InputWithMaxLength\";\nimport useBuildFormStore from \"src/stores/buildForm\";\nimport { isFunction } from \"utils\";\n\nimport { MINIMUM_OPTIONS } from \"../../constants\";\n\nconst Options = ({ questionProps }) => {\n const { t } = useTranslation();\n\n const { selectedLanguage } = useBuildFormStore.pick(\"formState\");\n\n const [{ value: optionsAttributes }, _, { setValue: setOptionsAttributes }] =\n useField(\"optionsAttributes\");\n\n const {\n optionLabelProps = {},\n freezeOptions = false,\n disableAddOption = false,\n disableRemoveOption = false,\n } = questionProps || {};\n\n const handleRemoveOption = index => {\n const nextOptions = formHelpers.destroyFromList(optionsAttributes, index);\n setOptionsAttributes(nextOptions);\n };\n\n const isManageOptionDisabled = isFunction(freezeOptions)\n ? freezeOptions(selectedLanguage)\n : freezeOptions;\n\n const isAddOptionDisabled = disableAddOption || isManageOptionDisabled;\n\n const isRemoveOptionDisabled = disableRemoveOption || isManageOptionDisabled;\n\n return (\n <div className=\"w-full\">\n <FieldArray name=\"optionsAttributes\">\n {({ handlePush }) => (\n <>\n <Label className=\"mb-1 block\" {...optionLabelProps}>\n {t(\"neetoForm.questions.common.questionFields.field.options\")}\n </Label>\n <div className=\"flex w-2/3 flex-col space-y-2\">\n {optionsAttributes?.map(\n (option, index) =>\n !option._destroy && (\n <div\n className=\"flex items-start gap-1\"\n data-cy={`neeto-form-engine-option-${index}`}\n key={`question-option-${option.id ?? index}`}\n >\n <Input\n required\n disabled={isManageOptionDisabled}\n name={`optionsAttributes.${index}.label`}\n placeholder={t(\n \"neetoForm.questions.common.questionFields.field.numberedOption\",\n { number: index + 1 }\n )}\n />\n {!isRemoveOptionDisabled && (\n <Button\n data-cy=\"neeto-form-engine-delete-option-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n className={classNames({\n invisible: index < MINIMUM_OPTIONS,\n })}\n tooltipProps={{\n position: \"top\",\n content: t(\"neetoForm.common.delete\"),\n }}\n onClick={() => handleRemoveOption(index)}\n />\n )}\n </div>\n )\n )}\n </div>\n {!isAddOptionDisabled && (\n <div className=\"mt-3 w-full\">\n <Button\n data-cy=\"neeto-form-engine-add-option-button\"\n icon={Plus}\n iconPosition=\"left\"\n size=\"small\"\n style=\"text\"\n label={t(\n \"neetoForm.questions.common.questionFields.field.addOption\"\n )}\n onClick={handlePush({ label: \"\" })}\n />\n </div>\n )}\n </>\n )}\n </FieldArray>\n </div>\n );\n};\n\nexport default Options;\n","import { hyphenate } from \"neetocist\";\n\nimport Input from \"components/Common/InputWithMaxLength\";\n\nimport { RATING_OPTIONS } from \"./constants\";\n\nconst RatingItem = ({ children }) => (\n <div className=\"flex w-16 flex-col items-center gap-3\">{children}</div>\n);\n\nconst Rating = () => (\n <div className=\"flex flex-col\">\n <div className=\"w-full\">\n <div className=\"flex gap-6\">\n {RATING_OPTIONS.map(({ icon: Icon, name, color }) => (\n <RatingItem key={name}>\n <Icon {...{ color }} size={48} />\n <Input\n {...{ name }}\n data-cy={`neeto-form-engine-${hyphenate(name)}`}\n />\n </RatingItem>\n ))}\n </div>\n </div>\n </div>\n);\n\nexport default Rating;\n","import classNames from \"classnames\";\nimport { useField, useFormikContext } from \"formik\";\nimport { Label } from \"neetoui\";\nimport { Select } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n STAR_RATING_ICONS_MAP,\n STAR_RATING_MAX_VALUE_OPTIONS,\n STAR_RATING_MIN_VALUE_OPTIONS,\n} from \"./constants\";\n\nconst StarRating = () => {\n const { t } = useTranslation();\n\n const { setFieldValue } = useFormikContext();\n\n const [{ value: iconType }, _, { setValue: setIconType }] =\n useField(\"iconType\");\n\n return (\n <>\n <div className=\"flex space-x-4\">\n <Select\n className=\"w-1/2\"\n data-cy=\"neeto-form-engine-star-rating-min-value\"\n label={t(\"neetoForm.common.start\")}\n name=\"minValue\"\n options={STAR_RATING_MIN_VALUE_OPTIONS}\n onChange={option => setFieldValue(\"minValue\", option?.value)}\n />\n <Select\n className=\"w-1/2\"\n data-cy=\"neeto-form-engine-star-rating-max-value\"\n label={t(\"neetoForm.common.end\")}\n name=\"maxValue\"\n options={STAR_RATING_MAX_VALUE_OPTIONS}\n onChange={option => setFieldValue(\"maxValue\", option?.value)}\n />\n </div>\n <Label>{t(\"neetoForm.common.shape\")}</Label>\n <div className=\"flex gap-2\">\n {Object.entries(STAR_RATING_ICONS_MAP).map(([name, IconType]) => {\n const isActive = name === iconType;\n\n return (\n <div\n data-cy={`neeto-form-engine-rating-icon-${name}`}\n key={name}\n className={classNames(\n \"flex h-10 w-10 items-center justify-center gap-2\",\n \"neeto-ui-border-gray-800 neeto-ui-rounded-full cursor-pointer border\",\n \"transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-text-gray-800 neeto-ui-bg-gray-200\": !isActive,\n \"neeto-ui-text-white neeto-ui-bg-gray-800\": isActive,\n }\n )}\n onClick={() => setIconType(name)}\n >\n <IconType />\n </div>\n );\n })}\n </div>\n </>\n );\n};\n\nexport default StarRating;\n","import { t } from \"i18next\";\nimport { findBy, isPresent, slugify } from \"neetocist\";\nimport { assoc, equals, last, pipe, split } from \"ramda\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\n\nimport Add from \"./Add\";\nimport Edit from \"./Edit\";\n\nimport { QUESTION_ACTIONS } from \"../constants\";\nimport Captcha from \"../Questions/Fields/Captcha\";\nimport Email from \"../Questions/Fields/Email\";\nimport FileUpload from \"../Questions/Fields/FileUpload\";\nimport Options from \"../Questions/Fields/Options\";\nimport Rating from \"../Questions/Fields/Rating\";\nimport StarRating from \"../Questions/Fields/StarRating\";\n\nconst {\n CHECKBOX,\n RADIO,\n DROPDOWN,\n STAR_RATING,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n} = QUESTION_TYPES;\n\nconst transformValueForOption = ({ label, type }) =>\n `${slugify(label)}-${type}`;\n\nexport const renderAdditionalData = ({\n kind,\n questionProps,\n enableDomainWhitelisting,\n enableDomainBlacklisting,\n}) => {\n switch (kind) {\n case CHECKBOX:\n case RADIO:\n case DROPDOWN:\n return <Options {...{ questionProps }} />;\n case RATING:\n return <Rating />;\n case STAR_RATING:\n return <StarRating />;\n case FILE_UPLOAD:\n return <FileUpload />;\n case CAPTCHA:\n return <Captcha />;\n case EMAIL:\n return enableDomainWhitelisting || enableDomainBlacklisting ? (\n <Email {...{ enableDomainBlacklisting, enableDomainWhitelisting }} />\n ) : null;\n default:\n return null;\n }\n};\n\nexport const resolveActionComponent = action =>\n equals(action, QUESTION_ACTIONS.ADD) ? Add : Edit;\n\nexport const getQuestionKind = (questionKinds, pattern) => {\n const questionKind = findBy(pattern, questionKinds);\n\n return questionKind ? assoc(\"kind\", questionKind.type, questionKind) : null;\n};\n\nexport const buildKindOptions = kinds =>\n kinds.map(({ label, type }) => ({\n label,\n value: transformValueForOption({ label, type }),\n }));\n\nexport const extractKindFromOption = pipe(split(\"-\"), last);\n\nexport const buildDefaultValueForKind = questionKind =>\n isPresent(questionKind)\n ? { value: transformValueForOption(questionKind) }\n : undefined;\n\nexport const hideSwitchLabelProps = helpUrl =>\n helpUrl\n ? {\n helpIconProps: {\n popoverProps: {\n description: t(\n \"neetoForm.questions.common.questionFields.field.hideQuestionHelpDescription\"\n ),\n helpLinkProps: {\n href: helpUrl,\n label: t(\"neetoForm.common.viewHelpArticle\"),\n },\n },\n },\n }\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 ...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 initialFocusRef,\n isOpen,\n onClose,\n question,\n ...props,\n }}\n />\n </Pane>\n );\n};\n\nexport default ManageQuestionPane;\n","import { Button, Tooltip } from \"neetoui\";\n\nimport {\n buildAddQuestionButtonProps,\n buildDisabledAddButtonTooltipProps,\n} from \"../utils\";\n\nconst AddQuestion = ({ onAdd, disabledAddButtonTooltipProps, isDisabled }) => {\n const tooltipProps = buildDisabledAddButtonTooltipProps(\n isDisabled,\n disabledAddButtonTooltipProps\n );\n\n return (\n <Tooltip {...tooltipProps}>\n <span>\n <Button {...buildAddQuestionButtonProps(onAdd, isDisabled)} />\n </span>\n </Tooltip>\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, isPresent } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\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 enableDomainBlacklisting,\n enableDomainWhitelisting,\n helpDocUrls,\n questionsHelpProps,\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 helpDocUrls,\n enableDomainBlacklisting,\n enableDomainWhitelisting,\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 helpDocUrls,\n enableDomainBlacklisting,\n enableDomainWhitelisting,\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 pb-6 md:px-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 flex w-full items-center gap-x-1\">\n <AddQuestion\n {...{ disabledAddButtonTooltipProps }}\n isDisabled={isEmpty(availableQuestionKinds)}\n onAdd={handleAdd}\n />\n {isPresent(questionsHelpProps) && (\n <span>\n <HelpPopover {...questionsHelpProps} />\n </span>\n )}\n </div>\n </div>\n ) : (\n <AddFirstQuestion\n {...{ disabledAddButtonTooltipProps }}\n isDisabled={isEmpty(availableQuestionKinds)}\n onAdd={handleAdd}\n />\n )}\n </div>\n {(showActionBlock || dirty) && (\n <div className=\"neeto-ui-border-gray-300 neeto-form-nano-form-wrapper__footer neeto-ui-bg-white sticky bottom-0 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 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, F, 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 IMMUTABLE_KINDS,\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, isImmutableField } 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 enableDomainBlacklisting = true,\n enableDomainWhitelisting = true,\n helpDocUrls,\n className,\n questionsHelpProps = {},\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 =>\n !concat(IMMUTABLE_KINDS, nonRemovableFields).includes(question.kind));\n\n const isRequiredField =\n isFieldRequired ??\n (({ kind }) => concat(MANDATORY_KINDS, requiredFields).includes(kind));\n\n const isDisabledFieldLabel = field =>\n isImmutableField(field) || (isFieldLabelDisabled ?? F)(field);\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 enableDomainBlacklisting,\n enableDomainWhitelisting,\n enableFieldCode,\n formDescription,\n formTitle,\n getActiveKindDetails,\n helpDocUrls,\n isDeletable,\n isDisabledFieldLabel,\n isFormEnabled,\n isKindAlreadyActive,\n isReordering,\n isRequiredField,\n kindUniqueOn,\n onLanguageChange,\n onValueChange,\n questionsHelpProps,\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"],"names":["DeleteAlert","_ref","selectedQuestion","isOpen","onClose","languagesCount","handleSelect","_useTranslation","useTranslation","t","_useBuildFormStore","useBuildFormStore","store","_store$formState","selectedLanguage","shallow","renderQuestionLabel","questionKind","kind","independentLabel","INDEPENDENT_LABELS_MAP","isPresent","questionLabel","fieldWithFallback","truncate","_useDeleteQuestion","useDeleteQuestion","formId","onSuccess","showThumbsUpToastr","deleteQuestion","mutate","isDeleting","isPending","selectNextQuestion","questions","selectedQuestionIndex","displayOrder","wasLastQuestion","equals","length","newDisplayOrder","newQuestion","findBy","handleSubmit","id","_ref2","_jsx","Alert","isSubmitting","submitButtonLabel","title","message","Trans","i18nKey","values","count","label","onSubmit","ChangeLanguageDropdown","_findBy","currentLanguage","languages","onChange","_useState","useState","_useState2","_slicedToArray","isUnsavedChangesAlertOpen","setIsUnsavedChangesAlertOpen","_useState3","_useState4","setSelectedLanguage","_useFormikContext","useFormikContext","dirty","languageChangeHandler","code","selectedLanguageName","name","_jsxs","_Fragment","children","Tooltip","content","Dropdown","buttonStyle","Menu","map","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","_editorRef$current$ed","current","editor","isEmpty","buildReorderPayload","reduce","acc","assoc","isRichTextQuestion","includes","__","RICH_TEXT_QUESTIONS","isAutoGeneratedQuestion","AUTO_GENERATED_KINDS","isImmutableField","field","IMMUTABLE_KINDS","buildAddQuestionButtonProps","onAdd","isDisabled","tooltipProps","_objectSpread","disabled","icon","Plus","iconPosition","buildDisabledAddButtonTooltipProps","disabledAddButtonTooltipProps","arguments","undefined","Card","_ref$question","question","allQuestionKinds","getActiveKindDetails","onSelect","onEdit","onClone","onDelete","isTooltipEnabled","setIsTooltipEnabled","questionLabelRef","useRef","smsReminderHelpDocUrl","path","_getActiveKindDetails","item","isSingular","isSmsReminderQuestion","QUESTION_TYPES","SMS_REMINDER","htmlToPlainText","useEffect","element","isNotPresent","isElementOverflowing","concat","slugify","classNames","Drag","ref","HelpPopover","popoverProps","helpLinkProps","href","key","isVisible","isFunction","Questions","isDeletable","Droppable","droppableId","droppableProps","placeholder","innerRef","index","_question$id","_question$id2","_createElement","Draggable","draggableId","nodeId","_ref3","draggableProps","dragHandleProps","moveItem","arr","sourceIndex","destinationIndex","Array","removedItem","splice","arrayHelpers","isChoiceQuestion","SELECTABLE_KINDS","underscoredWithoutSpecialCharacters","string","toLowerCase","replace","addSuffixForReservedFieldCode","fieldCode","RESERVED_FIELD_CODES","getUniqueNumbersFromExistingFieldCodes","prefix","filter","startsWith","parseInt","generateFieldCodePrefix","NON_BASIC_LATIN_CHARACTERS_REGEX","test","sanitizedLabel","slice","generateUniqueFieldCode","_ref$label","_ref$kind","uniqueNumber","Math","max","apply","_toConsumableArray","candidateFieldCode","isQuestionKindAlreadyActive","activeQuestions","some","activeQuestion","type","_destroy","handleFieldDragEnd","items","setValue","source","destination","nextItems","orderedItems","createFieldData","_ref4","_ref4$kind","defaults","metadata","_ref4$isRequired","isRequired","uuid","duplicateFieldData","_ref5","questionKinds","optionsAttributes","defaultAttributeNames","keys","defaultAttributes","pick","newQuestionLabel","omit","getAvailableQuestionKinds","_ref6","_ref6$activeQuestions","isKindAlreadyActive","reject","isSingularKind","formatQuestionAttributesForClone","when","AddFirstQuestion","NoData","showTooltipWhenButtonDisabled","primaryButtonProps","NAME","PHONE","EMAIL","ADDITIONAL_GUESTS","TEXT","TEXTAREA","RICH_TEXT","INTEGER","DECIMAL","STAR_RATING","RATING","DATE","FILE_UPLOAD","CAPTCHA","QUESTIONS_WITH_ADDITIONAL_DATA","QUESTIONS_WITH_PLACEHOLDERS","DEFAULT_PLACEHOLDERS","CHECKBOX","what","RADIO","DROPDOWN","INITIAL_VALUES","VALID_FIELD_CODE_REGEX","FormikAdaptiveInput","otherProps","_objectWithoutProperties","_excluded","isValid","submitForm","handleKeyDown","event","shiftKey","preventDefault","isMetaKeyPressed","handleFocus","end","value","setSelectionRange","Textarea","resize","size","onFocus","target","onKeyDown","Block","dataCy","useUpdateEditorContent","fieldName","initialValue","initialStateRef","language","setFormData","_useBuildFormStore2","_store$formState2","shouldReset","formState","richTextFieldsToReset","setEditorContent","_editorRef$current$ed2","commands","setContent","modify","without","_useFetchQuestions","useFetchQuestions","data","pathArray","split","part","parsedPart","isNaN","Editor","_useField","useField","validate","_useField2","_useField2$","touched","error","_useField2$2","setTouched","NeetoEditor","required","onBlur","RequiredSwitch","withT","Switch","InputWithMaxLength","maxLength","props","substring","shouldShowMaxLength","Input","FieldCode","helpDocUrl","Accordion","Item","rejectCharsRegex","FIELD_CODES_REJECT_CHARS_REGEX","helpText","components","Link","Form","initialFocusRef","isRequiredField","isDisabledFieldLabel","enableFieldCode","availableQuestionKinds","additionalQuestionKindPattern","_ref$isEdit","isEdit","setValues","setErrors","setFieldValue","hideQuestionHelpDoc","enableDomainWhitelisting","enableDomainBlacklisting","questionKindUniquenessPattern","mergeLeft","_useStateWithDependen","useStateWithDependency","getQuestionKind","_useStateWithDependen2","_ref2$questionProps","questionProps","isLabelDisabled","isImmutable","shouldShowPlaceholder","hasAdditionalData","shouldShowFieldCode","QUESTIONS_WITHOUT_FIELD_CODE","shouldShowHideSwitch","NON_HIDEABLE_FIELDS","isSettingsBlockVisible","handleKindChange","option","buildQuestionData","updateFormState","isNil","extractKindFromOption","handleLabelChange","uniqueFieldCode","Pane","Body","Select","isClearable","isSearchable","defaultValue","buildDefaultValueForKind","options","buildKindOptions","withEventTargetValue","renderAdditionalData","labelProps","hideSwitchLabelProps","requiredLabelValidation","schema","trim","fieldCodeValidation","matches","richTextFieldMissingErrorMessage","PARAGRAPH","formValidationSchema","yup","object","shape","isEditorEmpty","notOneOf","notRequired","array","is","otherwise","of","highestRatingLabel","nullable","averageRatingLabel","lowestRatingLabel","Add","buildRequestArgs","_useCreateQuestion","useCreateQuestion","createQuestion","isCreating","neetoFormQuestion","Header","formikProps","initialValues","validationSchema","QuestionForm","Footer","ActionBlock","cancelButtonProps","Edit","_useUpdateQuestion","useUpdateQuestion","updateQuestion","isUpdating","setSubmitting","payload","questionId","onSettled","Captcha","Radio","CAPTCHA_TYPES","RECAPTCHA_V2","MATH_CAPTCHA","SwitchBlock","_ref$className","Label","classnames","hyphenate","component","TitleWithHelpPopover","helpLink","DOMAIN_RESTRICTION_TRANSLATIONS","whitelistedDomains","popoverDescription","blacklistedDomains","STYLES","border","color","MultiValueRemove","innerProps","_defineProperty","hyphenize","Close","ValueContainer","getValue","_props$selectProps","selectProps","isFocused","visibleDomainsCount","_children","_toArray","firstChild","rest","shouldCollapse","Tag","ClearIndicator","ERROR_MESSAGE_DELIMITER","DELIMITER_KEYS","DOMAIN_SEPARATION_REGEX","FLEXIBLE_DOMAIN_REGEX","VALID_DOMAIN_REGEX","DOMAIN_VALIDATION_SCHEMA","domain","CUSTOM_STYLES","input","multiValue","styles","valid","CUSTOM_COMPONENTS","DropdownIndicator","removeDuplicateErrorMessages","pipe","isNotNil","uniq","join","formatDomainInputOptions","validateSync","_unused","pruneDuplicates","pluck","getValidDomains","domains","getValidDomainsCount","formatErrorMessage","MultiDomainInput","_ref$value","_ref$onChange","noop","_ref$error","_ref$onBlur","inputValue","setInputValue","setIsFocused","handleFilterDomains","handleDomainChange","inputValues","match","domainMatches","stopPropagation","onCreateOption","handleBlur","isFilterDomainsLinkVisible","CreatableSelect","isMulti","classNamePrefix","menuIsOpen","control","maxHeight","overflowY","onInputChange","validateDomains","ensure","compact","min","entity","Promise","_asyncToGenerator","_regeneratorRuntime","mark","_callee","resolve","wrap","_callee$","_context","prev","next","t0","stop","_x","EmailDomains","_useField2$0$value","meta","formattedDomains","nullSafe","RestrictDomainsBlock","switchName","domainName","isDomainRestrictionEnabled","_DOMAIN_RESTRICTION_T","Email","_useFormikContext$val","_useFormikContext$val2","isDomainWhitelistingEnabled","_useFormikContext$val3","isDomainBlacklistingEnabled","FileGroup","checked","handleAllowedFileTypesChange","Checkbox","buildFileTypesList","fileTypes","getAllowedFileTypes","isChecked","allowedFileTypes","fileTypesSet","Set","FILE_TYPES_MAP","from","newFileTypes","difference","isFileTypeEnabled","FileUpload","prop","_ref$target","fileType","FILE_GROUPS","defaultConfig","strict","matchKey","findOptionByValue","config","configObject","find","filterOptionsByValues","destroyFromList","itemToRemove","push","insertToList","pushToList","formHelpers","Options","_","setOptionsAttributes","_ref2$optionLabelProp","optionLabelProps","_ref2$freezeOptions","freezeOptions","_ref2$disableAddOptio","disableAddOption","_ref2$disableRemoveOp","disableRemoveOption","handleRemoveOption","nextOptions","isManageOptionDisabled","isAddOptionDisabled","isRemoveOptionDisabled","FieldArray","handlePush","_option$id","number","Delete","invisible","MINIMUM_OPTIONS","RatingItem","Rating","RATING_OPTIONS","Icon","StarRating","iconType","setIconType","STAR_RATING_MIN_VALUE_OPTIONS","STAR_RATING_MAX_VALUE_OPTIONS","Object","entries","STAR_RATING_ICONS_MAP","IconType","transformValueForOption","resolveActionComponent","action","QUESTION_ACTIONS","ADD","pattern","kinds","last","helpUrl","helpIconProps","ManageQuestionPane","Component","AddQuestion","onValueChange","submitButtonProps","isFormEnabled","savedTitle","formTitle","formDescription","isReordering","showActionBlock","helpDocUrls","questionsHelpProps","formDomProps","containerRef","formikContext","setSelectedQuestion","selectedAction","setSelectedAction","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","isManageQuestionPaneOpen","setIsManageQuestionPaneOpen","errors","resetForm","enabled","handleAdd","handleEdit","EDIT","handleClone","attributes","handleDelete","useOnClickOutside","hasActiveQuestions","handleLanguageChange","richTextQuestions","filterBy","resetFormData","FormikForm","noValidate","DragDropContext","onDragEnd","BuildForm","onUpdate","_ref$nonRemovableFiel","nonRemovableFields","_ref$requiredFields","requiredFields","_ref$showActionBlock","_ref$isKindAlreadyAct","_ref$getActiveKindDet","getActiveQuestionKindDetails","isQuestionDeletable","isFieldRequired","isFieldLabelDisabled","_ref$showLoader","showLoader","_ref$kindUniqueOn","kindUniqueOn","_ref$allowAdditionalG","allowAdditionalGuests","_ref$enableFieldCode","_ref$availableLanguag","DEFAULT_AVAILABLE_LANGUAGES","_ref$formTitle","_ref$selectedLanguage","_ref$onLanguageChange","_ref$additionalAction","_ref$enableDomainBlac","_ref$enableDomainWhit","_ref$questionsHelpPro","queryClient","useQueryClient","_useReorderQuestions","useReorderQuestions","reorderQuestions","isLoading","isQuestionsPending","QUESTIONS_INITIAL_VALUE","isQuestionsLoading","PageLoader","neetoFormQuestions","_queryClient$getQuery","getQueryState","QUERY_KEYS","QUESTIONS","dataUpdateCount","setQueryData","MANDATORY_KINDS","F","defaultQuestionKinds","QUESTION_KINDS","removeBy","QUESTION_KIND","Formik","enableReinitialize","setFieldError"],"mappings":"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"}
1
+ {"version":3,"file":"BuildForm.js","sources":["../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/Questions/Card.jsx","../app/javascript/src/components/BuildForm/Form/Questions.jsx","../app/javascript/src/common/helpers/array.js","../app/javascript/src/components/BuildForm/Form/utils.js","../app/javascript/src/components/BuildForm/AddFirstQuestion.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/constants.js","../app/javascript/src/components/Common/FormikAdaptiveInput.jsx","../app/javascript/src/components/BuildForm/commons/Block.jsx","../app/javascript/src/components/BuildForm/hooks/useUpdateEditorContent.js","../app/javascript/src/components/BuildForm/commons/Editor.jsx","../app/javascript/src/components/BuildForm/commons/RequiredSwitch.jsx","../app/javascript/src/components/Common/InputWithMaxLength.jsx","../app/javascript/src/components/BuildForm/Questions/FieldCode.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/Form.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/validations.js","../app/javascript/src/components/BuildForm/ManageQuestionPane/Add.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/Edit.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Captcha/index.jsx","../app/javascript/src/components/BuildForm/commons/SwitchBlock.jsx","../app/javascript/src/components/BuildForm/commons/TitleWithHelpPopover.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/constants.js","../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/constants.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/index.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/Email/EmailDomains.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/RestrictDomainsBlock.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/index.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/FileGroup.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/index.jsx","../app/javascript/src/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"],"sourcesContent":["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 { useEffect, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isNotPresent, slugify } from \"neetocist\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { path } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\nimport useBuildFormStore from \"src/stores/buildForm\";\nimport { fieldWithFallback, isFunction } from \"utils\";\n\nimport { htmlToPlainText, isElementOverflowing } 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 [isTooltipEnabled, setIsTooltipEnabled] = useState(false);\n\n const questionLabelRef = useRef(null);\n\n const { t } = useTranslation();\n\n const smsReminderHelpDocUrl = useBuildFormStore(\n path([\"formState\", \"helpDocUrls\", \"smsReminder\"])\n );\n\n const { kind, isSingular } = getActiveKindDetails({\n allQuestionKinds,\n item: question,\n });\n\n const isSmsReminderQuestion = kind === QUESTION_TYPES.SMS_REMINDER;\n\n const label = fieldWithFallback(question, \"label\");\n\n const questionLabel = isRichTextQuestion(kind)\n ? htmlToPlainText(label)\n : label;\n\n useEffect(() => {\n const element = questionLabelRef.current;\n if (isNotPresent(element)) return;\n\n setIsTooltipEnabled(isElementOverflowing(element));\n }, [questionLabel]);\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 gap-1 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 <Tooltip\n content={questionLabel}\n disabled={!isTooltipEnabled}\n position=\"top\"\n >\n <Typography\n className=\"line-clamp-2 min-w-0 flex-grow truncate break-words\"\n data-cy={`${slugify(questionLabel)}-question-card-label`}\n lineHeight=\"snug\"\n ref={questionLabelRef}\n style=\"body2\"\n weight=\"medium\"\n >\n {questionLabel}\n </Typography>\n </Tooltip>\n </div>\n <div className=\"flex items-center gap-1\">\n {isSmsReminderQuestion && (\n <HelpPopover\n description={t(\"neetoForm.smsReminder.popoverDescription\")}\n popoverProps={{ position: \"top\" }}\n {...(smsReminderHelpDocUrl && {\n helpLinkProps: { href: smsReminderHelpDocUrl },\n })}\n />\n )}\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 </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","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 { findBy } from \"neetocist\";\nimport {\n isEmpty,\n reject,\n omit,\n keys,\n pick,\n when,\n assoc,\n includes,\n evolve,\n map,\n} from \"ramda\";\nimport { v4 as uuid } from \"uuid\";\n\nimport arrayHelpers from \"common/helpers/array\";\nimport { fieldWithFallback } from \"utils\";\n\nimport {\n NON_BASIC_LATIN_CHARACTERS_REGEX,\n RESERVED_FIELD_CODES,\n SELECTABLE_KINDS,\n} from \"../constants\";\nimport {\n isAutoGeneratedQuestion,\n isDefaultLanguage,\n isRichTextQuestion,\n} from \"../utils\";\n\nconst isChoiceQuestion = question => includes(question?.kind, SELECTABLE_KINDS);\n\nconst underscoredWithoutSpecialCharacters = string =>\n string\n .toLowerCase()\n .replace(/[\\s-]/g, \"_\")\n .replace(/[\\W]/gi, \"\")\n .replace(/_+/g, \"_\")\n .replace(/^_+|_+$/, \"\");\n\nconst addSuffixForReservedFieldCode = fieldCode =>\n RESERVED_FIELD_CODES.includes(fieldCode) ? `${fieldCode}_field` : fieldCode;\n\nconst getUniqueNumbersFromExistingFieldCodes = (prefix, questions) =>\n questions\n .filter(question => question.fieldCode.startsWith(prefix))\n .map(question => parseInt(question.fieldCode.replace(prefix, \"\")) || 0);\n\nconst generateFieldCodePrefix = (label, kind) => {\n let prefix;\n\n if (NON_BASIC_LATIN_CHARACTERS_REGEX.test(label) || isEmpty(label)) {\n prefix = kind;\n } else {\n const sanitizedLabel = underscoredWithoutSpecialCharacters(label).slice(\n 0,\n 30\n );\n prefix = isEmpty(sanitizedLabel) ? kind : sanitizedLabel;\n }\n\n return addSuffixForReservedFieldCode(prefix) || \"\";\n};\n\nconst modifyDefaultValues = ({\n values,\n kind,\n selectedLanguage,\n isUsingDefaultQuestionKinds,\n}) => {\n if (\n !includes(kind, SELECTABLE_KINDS) ||\n isDefaultLanguage(selectedLanguage) ||\n !isUsingDefaultQuestionKinds\n ) {\n return values;\n }\n\n return evolve({ optionsAttributes: map(assoc(\"label\", \"\")) }, values);\n};\n\nexport const generateUniqueFieldCode = ({\n questions,\n label = \"\",\n kind = \"\",\n}) => {\n const prefix = generateFieldCodePrefix(label, kind);\n\n let uniqueNumber = Math.max(\n 0,\n ...getUniqueNumbersFromExistingFieldCodes(prefix, questions)\n );\n let candidateFieldCode = \"\";\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 === 0 ? \"\" : 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 selectedLanguage,\n isUsingDefaultQuestionKinds,\n}) => {\n const modifiedDefaultValues = modifyDefaultValues({\n values: defaults,\n kind: type,\n selectedLanguage,\n isUsingDefaultQuestionKinds,\n });\n\n return {\n ...modifiedDefaultValues,\n metadata,\n isRequired,\n kind: type,\n nodeId: uuid(),\n fieldCode: generateUniqueFieldCode({\n questions,\n kind: type,\n label: defaults[\"label\"],\n }),\n };\n};\n\nexport const duplicateFieldData = ({ item, questionKinds, questions }) => {\n const { isRequired, kind, optionsAttributes } = item;\n\n const questionKind = findBy({ type: kind }, questionKinds);\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({\n questions,\n kind,\n label: newQuestionLabel,\n }),\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 (\n isAutoGeneratedQuestion(kind.type) ||\n (isSingularKind && isKindAlreadyActive({ activeQuestions, kind }))\n );\n }, allQuestionKinds);\n};\n\nexport const formatQuestionAttributesForClone = when(\n isChoiceQuestion,\n assoc(\"isCloning\", true)\n);\n","import { NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n buildAddQuestionButtonProps,\n buildDisabledAddButtonTooltipProps,\n} from \"./utils\";\n\nconst AddFirstQuestion = ({\n onAdd,\n isDisabled,\n disabledAddButtonTooltipProps,\n}) => {\n const { t } = useTranslation();\n const tooltipProps = buildDisabledAddButtonTooltipProps(\n isDisabled,\n disabledAddButtonTooltipProps\n );\n\n return (\n <div className=\"flex h-full flex-col items-center justify-center py-8\">\n <NoData\n showTooltipWhenButtonDisabled\n className=\"min-h-80\"\n title={t(\"neetoForm.questions.common.noData\")}\n primaryButtonProps={buildAddQuestionButtonProps(\n onAdd,\n isDisabled,\n tooltipProps\n )}\n />\n </div>\n );\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 SMS_REMINDER,\n} = QUESTION_TYPES;\n\nexport const QUESTIONS_WITH_ADDITIONAL_DATA = [\n ...SELECTABLE_KINDS,\n STAR_RATING,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n];\n\nexport const QUESTIONS_WITH_PLACEHOLDERS = [\n NAME,\n PHONE,\n EMAIL,\n ADDITIONAL_GUESTS,\n TEXT,\n TEXTAREA,\n RICH_TEXT,\n INTEGER,\n DECIMAL,\n DATE,\n SMS_REMINDER,\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\nexport const VALID_FIELD_CODE_REGEX = /^[a-z0-9]+(_[a-z0-9]+)*$/;\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 { Button, Accordion } from \"neetoui\";\nimport { path } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport Input from \"components/Common/InputWithMaxLength\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport { FIELD_CODES_REJECT_CHARS_REGEX } from \"./constants\";\n\nconst FieldCode = () => {\n const helpDocUrl = useBuildFormStore(\n path([\"formState\", \"helpDocUrls\", \"fieldCode\"])\n );\n\n const { t } = useTranslation();\n\n return (\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 rejectCharsRegex={FIELD_CODES_REJECT_CHARS_REGEX}\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};\n\nexport default FieldCode;\n","import { useFormikContext } from \"formik\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport { withEventTargetValue } from \"neetocommons/utils\";\nimport { Pane } from \"neetoui\";\nimport { Select, Switch } from \"neetoui/formik\";\nimport { includes, isNil, mergeLeft, path } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FormikAdaptiveInput from \"components/Common/FormikAdaptiveInput\";\nimport useBuildFormStore from \"src/stores/buildForm\";\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 hideSwitchLabelProps,\n renderAdditionalData,\n} from \"./utils\";\n\nimport Block from \"../commons/Block\";\nimport Editor from \"../commons/Editor\";\nimport RequiredSwitch from \"../commons/RequiredSwitch\";\nimport {\n NON_HIDEABLE_FIELDS,\n QUESTIONS_WITHOUT_FIELD_CODE,\n} from \"../constants\";\nimport { createFieldData, generateUniqueFieldCode } from \"../Form/utils\";\nimport FieldCode from \"../Questions/FieldCode\";\nimport { isImmutableField, 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 isEdit = false,\n}) => {\n const { t } = useTranslation();\n\n const { values, setValues, setErrors, setTouched, setFieldValue } =\n useFormikContext();\n\n const hideQuestionHelpDoc = useBuildFormStore(\n path([\"formState\", \"helpDocUrls\", \"hideQuestion\"])\n );\n\n const {\n enableDomainWhitelisting,\n enableDomainBlacklisting,\n selectedLanguage,\n isUsingDefaultQuestionKinds,\n } = useBuildFormStore.pick(\"formState\");\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 isImmutable = questionKind && isImmutableField(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, NON_HIDEABLE_FIELDS);\n const isSettingsBlockVisible =\n !isRequired && (!isImmutable || shouldShowHideSwitch);\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 selectedLanguage,\n isUsingDefaultQuestionKinds,\n });\n };\n\n const updateFormState = data => {\n setValues(data);\n setErrors({});\n setTouched({});\n };\n\n const handleLabelChange = label => {\n setFieldValue(\"label\", label);\n\n if (isEdit) return;\n\n const uniqueFieldCode = generateUniqueFieldCode({\n questions,\n label,\n kind,\n });\n\n setFieldValue(\"fieldCode\", uniqueFieldCode);\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 onChange={withEventTargetValue(handleLabelChange)}\n />\n {shouldShowPlaceholder && (\n <FormikAdaptiveInput\n name=\"placeholder\"\n label={t(\n \"neetoForm.questions.common.questionFields.field.placeholder\"\n )}\n />\n )}\n {hasAdditionalData &&\n renderAdditionalData({\n kind,\n questionProps,\n enableDomainWhitelisting,\n enableDomainBlacklisting,\n })}\n </div>\n {isSettingsBlockVisible && (\n <Block\n dataCy=\"settings-card\"\n title={t(\"neetoForm.common.settings\")}\n >\n {!isImmutable && <RequiredSwitch />}\n {shouldShowHideSwitch && (\n <Switch\n label={t(\"neetoForm.common.hideQuestion\")}\n labelProps={hideSwitchLabelProps(hideQuestionHelpDoc)}\n name=\"isHidden\"\n />\n )}\n </Block>\n )}\n {shouldShowFieldCode && <FieldCode />}\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 { VALID_FIELD_CODE_REGEX } from \"./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 fieldCodeValidation = (schema, field) =>\n schema\n .trim()\n .required(t(\"neetoForm.common.fieldReq\", { field }))\n .matches(\n VALID_FIELD_CODE_REGEX,\n t(\"neetoForm.error.invalidField\", { label: field })\n );\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 = (enableFieldCode = false) =>\n 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 enableFieldCode && !includes(kind, QUESTIONS_WITHOUT_FIELD_CODE)\n ? fieldCodeValidation(\n schema,\n t(\"neetoForm.questions.common.questionFields.field.fieldCode\")\n )\n : schema.notRequired()\n ),\n optionsAttributes: yup.array().when(\"kind\", (kind, schema) =>\n includes(kind, SELECTABLE_KINDS)\n ? schema.of(\n yup.object().shape({\n label: yup.string().when(\"_destroy\", {\n is: true,\n otherwise: requiredLabelValidation(\n yup.string(),\n t(\"neetoForm.questions.common.questionFields.field.option\")\n ),\n }),\n })\n )\n : schema.notRequired()\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 ...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(props[\"enableFieldCode\"]),\n onSubmit: handleSubmit,\n }}\n >\n <>\n <QuestionForm {...{ ...props, question, questions }} />\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, ...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(props[\"enableFieldCode\"]),\n onSubmit: handleSubmit,\n }}\n >\n <>\n <QuestionForm {...{ question, ...props }} isEdit />\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={isUpdating}\n />\n </Pane.Footer>\n </>\n </Form>\n </>\n );\n};\n\nexport default Edit;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Radio } from \"neetoui/formik\";\n\nimport { CAPTCHA_TYPES } from \"components/constants\";\n\nconst Captcha = withT(({ t }) => (\n <Radio\n label={t(\"neetoForm.common.captchaType\")}\n labelProps={{ required: true }}\n name=\"variant\"\n >\n <Radio.Item\n label={t(\"neetoForm.common.reCaptchaV2\")}\n value={CAPTCHA_TYPES.RECAPTCHA_V2}\n />\n <Radio.Item\n label={t(\"neetoForm.common.mathCaptcha\")}\n value={CAPTCHA_TYPES.MATH_CAPTCHA}\n />\n </Radio>\n));\n\nexport default Captcha;\n","import classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Label, Typography } from \"neetoui\";\nimport { Switch } from \"neetoui/formik\";\n\nconst SwitchBlock = ({ name, title, className = \"\", ...otherProps }) => (\n <Label\n className={classnames(\"flex items-center justify-start gap-2 \", className)}\n data-cy={`neeto-form-engine-${hyphenate(title && name)}-toggle-label`}\n >\n <Switch\n {...{ ...otherProps, name }}\n data-cy={`neeto-form-engine-${hyphenate(title && name)}-switch`}\n />\n <Typography component=\"span\" style=\"body1\">\n {title}\n </Typography>\n </Label>\n);\n\nexport default SwitchBlock;\n","import HelpPopover from \"neetomolecules/HelpPopover\";\n\nconst TitleWithHelpPopover = ({ title, description, helpLink }) => (\n <div className=\"flex gap-2\">\n {title}\n <HelpPopover\n {...{ description }}\n popoverProps={{ position: \"top\" }}\n {...(helpLink && { helpLinkProps: { href: helpLink } })}\n />\n </div>\n);\n\nexport default TitleWithHelpPopover;\n","import { t } from \"i18next\";\n\nexport const DOMAIN_RESTRICTION_TRANSLATIONS = {\n whitelistedDomains: {\n title: t(\"neetoForm.domainRestriction.whitelistedDomains.label\"),\n description: t(\n \"neetoForm.domainRestriction.whitelistedDomains.description\"\n ),\n popoverDescription: t(\n \"neetoForm.domainRestriction.whitelistedDomains.popoverDescription\"\n ),\n },\n blacklistedDomains: {\n title: t(\"neetoForm.domainRestriction.blacklistedDomains.label\"),\n description: t(\n \"neetoForm.domainRestriction.blacklistedDomains.description\"\n ),\n popoverDescription: t(\n \"neetoForm.domainRestriction.blacklistedDomains.popoverDescription\"\n ),\n },\n};\n","import { t } from \"i18next\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Close } from \"neetoicons\";\nimport { Tag } from \"neetoui\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { components } from \"react-select\";\nimport * as yup from \"yup\";\n\nconst STYLES = {\n border: {\n default: \"1px solid rgb(var(--neeto-ui-gray-400))\",\n error: \"1px solid rgb(var(--neeto-ui-error-800)) !important\",\n },\n color: {\n default: \"rgb(var(--neeto-ui-gray-800))\",\n error: \"rgb(var(--neeto-ui-error-800)) !important\",\n },\n};\n\nconst MultiValueRemove = props => (\n <components.MultiValueRemove\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: `${hyphenize(props.data.label)}-remove-icon`,\n }}\n >\n <Close size={16} />\n </components.MultiValueRemove>\n);\n\nconst ValueContainer = ({ children, ...props }) => {\n const { t } = useTranslation();\n\n const {\n getValue,\n selectProps: { isFocused, visibleDomainsCount },\n } = props;\n const value = getValue();\n const [firstChild, ...rest] = children;\n\n const shouldCollapse = !isFocused && value.length > visibleDomainsCount;\n\n return (\n <components.ValueContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-domain-input-container\",\n }}\n >\n {shouldCollapse ? firstChild.slice(0, visibleDomainsCount) : firstChild}\n {shouldCollapse && (\n <Tag\n style=\"secondary\"\n label={t(\"neetoForm.common.remainingItemsCount\", {\n count: value.length - visibleDomainsCount,\n })}\n />\n )}\n {rest}\n </components.ValueContainer>\n );\n};\n\nconst ClearIndicator = props => (\n <components.ClearIndicator\n {...props}\n innerProps={{ ...props.innerProps, [\"data-cy\"]: \"clear-all-button\" }}\n >\n <Close className=\"cursor-pointer\" size={16} />\n </components.ClearIndicator>\n);\n\nexport const ERROR_MESSAGE_DELIMITER = \". \";\nexport const DELIMITER_KEYS = [\"Enter\", \"Tab\", \",\", \" \"];\nexport const DOMAIN_SEPARATION_REGEX = /[^\\s,]+/g;\nexport const FLEXIBLE_DOMAIN_REGEX = /^[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)+$/;\n\nexport const VALID_DOMAIN_REGEX =\n /^(?:[a-zA-Z0-9-]{1,63}\\.)+[a-zA-Z0-9-]{2,63}$/;\n\nexport const DOMAIN_VALIDATION_SCHEMA = yup\n .string()\n .required(\n t(\"neetoForm.error.requiredField\", {\n label: t(\"neetoForm.common.domain\"),\n })\n )\n .test(\"verify domains\", t(\"neetoForm.error.invalidDomain\"), domain =>\n VALID_DOMAIN_REGEX.test(domain)\n );\n\nexport const CUSTOM_STYLES = {\n input: assoc(\"overflow\", \"hidden\"),\n multiValue: (styles, { data: { valid } }) => ({\n ...styles,\n border: valid ? STYLES.border.default : STYLES.border.error,\n color: valid ? STYLES.color.default : STYLES.color.error,\n }),\n};\n\nexport const CUSTOM_COMPONENTS = {\n DropdownIndicator: null,\n MultiValueRemove,\n ValueContainer,\n ClearIndicator,\n};\n","import { filter, isNotNil, join, map, pipe, pluck, uniq } from \"ramda\";\n\nimport { ERROR_MESSAGE_DELIMITER, DOMAIN_VALIDATION_SCHEMA } from \"./constants\";\n\nconst removeDuplicateErrorMessages = pipe(\n filter(isNotNil),\n uniq,\n join(ERROR_MESSAGE_DELIMITER)\n);\n\nexport const formatDomainInputOptions = domain => {\n let isValid;\n\n try {\n DOMAIN_VALIDATION_SCHEMA.validateSync(domain);\n isValid = true;\n } catch {\n isValid = false;\n }\n\n return { label: domain, value: domain, valid: isValid };\n};\n\nexport const pruneDuplicates = pipe(\n pluck(\"value\"),\n uniq,\n map(formatDomainInputOptions)\n);\n\nexport const getValidDomains = domains =>\n domains.filter(domain => domain?.valid);\n\nexport const getValidDomainsCount = domains => getValidDomains(domains).length;\n\nexport const formatErrorMessage = error => {\n if (typeof error === \"string\") return error;\n\n return removeDuplicateErrorMessages(error);\n};\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Label } from \"neetoui\";\nimport { mergeLeft, filter, includes, test } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport CreatableSelect from \"react-select/creatable\";\n\nimport {\n CUSTOM_COMPONENTS,\n CUSTOM_STYLES,\n DELIMITER_KEYS,\n DOMAIN_SEPARATION_REGEX,\n ERROR_MESSAGE_DELIMITER,\n FLEXIBLE_DOMAIN_REGEX,\n} from \"./constants\";\nimport {\n formatDomainInputOptions,\n formatErrorMessage,\n getValidDomainsCount,\n pruneDuplicates,\n getValidDomains,\n} from \"./utils\";\n\nconst MultiDomainInput = ({\n label = \"\",\n value = [],\n onChange = noop,\n error = \"\",\n onBlur = noop,\n ...otherProps\n}) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n\n const { t } = useTranslation();\n\n const handleFilterDomains = () => onChange(getValidDomains(value));\n\n const handleDomainChange = () => {\n const inputValues = inputValue.match(DOMAIN_SEPARATION_REGEX) || [];\n const domainMatches = filter(test(FLEXIBLE_DOMAIN_REGEX), inputValues);\n\n const domains = domainMatches.map(formatDomainInputOptions);\n onChange(pruneDuplicates([...value, ...domains]));\n setInputValue(\"\");\n };\n\n const handleKeyDown = event => {\n if (!inputValue) return;\n\n if (includes(event.key, DELIMITER_KEYS)) {\n handleDomainChange();\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n const onCreateOption = input => {\n const domain = formatDomainInputOptions(input);\n onChange(pruneDuplicates([...value, domain]));\n };\n\n const handleBlur = event => {\n inputValue ? handleDomainChange() : onBlur(event);\n setIsFocused(false);\n };\n\n const isFilterDomainsLinkVisible = value.length > getValidDomainsCount(value);\n\n return (\n <div className=\"neeto-ui-input__wrapper neeto-ui-email-input__wrapper\">\n <div className=\"neeto-ui-email-input__label-wrapper\">\n <Label\n className=\"neeto-ui-email-input__label\"\n data-cy={`${hyphenize(label)}-input-label`}\n >\n {label}\n </Label>\n </div>\n <CreatableSelect\n isMulti\n required\n classNamePrefix=\"neeto-ui-react-select\"\n components={CUSTOM_COMPONENTS}\n menuIsOpen={false}\n visibleDomainsCount={3}\n className={classnames(\n \"neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select\",\n { \"neeto-ui-react-select__container--error\": !!error }\n )}\n styles={{\n ...CUSTOM_STYLES,\n control: mergeLeft({\n maxHeight: \"200px\",\n overflowY: \"auto\",\n }),\n }}\n onBlur={handleBlur}\n onFocus={() => setIsFocused(true)}\n onInputChange={setInputValue}\n onKeyDown={handleKeyDown}\n {...{\n inputValue,\n isFocused,\n onChange,\n onCreateOption,\n value,\n ...otherProps,\n }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n >\n {formatErrorMessage(error)}\n {isFilterDomainsLinkVisible && (\n <span\n className=\"neeto-ui-font-semibold cursor-pointer\"\n onClick={handleFilterDomains}\n >\n {ERROR_MESSAGE_DELIMITER}\n {t(\"neetoForm.domainRestriction.removeInvalidDomains\")}\n </span>\n )}\n </p>\n )}\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n >\n {t(\"neetoForm.domainRestriction.helpText\")}\n </p>\n </div>\n );\n};\n\nexport default MultiDomainInput;\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { VALID_DOMAIN_REGEX } from \"./MultiDomainInput/constants\";\n\nexport const validateDomains = value => {\n const schema = yup\n .array()\n .of(\n yup\n .string()\n .test(\"verify domains\", t(\"neetoForm.error.invalidDomain\"), domain =>\n VALID_DOMAIN_REGEX.test(domain)\n )\n )\n .ensure()\n .compact()\n .min(\n 1,\n t(\"neetoForm.error.minOneEntity\", {\n entity: t(\"neetoForm.common.domain\"),\n })\n );\n\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async resolve => {\n try {\n await schema.validate(value);\n resolve(undefined);\n } catch (err) {\n resolve(err.message);\n }\n });\n};\n","import { useField } from \"formik\";\nimport { nullSafe } from \"neetocist\";\nimport { map, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport MultiDomainInput from \"./MultiDomainInput\";\nimport { formatDomainInputOptions } from \"./MultiDomainInput/utils\";\nimport { validateDomains } from \"./utils\";\n\nconst EmailDomains = ({ name, label }) => {\n const { t } = useTranslation();\n\n const [{ value: domains = [] }, meta, { setValue, setTouched }] = useField({\n name,\n validate: validateDomains,\n });\n\n const formattedDomains = map(formatDomainInputOptions, domains);\n\n return (\n <div className=\"mb-4\">\n <MultiDomainInput\n {...{ label, name }}\n error={meta.touched ? meta.error : \"\"}\n placeholder={t(\"neetoForm.domainRestriction.placeholder\")}\n value={formattedDomains}\n onBlur={() => setTouched(true)}\n onChange={value => setValue(nullSafe(pluck)(\"value\", value))}\n />\n </div>\n );\n};\n\nexport default EmailDomains;\n","import { hyphenate } from \"neetocist\";\nimport { path } from \"ramda\";\n\nimport SwitchBlock from \"components/BuildForm/commons/SwitchBlock\";\nimport TitleWithHelpPopover from \"components/BuildForm/commons/TitleWithHelpPopover\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport { DOMAIN_RESTRICTION_TRANSLATIONS } from \"./constants\";\nimport EmailDomains from \"./EmailDomains\";\n\nconst RestrictDomainsBlock = ({\n switchName,\n domainName,\n isDomainRestrictionEnabled,\n}) => {\n const { title, description, popoverDescription } =\n DOMAIN_RESTRICTION_TRANSLATIONS[domainName];\n\n const helpLink = useBuildFormStore(\n path([\"formState\", \"helpDocUrls\", domainName])\n );\n\n return (\n <div\n className=\"flex flex-col space-y-4\"\n data-cy={`${hyphenate(switchName)}-container`}\n >\n <SwitchBlock\n className=\"mt-4\"\n name={switchName}\n title={\n <TitleWithHelpPopover\n {...{ helpLink, title }}\n description={popoverDescription}\n />\n }\n />\n {isDomainRestrictionEnabled && (\n <EmailDomains label={description} name={domainName} />\n )}\n </div>\n );\n};\n\nexport default RestrictDomainsBlock;\n","import { useFormikContext } from \"formik\";\n\nimport RestrictDomainsBlock from \"./RestrictDomainsBlock\";\n\nconst Email = ({ enableDomainWhitelisting, enableDomainBlacklisting }) => {\n const {\n values: {\n isDomainWhitelistingEnabled = false,\n isDomainBlacklistingEnabled = false,\n },\n } = useFormikContext();\n\n return (\n <div className=\"flex flex-col space-y-4\">\n {enableDomainWhitelisting && (\n <RestrictDomainsBlock\n domainName=\"whitelistedDomains\"\n isDomainRestrictionEnabled={isDomainWhitelistingEnabled}\n switchName=\"isDomainWhitelistingEnabled\"\n />\n )}\n {enableDomainBlacklisting && (\n <RestrictDomainsBlock\n domainName=\"blacklistedDomains\"\n isDomainRestrictionEnabled={isDomainBlacklistingEnabled}\n switchName=\"isDomainBlacklistingEnabled\"\n />\n )}\n </div>\n );\n};\n\nexport default Email;\n","import { Checkbox } from \"neetoui\";\n\nconst FileGroup = ({ name, label, checked, handleAllowedFileTypesChange }) => (\n <Checkbox\n {...{ checked, label, name }}\n data-cy={`neeto-form-engine-file-type-${name}`}\n id={name}\n onChange={handleAllowedFileTypesChange}\n />\n);\n\nexport default FileGroup;\n","import { difference, isEmpty } from \"ramda\";\n\nimport { FILE_TYPES_MAP } from \"../constants\";\n\nconst buildFileTypesList = fileTypes => (fileTypes ?? \"\").split(\", \");\n\nexport const getAllowedFileTypes = ({ type, isChecked, allowedFileTypes }) => {\n const fileTypes = buildFileTypesList(allowedFileTypes);\n if (isChecked) {\n const fileTypesSet = new Set([...FILE_TYPES_MAP[type], ...fileTypes]);\n\n return Array.from(fileTypesSet).join(\", \");\n }\n const newFileTypes = difference(fileTypes, FILE_TYPES_MAP[type]);\n\n return newFileTypes.join(\", \");\n};\n\nexport const isFileTypeEnabled = (type, allowedFileTypes) => {\n const fileTypes = buildFileTypesList(allowedFileTypes);\n\n return isEmpty(difference(FILE_TYPES_MAP[type], fileTypes));\n};\n","import { useFormikContext } from \"formik\";\nimport { Typography } from \"neetoui\";\nimport { Checkbox } from \"neetoui/formik\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FileGroup from \"./FileGroup\";\nimport { getAllowedFileTypes, isFileTypeEnabled } from \"./utils\";\n\nimport { FILE_GROUPS } from \"../constants\";\n\nconst FileUpload = () => {\n const { t } = useTranslation();\n\n const { values, setFieldValue } = useFormikContext();\n\n const allowedFileTypes = prop(\"allowedFileTypes\", values);\n\n const handleAllowedFileTypesChange = ({\n target: { name: fileType, checked },\n }) =>\n setFieldValue(\n \"allowedFileTypes\",\n getAllowedFileTypes({\n type: fileType,\n isChecked: checked,\n allowedFileTypes,\n })\n );\n\n return (\n <>\n <div className=\"w-full\">\n <Checkbox\n id=\"multipleFilesAllowed\"\n label={t(\"neetoForm.fileUpload.enableMultipleFilesUpload\")}\n name=\"multipleFilesAllowed\"\n />\n </div>\n <div className=\"flex flex-col space-y-3\">\n <Typography style=\"body1\" weight=\"semibold\">\n {t(\"neetoForm.fileUpload.fileTypes\")}\n </Typography>\n <div className=\"flex space-x-4\">\n {FILE_GROUPS.map(({ name, label }) => (\n <FileGroup\n {...{ handleAllowedFileTypesChange, label, name }}\n checked={isFileTypeEnabled(name, allowedFileTypes)}\n key={name}\n />\n ))}\n </div>\n </div>\n </>\n );\n};\n\nexport default FileUpload;\n","import { useField } from \"formik\";\nimport OptionFields from \"neetomolecules/OptionFields\";\nimport { Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isDefaultLanguage } from \"components/BuildForm/utils\";\nimport useBuildFormStore from \"src/stores/buildForm\";\nimport { isFunction } from \"utils\";\n\nimport { MINIMUM_OPTIONS } from \"../../constants\";\n\nconst Options = ({ questionProps }) => {\n const { t } = useTranslation();\n\n const { selectedLanguage } = useBuildFormStore.pick(\"formState\");\n\n const name = \"optionsAttributes\";\n const [_, __, { setValue: setOptionsAttributes }] = useField(name);\n\n const {\n optionLabelProps = {},\n freezeOptions = false,\n disableAddOption = false,\n disableRemoveOption = false,\n } = questionProps || {};\n\n const isManageOptionDisabled = isFunction(freezeOptions)\n ? freezeOptions(selectedLanguage)\n : freezeOptions;\n\n const isAddOptionDisabled = disableAddOption || isManageOptionDisabled;\n const isRemoveOptionDisabled = disableRemoveOption || isManageOptionDisabled;\n\n return (\n <div className=\"w-full\">\n <Label className=\"mb-2 block\" {...optionLabelProps}>\n {t(\"neetoForm.questions.common.questionFields.field.options\")}\n </Label>\n <OptionFields\n {...{ name }}\n shouldDestroy\n destroyFlagName=\"_destroy\"\n disabled={isManageOptionDisabled}\n draggable={!isManageOptionDisabled}\n isAddOptionEnabled={!isAddOptionDisabled}\n isDeleteOptionEnabled={!isRemoveOptionDisabled}\n isNewItemsPrefilled={isDefaultLanguage(selectedLanguage)}\n minOptions={MINIMUM_OPTIONS}\n shouldResetEmptyOptionOnBlur={false}\n onChange={setOptionsAttributes}\n />\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 { t } from \"i18next\";\nimport { findBy, isPresent, slugify } from \"neetocist\";\nimport { assoc, equals, last, pipe, split } from \"ramda\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\n\nimport Add from \"./Add\";\nimport Edit from \"./Edit\";\n\nimport { QUESTION_ACTIONS } from \"../constants\";\nimport Captcha from \"../Questions/Fields/Captcha\";\nimport Email from \"../Questions/Fields/Email\";\nimport FileUpload from \"../Questions/Fields/FileUpload\";\nimport Options from \"../Questions/Fields/Options\";\nimport Rating from \"../Questions/Fields/Rating\";\nimport StarRating from \"../Questions/Fields/StarRating\";\n\nconst {\n CHECKBOX,\n RADIO,\n DROPDOWN,\n STAR_RATING,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n} = QUESTION_TYPES;\n\nconst transformValueForOption = ({ label, type }) =>\n `${slugify(label)}-${type}`;\n\nexport const renderAdditionalData = ({\n kind,\n questionProps,\n enableDomainWhitelisting,\n enableDomainBlacklisting,\n}) => {\n switch (kind) {\n case CHECKBOX:\n case RADIO:\n case DROPDOWN:\n return <Options {...{ questionProps }} />;\n case RATING:\n return <Rating />;\n case STAR_RATING:\n return <StarRating />;\n case FILE_UPLOAD:\n return <FileUpload />;\n case CAPTCHA:\n return <Captcha />;\n case EMAIL:\n return enableDomainWhitelisting || enableDomainBlacklisting ? (\n <Email {...{ enableDomainBlacklisting, enableDomainWhitelisting }} />\n ) : null;\n default:\n return null;\n }\n};\n\nexport const resolveActionComponent = action =>\n equals(action, QUESTION_ACTIONS.ADD) ? Add : Edit;\n\nexport const getQuestionKind = (questionKinds, pattern) => {\n const questionKind = findBy(pattern, questionKinds);\n\n return questionKind ? assoc(\"kind\", questionKind.type, questionKind) : null;\n};\n\nexport const buildKindOptions = kinds =>\n kinds.map(({ label, type }) => ({\n label,\n value: transformValueForOption({ label, type }),\n }));\n\nexport const extractKindFromOption = pipe(split(\"-\"), last);\n\nexport const buildDefaultValueForKind = questionKind =>\n isPresent(questionKind)\n ? { value: transformValueForOption(questionKind) }\n : undefined;\n\nexport const hideSwitchLabelProps = helpUrl =>\n helpUrl\n ? {\n helpIconProps: {\n popoverProps: {\n description: t(\n \"neetoForm.questions.common.questionFields.field.hideQuestionHelpDescription\"\n ),\n helpLinkProps: {\n href: helpUrl,\n label: t(\"neetoForm.common.viewHelpArticle\"),\n },\n },\n },\n }\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 ...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 initialFocusRef,\n isOpen,\n onClose,\n question,\n ...props,\n }}\n />\n </Pane>\n );\n};\n\nexport default ManageQuestionPane;\n","import { Button, Tooltip } from \"neetoui\";\n\nimport {\n buildAddQuestionButtonProps,\n buildDisabledAddButtonTooltipProps,\n} from \"../utils\";\n\nconst AddQuestion = ({ onAdd, disabledAddButtonTooltipProps, isDisabled }) => {\n const tooltipProps = buildDisabledAddButtonTooltipProps(\n isDisabled,\n disabledAddButtonTooltipProps\n );\n\n return (\n <Tooltip {...tooltipProps}>\n <span>\n <Button {...buildAddQuestionButtonProps(onAdd, isDisabled)} />\n </span>\n </Tooltip>\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, isPresent } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\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 enableDomainBlacklisting,\n enableDomainWhitelisting,\n helpDocUrls,\n questionsHelpProps,\n isUsingDefaultQuestionKinds,\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 helpDocUrls,\n enableDomainBlacklisting,\n enableDomainWhitelisting,\n isUsingDefaultQuestionKinds,\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 helpDocUrls,\n enableDomainBlacklisting,\n enableDomainWhitelisting,\n isUsingDefaultQuestionKinds,\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 pb-6 md:px-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 flex w-full items-center gap-x-1\">\n <AddQuestion\n {...{ disabledAddButtonTooltipProps }}\n isDisabled={isEmpty(availableQuestionKinds)}\n onAdd={handleAdd}\n />\n {isPresent(questionsHelpProps) && (\n <span>\n <HelpPopover {...questionsHelpProps} />\n </span>\n )}\n </div>\n </div>\n ) : (\n <AddFirstQuestion\n {...{ disabledAddButtonTooltipProps }}\n isDisabled={isEmpty(availableQuestionKinds)}\n onAdd={handleAdd}\n />\n )}\n </div>\n {(showActionBlock || dirty) && (\n <div className=\"neeto-ui-border-gray-300 neeto-form-nano-form-wrapper__footer neeto-ui-bg-white sticky bottom-0 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 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, F, 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 IMMUTABLE_KINDS,\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, isImmutableField } 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 enableDomainBlacklisting = true,\n enableDomainWhitelisting = true,\n helpDocUrls,\n className,\n questionsHelpProps = {},\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 =>\n !concat(IMMUTABLE_KINDS, nonRemovableFields).includes(question.kind));\n\n const isRequiredField =\n isFieldRequired ??\n (({ kind }) => concat(MANDATORY_KINDS, requiredFields).includes(kind));\n\n const isDisabledFieldLabel = field =>\n isImmutableField(field) || (isFieldLabelDisabled ?? F)(field);\n\n const defaultQuestionKinds = allowAdditionalGuests\n ? QUESTION_KINDS\n : removeBy({ type: QUESTION_KIND.ADDITIONAL_GUESTS.value }, QUESTION_KINDS);\n\n const isUsingDefaultQuestionKinds = isNil(questionKinds);\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 enableDomainBlacklisting,\n enableDomainWhitelisting,\n enableFieldCode,\n formDescription,\n formTitle,\n getActiveKindDetails,\n helpDocUrls,\n isDeletable,\n isDisabledFieldLabel,\n isFormEnabled,\n isKindAlreadyActive,\n isReordering,\n isRequiredField,\n isUsingDefaultQuestionKinds,\n kindUniqueOn,\n onLanguageChange,\n onValueChange,\n questionsHelpProps,\n savedTitle,\n selectedLanguage,\n showActionBlock,\n submitButtonProps,\n }}\n formId={id}\n questionKinds={\n isUsingDefaultQuestionKinds ? 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"],"names":["DeleteAlert","_ref","selectedQuestion","isOpen","onClose","languagesCount","handleSelect","_useTranslation","useTranslation","t","_useBuildFormStore","useBuildFormStore","store","_store$formState","selectedLanguage","shallow","renderQuestionLabel","questionKind","kind","independentLabel","INDEPENDENT_LABELS_MAP","isPresent","questionLabel","fieldWithFallback","truncate","_useDeleteQuestion","useDeleteQuestion","formId","onSuccess","showThumbsUpToastr","deleteQuestion","mutate","isDeleting","isPending","selectNextQuestion","questions","selectedQuestionIndex","displayOrder","wasLastQuestion","equals","length","newDisplayOrder","newQuestion","findBy","handleSubmit","id","_ref2","_jsx","Alert","isSubmitting","submitButtonLabel","title","message","Trans","i18nKey","values","count","label","onSubmit","ChangeLanguageDropdown","_findBy","currentLanguage","languages","onChange","_useState","useState","_useState2","_slicedToArray","isUnsavedChangesAlertOpen","setIsUnsavedChangesAlertOpen","_useState3","_useState4","setSelectedLanguage","_useFormikContext","useFormikContext","dirty","languageChangeHandler","code","selectedLanguageName","name","_jsxs","_Fragment","children","Tooltip","content","Dropdown","buttonStyle","Menu","map","MenuItem","Button","isActive","onClick","Overview","description","availableLanguages","onLanguageChange","additionalActionOptions","className","Typography","lineHeight","style","weight","MoreDropdown","dropdownButtonProps","isRounded","dropdownProps","strategy","position","menuItems","Card","_ref$question","question","allQuestionKinds","getActiveKindDetails","onSelect","onEdit","onClone","onDelete","isTooltipEnabled","setIsTooltipEnabled","questionLabelRef","useRef","smsReminderHelpDocUrl","path","_getActiveKindDetails","item","isSingular","isSmsReminderQuestion","QUESTION_TYPES","SMS_REMINDER","isRichTextQuestion","htmlToPlainText","useEffect","element","current","isNotPresent","isElementOverflowing","concat","slugify","classNames","Drag","disabled","ref","HelpPopover","_objectSpread","popoverProps","helpLinkProps","href","key","isVisible","isFunction","Questions","isDeletable","Droppable","droppableId","droppableProps","placeholder","innerRef","index","_question$id","_question$id2","_createElement","Draggable","draggableId","nodeId","_ref3","draggableProps","dragHandleProps","moveItem","arr","sourceIndex","destinationIndex","Array","undefined","removedItem","splice","arrayHelpers","isChoiceQuestion","includes","SELECTABLE_KINDS","underscoredWithoutSpecialCharacters","string","toLowerCase","replace","addSuffixForReservedFieldCode","fieldCode","RESERVED_FIELD_CODES","getUniqueNumbersFromExistingFieldCodes","prefix","filter","startsWith","parseInt","generateFieldCodePrefix","NON_BASIC_LATIN_CHARACTERS_REGEX","test","isEmpty","sanitizedLabel","slice","modifyDefaultValues","isUsingDefaultQuestionKinds","isDefaultLanguage","evolve","optionsAttributes","assoc","generateUniqueFieldCode","_ref2$label","_ref2$kind","uniqueNumber","Math","max","apply","_toConsumableArray","candidateFieldCode","isQuestionKindAlreadyActive","activeQuestions","some","activeQuestion","type","_destroy","handleFieldDragEnd","_ref4","items","setValue","source","destination","nextItems","orderedItems","createFieldData","_ref5","_ref5$kind","defaults","metadata","_ref5$isRequired","isRequired","modifiedDefaultValues","uuid","duplicateFieldData","_ref6","questionKinds","defaultAttributeNames","keys","defaultAttributes","pick","newQuestionLabel","omit","getAvailableQuestionKinds","_ref7","_ref7$activeQuestions","isKindAlreadyActive","reject","isSingularKind","isAutoGeneratedQuestion","formatQuestionAttributesForClone","when","AddFirstQuestion","onAdd","isDisabled","disabledAddButtonTooltipProps","tooltipProps","buildDisabledAddButtonTooltipProps","NoData","showTooltipWhenButtonDisabled","primaryButtonProps","buildAddQuestionButtonProps","NAME","PHONE","EMAIL","ADDITIONAL_GUESTS","TEXT","TEXTAREA","RICH_TEXT","INTEGER","DECIMAL","STAR_RATING","RATING","DATE","FILE_UPLOAD","CAPTCHA","QUESTIONS_WITH_ADDITIONAL_DATA","QUESTIONS_WITH_PLACEHOLDERS","DEFAULT_PLACEHOLDERS","CHECKBOX","what","RADIO","DROPDOWN","INITIAL_VALUES","VALID_FIELD_CODE_REGEX","FormikAdaptiveInput","otherProps","_objectWithoutProperties","_excluded","isValid","submitForm","handleKeyDown","event","shiftKey","preventDefault","isMetaKeyPressed","handleFocus","end","value","setSelectionRange","Textarea","resize","size","onFocus","target","onKeyDown","Block","dataCy","useUpdateEditorContent","editorRef","fieldName","initialValue","initialStateRef","language","setFormData","_useBuildFormStore2","_store$formState2","shouldReset","formState","richTextFieldsToReset","setEditorContent","_editorRef$current$ed","editor","commands","setContent","modify","without","_useFetchQuestions","useFetchQuestions","data","pathArray","split","part","parsedPart","isNaN","Editor","_useField","useField","validate","validateEditorContent","_useField2","_useField2$","touched","error","_useField2$2","setTouched","NeetoEditor","required","onBlur","RequiredSwitch","withT","Switch","InputWithMaxLength","maxLength","props","substring","shouldShowMaxLength","Input","FieldCode","helpDocUrl","Accordion","Item","rejectCharsRegex","FIELD_CODES_REJECT_CHARS_REGEX","helpText","components","Link","Form","initialFocusRef","isRequiredField","isDisabledFieldLabel","enableFieldCode","availableQuestionKinds","additionalQuestionKindPattern","_ref$isEdit","isEdit","setValues","setErrors","setFieldValue","hideQuestionHelpDoc","_store$formState3","_store$formState4","enableDomainWhitelisting","enableDomainBlacklisting","questionKindUniquenessPattern","mergeLeft","_useStateWithDependen","useStateWithDependency","getQuestionKind","_useStateWithDependen2","_ref2$questionProps","questionProps","isLabelDisabled","isImmutable","isImmutableField","shouldShowPlaceholder","hasAdditionalData","shouldShowFieldCode","QUESTIONS_WITHOUT_FIELD_CODE","shouldShowHideSwitch","NON_HIDEABLE_FIELDS","isSettingsBlockVisible","handleKindChange","option","buildQuestionData","updateFormState","isNil","extractKindFromOption","handleLabelChange","uniqueFieldCode","Pane","Body","Select","isClearable","isSearchable","defaultValue","buildDefaultValueForKind","options","buildKindOptions","withEventTargetValue","renderAdditionalData","labelProps","hideSwitchLabelProps","requiredLabelValidation","schema","field","trim","fieldCodeValidation","matches","richTextFieldMissingErrorMessage","PARAGRAPH","formValidationSchema","arguments","yup","object","shape","RICH_TEXT_QUESTIONS","isEditorEmpty","notOneOf","notRequired","array","of","is","otherwise","highestRatingLabel","nullable","averageRatingLabel","lowestRatingLabel","Add","buildRequestArgs","_useCreateQuestion","useCreateQuestion","createQuestion","isCreating","neetoFormQuestion","Header","formikProps","initialValues","validationSchema","QuestionForm","Footer","ActionBlock","cancelButtonProps","Edit","_useUpdateQuestion","useUpdateQuestion","updateQuestion","isUpdating","setSubmitting","payload","questionId","onSettled","Captcha","Radio","CAPTCHA_TYPES","RECAPTCHA_V2","MATH_CAPTCHA","SwitchBlock","_ref$className","Label","classnames","hyphenate","component","TitleWithHelpPopover","helpLink","DOMAIN_RESTRICTION_TRANSLATIONS","whitelistedDomains","popoverDescription","blacklistedDomains","STYLES","border","color","MultiValueRemove","innerProps","_defineProperty","hyphenize","Close","ValueContainer","getValue","_props$selectProps","selectProps","isFocused","visibleDomainsCount","_children","_toArray","firstChild","rest","shouldCollapse","Tag","ClearIndicator","ERROR_MESSAGE_DELIMITER","DELIMITER_KEYS","DOMAIN_SEPARATION_REGEX","FLEXIBLE_DOMAIN_REGEX","VALID_DOMAIN_REGEX","DOMAIN_VALIDATION_SCHEMA","domain","CUSTOM_STYLES","input","multiValue","styles","valid","CUSTOM_COMPONENTS","DropdownIndicator","removeDuplicateErrorMessages","pipe","isNotNil","uniq","join","formatDomainInputOptions","validateSync","_unused","pruneDuplicates","pluck","getValidDomains","domains","getValidDomainsCount","formatErrorMessage","MultiDomainInput","_ref$label","_ref$value","_ref$onChange","noop","_ref$error","_ref$onBlur","inputValue","setInputValue","setIsFocused","handleFilterDomains","handleDomainChange","inputValues","match","domainMatches","stopPropagation","onCreateOption","handleBlur","isFilterDomainsLinkVisible","CreatableSelect","isMulti","classNamePrefix","menuIsOpen","control","maxHeight","overflowY","onInputChange","validateDomains","ensure","compact","min","entity","Promise","_asyncToGenerator","_regeneratorRuntime","mark","_callee","resolve","wrap","_callee$","_context","prev","next","t0","stop","_x","EmailDomains","_useField2$0$value","meta","formattedDomains","nullSafe","RestrictDomainsBlock","switchName","domainName","isDomainRestrictionEnabled","_DOMAIN_RESTRICTION_T","Email","_useFormikContext$val","_useFormikContext$val2","isDomainWhitelistingEnabled","_useFormikContext$val3","isDomainBlacklistingEnabled","FileGroup","checked","handleAllowedFileTypesChange","Checkbox","buildFileTypesList","fileTypes","getAllowedFileTypes","isChecked","allowedFileTypes","fileTypesSet","Set","FILE_TYPES_MAP","from","newFileTypes","difference","isFileTypeEnabled","FileUpload","prop","_ref$target","fileType","FILE_GROUPS","Options","_","__","setOptionsAttributes","_ref2$optionLabelProp","optionLabelProps","_ref2$freezeOptions","freezeOptions","_ref2$disableAddOptio","disableAddOption","_ref2$disableRemoveOp","disableRemoveOption","isManageOptionDisabled","isAddOptionDisabled","isRemoveOptionDisabled","OptionFields","shouldDestroy","destroyFlagName","draggable","isAddOptionEnabled","isDeleteOptionEnabled","isNewItemsPrefilled","minOptions","MINIMUM_OPTIONS","shouldResetEmptyOptionOnBlur","RatingItem","Rating","RATING_OPTIONS","Icon","icon","StarRating","iconType","setIconType","STAR_RATING_MIN_VALUE_OPTIONS","STAR_RATING_MAX_VALUE_OPTIONS","Object","entries","STAR_RATING_ICONS_MAP","IconType","transformValueForOption","resolveActionComponent","action","QUESTION_ACTIONS","ADD","pattern","kinds","last","helpUrl","helpIconProps","ManageQuestionPane","Component","AddQuestion","onValueChange","submitButtonProps","isFormEnabled","savedTitle","formTitle","formDescription","isReordering","showActionBlock","helpDocUrls","questionsHelpProps","formDomProps","containerRef","formikContext","setSelectedQuestion","selectedAction","setSelectedAction","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","isManageQuestionPaneOpen","setIsManageQuestionPaneOpen","errors","resetForm","enabled","handleAdd","handleEdit","EDIT","handleClone","attributes","handleDelete","useOnClickOutside","hasActiveQuestions","handleLanguageChange","richTextQuestions","filterBy","resetFormData","FormikForm","noValidate","DragDropContext","onDragEnd","BuildForm","onUpdate","_ref$nonRemovableFiel","nonRemovableFields","_ref$requiredFields","requiredFields","_ref$showActionBlock","_ref$isKindAlreadyAct","_ref$getActiveKindDet","getActiveQuestionKindDetails","isQuestionDeletable","isFieldRequired","isFieldLabelDisabled","_ref$showLoader","showLoader","_ref$kindUniqueOn","kindUniqueOn","_ref$allowAdditionalG","allowAdditionalGuests","_ref$enableFieldCode","_ref$availableLanguag","DEFAULT_AVAILABLE_LANGUAGES","_ref$formTitle","_ref$selectedLanguage","_ref$onLanguageChange","_ref$additionalAction","_ref$enableDomainBlac","_ref$enableDomainWhit","_ref$questionsHelpPro","queryClient","useQueryClient","_useReorderQuestions","useReorderQuestions","reorderQuestions","isLoading","isQuestionsPending","QUESTIONS_INITIAL_VALUE","isQuestionsLoading","PageLoader","neetoFormQuestions","buildReorderPayload","_queryClient$getQuery","getQueryState","QUERY_KEYS","QUESTIONS","dataUpdateCount","setQueryData","IMMUTABLE_KINDS","MANDATORY_KINDS","F","defaultQuestionKinds","QUESTION_KINDS","removeBy","QUESTION_KIND","Formik","enableReinitialize","setFieldError"],"mappings":"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"}