@bigbinary/neeto-form-frontend 4.4.19 → 4.4.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.ready +1 -1
- package/dist/BuildForm.js +79 -69
- package/dist/BuildForm.js.map +1 -1
- package/dist/ExternalForm.js +2 -2
- package/dist/UrlBuilder.js +2 -2
- package/dist/cjs/BuildForm.js +79 -69
- package/dist/cjs/BuildForm.js.map +1 -1
- package/dist/cjs/ExternalForm.js +2 -2
- package/dist/cjs/UrlBuilder.js +2 -2
- package/dist/cjs/index.js +3 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/{utils-NwGbGewW.js → utils-DDqyUd-y.js} +2 -2
- package/dist/{utils-NwGbGewW.js.map → utils-DDqyUd-y.js.map} +1 -1
- package/dist/{utils-rfqUlBlT.js → utils-M4RFi_Dg.js} +2 -2
- package/dist/{utils-rfqUlBlT.js.map → utils-M4RFi_Dg.js.map} +1 -1
- package/dist/{yup-COZendlM.js → yup-C_bfpTXI.js} +17 -52
- package/dist/yup-C_bfpTXI.js.map +1 -0
- package/dist/{yup-CBPWSDXh.js → yup-HtJir_DP.js} +18 -52
- package/dist/yup-HtJir_DP.js.map +1 -0
- package/package.json +15 -15
- package/dist/yup-CBPWSDXh.js.map +0 -1
- package/dist/yup-COZendlM.js.map +0 -1
package/dist/BuildForm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildForm.js","sources":["../app/javascript/src/components/BuildForm/Form/DeleteAlert.jsx","../app/javascript/src/components/BuildForm/Form/DeleteSmsReminderModal.jsx","../app/javascript/src/components/BuildForm/Form/DeleteSpotModal.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/HelpText.jsx","../app/javascript/src/components/BuildForm/AddFirstQuestion/index.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/constants.js","../app/javascript/src/hooks/useHelpDoc.js","../app/javascript/src/components/BuildForm/ManageQuestionPane/KindOption.jsx","../app/javascript/src/components/Common/FormikAdaptiveInput.jsx","../app/javascript/src/components/BuildForm/commons/LabelWithPlaceholder.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Name.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/Properties.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/Questions/Fields/Textarea.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/commons/Block.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Address/Collapsible/constants.js","../app/javascript/src/components/BuildForm/Questions/Fields/Address/Collapsible/index.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Address/constants.js","../app/javascript/src/components/BuildForm/Questions/Fields/Address/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/Address/ManagePane.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Address/index.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Captcha/index.jsx","../app/javascript/src/components/BuildForm/commons/SwitchBlock.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/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/VerifyEmails.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/OpinionScale.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\";\n\nimport { QUESTION_ACTIONS } from \"../constants\";\nimport { INDEPENDENT_LABELS_MAP } from \"../Questions/constants\";\nimport { buildDisplayLabel } from \"../Questions/utils\";\n\nconst DeleteAlert = ({\n selectedQuestion,\n isOpen,\n onClose,\n languagesCount,\n handleSelect,\n}) => {\n const { t } = useTranslation();\n\n const { selectedLanguage, onMutateSuccess } =\n 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 = buildDisplayLabel(selectedQuestion);\n\n return truncate(questionLabel, 40);\n };\n\n const { mutate: deleteQuestion, isPending: isDeleting } = useDeleteQuestion(\n selectedQuestion?.formId,\n selectedLanguage,\n {\n onSuccess: (...args) => {\n showThumbsUpToastr();\n onMutateSuccess?.(QUESTION_ACTIONS.DELETE, ...args);\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 { Typography, Modal } from \"neetoui\";\nimport { path } from \"ramda\";\n\nconst DeleteSmsReminderModal = ({ isOpen, onClose, hostSpecificData = {} }) => (\n <Modal {...{ isOpen, onClose }}>\n <Modal.Header>\n <Typography\n data-testid=\"delete-sms-reminder-modal-header\"\n style=\"h2\"\n weight=\"medium\"\n >\n {path([\"smsReminder\", \"deleteModal\", \"title\"], hostSpecificData)}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Typography\n data-testid=\"delete-sms-reminder-modal-description\"\n style=\"body2\"\n >\n {path([\"smsReminder\", \"deleteModal\", \"description\"], hostSpecificData)}\n </Typography>\n </Modal.Body>\n </Modal>\n);\n\nexport default DeleteSmsReminderModal;\n","import { Typography, Modal } from \"neetoui\";\nimport { path } from \"ramda\";\n\nconst DeleteSpotModal = ({ isOpen, onClose, hostSpecificData = {} }) => {\n const title = path([\"spot\", \"deleteModal\", \"title\"], hostSpecificData);\n const description = path(\n [\"spot\", \"deleteModal\", \"description\"],\n hostSpecificData\n );\n\n return (\n <Modal {...{ isOpen, onClose }}>\n <Modal.Header>\n <Typography\n data-testid=\"delete-spot-modal-header\"\n style=\"h2\"\n weight=\"medium\"\n >\n {title}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Typography data-testid=\"delete-spot-modal-description\" style=\"body2\">\n {description}\n </Typography>\n </Modal.Body>\n </Modal>\n );\n};\n\nexport default DeleteSpotModal;\n","import { findBy } from \"neetocist\";\nimport { Dropdown, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nconst ChangeLanguageDropdown = ({ availableLanguages }) => {\n const { t } = useTranslation();\n\n const { selectedLanguage, onLanguageChange, isReorderingQuestions } =\n useBuildFormStore.pick(\"formState\");\n\n const selectedLanguageName = findBy(\n { code: selectedLanguage },\n availableLanguages\n )?.name;\n\n return (\n <Tooltip content={t(\"neetoForm.questions.changeLanguage\")}>\n <div>\n <Dropdown\n buttonStyle=\"secondary\"\n disabled={isReorderingQuestions}\n label={selectedLanguageName}\n >\n <Dropdown.Menu>\n {availableLanguages.map(({ code, name }) => (\n <Dropdown.MenuItem.Button\n isActive={selectedLanguage === code}\n key={code}\n onClick={() => onLanguageChange(code)}\n >\n {name}\n </Dropdown.MenuItem.Button>\n ))}\n </Dropdown.Menu>\n </Dropdown>\n </div>\n </Tooltip>\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 additionalActionOptions,\n}) => (\n <div className=\"neeto-form-nano-form-wrapper__overview mb-4 w-full shrink-0 space-y-4 pt-6\">\n <div className=\"flex items-center justify-between\">\n <Typography\n data-testid=\"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 shrink-0 items-center justify-between space-x-1\">\n {availableLanguages.length > 1 && (\n <ChangeLanguageDropdown {...{ availableLanguages }} />\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\n data-testid=\"neeto-form-engine-overview-description\"\n style=\"body2\"\n >\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 MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isFunction } from \"utils\";\n\nimport { buildDisplayLabel, isElementOverflowing } from \"./utils\";\n\nimport { Drag } from \"../Icons\";\n\nconst Card = ({\n question = {},\n allQuestionKinds,\n getActiveKindDetails,\n isActive,\n onSelect,\n onEdit,\n onClone,\n onDelete,\n canManageQuestions,\n extraMenuItems = [],\n}) => {\n const [isTooltipEnabled, setIsTooltipEnabled] = useState(false);\n\n const questionLabelRef = useRef(null);\n\n const { t } = useTranslation();\n\n const { isSingular } = getActiveKindDetails({\n allQuestionKinds,\n item: question,\n });\n\n const questionLabel = buildDisplayLabel(question);\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 className=\"flex items-center gap-0.5\">\n {canManageQuestions && (\n <Drag\n className=\"neeto-ui-text-gray-400 hover:neeto-ui-text-gray-500 transition-all ease-in-out duration-300 shrink-0 cursor-grab -ml-1\"\n size={16}\n />\n )}\n <div\n data-testid={`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 grow items-center justify-between gap-1 border p-2 overflow-hidden\",\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 grow items-center gap-1\">\n <Tooltip\n content={questionLabel}\n disabled={!isTooltipEnabled}\n position=\"top\"\n >\n <Typography\n className=\"line-clamp-2 min-w-0 grow truncate break-words\"\n data-testid={`${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 {canManageQuestions && (\n <MoreDropdown\n dropdownButtonProps={{ className: \"shrink-0\" }}\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n \"data-testid\": \"edit-question\",\n key: \"edit\",\n label: t(\"neetoForm.common.edit\"),\n onClick: onEdit,\n },\n {\n \"data-testid\": \"clone-question\",\n key: \"clone\",\n label: t(\"neetoForm.common.clone\"),\n isVisible: !isSingular && isFunction(onClone),\n onClick: onClone,\n },\n ...extraMenuItems,\n {\n \"data-testid\": \"delete-question\",\n key: \"delete\",\n label: t(\"neetoForm.common.delete\"),\n isVisible: isFunction(onDelete),\n onClick: () => onDelete(question),\n },\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 getQuestionMenuExtras,\n selectedQuestion,\n onEdit,\n onClone,\n onDelete,\n onSelect,\n canManageQuestions,\n}) => (\n <Droppable droppableId=\"droppable\" isDropDisabled={!canManageQuestions}>\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 isDragDisabled={!canManageQuestions}\n key={`question-${question.id ?? question.nodeId}`}\n >\n {({ draggableProps, dragHandleProps, innerRef }) => (\n <div {...draggableProps} {...dragHandleProps} ref={innerRef}>\n <Card\n {...{\n allQuestionKinds,\n canManageQuestions,\n getActiveKindDetails,\n onClone,\n onEdit,\n onSelect,\n question,\n }}\n extraMenuItems={getQuestionMenuExtras?.(question) ?? []}\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 { existsBy, 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 { LABEL_FIELDS } from \"components/Common/constants\";\nimport { QUESTION_TYPES } from \"components/constants\";\nimport { fieldWithFallback, isNameQuestion } from \"utils\";\n\nimport {\n NON_BASIC_LATIN_CHARACTERS_REGEX,\n RESERVED_FIELD_CODES,\n SELECTABLE_KINDS,\n SPOT_QUESTION_FIELD_CODE,\n} from \"../constants\";\nimport {\n isAutoGeneratedQuestion,\n isDefaultLanguage,\n isRichTextQuestion,\n renameKey,\n} from \"../utils\";\n\nconst isChoiceQuestion = question => includes(question?.kind, SELECTABLE_KINDS);\nconst isAddressQuestion = question => question?.kind === QUESTION_TYPES.ADDRESS;\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 if (kind === QUESTION_TYPES.SPOT) {\n return SPOT_QUESTION_FIELD_CODE;\n }\n\n let prefix;\n\n if (\n isNameQuestion(kind) ||\n NON_BASIC_LATIN_CHARACTERS_REGEX.test(label) ||\n isEmpty(label)\n ) {\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 (isNameQuestion(kind)) {\n return renameKey(LABEL_FIELDS.DEFAULT, LABEL_FIELDS.FULL_NAME, values);\n }\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\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 existsBy({ kind: kind.type }, activeQuestions);\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\n setValue(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 ...(typeof isRequired === \"boolean\" && { 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 { fields, ...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 fieldsAttributes: fields && fields.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 question => isChoiceQuestion(question) || isAddressQuestion(question),\n assoc(\"isCloning\", true)\n);\n","import { withT } from \"neetocommons/react-utils\";\nimport { Button } from \"neetoui\";\n\nconst HelpText = withT(({ t, href }) => (\n <>\n {t(\"neetoForm.questions.common.helpText.learnAbout\")}{\" \"}\n <Button\n {...{ href }}\n label={t(\"neetoForm.questions.common.helpText.howToAddNewQuestions\")}\n style=\"link\"\n target=\"_blank\"\n />\n </>\n));\n\nexport default HelpText;\n","import { isPresent } from \"neetocist\";\nimport { NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport HelpText from \"./HelpText\";\n\nimport { buildAddQuestionButtonProps } from \"../utils\";\n\nconst AddFirstQuestion = ({\n onAdd,\n isDisabled,\n disabledAddButtonHelpPopoverProps,\n}) => {\n const { t } = useTranslation();\n\n const { helpLinkProps: { href } = {} } = disabledAddButtonHelpPopoverProps;\n\n return (\n <div className=\"flex h-full flex-col items-center justify-center py-8\">\n <NoData\n className=\"min-h-80\"\n helpText={isPresent(href) ? <HelpText {...{ href }} /> : null}\n primaryButtonProps={buildAddQuestionButtonProps(onAdd, isDisabled)}\n title={t(\"neetoForm.questions.common.noData\")}\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 OPINION_SCALE,\n RATING,\n DATE,\n FILE_UPLOAD,\n CAPTCHA,\n SMS_REMINDER,\n ADDRESS,\n} = QUESTION_TYPES;\n\nexport const QUESTIONS_WITH_ADDITIONAL_DATA = [\n ...SELECTABLE_KINDS,\n STAR_RATING,\n OPINION_SCALE,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n ADDRESS,\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 = {\n kind: \"\",\n label: \"\",\n fieldCode: \"\",\n isSplitMode: false,\n minWords: null,\n isMinWordsEnabled: false,\n};\n\nexport const VALID_FIELD_CODE_REGEX = /^[a-z0-9]+(_[a-z0-9]+)*$/;\n\nexport const DRAFT_ID_PREFIX = \"draft-\";\n","import { path } from \"ramda\";\n\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nconst useHelpDoc = key =>\n useBuildFormStore(path([\"formState\", \"helpDocUrls\", key]));\n\nexport default useHelpDoc;\n","import { Typography } from \"neetoui\";\n\nconst KindOption = ({ label, description, icon: Icon }) => (\n <div className=\"flex items-start gap-2\">\n {Icon && (\n <Icon\n className=\"neeto-ui-text-gray-700 mt-0.5 shrink-0\"\n data-testid=\"kind-option-icon\"\n size={16}\n />\n )}\n <div className=\"flex min-w-0 flex-col\">\n <Typography style=\"body2\">{label}</Typography>\n {description && (\n <Typography\n className=\"neeto-ui-text-gray-600 mt-0.5\"\n data-testid=\"kind-option-description\"\n style=\"body3\"\n >\n {description}\n </Typography>\n )}\n </div>\n </div>\n);\n\nexport default KindOption;\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 { withEventTargetValue } from \"neetocommons/utils\";\nimport { includes } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n DEFAULT_PLACEHOLDERS,\n QUESTIONS_WITH_PLACEHOLDERS,\n} from \"components/BuildForm/ManageQuestionPane/constants\";\nimport FormikAdaptiveInput from \"components/Common/FormikAdaptiveInput\";\n\nconst LabelWithPlaceholder = ({\n kind,\n isLabelDisabled,\n handleLabelChange,\n labelProps = {},\n placeholderProps = {},\n}) => {\n const { t } = useTranslation();\n\n const shouldShowPlaceholder = includes(kind, QUESTIONS_WITH_PLACEHOLDERS);\n\n return (\n <div className=\"space-y-4\">\n <FormikAdaptiveInput\n required\n disabled={isLabelDisabled}\n label={t(\"neetoForm.questions.common.questionFields.field.question\")}\n name=\"label\"\n placeholder={DEFAULT_PLACEHOLDERS[kind]}\n onChange={withEventTargetValue(handleLabelChange)}\n {...labelProps}\n />\n {shouldShowPlaceholder && (\n <FormikAdaptiveInput\n className={`neeto-form-nano-placeholder-input neeto-form-nano-placeholder-input-${kind}`}\n name=\"placeholder\"\n label={t(\n \"neetoForm.questions.common.questionFields.field.placeholder\"\n )}\n {...placeholderProps}\n />\n )}\n </div>\n );\n};\n\nexport default LabelWithPlaceholder;\n","import { useFormikContext } from \"formik\";\nimport { Switch } from \"neetoui/formik\";\nimport { path } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { LABEL_FIELDS } from \"components/Common/constants\";\nimport { QUESTION_TYPES } from \"components/constants\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport LabelWithPlaceholder from \"../../commons/LabelWithPlaceholder\";\n\nconst Name = ({ isLabelDisabled, handleLabelChange }) => {\n const {\n values: { isSplitMode = false },\n } = useFormikContext();\n\n const { t } = useTranslation();\n\n const usesCustomSubmissionComponent = useBuildFormStore(\n path([\"formState\", \"usesCustomSubmissionComponent\"])\n );\n\n const commonProps = { kind: QUESTION_TYPES.NAME, isLabelDisabled };\n\n return (\n <div className=\"space-y-4\">\n {!usesCustomSubmissionComponent && (\n <Switch\n label={t(\"neetoForm.common.splitAsFirstAndLastNames\")}\n name=\"isSplitMode\"\n />\n )}\n {isSplitMode && !usesCustomSubmissionComponent ? (\n <>\n <LabelWithPlaceholder\n {...commonProps}\n handleLabelChange={value =>\n handleLabelChange(value, LABEL_FIELDS.FIRST_NAME)\n }\n labelProps={{\n label: t(\n \"neetoForm.questions.common.questionFields.field.firstNameQuestion\"\n ),\n name: LABEL_FIELDS.FIRST_NAME,\n }}\n placeholderProps={{\n label: t(\n \"neetoForm.questions.common.questionFields.field.firstNamePlaceholder\"\n ),\n name: \"firstNamePlaceholder\",\n }}\n />\n <LabelWithPlaceholder\n {...commonProps}\n handleLabelChange={value =>\n handleLabelChange(value, LABEL_FIELDS.LAST_NAME)\n }\n labelProps={{\n label: t(\n \"neetoForm.questions.common.questionFields.field.lastNameQuestion\"\n ),\n name: LABEL_FIELDS.LAST_NAME,\n }}\n placeholderProps={{\n label: t(\n \"neetoForm.questions.common.questionFields.field.lastNamePlaceholder\"\n ),\n name: \"lastNamePlaceholder\",\n }}\n />\n </>\n ) : (\n <LabelWithPlaceholder\n {...commonProps}\n labelProps={{ name: LABEL_FIELDS.FULL_NAME }}\n placeholderProps={{ name: \"fullNamePlaceholder\" }}\n handleLabelChange={value =>\n handleLabelChange(value, LABEL_FIELDS.FULL_NAME)\n }\n />\n )}\n </div>\n );\n};\n\nexport default Name;\n","import { includes } from \"ramda\";\n\nimport useBuildFormStore from \"src/stores/buildForm\";\nimport { isNameQuestion } from \"utils\";\n\nimport { QUESTIONS_WITH_ADDITIONAL_DATA } from \"./constants\";\nimport { renderAdditionalData } from \"./utils\";\n\nimport LabelWithPlaceholder from \"../commons/LabelWithPlaceholder\";\nimport Name from \"../Questions/Fields/Name\";\n\nconst Properties = ({\n kind,\n isLabelDisabled,\n handleLabelChange,\n questionProps,\n}) => {\n const { usesCustomSubmissionComponent } = useBuildFormStore.pick(\"formState\");\n\n const hasAdditionalData = includes(kind, QUESTIONS_WITH_ADDITIONAL_DATA);\n\n if (isNameQuestion(kind)) {\n return <Name {...{ handleLabelChange, isLabelDisabled }} />;\n }\n\n return (\n <div className=\"space-y-4\">\n <LabelWithPlaceholder {...{ handleLabelChange, isLabelDisabled, kind }} />\n {hasAdditionalData &&\n renderAdditionalData({\n kind,\n questionProps,\n usesCustomSubmissionComponent,\n })}\n </div>\n );\n};\n\nexport default Properties;\n","import { useEffect, useRef } from \"react\";\n\nimport { path } from \"ramda\";\n\nimport { useForm } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nconst useUpdateEditorContent = ({ editorRef, fieldName, value }) => {\n const initialStateRef = useRef({ language: \"\", value: null });\n\n const { formId, selectedLanguage: language } =\n useBuildFormStore.pick(\"formState\");\n\n const setEditorContent = content =>\n editorRef.current.editor?.commands?.setContent(content);\n\n const { data } = useForm({ 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 } 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 fieldName = \"label\";\n\n const [{ value }, { touched, error }, { setTouched, setValue }] = useField({\n name: fieldName,\n validate: validateEditorContent(editorRef),\n });\n\n useUpdateEditorContent({ editorRef, fieldName, value });\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 } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport Input from \"components/Common/InputWithMaxLength\";\nimport useHelpDoc from \"hooks/useHelpDoc\";\n\nimport { FIELD_CODES_REJECT_CHARS_REGEX } from \"./constants\";\n\nconst FieldCode = () => {\n const helpDocUrl = useHelpDoc(\"fieldCode\");\n\n const { t } = useTranslation();\n\n return (\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 );\n};\n\nexport default FieldCode;\n","import { useField } from \"formik\";\nimport { Switch } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MIN_WORDS, MIN_WORDS_SWITCH_LABEL_PROPS } from \"./constants\";\n\nconst Textarea = () => {\n const { t } = useTranslation();\n const [, , { setValue: setMinWords }] = useField(\"minWords\");\n\n const [{ value: isMinWordsEnabled }, , { setValue: setIsMinWordsEnabled }] =\n useField(\"isMinWordsEnabled\");\n\n const handleToggleChange = () => {\n const isEnabled = !isMinWordsEnabled;\n setIsMinWordsEnabled(isEnabled);\n setMinWords(isEnabled ? MIN_WORDS.DEFAULT : null);\n };\n\n return (\n <div className=\"flex flex-col gap-2\">\n <Switch\n checked={isMinWordsEnabled}\n label={t(\"neetoForm.questions.textarea.minimumWords\")}\n labelProps={MIN_WORDS_SWITCH_LABEL_PROPS}\n onChange={handleToggleChange}\n />\n {isMinWordsEnabled && (\n <Input\n className=\"w-42 ms-14\"\n max={MIN_WORDS.MAX}\n min={MIN_WORDS.MIN}\n name=\"minWords\"\n type=\"number\"\n />\n )}\n </div>\n );\n};\n\nexport default Textarea;\n","import { useEffect, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isPresent } from \"neetocist\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport { Pane, Accordion } from \"neetoui\";\nimport { Select, Switch } from \"neetoui/formik\";\nimport { includes, isNil, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { LABEL_FIELDS } from \"components/Common/constants\";\nimport { QUESTION_TYPES } from \"components/constants\";\nimport useHelpDoc from \"hooks/useHelpDoc\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport { INITIAL_VALUES } from \"./constants\";\nimport KindOption from \"./KindOption\";\nimport Properties from \"./Properties\";\nimport {\n buildDefaultValueForKind,\n buildKindOptions,\n extractKindFromOption,\n filterKindOption,\n getQuestionKind,\n hideSwitchLabelProps,\n readOnlySwitchLabelProps,\n responseVisibleOnlyToHostSwitchLabelProps,\n} from \"./utils\";\n\nimport Editor from \"../commons/Editor\";\nimport RequiredSwitch from \"../commons/RequiredSwitch\";\nimport {\n NON_HIDEABLE_FIELDS,\n NON_READ_ONLY_FIELDS,\n QUESTIONS_WITHOUT_FIELD_CODE,\n} from \"../constants\";\nimport { createFieldData, generateUniqueFieldCode } from \"../Form/utils\";\nimport FieldCode from \"../Questions/FieldCode\";\nimport Textarea from \"../Questions/Fields/Textarea\";\nimport { isImmutableField, isRichTextQuestion } from \"../utils\";\n\nconst Form = ({\n questions,\n initialFocusRef,\n isRequiredField,\n isDisabledFieldLabel,\n allQuestionKinds,\n availableQuestionKinds,\n getActiveKindDetails,\n kindUniqueOn,\n isEdit = false,\n}) => {\n const [isFieldCodeInvalid, setIsFieldCodeInvalid] = useState(false);\n const { t } = useTranslation();\n\n const {\n values,\n setValues,\n setErrors,\n setTouched,\n setFieldValue,\n errors,\n submitCount,\n } = useFormikContext();\n\n const hideQuestionHelpDocUrl = useHelpDoc(\"hideQuestion\");\n const readOnlyHelpDocUrl = useHelpDoc(\"readOnly\");\n const responseVisibleOnlyToHostHelpDocUrl = useHelpDoc(\n \"responseVisibleOnlyToHost\"\n );\n\n const {\n advancedFeatures,\n selectedLanguage,\n isUsingDefaultQuestionKinds,\n usesCustomSubmissionComponent,\n } = useBuildFormStore.pick(\"formState\");\n\n const {\n fieldCode: isFieldCodeEnabled,\n markResponsesAsReadOnly,\n restrictResponseVisibilityToHost,\n enforceMinWordsInMultiLineTexts,\n } = advancedFeatures;\n\n const { kind } = values;\n\n const questionKinds = isEdit ? allQuestionKinds : availableQuestionKinds;\n\n const questionKindUniquenessPattern = mergeLeft(\n isEdit && kindUniqueOn ? kindUniqueOn(values) : {},\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 useEffect(() => {\n if (submitCount > 0 && isPresent(errors?.fieldCode)) {\n setIsFieldCodeInvalid(true);\n }\n }, [submitCount]);\n\n const isRequired = questionKind && isRequiredField(questionKind);\n const isLabelDisabled = questionKind && isDisabledFieldLabel(questionKind);\n const isImmutable = questionKind && isImmutableField(questionKind);\n const shouldShowFieldCode =\n isFieldCodeEnabled && !includes(kind, QUESTIONS_WITHOUT_FIELD_CODE);\n\n const shouldShowHideSwitch =\n isFieldCodeEnabled &&\n !usesCustomSubmissionComponent &&\n !includes(kind, NON_HIDEABLE_FIELDS);\n\n const canRestrictResponseVisibilityToHost =\n restrictResponseVisibilityToHost && !includes(kind, NON_HIDEABLE_FIELDS);\n\n const canMarkResponsesAsReadOnly =\n markResponsesAsReadOnly && !includes(kind, NON_READ_ONLY_FIELDS);\n\n const isTextarea = kind === QUESTION_TYPES.TEXTAREA;\n\n const isBasicSettingsVisible =\n !isRequired && (!isImmutable || shouldShowHideSwitch);\n\n const shouldShowRequiredSwitch =\n isBasicSettingsVisible &&\n !isImmutable &&\n !includes(kind, [\n QUESTION_TYPES.PARAGRAPH,\n QUESTION_TYPES.ADDRESS,\n QUESTION_TYPES.SPOT,\n ]);\n\n const isSettingsBlockVisible =\n kind !== QUESTION_TYPES.SPOT &&\n (isBasicSettingsVisible || canMarkResponsesAsReadOnly || isTextarea);\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, name = LABEL_FIELDS.DEFAULT) => {\n setFieldValue(name, 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 filterOption={filterKindOption}\n innerRef={initialFocusRef}\n isDisabled={isEdit}\n name=\"kind\"\n options={buildKindOptions(questionKinds)}\n formatOptionLabel={(option, { context }) =>\n context === \"menu\" ? <KindOption {...option} /> : option.label\n }\n label={t(\n \"neetoForm.questions.common.questionFields.field.questionType\"\n )}\n onChange={handleKindChange}\n />\n {isRichTextQuestion(kind) ? (\n <>\n <Editor {...{ isLabelDisabled }} />\n {shouldShowRequiredSwitch && <RequiredSwitch />}\n </>\n ) : (\n <div className=\"space-y-4\">\n <Properties\n {...{ handleLabelChange, isLabelDisabled, kind, questionProps }}\n />\n {isSettingsBlockVisible && (\n <div className=\"space-y-4\" data-testid=\"settings-card\">\n {isBasicSettingsVisible && (\n <>\n {shouldShowRequiredSwitch && <RequiredSwitch />}\n {shouldShowHideSwitch && (\n <Switch\n label={t(\"neetoForm.common.hideQuestion\")}\n name=\"isHidden\"\n labelProps={hideSwitchLabelProps(\n hideQuestionHelpDocUrl\n )}\n />\n )}\n {canRestrictResponseVisibilityToHost && (\n <Switch\n label={t(\"neetoForm.common.responseVisibleOnlyToHost\")}\n name=\"isResponseVisibleOnlyToHost\"\n labelProps={responseVisibleOnlyToHostSwitchLabelProps(\n responseVisibleOnlyToHostHelpDocUrl\n )}\n />\n )}\n </>\n )}\n {canMarkResponsesAsReadOnly && (\n <Switch\n label={t(\"neetoForm.common.readOnly\")}\n labelProps={readOnlySwitchLabelProps(readOnlyHelpDocUrl)}\n name=\"isReadOnly\"\n />\n )}\n {isTextarea && enforceMinWordsInMultiLineTexts && <Textarea />}\n </div>\n )}\n {shouldShowFieldCode && (\n <Accordion\n className=\"neeto-form-nano-advanced-properties-accordion\"\n data-testid=\"advanced-properties-card\"\n defaultActiveKey={isFieldCodeInvalid ? 0 : null} // This is to open the accordion when field code is invalid\n >\n <Accordion.Item\n title={t(\"neetoForm.common.advancedProperties\")}\n >\n <div className=\"flex flex-col space-y-4\">\n {shouldShowFieldCode && <FieldCode />}\n </div>\n </Accordion.Item>\n </Accordion>\n )}\n </div>\n )}\n </div>\n </Pane.Body>\n );\n};\n\nexport default Form;\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { equals, includes } from \"ramda\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\nimport { isNameQuestion } from \"utils\";\nimport yup from \"utils/yup\";\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\";\nimport {\n MIN_WORDS,\n OPINION_LABEL_MAX_LENGTH,\n} from \"../Questions/Fields/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\nconst buildLabelValidationSchema = (kind, schema) => {\n if (isNameQuestion(kind)) {\n return schema.notRequired();\n }\n\n return 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\nconst buildNameLabelValidationSchema = (\n question,\n schema,\n isFullName = false\n) => {\n const isRequired = isFullName ? !question.isSplitMode : question.isSplitMode;\n\n return isNameQuestion(question.kind) && isRequired\n ? requiredLabelValidation(\n schema,\n t(\"neetoForm.questions.common.questionFields.field.question\")\n )\n : schema.notRequired();\n};\n\nconst buildOpinionScaleLabelValidationSchema = label =>\n stringSchema.when(\"hasOpinionLabels\", {\n is: true,\n then: requiredLabelValidation(stringSchema, label).max(\n OPINION_LABEL_MAX_LENGTH,\n t(\"neetoForm.error.mustBeOrLessThanOrEqualTo\", {\n value: OPINION_LABEL_MAX_LENGTH,\n })\n ),\n otherwise: stringSchema.notRequired(),\n });\n\nconst stringSchema = yup.string();\n\nexport const formValidationSchema = (question, isFieldCodeEnabled = 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.string().when(\"kind\", buildLabelValidationSchema),\n fullNameLabel: buildNameLabelValidationSchema(question, stringSchema, true),\n firstNameLabel: buildNameLabelValidationSchema(question, stringSchema),\n lastNameLabel: buildNameLabelValidationSchema(question, stringSchema),\n fieldCode: yup\n .string()\n .trim()\n .notOneOf(RESERVED_FIELD_CODES, t(\"neetoForm.error.invalidFieldCode\"))\n .when(\"kind\", (kind, schema) =>\n isFieldCodeEnabled && !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 fields: yup.array().when(\"kind\", (kind, schema) =>\n kind === QUESTION_TYPES.ADDRESS\n ? schema.of(\n yup.object().shape({\n label: yup.string().when(\"_destroy\", {\n is: true,\n otherwise: yup\n .string()\n .trim()\n .required(t(\"neetoForm.error.allFieldsRequired\")),\n }),\n })\n )\n : schema.notRequired()\n ),\n minWords: yup\n .number()\n .nullable()\n .when(\n [\"kind\", \"isMinWordsEnabled\"],\n (kind, isMinWordsEnabled, schema) => {\n if (kind !== QUESTION_TYPES.TEXTAREA) return schema.notRequired();\n\n if (!isMinWordsEnabled) return schema.notRequired();\n\n return schema\n .typeError(t(\"neetoForm.questions.textarea.minimumWordsMinError\"))\n .required(t(\"neetoForm.questions.textarea.minimumWordsMinError\"))\n .min(\n MIN_WORDS.MIN,\n t(\"neetoForm.questions.textarea.minimumWordsMinError\")\n )\n .max(\n MIN_WORDS.MAX,\n t(\"neetoForm.questions.textarea.minimumWordsMaxError\")\n );\n }\n ),\n highestRatingLabel: yup.string().nullable(),\n averageRatingLabel: yup.string().nullable(),\n lowestRatingLabel: yup.string().nullable(),\n leftOpinionLabel: buildOpinionScaleLabelValidationSchema(\n t(\"neetoForm.questions.opinionScale.leftLabel\")\n ),\n rightOpinionLabel: buildOpinionScaleLabelValidationSchema(\n t(\"neetoForm.questions.opinionScale.rightLabel\")\n ),\n });\n","import { findBy } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form } from \"neetoui/formik\";\nimport { mergeLeft, path } 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 { transformValues } from \"./utils\";\nimport { formValidationSchema } from \"./validations\";\n\nimport { QUESTION_ACTIONS } from \"../constants\";\n\nconst Add = ({\n question,\n onClose,\n questions,\n handleSelect,\n isOpen,\n ...props\n}) => {\n const {\n formId,\n selectedLanguage: language,\n onMutateSuccess,\n } = useBuildFormStore.pick(\"formState\");\n\n const isFieldCodeEnabled = useBuildFormStore(\n path([\"advancedFeatures\", \"fieldCode\"])\n );\n\n const { t } = useTranslation();\n\n const { mutate: createQuestion, isPending: isCreating } = useCreateQuestion(\n formId,\n language,\n {\n onSuccess: (...args) => {\n onMutateSuccess?.(QUESTION_ACTIONS.ADD, ...args);\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 }, transformValues(values)),\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-testid=\"add-question-pane-header\" style=\"h2\">\n {t(\"neetoForm.questions.common.primaryPanel.addQuestion\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: INITIAL_VALUES,\n validationSchema: formValidationSchema(\n INITIAL_VALUES,\n isFieldCodeEnabled\n ),\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 { isPresent } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form } from \"neetoui/formik\";\nimport { path } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport QuestionForm from \"./Form\";\nimport { transformValues } from \"./utils\";\nimport { formValidationSchema } from \"./validations\";\n\nimport { QUESTION_ACTIONS } from \"../constants\";\n\nconst Edit = ({ question, isOpen, onClose, ...props }) => {\n const { t } = useTranslation();\n\n const { selectedLanguage: language, onMutateSuccess } =\n useBuildFormStore.pick(\"formState\");\n\n const isFieldCodeEnabled = useBuildFormStore(\n path([\"advancedFeatures\", \"fieldCode\"])\n );\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: transformValues(values) };\n updateQuestion(\n { questionId: question.id, payload },\n {\n onSuccess: (...args) => {\n onMutateSuccess?.(QUESTION_ACTIONS.EDIT, ...args);\n showThumbsUpToastr();\n onClose();\n },\n onSettled: () => setSubmitting(false),\n }\n );\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-testid=\"edit-question-pane-header\" style=\"h2\">\n {t(\"neetoForm.questions.common.editQuestion\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: {\n ...question,\n isMinWordsEnabled: isPresent(question.minWords),\n },\n validationSchema: formValidationSchema(question, isFieldCodeEnabled),\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 { Typography } from \"neetoui\";\n\nconst Block = ({ title, children, dataTestid }) => (\n <div className=\"mt-4 space-y-3\" data-testid={dataTestid}>\n <div\n className=\"flex items-center justify-between\"\n data-testid=\"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","export const VARIANTS = {\n hidden: { opacity: 0, height: 0, overflow: \"hidden\" },\n visible: { opacity: 1, height: \"auto\" },\n};\n","import { motion, AnimatePresence } from \"framer-motion\";\n\nimport { VARIANTS } from \"./constants\";\n\nconst Collapsible = ({ open, className = \"\", children, ...otherProps }) => (\n <AnimatePresence>\n {open && (\n <motion.div\n animate=\"visible\"\n exit=\"hidden\"\n initial=\"hidden\"\n transition={{ duration: 0.3 }}\n variants={VARIANTS}\n {...otherProps}\n >\n <div {...{ className }}>{children}</div>\n </motion.div>\n )}\n </AnimatePresence>\n);\n\nexport default Collapsible;\n","import { t } from \"i18next\";\n\nimport yup from \"utils/yup\";\n\nimport { ADDRESS_FIELD_TYPES, ADDRESS_FIELD_WIDTHS } from \"../constants\";\n\nexport const ADDRESS_FIELD_WIDTH_OPTIONS = {\n [ADDRESS_FIELD_WIDTHS.FULL]: {\n label: t(\"neetoForm.questions.address.widths.full\"),\n value: ADDRESS_FIELD_WIDTHS.FULL,\n },\n [ADDRESS_FIELD_WIDTHS.HALF]: {\n label: t(\"neetoForm.questions.address.widths.half\"),\n value: ADDRESS_FIELD_WIDTHS.HALF,\n },\n [ADDRESS_FIELD_WIDTHS.ONE_FOURTH]: {\n label: t(\"neetoForm.questions.address.widths.oneFourth\"),\n value: ADDRESS_FIELD_WIDTHS.ONE_FOURTH,\n },\n [ADDRESS_FIELD_WIDTHS.THREE_FOURTH]: {\n label: t(\"neetoForm.questions.address.widths.threeFourth\"),\n value: ADDRESS_FIELD_WIDTHS.THREE_FOURTH,\n },\n};\n\nexport const ADDRESS_FIELD_TYPE_OPTIONS = {\n [ADDRESS_FIELD_TYPES.INPUT]: {\n label: t(\"neetoForm.questions.address.types.textInput\"),\n value: ADDRESS_FIELD_TYPES.INPUT,\n },\n [ADDRESS_FIELD_TYPES.SELECT]: {\n label: t(\"neetoForm.questions.address.types.dropdown\"),\n value: ADDRESS_FIELD_TYPES.SELECT,\n },\n};\n\nexport const ADDRESS_FIELD_FORM_VALIDATION_SCHEMA = yup.object().shape({\n label: yup\n .string()\n .trim()\n .required(\n t(\"neetoForm.error.requiredField\", {\n label: t(\"neetoForm.questions.common.questionFields.field.label\"),\n })\n ),\n width: yup\n .object()\n .nullable()\n .required(\n t(\"neetoForm.error.requiredField\", {\n label: t(\"neetoForm.questions.address.width\"),\n })\n ),\n fieldType: yup\n .object()\n .nullable()\n .required(\n t(\"neetoForm.error.requiredField\", {\n label: t(\"neetoForm.questions.address.type\"),\n })\n ),\n properties: yup.object().shape({\n options: yup\n .array()\n .of(\n yup.object().shape({\n label: yup.string().required(\n t(\"neetoForm.error.requiredField\", {\n label: t(\"neetoForm.common.option\"),\n })\n ),\n })\n )\n .unique(\"label\", t(\"neetoForm.error.removeDuplicates\")),\n }),\n});\n\nexport const ERROR_MESSAGE_DELIMITER = \". \";\n","import { isPresent } from \"neetocist\";\nimport {\n assocPath,\n dissoc,\n filter,\n isNotNil,\n join,\n map,\n pathSatisfies,\n pipe,\n uniq,\n values,\n} from \"ramda\";\n\nimport {\n ADDRESS_FIELD_TYPE_OPTIONS,\n ADDRESS_FIELD_WIDTH_OPTIONS,\n ERROR_MESSAGE_DELIMITER,\n} from \"./constants\";\n\nimport { ADDRESS_FIELD_TYPES, ADDRESS_FIELD_WIDTHS } from \"../constants\";\n\nconst removeDuplicateErrorMessages = pipe(\n filter(isNotNil),\n map(values),\n uniq,\n join(ERROR_MESSAGE_DELIMITER)\n);\n\nexport const getAddressModalInitialValues = field =>\n field\n ? {\n ...field,\n width: ADDRESS_FIELD_WIDTH_OPTIONS[field.width],\n fieldType: ADDRESS_FIELD_TYPE_OPTIONS[field.fieldType],\n }\n : {\n label: \"\",\n isRequired: false,\n width: ADDRESS_FIELD_WIDTH_OPTIONS[ADDRESS_FIELD_WIDTHS.FULL],\n fieldType: ADDRESS_FIELD_TYPE_OPTIONS[ADDRESS_FIELD_TYPES.INPUT],\n };\n\nexport const sanitizeAddressField = (field, isSelectField, defaultOptions) => {\n const hasOptions = pathSatisfies(isPresent, [\"properties\", \"options\"], field);\n\n if (isSelectField && !hasOptions) {\n return assocPath([\"properties\", \"options\"], defaultOptions, field);\n }\n\n if (!isSelectField && hasOptions) {\n return dissoc(\"properties\", field);\n }\n\n return field;\n};\n\nexport const formatErrorMessage = error => {\n if (typeof error === \"string\") return error;\n\n return removeDuplicateErrorMessages(error);\n};\n","import { useField } from \"formik\";\nimport { findById, findIndexById, isNotPresent } from \"neetocist\";\nimport OptionFields from \"neetomolecules/OptionFields\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Select, Switch } from \"neetoui/formik\";\nimport { append, assoc, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MINIMUM_ADDRESS_FIELDS } from \"components/BuildForm/constants\";\nimport { generateDefaultOptions, randomId } from \"components/BuildForm/utils\";\n\nimport Collapsible from \"./Collapsible\";\nimport {\n ADDRESS_FIELD_FORM_VALIDATION_SCHEMA,\n ADDRESS_FIELD_TYPE_OPTIONS,\n ADDRESS_FIELD_WIDTH_OPTIONS,\n} from \"./constants\";\nimport { getAddressModalInitialValues, sanitizeAddressField } from \"./utils\";\n\nimport { ADDRESS_FIELD_TYPES } from \"../constants\";\nimport { getDeletedRecords } from \"../utils\";\n\nconst ManagePane = ({\n isOpen,\n selectedFieldId,\n onClose,\n title,\n fields,\n initialFocusRef,\n}) => {\n const [{ value: allFields }, , { setValue }] = useField(\"fields\");\n const { t } = useTranslation();\n\n const defaultOptions = generateDefaultOptions(MINIMUM_ADDRESS_FIELDS);\n\n const editingField = findById(selectedFieldId, fields);\n const initialValues = getAddressModalInitialValues(editingField);\n\n const handleSubmit = ({ width, fieldType, ...field }) => {\n const deletedFields = getDeletedRecords(allFields);\n const isSelectField = fieldType.value === ADDRESS_FIELD_TYPES.SELECT;\n const sanitizedField = sanitizeAddressField(\n field,\n isSelectField,\n defaultOptions\n );\n\n if (isNil(selectedFieldId)) {\n const position = fields.length;\n const id = `draft-${randomId()}`;\n const newField = {\n id,\n ...sanitizedField,\n altId: `alt-${randomId()}`,\n position,\n width: width.value,\n fieldType: fieldType.value,\n };\n const nextFields = append(newField, fields);\n setValue([...nextFields, ...deletedFields]);\n } else {\n const selectedFieldIndex = findIndexById(selectedFieldId, fields);\n\n setValue(\n assoc(\n selectedFieldIndex,\n {\n ...sanitizedField,\n width: width.value,\n fieldType: fieldType.value,\n },\n [...fields, ...deletedFields]\n )\n );\n }\n onClose();\n };\n\n const handleFieldTypeChange = (setFieldValue, values) => fieldType => {\n setFieldValue(\"fieldType\", fieldType);\n\n if (\n fieldType.value === ADDRESS_FIELD_TYPES.SELECT &&\n isNotPresent(values.properties?.options)\n ) {\n setFieldValue(\"properties.options\", defaultOptions);\n }\n };\n\n return (\n <Pane {...{ initialFocusRef, isOpen, onClose }}>\n <Pane.Header>\n <Typography\n data-testid=\"add-address-field-title\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues,\n validationSchema: ADDRESS_FIELD_FORM_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n {({ values, setFieldValue }) => (\n <>\n <Pane.Body>\n <div className=\"w-full space-y-6\">\n <Input\n name=\"label\"\n ref={initialFocusRef}\n label={t(\n \"neetoForm.questions.common.questionFields.field.label\"\n )}\n placeholder={t(\n \"neetoForm.questions.address.fieldLabelPlaceholder\"\n )}\n />\n <div className=\"grid grid-cols-2 gap-6\">\n <Select\n label={t(\"neetoForm.questions.address.width\")}\n name=\"width\"\n options={Object.values(ADDRESS_FIELD_WIDTH_OPTIONS)}\n />\n <Select\n label={t(\"neetoForm.questions.address.type\")}\n name=\"fieldType\"\n options={Object.values(ADDRESS_FIELD_TYPE_OPTIONS)}\n onChange={handleFieldTypeChange(setFieldValue, values)}\n />\n </div>\n <Collapsible\n open={values?.fieldType?.value === ADDRESS_FIELD_TYPES.SELECT}\n >\n <div className=\"flex flex-col\">\n <OptionFields\n draggable\n minOptions={MINIMUM_ADDRESS_FIELDS}\n name=\"properties.options\"\n />\n </div>\n </Collapsible>\n <div className=\"flex items-center gap-4\">\n <Switch\n label={t(\"neetoForm.common.required\")}\n name=\"isRequired\"\n />\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <div className=\"flex items-center gap-2\">\n <ActionBlock\n className=\"flex gap-x-2\"\n cancelButtonProps={{\n type: \"reset\",\n onClick: onClose,\n disabled: false,\n }}\n submitButtonProps={{\n label: t(\"neetoForm.common.saveChanges\"),\n }}\n />\n </div>\n </Pane.Footer>\n </>\n )}\n </Form>\n </Pane>\n );\n};\n\nexport default ManagePane;\n","import { useRef, useState } from \"react\";\n\nimport { useField } from \"formik\";\nimport { findById, findIndexById } from \"neetocist\";\nimport OptionFields from \"neetomolecules/OptionFields\";\nimport { Alert } from \"neetoui\";\nimport { assocPath, isNotNil } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport Block from \"components/BuildForm/commons/Block\";\nimport { MINIMUM_ADDRESS_FIELDS } from \"components/BuildForm/constants\";\nimport { isDefaultLanguage } from \"components/BuildForm/utils\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport ManagePane from \"./ManagePane\";\nimport { formatErrorMessage } from \"./utils\";\n\nimport { getActiveRecords, getDeletedRecords } from \"../utils\";\n\nconst Address = () => {\n const [isAddressFieldPaneOpen, setIsAddressFieldPaneOpen] = useState(false);\n const [isDeleteAddressFieldAlertOpen, setIsDeleteAddressFieldAlertOpen] =\n useState(false);\n const [selectedFieldId, setSelectedFieldId] = useState(null);\n\n const initialFocusRef = useRef(null);\n\n const { t } = useTranslation();\n\n const { selectedLanguage } = useBuildFormStore.pick(\"formState\");\n\n const name = \"fields\";\n const [{ value: fields }, { error, touched }, { setValue: setFields }] =\n useField(name);\n\n const handleDelete = () => {\n const deletedFields = getDeletedRecords(fields);\n let nextFields = getActiveRecords(fields);\n const selectedFieldIndex = findIndexById(selectedFieldId, nextFields);\n\n nextFields = assocPath([selectedFieldIndex, \"deleted\"], true, nextFields);\n\n setFields([...nextFields, ...deletedFields]);\n };\n\n return (\n <>\n <Block\n dataTestid=\"address-fields-block\"\n title={t(\"neetoForm.questions.address.fields\")}\n >\n <div>\n <OptionFields\n {...{ name }}\n draggable\n shouldDestroy\n editable={false}\n isNewItemsPrefilled={isDefaultLanguage(selectedLanguage)}\n itemLabel={t(\"neetoForm.common.field\")}\n minOptions={MINIMUM_ADDRESS_FIELDS}\n shouldResetEmptyOptionOnBlur={false}\n buttonProps={{\n label: t(\"neetoForm.questions.address.addField\"),\n onClick: () => setIsAddressFieldPaneOpen(true),\n }}\n onDelete={id => {\n setSelectedFieldId(id);\n setIsDeleteAddressFieldAlertOpen(true);\n }}\n onEdit={id => {\n setSelectedFieldId(id);\n setIsAddressFieldPaneOpen(true);\n }}\n />\n {touched && error && (\n <p\n className=\"neeto-form-engine-input__error\"\n data-testid=\"neeto-form-engine-address-fields-error\"\n >\n {formatErrorMessage(error)}\n </p>\n )}\n </div>\n </Block>\n <ManagePane\n {...{ initialFocusRef, selectedFieldId }}\n fields={getActiveRecords(fields)}\n isOpen={isAddressFieldPaneOpen}\n title={\n isNotNil(selectedFieldId)\n ? t(\"neetoForm.questions.address.editField\")\n : t(\"neetoForm.questions.address.addField\")\n }\n onClose={() => {\n setIsAddressFieldPaneOpen(false);\n setSelectedFieldId(null);\n }}\n />\n <Alert\n isOpen={isDeleteAddressFieldAlertOpen}\n submitButtonLabel={t(\"neetoForm.common.delete\")}\n title={t(\"neetoForm.questions.address.deleteAlert.title\")}\n message={\n <Trans\n i18nKey=\"neetoForm.questions.address.deleteAlert.message\"\n values={{\n label: findById(selectedFieldId, fields)?.label,\n }}\n />\n }\n onClose={() => {\n setIsDeleteAddressFieldAlertOpen(false);\n setSelectedFieldId(null);\n }}\n onSubmit={() => {\n setIsDeleteAddressFieldAlertOpen(false);\n handleDelete();\n setSelectedFieldId(null);\n }}\n />\n </>\n );\n};\n\nexport default Address;\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-testid={`neeto-form-engine-${hyphenate(title && name)}-toggle-label`}\n >\n <Switch\n {...{ ...otherProps, name }}\n data-testid={`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 { 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\nexport const EMAIL_VERIFICATION_TRANSLATIONS = {\n title: t(\"neetoForm.emailVerification.label\"),\n popoverDescription: t(\"neetoForm.emailVerification.popoverDescription\"),\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\";\n\nimport yup from \"utils/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-testid\"]: `${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-testid\"]: \"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-testid\"]: \"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-testid={`${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-testid={`${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-testid={`${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\";\n\nimport yup from \"utils/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\nexport const buildHelpPopoverLabelProps = (popoverDescription, helpLink) => ({\n helpIconProps: {\n \"data-testid\": \"help-popover-button\",\n popoverProps: {\n description: popoverDescription,\n ...(helpLink && {\n helpLinkProps: {\n href: helpLink,\n label: t(\"neetoForm.common.viewHelpArticle\"),\n },\n }),\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 { mergeLeft, paths } from \"ramda\";\n\nimport SwitchBlock from \"components/BuildForm/commons/SwitchBlock\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport { DOMAIN_RESTRICTION_TRANSLATIONS } from \"./constants\";\nimport EmailDomains from \"./EmailDomains\";\nimport { buildHelpPopoverLabelProps } from \"./utils\";\n\nconst RestrictDomainsBlock = ({\n switchName,\n domainName,\n isDomainRestrictionEnabled,\n}) => {\n const [helpLink, hostSpecificTranslations] = useBuildFormStore(\n paths([\n [\"formState\", \"helpDocUrls\", domainName],\n [\"formState\", \"hostSpecificData\", domainName],\n ])\n );\n\n const { title, description, popoverDescription } = mergeLeft(\n hostSpecificTranslations,\n DOMAIN_RESTRICTION_TRANSLATIONS[domainName]\n );\n\n return (\n <div\n className=\"flex flex-col space-y-4\"\n data-testid={`${hyphenate(switchName)}-container`}\n >\n <SwitchBlock\n label={title}\n labelProps={buildHelpPopoverLabelProps(popoverDescription, helpLink)}\n name={switchName}\n />\n {isDomainRestrictionEnabled && (\n <EmailDomains label={description} name={domainName} />\n )}\n </div>\n );\n};\n\nexport default RestrictDomainsBlock;\n","import { Switch } from \"neetoui/formik\";\nimport { mergeLeft, paths } from \"ramda\";\n\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport { EMAIL_VERIFICATION_TRANSLATIONS } from \"./constants\";\nimport { buildHelpPopoverLabelProps } from \"./utils\";\n\nconst VerifyEmails = () => {\n const [helpLink, hostSpecificTranslations] = useBuildFormStore(\n paths([\n [\"formState\", \"helpDocUrls\", \"emailVerification\"],\n [\"formState\", \"hostSpecificData\", \"emailVerification\"],\n ])\n );\n\n const { title, popoverDescription } = mergeLeft(\n hostSpecificTranslations,\n EMAIL_VERIFICATION_TRANSLATIONS\n );\n\n return (\n <div data-testid=\"email-verification-switch-container\">\n <Switch\n label={title}\n labelProps={buildHelpPopoverLabelProps(popoverDescription, helpLink)}\n name=\"isVerificationEnabled\"\n />\n </div>\n );\n};\n\nexport default VerifyEmails;\n","import { useFormikContext } from \"formik\";\n\nimport RestrictDomainsBlock from \"./RestrictDomainsBlock\";\nimport VerifyEmails from \"./VerifyEmails\";\n\nconst Email = ({ usesCustomSubmissionComponent }) => {\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 {!usesCustomSubmissionComponent && (\n <>\n <RestrictDomainsBlock\n domainName=\"whitelistedDomains\"\n isDomainRestrictionEnabled={isDomainWhitelistingEnabled}\n switchName=\"isDomainWhitelistingEnabled\"\n />\n <RestrictDomainsBlock\n domainName=\"blacklistedDomains\"\n isDomainRestrictionEnabled={isDomainBlacklistingEnabled}\n switchName=\"isDomainBlacklistingEnabled\"\n />\n <VerifyEmails />\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-testid={`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 { useFormikContext } from \"formik\";\nimport { Input, Select, Switch } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n OPINION_LABEL_MAX_LENGTH,\n OPINION_SCALE_MAX_VALUE_OPTIONS,\n OPINION_SCALE_MIN_VALUE_OPTIONS,\n} from \"./constants\";\n\nconst OpinionScale = () => {\n const { t } = useTranslation();\n\n const {\n setFieldValue,\n values: { hasOpinionLabels = false },\n } = useFormikContext();\n\n return (\n <>\n <div className=\"flex space-x-4\">\n <Select\n className=\"w-1/2\"\n data-testid=\"neeto-form-engine-opinion-scale-min-value\"\n label={t(\"neetoForm.common.start\")}\n name=\"minValue\"\n options={OPINION_SCALE_MIN_VALUE_OPTIONS}\n onChange={option => setFieldValue(\"minValue\", option?.value)}\n />\n <Select\n className=\"w-1/2\"\n data-testid=\"neeto-form-engine-opinion-scale-max-value\"\n label={t(\"neetoForm.common.end\")}\n name=\"maxValue\"\n options={OPINION_SCALE_MAX_VALUE_OPTIONS}\n onChange={option => setFieldValue(\"maxValue\", option?.value)}\n />\n </div>\n <Switch\n data-testid=\"neeto-form-engine-opinion-scale-show-labels-switch\"\n label={t(\"neetoForm.questions.opinionScale.showLabels\")}\n name=\"hasOpinionLabels\"\n />\n {hasOpinionLabels && (\n <div className=\"flex space-x-4\">\n <Input\n className=\"w-1/2\"\n data-testid=\"neeto-form-engine-opinion-scale-left-label\"\n label={t(\"neetoForm.questions.opinionScale.leftLabel\")}\n maxLength={OPINION_LABEL_MAX_LENGTH}\n name=\"leftOpinionLabel\"\n />\n <Input\n className=\"w-1/2\"\n data-testid=\"neeto-form-engine-opinion-scale-right-label\"\n label={t(\"neetoForm.questions.opinionScale.rightLabel\")}\n maxLength={OPINION_LABEL_MAX_LENGTH}\n name=\"rightOpinionLabel\"\n />\n </div>\n )}\n </>\n );\n};\n\nexport default OpinionScale;\n","import classnames from \"classnames\";\nimport { useField, useFormikContext } from \"formik\";\nimport OptionFields from \"neetomolecules/OptionFields\";\nimport { Label, Slider, Typography } from \"neetoui\";\nimport { Switch } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isDefaultLanguage } from \"components/BuildForm/utils\";\nimport { QUESTION_TYPES } from \"components/constants\";\nimport useHelpDoc from \"hooks/useHelpDoc\";\nimport useBuildFormStore from \"src/stores/buildForm\";\nimport { isFunction } from \"utils\";\n\nimport { IMAGE_HEIGHT_SLIDER_DEFAULTS } from \"./constants\";\n\nimport { MINIMUM_OPTIONS } from \"../../constants\";\nimport { DEFAULT_CHOICE_QUESTION_ATTRIBUTES } from \"../constants\";\n\nconst Options = ({ questionProps }) => {\n const { t } = useTranslation();\n\n const { selectedLanguage, isPictureChoiceEnabled } =\n useBuildFormStore.pick(\"formState\");\n const bulkAddHelpDocUrl = useHelpDoc(\"bulkAddOptions\");\n const { values, setFieldValue } = useFormikContext();\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 const isDropdown = values.kind === QUESTION_TYPES.DROPDOWN;\n\n const isPictureChoice =\n isPictureChoiceEnabled &&\n !isDropdown &&\n (values.isPictureChoice ||\n DEFAULT_CHOICE_QUESTION_ATTRIBUTES.isPictureChoice);\n\n const imageHeight =\n values.imageHeight || DEFAULT_CHOICE_QUESTION_ATTRIBUTES.imageHeight;\n\n const handleImageHeightChange = value => {\n setFieldValue(\"imageHeight\", value);\n };\n\n return (\n <div className=\"w-full space-y-4\">\n <div>\n <Label className=\"mb-2 block\" {...optionLabelProps}>\n {t(\"neetoForm.questions.common.questionFields.field.options\")}\n </Label>\n <div\n className={classnames([\n \"neeto-form-engine-fields-wrapper\",\n {\n \"neeto-form-engine-fields-wrapper--fit-image\":\n values.shouldFitImages,\n },\n ])}\n style={{\n \"--neeto-form-engine-picture-choice-image-height\": `${values.imageHeight}px`,\n }}\n >\n <OptionFields\n {...{ isPictureChoice, name }}\n shouldDestroy\n bulkActionProps={{ enabled: true, bulkAddHelpDocUrl }}\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 </div>\n {!isDropdown && isPictureChoiceEnabled && (\n <div className=\"space-y-4\">\n <Switch\n name=\"isPictureChoice\"\n label={t(\n \"neetoForm.questions.common.questionFields.field.addPicturesToOptions\"\n )}\n />\n {isPictureChoice && (\n <>\n <Switch\n name=\"shouldFitImages\"\n label={t(\n \"neetoForm.questions.common.questionFields.field.fitImages\"\n )}\n labelProps={{\n helpIconProps: {\n \"data-testid\": \"fit-images-help-popover-button\",\n popoverProps: {\n position: \"top\",\n description: t(\n \"neetoForm.questions.common.questionFields.field.fitImagesHelpDescription\"\n ),\n },\n },\n }}\n />\n <div className=\"mt-4\">\n <Typography style=\"body2\" weight=\"medium\">\n {t(\n \"neetoForm.questions.common.questionFields.field.imageHeight\"\n )}\n </Typography>\n <Slider\n max={IMAGE_HEIGHT_SLIDER_DEFAULTS.max}\n min={IMAGE_HEIGHT_SLIDER_DEFAULTS.min}\n value={imageHeight}\n onChange={handleImageHeightChange}\n />\n </div>\n </>\n )}\n </div>\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-testid={`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-testid=\"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-testid=\"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-testid={`neeto-form-engine-star-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, modifyBy, slugify } from \"neetocist\";\nimport { assoc, equals, last, map, omit, pipe, split, startsWith } from \"ramda\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\n\nimport Add from \"./Add\";\nimport { DRAFT_ID_PREFIX } from \"./constants\";\nimport Edit from \"./Edit\";\n\nimport { QUESTION_ACTIONS } from \"../constants\";\nimport Address from \"../Questions/Fields/Address\";\nimport Captcha from \"../Questions/Fields/Captcha\";\nimport Email from \"../Questions/Fields/Email\";\nimport FileUpload from \"../Questions/Fields/FileUpload\";\nimport OpinionScale from \"../Questions/Fields/OpinionScale\";\nimport Options from \"../Questions/Fields/Options\";\nimport Rating from \"../Questions/Fields/Rating\";\nimport StarRating from \"../Questions/Fields/StarRating\";\nimport { renameKey } from \"../utils\";\n\nconst {\n CHECKBOX,\n RADIO,\n DROPDOWN,\n STAR_RATING,\n OPINION_SCALE,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n ADDRESS,\n} = QUESTION_TYPES;\n\nconst transformValueForOption = ({ label, type }) =>\n `${slugify(label)}-${type}`;\n\nconst omitDraftId = modifyBy({ id: startsWith(DRAFT_ID_PREFIX) }, omit([\"id\"]));\n\nexport const renderAdditionalData = ({\n kind,\n questionProps,\n usesCustomSubmissionComponent,\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 OPINION_SCALE:\n return <OpinionScale />;\n case FILE_UPLOAD:\n return <FileUpload />;\n case CAPTCHA:\n return <Captcha />;\n case ADDRESS:\n return <Address />;\n case EMAIL:\n return (\n !usesCustomSubmissionComponent && (\n <Email {...{ usesCustomSubmissionComponent }} />\n )\n );\n\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, icon, description, searchTerms }) => ({\n label,\n value: transformValueForOption({ label, type }),\n icon,\n description,\n searchTerms,\n }));\n\nexport const filterKindOption = (option, rawInput) => {\n const query = rawInput?.trim().toLowerCase();\n if (!query) return true;\n\n const searchTerms = option.data?.searchTerms ?? [];\n\n return searchTerms.some(term => term.includes(query));\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 \"data-testid\": \"help-popover-button\",\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\nexport const responseVisibleOnlyToHostSwitchLabelProps = helpUrl => ({\n helpIconProps: {\n \"data-testid\": \"help-popover-button\",\n popoverProps: {\n description: t(\n \"neetoForm.questions.common.questionFields.field.responseVisibleOnlyToHostHelpDescription\"\n ),\n helpLinkProps: {\n href: helpUrl,\n label: t(\"neetoForm.common.viewHelpArticle\"),\n },\n },\n },\n});\n\nexport const readOnlySwitchLabelProps = helpUrl => ({\n helpIconProps: {\n \"data-testid\": \"help-popover-button\",\n popoverProps: {\n description: t(\n \"neetoForm.questions.common.questionFields.field.readOnlyHelpDescription\"\n ),\n helpLinkProps: helpUrl\n ? {\n href: helpUrl,\n label: t(\"neetoForm.common.viewHelpArticle\"),\n }\n : undefined,\n },\n },\n});\n\nexport const transformValues = ({ minWords, ...values }) => {\n const rest = omit([\"isMinWordsEnabled\"], values);\n switch (rest.kind) {\n case QUESTION_TYPES.TEXTAREA:\n return { ...rest, minWords: minWords ?? \"\" };\n case QUESTION_TYPES.ADDRESS: {\n const { fields = [], ...addressRest } = rest;\n\n return {\n ...addressRest,\n fieldsAttributes: map(\n renameKey(\"deleted\", \"_destroy\"),\n omitDraftId(fields)\n ),\n };\n }\n default:\n return rest;\n }\n};\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 { isPresent } from \"neetocist\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Button } from \"neetoui\";\n\nimport {\n buildAddQuestionButtonProps,\n buildDisabledAddButtonHelpPopoverProps,\n} from \"../utils\";\n\nconst AddQuestion = ({\n onAdd,\n disabledAddButtonHelpPopoverProps,\n isDisabled,\n addQuestionHelpProps,\n}) => {\n const helpPopoverProps = isDisabled\n ? buildDisabledAddButtonHelpPopoverProps(disabledAddButtonHelpPopoverProps)\n : {};\n\n return (\n <div className=\"mb-8 flex w-full items-center gap-x-1\">\n <Button {...buildAddQuestionButtonProps(onAdd, isDisabled)} />\n {isDisabled && <HelpPopover {...helpPopoverProps} />}\n {isPresent(addQuestionHelpProps) && !isDisabled && (\n <span>\n <HelpPopover {...addQuestionHelpProps} />\n </span>\n )}\n </div>\n );\n};\nexport default AddQuestion;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { DragDropContext } from \"@hello-pangea/dnd\";\nimport { findBy, isPresent } from \"neetocist\";\nimport {\n useFuncDebounce,\n useOnClickOutside,\n useStateWithDependency,\n} from \"neetocommons/react-utils\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { isEmpty, mergeLeft, prop } from \"ramda\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\nimport { useCreateQuestion, useReorderQuestions } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport DeleteAlert from \"./DeleteAlert\";\nimport DeleteSmsReminderModal from \"./DeleteSmsReminderModal\";\nimport DeleteSpotModal from \"./DeleteSpotModal\";\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 } from \"../constants\";\nimport ManageQuestionPane from \"../ManageQuestionPane\";\nimport AddQuestion from \"../Questions/AddQuestion\";\nimport { buildReorderPayload } from \"../utils\";\n\nconst Form = ({\n questionKinds,\n onValueChange,\n formId,\n isDeletable,\n isRequiredField,\n isKindAlreadyActive,\n getActiveKindDetails,\n isDisabledFieldLabel,\n disabledAddButtonHelpPopoverProps,\n isFormEnabled,\n canManageQuestions,\n savedTitle,\n formTitle,\n formDescription,\n selectedLanguage,\n availableLanguages,\n onLanguageChange,\n additionalActionOptions,\n kindUniqueOn,\n helpDocUrls,\n hostSpecificData,\n addQuestionHelpProps,\n isUsingDefaultQuestionKinds,\n usesCustomSubmissionComponent,\n questionsFromCache,\n onMutateSuccess,\n advancedFeatures,\n isPictureChoiceEnabled,\n getQuestionMenuExtras,\n}) => {\n const containerRef = useRef();\n\n const [questions, setQuestions] = useStateWithDependency(questionsFromCache);\n const [selectedQuestion, setSelectedQuestion] = useState({});\n const [selectedAction, setSelectedAction] = useState(\"\");\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isDeleteSmsReminderModalOpen, setIsDeleteSmsReminderModalOpen] =\n useState(false);\n const [isDeleteSpotModalOpen, setIsDeleteSpotModalOpen] = useState(false);\n\n const [isManageQuestionPaneOpen, setIsManageQuestionPaneOpen] =\n useState(false);\n\n const setFormData = useBuildFormStore(prop(\"setFormData\"));\n\n const { mutate: createQuestion } = useCreateQuestion(\n formId,\n selectedLanguage,\n {\n onSuccess: (...args) => {\n onMutateSuccess?.(QUESTION_ACTIONS.CLONE, ...args);\n showThumbsUpToastr();\n },\n }\n );\n\n const { mutate: reorderQuestions } = useReorderQuestions(\n formId,\n selectedLanguage,\n {\n onSuccess: (...args) => {\n onMutateSuccess?.(QUESTION_ACTIONS.REORDER, ...args);\n setFormData({ isReorderingQuestions: false });\n },\n }\n );\n\n const debouncedReorderQuestions = useFuncDebounce(reorderQuestions, 1000);\n\n const handleReorder = questions => {\n const payload = {\n neetoFormQuestions: {\n questions: buildReorderPayload(questions),\n },\n language: selectedLanguage,\n };\n setFormData({ isReorderingQuestions: true });\n debouncedReorderQuestions(payload);\n };\n\n useEffect(() => {\n setFormData({\n formId,\n enabled: isFormEnabled,\n title: savedTitle,\n selectedLanguage,\n helpDocUrls,\n isUsingDefaultQuestionKinds,\n usesCustomSubmissionComponent,\n hostSpecificData,\n onMutateSuccess,\n advancedFeatures,\n onLanguageChange,\n isPictureChoiceEnabled,\n });\n }, [\n formId,\n isFormEnabled,\n savedTitle,\n setFormData,\n selectedLanguage,\n helpDocUrls,\n isUsingDefaultQuestionKinds,\n usesCustomSubmissionComponent,\n hostSpecificData,\n onMutateSuccess,\n advancedFeatures,\n onLanguageChange,\n isPictureChoiceEnabled,\n ]);\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 };\n\n createQuestion(payload, {\n onSuccess: ({ questions }) => {\n const newQuestion = findBy({ displayOrder }, questions);\n handleSelect(newQuestion);\n },\n });\n };\n\n const handleDelete = question => {\n if (question.kind === QUESTION_TYPES.SMS_REMINDER) {\n setIsDeleteSmsReminderModalOpen(true);\n } else if (question.kind === QUESTION_TYPES.SPOT) {\n setIsDeleteSpotModalOpen(true);\n } else {\n setIsDeleteAlertOpen(true);\n }\n };\n\n useOnClickOutside(containerRef, () => handleSelect({}), {\n enabled: !(\n isDeleteAlertOpen ||\n isManageQuestionPaneOpen ||\n isDeleteSmsReminderModalOpen ||\n isDeleteSpotModalOpen\n ),\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 return (\n <>\n <DeleteAlert\n {...{ handleSelect, selectedQuestion }}\n isOpen={isDeleteAlertOpen}\n languagesCount={availableLanguages.length}\n onClose={() => setIsDeleteAlertOpen(false)}\n />\n <DeleteSmsReminderModal\n {...{ hostSpecificData }}\n isOpen={isDeleteSmsReminderModalOpen}\n onClose={() => setIsDeleteSmsReminderModalOpen(false)}\n />\n <DeleteSpotModal\n {...{ hostSpecificData }}\n isOpen={isDeleteSpotModalOpen}\n onClose={() => setIsDeleteSpotModalOpen(false)}\n />\n <div className=\"neeto-form-nano-form-wrapper flex h-full flex-col\">\n {formTitle && (\n <Overview\n {...{ additionalActionOptions, availableLanguages }}\n description={formDescription}\n title={formTitle}\n />\n )}\n <div className=\"neeto-form-nano-form-wrapper__body min-h-0 w-full grow space-y-6 overflow-y-auto pb-6\">\n {isPresent(questions) ? (\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: orderedQuestions => {\n setQuestions(orderedQuestions);\n handleReorder(orderedQuestions);\n },\n })\n }\n >\n <Questions\n {...{\n canManageQuestions,\n getActiveKindDetails,\n getQuestionMenuExtras,\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 {canManageQuestions && (\n <div className=\"mb-8 flex w-full items-center gap-x-1\">\n <AddQuestion\n {...{\n addQuestionHelpProps,\n disabledAddButtonHelpPopoverProps,\n }}\n isDisabled={isEmpty(availableQuestionKinds)}\n onAdd={handleAdd}\n />\n </div>\n )}\n </div>\n ) : (\n <AddFirstQuestion\n {...{ disabledAddButtonHelpPopoverProps }}\n isDisabled={\n isEmpty(availableQuestionKinds) || !canManageQuestions\n }\n onAdd={handleAdd}\n />\n )}\n </div>\n <ManageQuestionPane\n {...{\n availableQuestionKinds,\n getActiveKindDetails,\n handleSelect,\n isDisabledFieldLabel,\n isRequiredField,\n kindUniqueOn,\n questions,\n }}\n action={selectedAction}\n allQuestionKinds={questionKinds}\n isOpen={isManageQuestionPaneOpen}\n question={selectedQuestion}\n onClose={() => setIsManageQuestionPaneOpen(false)}\n />\n </div>\n </>\n );\n};\n\nexport default Form;\n","import { useQueryClient } from \"@tanstack/react-query\";\nimport classNames from \"classnames\";\nimport { noop, removeBy } from \"neetocist\";\nimport { Spinner } from \"neetoui\";\nimport { assoc, either, F, isNil, T } from \"ramda\";\n\nimport { QUERY_KEYS } from \"common/constants\";\nimport { QUESTION_KIND } from \"components/ExternalForm/constants\";\nimport { useForm } from \"hooks/useFormApi\";\n\nimport {\n DEFAULT_ADVANCED_FEATURES,\n DEFAULT_AVAILABLE_LANGUAGES,\n QUESTIONS_INITIAL_VALUE,\n} from \"./constants\";\nimport Form from \"./Form\";\nimport { isQuestionKindAlreadyActive } from \"./Form/utils\";\nimport { QUESTION_KINDS } from \"./Questions/constants\";\nimport { getActiveQuestionKindDetails } from \"./Questions/utils\";\nimport { isImmutableField, isMandatoryField } from \"./utils\";\n\nconst BuildForm = ({\n id,\n questionKinds,\n isKindAlreadyActive = isQuestionKindAlreadyActive,\n getActiveKindDetails = getActiveQuestionKindDetails,\n kindUniqueOn,\n isQuestionDeletable = T,\n isFieldRequired = F,\n isFieldLabelDisabled,\n formTitle = \"\",\n formDescription,\n availableLanguages = DEFAULT_AVAILABLE_LANGUAGES,\n selectedLanguage = \"en\",\n onLanguageChange = noop,\n addQuestionHelpProps = {},\n disabledAddButtonHelpPopoverProps = {},\n additionalActionOptions = [],\n allowAdditionalGuests = false,\n advancedFeatures = DEFAULT_ADVANCED_FEATURES,\n helpDocUrls,\n className,\n usesCustomSubmissionComponent = false,\n onMutateSuccess = noop,\n hostSpecificData,\n canManageQuestions = false,\n isPictureChoiceEnabled = false,\n getQuestionMenuExtras,\n}) => {\n const queryClient = useQueryClient();\n\n const {\n data,\n isLoading,\n isPending: isQuestionsPending,\n } = useForm({ formId: id, language: selectedLanguage });\n\n const {\n enabled: isFormEnabled,\n title: savedTitle,\n questions: questionsFromCache,\n isQuestionsLoading,\n } = data || QUESTIONS_INITIAL_VALUE;\n\n if (isLoading || (isQuestionsLoading && !isQuestionsPending)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center py-6\">\n <Spinner />\n </div>\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 isRequiredField = either(isMandatoryField, isFieldRequired);\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 <Form\n {...{\n addQuestionHelpProps,\n additionalActionOptions,\n advancedFeatures,\n availableLanguages,\n canManageQuestions,\n disabledAddButtonHelpPopoverProps,\n formDescription,\n formTitle,\n getActiveKindDetails,\n getQuestionMenuExtras,\n helpDocUrls,\n hostSpecificData,\n isDisabledFieldLabel,\n isFormEnabled,\n isKindAlreadyActive,\n isPictureChoiceEnabled,\n isRequiredField,\n isUsingDefaultQuestionKinds,\n kindUniqueOn,\n onLanguageChange,\n onMutateSuccess,\n onValueChange,\n questionsFromCache,\n savedTitle,\n selectedLanguage,\n usesCustomSubmissionComponent,\n }}\n formId={id}\n isDeletable={isQuestionDeletable}\n questionKinds={\n isUsingDefaultQuestionKinds ? defaultQuestionKinds : questionKinds\n }\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","_store$formState2","selectedLanguage","onMutateSuccess","shallow","renderQuestionLabel","questionKind","kind","independentLabel","INDEPENDENT_LABELS_MAP","isPresent","questionLabel","buildDisplayLabel","truncate","_useDeleteQuestion","useDeleteQuestion","formId","onSuccess","showThumbsUpToastr","_len","arguments","length","args","Array","_key","apply","QUESTION_ACTIONS","DELETE","concat","deleteQuestion","mutate","isDeleting","isPending","selectNextQuestion","questions","selectedQuestionIndex","displayOrder","wasLastQuestion","equals","newDisplayOrder","newQuestion","findBy","handleSubmit","id","_ref2","_jsx","Alert","isSubmitting","submitButtonLabel","title","message","Trans","i18nKey","values","count","label","onSubmit","DeleteSmsReminderModal","_ref$hostSpecificData","hostSpecificData","_jsxs","Modal","children","Header","Typography","style","weight","path","Body","DeleteSpotModal","description","ChangeLanguageDropdown","_findBy","availableLanguages","_store$formState3","onLanguageChange","isReorderingQuestions","selectedLanguageName","code","name","Tooltip","content","Dropdown","buttonStyle","disabled","Menu","map","MenuItem","Button","isActive","onClick","Overview","additionalActionOptions","className","lineHeight","MoreDropdown","dropdownButtonProps","isRounded","dropdownProps","strategy","position","menuItems","Card","_ref$question","question","allQuestionKinds","getActiveKindDetails","onSelect","onEdit","onClone","onDelete","canManageQuestions","_ref$extraMenuItems","extraMenuItems","_useState","useState","_useState2","_slicedToArray","isTooltipEnabled","setIsTooltipEnabled","questionLabelRef","useRef","_getActiveKindDetails","item","isSingular","useEffect","element","current","isNotPresent","isElementOverflowing","Drag","size","slugify","classNames","ref","key","isVisible","isFunction","_toConsumableArray","Questions","isDeletable","getQuestionMenuExtras","Droppable","droppableId","isDropDisabled","droppableProps","placeholder","innerRef","_objectSpread","index","_question$id","_question$id2","_createElement","Draggable","draggableId","nodeId","isDragDisabled","_ref3","_getQuestionMenuExtra","draggableProps","dragHandleProps","moveItem","arr","sourceIndex","destinationIndex","undefined","removedItem","splice","arrayHelpers","isChoiceQuestion","includes","SELECTABLE_KINDS","isAddressQuestion","QUESTION_TYPES","ADDRESS","underscoredWithoutSpecialCharacters","string","toLowerCase","replace","addSuffixForReservedFieldCode","fieldCode","RESERVED_FIELD_CODES","getUniqueNumbersFromExistingFieldCodes","prefix","filter","startsWith","parseInt","generateFieldCodePrefix","SPOT","SPOT_QUESTION_FIELD_CODE","isNameQuestion","NON_BASIC_LATIN_CHARACTERS_REGEX","test","isEmpty","sanitizedLabel","slice","modifyDefaultValues","isUsingDefaultQuestionKinds","renameKey","LABEL_FIELDS","DEFAULT","FULL_NAME","isDefaultLanguage","evolve","optionsAttributes","assoc","generateUniqueFieldCode","_ref2$label","_ref2$kind","uniqueNumber","Math","max","candidateFieldCode","isQuestionKindAlreadyActive","activeQuestions","existsBy","type","handleFieldDragEnd","_ref4","items","setValue","source","destination","nextItems","orderedItems","createFieldData","_ref5","_ref5$kind","defaults","metadata","_ref5$isRequired","isRequired","modifiedDefaultValues","uuid","duplicateFieldData","_ref6","questionKinds","fieldWithFallback","defaultAttributeNames","keys","_pick","pick","fields","defaultAttributes","_objectWithoutProperties","_excluded","newQuestionLabel","isRichTextQuestion","omit","fieldsAttributes","getAvailableQuestionKinds","_ref7","_ref7$activeQuestions","isKindAlreadyActive","reject","isSingularKind","isAutoGeneratedQuestion","formatQuestionAttributesForClone","when","HelpText","withT","href","_Fragment","target","AddFirstQuestion","onAdd","isDisabled","disabledAddButtonHelpPopoverProps","_disabledAddButtonHel","helpLinkProps","_disabledAddButtonHel2","NoData","helpText","primaryButtonProps","buildAddQuestionButtonProps","NAME","PHONE","EMAIL","ADDITIONAL_GUESTS","TEXT","TEXTAREA","RICH_TEXT","INTEGER","DECIMAL","STAR_RATING","OPINION_SCALE","RATING","DATE","FILE_UPLOAD","CAPTCHA","SMS_REMINDER","QUESTIONS_WITH_ADDITIONAL_DATA","QUESTIONS_WITH_PLACEHOLDERS","DEFAULT_PLACEHOLDERS","CHECKBOX","what","RADIO","DROPDOWN","INITIAL_VALUES","isSplitMode","minWords","isMinWordsEnabled","VALID_FIELD_CODE_REGEX","DRAFT_ID_PREFIX","useHelpDoc","KindOption","Icon","icon","FormikAdaptiveInput","otherProps","_useFormikContext","useFormikContext","dirty","isValid","submitForm","handleKeyDown","event","shiftKey","preventDefault","isMetaKeyPressed","handleFocus","end","value","setSelectionRange","Textarea","resize","onFocus","onKeyDown","LabelWithPlaceholder","isLabelDisabled","handleLabelChange","_ref$labelProps","labelProps","_ref$placeholderProps","placeholderProps","shouldShowPlaceholder","required","onChange","withEventTargetValue","Name","_useFormikContext$val","usesCustomSubmissionComponent","commonProps","Switch","FIRST_NAME","LAST_NAME","Properties","questionProps","hasAdditionalData","renderAdditionalData","useUpdateEditorContent","editorRef","fieldName","initialStateRef","language","setEditorContent","_editorRef$current$ed","editor","commands","setContent","_useForm","useForm","data","pathArray","split","part","parsedPart","isNaN","Editor","_useField","useField","validate","validateEditorContent","_useField2","_useField2$","touched","error","_useField2$2","setTouched","NeetoEditor","initialValue","onBlur","RequiredSwitch","InputWithMaxLength","maxLength","props","substring","shouldShowMaxLength","Input","FieldCode","helpDocUrl","rejectCharsRegex","FIELD_CODES_REJECT_CHARS_REGEX","components","Link","setMinWords","_useField3","_useField4","setIsMinWordsEnabled","handleToggleChange","isEnabled","MIN_WORDS","checked","MIN_WORDS_SWITCH_LABEL_PROPS","MAX","min","MIN","Form","initialFocusRef","isRequiredField","isDisabledFieldLabel","availableQuestionKinds","kindUniqueOn","_ref$isEdit","isEdit","isFieldCodeInvalid","setIsFieldCodeInvalid","setValues","setErrors","setFieldValue","errors","submitCount","hideQuestionHelpDocUrl","readOnlyHelpDocUrl","responseVisibleOnlyToHostHelpDocUrl","_store$formState4","advancedFeatures","isFieldCodeEnabled","markResponsesAsReadOnly","restrictResponseVisibilityToHost","enforceMinWordsInMultiLineTexts","questionKindUniquenessPattern","mergeLeft","_useStateWithDependen","useStateWithDependency","getQuestionKind","_useStateWithDependen2","_ref2$questionProps","isImmutable","isImmutableField","shouldShowFieldCode","QUESTIONS_WITHOUT_FIELD_CODE","shouldShowHideSwitch","NON_HIDEABLE_FIELDS","canRestrictResponseVisibilityToHost","canMarkResponsesAsReadOnly","NON_READ_ONLY_FIELDS","isTextarea","isBasicSettingsVisible","shouldShowRequiredSwitch","PARAGRAPH","isSettingsBlockVisible","handleKindChange","option","buildQuestionData","updateFormState","isNil","extractKindFromOption","uniqueFieldCode","Pane","Select","isClearable","isSearchable","defaultValue","buildDefaultValueForKind","filterOption","filterKindOption","options","buildKindOptions","formatOptionLabel","context","hideSwitchLabelProps","responseVisibleOnlyToHostSwitchLabelProps","readOnlySwitchLabelProps","Accordion","defaultActiveKey","Item","requiredLabelValidation","schema","field","trim","fieldCodeValidation","matches","richTextFieldMissingErrorMessage","buildLabelValidationSchema","notRequired","RICH_TEXT_QUESTIONS","isEditorEmpty","buildNameLabelValidationSchema","isFullName","buildOpinionScaleLabelValidationSchema","stringSchema","is","then","OPINION_LABEL_MAX_LENGTH","otherwise","yup","formValidationSchema","object","shape","fullNameLabel","firstNameLabel","lastNameLabel","notOneOf","array","of","number","nullable","typeError","highestRatingLabel","averageRatingLabel","lowestRatingLabel","leftOpinionLabel","rightOpinionLabel","Add","_useCreateQuestion","useCreateQuestion","ADD","createQuestion","isCreating","neetoFormQuestion","transformValues","formikProps","initialValues","validationSchema","QuestionForm","Footer","ActionBlock","cancelButtonProps","Edit","_useUpdateQuestion","useUpdateQuestion","updateQuestion","isUpdating","setSubmitting","payload","questionId","EDIT","onSettled","Block","dataTestid","VARIANTS","hidden","opacity","height","overflow","visible","Collapsible","open","_ref$className","AnimatePresence","motion","div","animate","exit","initial","transition","duration","variants","ADDRESS_FIELD_WIDTH_OPTIONS","_defineProperty","ADDRESS_FIELD_WIDTHS","FULL","HALF","ONE_FOURTH","THREE_FOURTH","ADDRESS_FIELD_TYPE_OPTIONS","ADDRESS_FIELD_TYPES","INPUT","SELECT","ADDRESS_FIELD_FORM_VALIDATION_SCHEMA","width","fieldType","properties","unique","ERROR_MESSAGE_DELIMITER","removeDuplicateErrorMessages","pipe","isNotNil","uniq","join","getAddressModalInitialValues","sanitizeAddressField","isSelectField","defaultOptions","hasOptions","pathSatisfies","assocPath","dissoc","formatErrorMessage","ManagePane","selectedFieldId","allFields","generateDefaultOptions","MINIMUM_ADDRESS_FIELDS","editingField","findById","deletedFields","getDeletedRecords","sanitizedField","randomId","newField","altId","nextFields","append","selectedFieldIndex","findIndexById","handleFieldTypeChange","_values$properties","_values$fieldType","Object","OptionFields","draggable","minOptions","submitButtonProps","Address","_findById","isAddressFieldPaneOpen","setIsAddressFieldPaneOpen","_useState3","_useState4","isDeleteAddressFieldAlertOpen","setIsDeleteAddressFieldAlertOpen","_useState5","_useState6","setSelectedFieldId","setFields","handleDelete","getActiveRecords","shouldDestroy","editable","isNewItemsPrefilled","itemLabel","shouldResetEmptyOptionOnBlur","buttonProps","Captcha","Radio","CAPTCHA_TYPES","RECAPTCHA_V2","MATH_CAPTCHA","SwitchBlock","Label","classnames","hyphenate","component","DOMAIN_RESTRICTION_TRANSLATIONS","whitelistedDomains","popoverDescription","blacklistedDomains","EMAIL_VERIFICATION_TRANSLATIONS","STYLES","border","color","MultiValueRemove","innerProps","hyphenize","Close","ValueContainer","getValue","_props$selectProps","selectProps","isFocused","visibleDomainsCount","_children","_toArray","firstChild","rest","shouldCollapse","Tag","ClearIndicator","DELIMITER_KEYS","DOMAIN_SEPARATION_REGEX","FLEXIBLE_DOMAIN_REGEX","VALID_DOMAIN_REGEX","DOMAIN_VALIDATION_SCHEMA","domain","CUSTOM_STYLES","input","multiValue","styles","valid","CUSTOM_COMPONENTS","DropdownIndicator","formatDomainInputOptions","validateSync","_unused","pruneDuplicates","pluck","getValidDomains","domains","getValidDomainsCount","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","entity","Promise","_asyncToGenerator","_regeneratorRuntime","mark","_callee","resolve","wrap","_callee$","_context","prev","next","t0","stop","_x","buildHelpPopoverLabelProps","helpLink","helpIconProps","popoverProps","EmailDomains","_useField2$0$value","meta","formattedDomains","nullSafe","RestrictDomainsBlock","switchName","domainName","isDomainRestrictionEnabled","paths","_useBuildFormStore2","hostSpecificTranslations","_mergeLeft","VerifyEmails","Email","_useFormikContext$val2","isDomainWhitelistingEnabled","_useFormikContext$val3","isDomainBlacklistingEnabled","FileGroup","handleAllowedFileTypesChange","Checkbox","buildFileTypesList","fileTypes","getAllowedFileTypes","isChecked","allowedFileTypes","fileTypesSet","Set","FILE_TYPES_MAP","from","newFileTypes","difference","isFileTypeEnabled","FileUpload","prop","_ref$target","fileType","FILE_GROUPS","OpinionScale","hasOpinionLabels","OPINION_SCALE_MIN_VALUE_OPTIONS","OPINION_SCALE_MAX_VALUE_OPTIONS","Options","isPictureChoiceEnabled","bulkAddHelpDocUrl","_","__","setOptionsAttributes","_ref2$optionLabelProp","optionLabelProps","_ref2$freezeOptions","freezeOptions","_ref2$disableAddOptio","disableAddOption","_ref2$disableRemoveOp","disableRemoveOption","isManageOptionDisabled","isAddOptionDisabled","isRemoveOptionDisabled","isDropdown","isPictureChoice","DEFAULT_CHOICE_QUESTION_ATTRIBUTES","imageHeight","handleImageHeightChange","shouldFitImages","bulkActionProps","enabled","destroyFlagName","isAddOptionEnabled","isDeleteOptionEnabled","MINIMUM_OPTIONS","Slider","IMAGE_HEIGHT_SLIDER_DEFAULTS","RatingItem","Rating","RATING_OPTIONS","StarRating","iconType","setIconType","STAR_RATING_MIN_VALUE_OPTIONS","STAR_RATING_MAX_VALUE_OPTIONS","entries","STAR_RATING_ICONS_MAP","IconType","transformValueForOption","omitDraftId","modifyBy","resolveActionComponent","action","pattern","kinds","searchTerms","rawInput","_option$data$searchTe","_option$data","query","some","term","last","helpUrl","_rest$fields","addressRest","_excluded2","ManageQuestionPane","Component","AddQuestion","addQuestionHelpProps","helpPopoverProps","buildDisabledAddButtonHelpPopoverProps","HelpPopover","onValueChange","isFormEnabled","savedTitle","formTitle","formDescription","helpDocUrls","questionsFromCache","containerRef","setQuestions","setSelectedQuestion","selectedAction","setSelectedAction","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","isDeleteSmsReminderModalOpen","setIsDeleteSmsReminderModalOpen","_useState9","_useState10","isDeleteSpotModalOpen","setIsDeleteSpotModalOpen","_useState11","_useState12","isManageQuestionPaneOpen","setIsManageQuestionPaneOpen","setFormData","CLONE","_useReorderQuestions","useReorderQuestions","_len2","_key2","REORDER","reorderQuestions","debouncedReorderQuestions","useFuncDebounce","handleReorder","neetoFormQuestions","buildReorderPayload","handleAdd","handleEdit","handleClone","attributes","useOnClickOutside","DragDropContext","onDragEnd","orderedQuestions","BuildForm","_ref$isKindAlreadyAct","_ref$getActiveKindDet","getActiveQuestionKindDetails","_ref$isQuestionDeleta","isQuestionDeletable","T","_ref$isFieldRequired","isFieldRequired","F","isFieldLabelDisabled","_ref$formTitle","_ref$availableLanguag","DEFAULT_AVAILABLE_LANGUAGES","_ref$selectedLanguage","_ref$onLanguageChange","_ref$addQuestionHelpP","_ref$disabledAddButto","_ref$additionalAction","_ref$allowAdditionalG","allowAdditionalGuests","_ref$advancedFeatures","DEFAULT_ADVANCED_FEATURES","_ref$usesCustomSubmis","_ref$onMutateSuccess","_ref$canManageQuestio","_ref$isPictureChoiceE","queryClient","useQueryClient","isLoading","isQuestionsPending","QUESTIONS_INITIAL_VALUE","isQuestionsLoading","Spinner","_queryClient$getQuery","getQueryState","QUERY_KEYS","QUESTIONS","dataUpdateCount","setQueryData","either","isMandatoryField","defaultQuestionKinds","QUESTION_KINDS","removeBy","QUESTION_KIND"],"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/DeleteSmsReminderModal.jsx","../app/javascript/src/components/BuildForm/Form/DeleteSpotModal.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/HelpText.jsx","../app/javascript/src/components/BuildForm/AddFirstQuestion/index.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/constants.js","../app/javascript/src/hooks/useHelpDoc.js","../app/javascript/src/components/BuildForm/ManageQuestionPane/KindOption.jsx","../app/javascript/src/components/Common/FormikAdaptiveInput.jsx","../app/javascript/src/components/BuildForm/commons/LabelWithPlaceholder.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Name.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/Properties.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/Questions/Fields/Textarea.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/commons/Block.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Address/Collapsible/constants.js","../app/javascript/src/components/BuildForm/Questions/Fields/Address/Collapsible/index.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Address/constants.js","../app/javascript/src/components/BuildForm/Questions/Fields/Address/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/Address/ManagePane.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Address/index.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Captcha/index.jsx","../app/javascript/src/components/BuildForm/commons/SwitchBlock.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/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/VerifyEmails.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/OpinionScale.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\";\n\nimport { QUESTION_ACTIONS } from \"../constants\";\nimport { INDEPENDENT_LABELS_MAP } from \"../Questions/constants\";\nimport { buildDisplayLabel } from \"../Questions/utils\";\n\nconst DeleteAlert = ({\n selectedQuestion,\n isOpen,\n onClose,\n languagesCount,\n handleSelect,\n}) => {\n const { t } = useTranslation();\n\n const { selectedLanguage, onMutateSuccess } =\n 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 = buildDisplayLabel(selectedQuestion);\n\n return truncate(questionLabel, 40);\n };\n\n const { mutate: deleteQuestion, isPending: isDeleting } = useDeleteQuestion(\n selectedQuestion?.formId,\n selectedLanguage,\n {\n onSuccess: (...args) => {\n showThumbsUpToastr();\n onMutateSuccess?.(QUESTION_ACTIONS.DELETE, ...args);\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 { Typography, Modal } from \"neetoui\";\nimport { path } from \"ramda\";\n\nconst DeleteSmsReminderModal = ({ isOpen, onClose, hostSpecificData = {} }) => (\n <Modal {...{ isOpen, onClose }}>\n <Modal.Header>\n <Typography\n data-testid=\"delete-sms-reminder-modal-header\"\n style=\"h2\"\n weight=\"medium\"\n >\n {path([\"smsReminder\", \"deleteModal\", \"title\"], hostSpecificData)}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Typography\n data-testid=\"delete-sms-reminder-modal-description\"\n style=\"body2\"\n >\n {path([\"smsReminder\", \"deleteModal\", \"description\"], hostSpecificData)}\n </Typography>\n </Modal.Body>\n </Modal>\n);\n\nexport default DeleteSmsReminderModal;\n","import { Typography, Modal } from \"neetoui\";\nimport { path } from \"ramda\";\n\nconst DeleteSpotModal = ({ isOpen, onClose, hostSpecificData = {} }) => {\n const title = path([\"spot\", \"deleteModal\", \"title\"], hostSpecificData);\n const description = path(\n [\"spot\", \"deleteModal\", \"description\"],\n hostSpecificData\n );\n\n return (\n <Modal {...{ isOpen, onClose }}>\n <Modal.Header>\n <Typography\n data-testid=\"delete-spot-modal-header\"\n style=\"h2\"\n weight=\"medium\"\n >\n {title}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Typography data-testid=\"delete-spot-modal-description\" style=\"body2\">\n {description}\n </Typography>\n </Modal.Body>\n </Modal>\n );\n};\n\nexport default DeleteSpotModal;\n","import { findBy } from \"neetocist\";\nimport { Dropdown, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nconst ChangeLanguageDropdown = ({ availableLanguages }) => {\n const { t } = useTranslation();\n\n const { selectedLanguage, onLanguageChange, isReorderingQuestions } =\n useBuildFormStore.pick(\"formState\");\n\n const selectedLanguageName = findBy(\n { code: selectedLanguage },\n availableLanguages\n )?.name;\n\n return (\n <Tooltip content={t(\"neetoForm.questions.changeLanguage\")}>\n <div>\n <Dropdown\n buttonStyle=\"secondary\"\n disabled={isReorderingQuestions}\n label={selectedLanguageName}\n >\n <Dropdown.Menu>\n {availableLanguages.map(({ code, name }) => (\n <Dropdown.MenuItem.Button\n isActive={selectedLanguage === code}\n key={code}\n onClick={() => onLanguageChange(code)}\n >\n {name}\n </Dropdown.MenuItem.Button>\n ))}\n </Dropdown.Menu>\n </Dropdown>\n </div>\n </Tooltip>\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 additionalActionOptions,\n}) => (\n <div className=\"neeto-form-nano-form-wrapper__overview mb-4 w-full shrink-0 space-y-4 pt-6\">\n <div className=\"flex items-center justify-between\">\n <Typography\n data-testid=\"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 shrink-0 items-center justify-between space-x-1\">\n {availableLanguages.length > 1 && (\n <ChangeLanguageDropdown {...{ availableLanguages }} />\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\n data-testid=\"neeto-form-engine-overview-description\"\n style=\"body2\"\n >\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 MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isFunction } from \"utils\";\n\nimport { buildDisplayLabel, isElementOverflowing } from \"./utils\";\n\nconst Card = ({\n question = {},\n allQuestionKinds,\n getActiveKindDetails,\n isActive,\n onSelect,\n onEdit,\n onClone,\n onDelete,\n canManageQuestions,\n extraMenuItems = [],\n}) => {\n const [isTooltipEnabled, setIsTooltipEnabled] = useState(false);\n\n const questionLabelRef = useRef(null);\n\n const { t } = useTranslation();\n\n const { isSingular, icon: KindIcon } = getActiveKindDetails({\n allQuestionKinds,\n item: question,\n });\n\n const questionLabel = buildDisplayLabel(question);\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-testid={`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-2 overflow-hidden 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 grow items-center gap-2\">\n {KindIcon && (\n <KindIcon\n className=\"neeto-ui-text-gray-600 shrink-0\"\n data-testid=\"question-card-kind-icon\"\n size={16}\n />\n )}\n <Tooltip\n content={questionLabel}\n disabled={!isTooltipEnabled}\n position=\"top\"\n >\n <Typography\n className=\"min-w-0 grow truncate\"\n data-testid={`${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 {canManageQuestions && (\n <MoreDropdown\n dropdownButtonProps={{ className: \"shrink-0\" }}\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n \"data-testid\": \"edit-question\",\n key: \"edit\",\n label: t(\"neetoForm.common.edit\"),\n onClick: onEdit,\n },\n {\n \"data-testid\": \"clone-question\",\n key: \"clone\",\n label: t(\"neetoForm.common.clone\"),\n isVisible: !isSingular && isFunction(onClone),\n onClick: onClone,\n },\n ...extraMenuItems,\n {\n \"data-testid\": \"delete-question\",\n key: \"delete\",\n label: t(\"neetoForm.common.delete\"),\n isVisible: isFunction(onDelete),\n onClick: () => onDelete(question),\n },\n ]}\n />\n )}\n </div>\n );\n};\n\nexport default Card;\n","import { Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport Equals from \"neetoicons/Equals\";\nimport { equals } from \"ramda\";\n\nimport Card from \"../Questions/Card\";\n\nconst Questions = ({\n questions,\n isDeletable,\n allQuestionKinds,\n getActiveKindDetails,\n getQuestionMenuExtras,\n selectedQuestion,\n onEdit,\n onClone,\n onDelete,\n onSelect,\n canManageQuestions,\n}) => (\n <Droppable droppableId=\"droppable\" isDropDisabled={!canManageQuestions}>\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 isDragDisabled={!canManageQuestions}\n key={`question-${question.id ?? question.nodeId}`}\n >\n {({ draggableProps, dragHandleProps, innerRef }) => (\n <div\n {...draggableProps}\n className=\"flex items-center gap-1\"\n ref={innerRef}\n >\n {canManageQuestions && (\n <span\n {...dragHandleProps}\n className=\"neeto-ui-text-gray-400 hover:neeto-ui-text-gray-500 shrink-0 cursor-grab transition-all duration-300 ease-in-out\"\n data-testid=\"question-card-drag-handle\"\n >\n <Equals size={16} />\n </span>\n )}\n <div className=\"min-w-0 grow\">\n <Card\n {...{\n allQuestionKinds,\n canManageQuestions,\n getActiveKindDetails,\n onClone,\n onEdit,\n onSelect,\n question,\n }}\n extraMenuItems={getQuestionMenuExtras?.(question) ?? []}\n isActive={equals(selectedQuestion, question)}\n onDelete={isDeletable(question) && onDelete}\n />\n </div>\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 { existsBy, 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 { LABEL_FIELDS } from \"components/Common/constants\";\nimport { QUESTION_TYPES } from \"components/constants\";\nimport { fieldWithFallback, isNameQuestion } from \"utils\";\n\nimport {\n NON_BASIC_LATIN_CHARACTERS_REGEX,\n RESERVED_FIELD_CODES,\n SELECTABLE_KINDS,\n SPOT_QUESTION_FIELD_CODE,\n} from \"../constants\";\nimport {\n isAutoGeneratedQuestion,\n isDefaultLanguage,\n isRichTextQuestion,\n renameKey,\n} from \"../utils\";\n\nconst isChoiceQuestion = question => includes(question?.kind, SELECTABLE_KINDS);\nconst isAddressQuestion = question => question?.kind === QUESTION_TYPES.ADDRESS;\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 if (kind === QUESTION_TYPES.SPOT) {\n return SPOT_QUESTION_FIELD_CODE;\n }\n\n let prefix;\n\n if (\n isNameQuestion(kind) ||\n NON_BASIC_LATIN_CHARACTERS_REGEX.test(label) ||\n isEmpty(label)\n ) {\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 (isNameQuestion(kind)) {\n return renameKey(LABEL_FIELDS.DEFAULT, LABEL_FIELDS.FULL_NAME, values);\n }\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\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 existsBy({ kind: kind.type }, activeQuestions);\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\n setValue(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 ...(typeof isRequired === \"boolean\" && { 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 { fields, ...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 fieldsAttributes: fields && fields.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 question => isChoiceQuestion(question) || isAddressQuestion(question),\n assoc(\"isCloning\", true)\n);\n","import { withT } from \"neetocommons/react-utils\";\nimport { Button } from \"neetoui\";\n\nconst HelpText = withT(({ t, href }) => (\n <>\n {t(\"neetoForm.questions.common.helpText.learnAbout\")}{\" \"}\n <Button\n {...{ href }}\n label={t(\"neetoForm.questions.common.helpText.howToAddNewQuestions\")}\n style=\"link\"\n target=\"_blank\"\n />\n </>\n));\n\nexport default HelpText;\n","import { isPresent } from \"neetocist\";\nimport { NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport HelpText from \"./HelpText\";\n\nimport { buildAddQuestionButtonProps } from \"../utils\";\n\nconst AddFirstQuestion = ({\n onAdd,\n isDisabled,\n disabledAddButtonHelpPopoverProps,\n}) => {\n const { t } = useTranslation();\n\n const { helpLinkProps: { href } = {} } = disabledAddButtonHelpPopoverProps;\n\n return (\n <div className=\"flex h-full flex-col items-center justify-center py-8\">\n <NoData\n className=\"min-h-80\"\n helpText={isPresent(href) ? <HelpText {...{ href }} /> : null}\n primaryButtonProps={buildAddQuestionButtonProps(onAdd, isDisabled)}\n title={t(\"neetoForm.questions.common.noData\")}\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 OPINION_SCALE,\n RATING,\n DATE,\n FILE_UPLOAD,\n CAPTCHA,\n SMS_REMINDER,\n ADDRESS,\n} = QUESTION_TYPES;\n\nexport const QUESTIONS_WITH_ADDITIONAL_DATA = [\n ...SELECTABLE_KINDS,\n STAR_RATING,\n OPINION_SCALE,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n ADDRESS,\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 = {\n kind: \"\",\n label: \"\",\n fieldCode: \"\",\n isSplitMode: false,\n minWords: null,\n isMinWordsEnabled: false,\n};\n\nexport const VALID_FIELD_CODE_REGEX = /^[a-z0-9]+(_[a-z0-9]+)*$/;\n\nexport const DRAFT_ID_PREFIX = \"draft-\";\n","import { path } from \"ramda\";\n\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nconst useHelpDoc = key =>\n useBuildFormStore(path([\"formState\", \"helpDocUrls\", key]));\n\nexport default useHelpDoc;\n","import { Typography } from \"neetoui\";\n\nconst KindOption = ({ label, description, icon: Icon }) => (\n <div className=\"flex items-start gap-2\">\n {Icon && (\n <Icon\n className=\"neeto-ui-text-gray-700 mt-0.5 shrink-0\"\n data-testid=\"kind-option-icon\"\n size={16}\n />\n )}\n <div className=\"flex min-w-0 flex-col\">\n <Typography style=\"body2\">{label}</Typography>\n {description && (\n <Typography\n className=\"neeto-ui-text-gray-600 mt-0.5\"\n data-testid=\"kind-option-description\"\n style=\"body3\"\n >\n {description}\n </Typography>\n )}\n </div>\n </div>\n);\n\nexport default KindOption;\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 { withEventTargetValue } from \"neetocommons/utils\";\nimport { includes } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n DEFAULT_PLACEHOLDERS,\n QUESTIONS_WITH_PLACEHOLDERS,\n} from \"components/BuildForm/ManageQuestionPane/constants\";\nimport FormikAdaptiveInput from \"components/Common/FormikAdaptiveInput\";\n\nconst LabelWithPlaceholder = ({\n kind,\n isLabelDisabled,\n handleLabelChange,\n labelProps = {},\n placeholderProps = {},\n}) => {\n const { t } = useTranslation();\n\n const shouldShowPlaceholder = includes(kind, QUESTIONS_WITH_PLACEHOLDERS);\n\n return (\n <div className=\"space-y-4\">\n <FormikAdaptiveInput\n required\n disabled={isLabelDisabled}\n label={t(\"neetoForm.questions.common.questionFields.field.question\")}\n name=\"label\"\n placeholder={DEFAULT_PLACEHOLDERS[kind]}\n onChange={withEventTargetValue(handleLabelChange)}\n {...labelProps}\n />\n {shouldShowPlaceholder && (\n <FormikAdaptiveInput\n className={`neeto-form-nano-placeholder-input neeto-form-nano-placeholder-input-${kind}`}\n name=\"placeholder\"\n label={t(\n \"neetoForm.questions.common.questionFields.field.placeholder\"\n )}\n {...placeholderProps}\n />\n )}\n </div>\n );\n};\n\nexport default LabelWithPlaceholder;\n","import { useFormikContext } from \"formik\";\nimport { Switch } from \"neetoui/formik\";\nimport { path } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { LABEL_FIELDS } from \"components/Common/constants\";\nimport { QUESTION_TYPES } from \"components/constants\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport LabelWithPlaceholder from \"../../commons/LabelWithPlaceholder\";\n\nconst Name = ({ isLabelDisabled, handleLabelChange }) => {\n const {\n values: { isSplitMode = false },\n } = useFormikContext();\n\n const { t } = useTranslation();\n\n const usesCustomSubmissionComponent = useBuildFormStore(\n path([\"formState\", \"usesCustomSubmissionComponent\"])\n );\n\n const commonProps = { kind: QUESTION_TYPES.NAME, isLabelDisabled };\n\n return (\n <div className=\"space-y-4\">\n {!usesCustomSubmissionComponent && (\n <Switch\n label={t(\"neetoForm.common.splitAsFirstAndLastNames\")}\n name=\"isSplitMode\"\n />\n )}\n {isSplitMode && !usesCustomSubmissionComponent ? (\n <>\n <LabelWithPlaceholder\n {...commonProps}\n handleLabelChange={value =>\n handleLabelChange(value, LABEL_FIELDS.FIRST_NAME)\n }\n labelProps={{\n label: t(\n \"neetoForm.questions.common.questionFields.field.firstNameQuestion\"\n ),\n name: LABEL_FIELDS.FIRST_NAME,\n }}\n placeholderProps={{\n label: t(\n \"neetoForm.questions.common.questionFields.field.firstNamePlaceholder\"\n ),\n name: \"firstNamePlaceholder\",\n }}\n />\n <LabelWithPlaceholder\n {...commonProps}\n handleLabelChange={value =>\n handleLabelChange(value, LABEL_FIELDS.LAST_NAME)\n }\n labelProps={{\n label: t(\n \"neetoForm.questions.common.questionFields.field.lastNameQuestion\"\n ),\n name: LABEL_FIELDS.LAST_NAME,\n }}\n placeholderProps={{\n label: t(\n \"neetoForm.questions.common.questionFields.field.lastNamePlaceholder\"\n ),\n name: \"lastNamePlaceholder\",\n }}\n />\n </>\n ) : (\n <LabelWithPlaceholder\n {...commonProps}\n labelProps={{ name: LABEL_FIELDS.FULL_NAME }}\n placeholderProps={{ name: \"fullNamePlaceholder\" }}\n handleLabelChange={value =>\n handleLabelChange(value, LABEL_FIELDS.FULL_NAME)\n }\n />\n )}\n </div>\n );\n};\n\nexport default Name;\n","import { includes } from \"ramda\";\n\nimport useBuildFormStore from \"src/stores/buildForm\";\nimport { isNameQuestion } from \"utils\";\n\nimport { QUESTIONS_WITH_ADDITIONAL_DATA } from \"./constants\";\nimport { renderAdditionalData } from \"./utils\";\n\nimport LabelWithPlaceholder from \"../commons/LabelWithPlaceholder\";\nimport Name from \"../Questions/Fields/Name\";\n\nconst Properties = ({\n kind,\n isLabelDisabled,\n handleLabelChange,\n questionProps,\n}) => {\n const { usesCustomSubmissionComponent } = useBuildFormStore.pick(\"formState\");\n\n const hasAdditionalData = includes(kind, QUESTIONS_WITH_ADDITIONAL_DATA);\n\n if (isNameQuestion(kind)) {\n return <Name {...{ handleLabelChange, isLabelDisabled }} />;\n }\n\n return (\n <div className=\"space-y-4\">\n <LabelWithPlaceholder {...{ handleLabelChange, isLabelDisabled, kind }} />\n {hasAdditionalData &&\n renderAdditionalData({\n kind,\n questionProps,\n usesCustomSubmissionComponent,\n })}\n </div>\n );\n};\n\nexport default Properties;\n","import { useEffect, useRef } from \"react\";\n\nimport { path } from \"ramda\";\n\nimport { useForm } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nconst useUpdateEditorContent = ({ editorRef, fieldName, value }) => {\n const initialStateRef = useRef({ language: \"\", value: null });\n\n const { formId, selectedLanguage: language } =\n useBuildFormStore.pick(\"formState\");\n\n const setEditorContent = content =>\n editorRef.current.editor?.commands?.setContent(content);\n\n const { data } = useForm({ 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 } 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 fieldName = \"label\";\n\n const [{ value }, { touched, error }, { setTouched, setValue }] = useField({\n name: fieldName,\n validate: validateEditorContent(editorRef),\n });\n\n useUpdateEditorContent({ editorRef, fieldName, value });\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 } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport Input from \"components/Common/InputWithMaxLength\";\nimport useHelpDoc from \"hooks/useHelpDoc\";\n\nimport { FIELD_CODES_REJECT_CHARS_REGEX } from \"./constants\";\n\nconst FieldCode = () => {\n const helpDocUrl = useHelpDoc(\"fieldCode\");\n\n const { t } = useTranslation();\n\n return (\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 );\n};\n\nexport default FieldCode;\n","import { useField } from \"formik\";\nimport { Switch } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MIN_WORDS, MIN_WORDS_SWITCH_LABEL_PROPS } from \"./constants\";\n\nconst Textarea = () => {\n const { t } = useTranslation();\n const [, , { setValue: setMinWords }] = useField(\"minWords\");\n\n const [{ value: isMinWordsEnabled }, , { setValue: setIsMinWordsEnabled }] =\n useField(\"isMinWordsEnabled\");\n\n const handleToggleChange = () => {\n const isEnabled = !isMinWordsEnabled;\n setIsMinWordsEnabled(isEnabled);\n setMinWords(isEnabled ? MIN_WORDS.DEFAULT : null);\n };\n\n return (\n <div className=\"flex flex-col gap-2\">\n <Switch\n checked={isMinWordsEnabled}\n label={t(\"neetoForm.questions.textarea.minimumWords\")}\n labelProps={MIN_WORDS_SWITCH_LABEL_PROPS}\n onChange={handleToggleChange}\n />\n {isMinWordsEnabled && (\n <Input\n className=\"w-42 ms-14\"\n max={MIN_WORDS.MAX}\n min={MIN_WORDS.MIN}\n name=\"minWords\"\n type=\"number\"\n />\n )}\n </div>\n );\n};\n\nexport default Textarea;\n","import { useEffect, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isPresent } from \"neetocist\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport { Pane, Accordion } from \"neetoui\";\nimport { Select, Switch } from \"neetoui/formik\";\nimport { includes, isNil, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { LABEL_FIELDS } from \"components/Common/constants\";\nimport { QUESTION_TYPES } from \"components/constants\";\nimport useHelpDoc from \"hooks/useHelpDoc\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport { INITIAL_VALUES } from \"./constants\";\nimport KindOption from \"./KindOption\";\nimport Properties from \"./Properties\";\nimport {\n buildDefaultValueForKind,\n buildKindOptions,\n extractKindFromOption,\n filterKindOption,\n getQuestionKind,\n hideSwitchLabelProps,\n readOnlySwitchLabelProps,\n responseVisibleOnlyToHostSwitchLabelProps,\n} from \"./utils\";\n\nimport Editor from \"../commons/Editor\";\nimport RequiredSwitch from \"../commons/RequiredSwitch\";\nimport {\n NON_HIDEABLE_FIELDS,\n NON_READ_ONLY_FIELDS,\n QUESTIONS_WITHOUT_FIELD_CODE,\n} from \"../constants\";\nimport { createFieldData, generateUniqueFieldCode } from \"../Form/utils\";\nimport FieldCode from \"../Questions/FieldCode\";\nimport Textarea from \"../Questions/Fields/Textarea\";\nimport { isImmutableField, isRichTextQuestion } from \"../utils\";\n\nconst Form = ({\n questions,\n initialFocusRef,\n isRequiredField,\n isDisabledFieldLabel,\n allQuestionKinds,\n availableQuestionKinds,\n getActiveKindDetails,\n kindUniqueOn,\n isEdit = false,\n}) => {\n const [isFieldCodeInvalid, setIsFieldCodeInvalid] = useState(false);\n const { t } = useTranslation();\n\n const {\n values,\n setValues,\n setErrors,\n setTouched,\n setFieldValue,\n errors,\n submitCount,\n } = useFormikContext();\n\n const hideQuestionHelpDocUrl = useHelpDoc(\"hideQuestion\");\n const readOnlyHelpDocUrl = useHelpDoc(\"readOnly\");\n const responseVisibleOnlyToHostHelpDocUrl = useHelpDoc(\n \"responseVisibleOnlyToHost\"\n );\n\n const {\n advancedFeatures,\n selectedLanguage,\n isUsingDefaultQuestionKinds,\n usesCustomSubmissionComponent,\n } = useBuildFormStore.pick(\"formState\");\n\n const {\n fieldCode: isFieldCodeEnabled,\n markResponsesAsReadOnly,\n restrictResponseVisibilityToHost,\n enforceMinWordsInMultiLineTexts,\n } = advancedFeatures;\n\n const { kind } = values;\n\n const questionKinds = isEdit ? allQuestionKinds : availableQuestionKinds;\n\n const questionKindUniquenessPattern = mergeLeft(\n isEdit && kindUniqueOn ? kindUniqueOn(values) : {},\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 useEffect(() => {\n if (submitCount > 0 && isPresent(errors?.fieldCode)) {\n setIsFieldCodeInvalid(true);\n }\n }, [submitCount]);\n\n const isRequired = questionKind && isRequiredField(questionKind);\n const isLabelDisabled = questionKind && isDisabledFieldLabel(questionKind);\n const isImmutable = questionKind && isImmutableField(questionKind);\n const shouldShowFieldCode =\n isFieldCodeEnabled && !includes(kind, QUESTIONS_WITHOUT_FIELD_CODE);\n\n const shouldShowHideSwitch =\n isFieldCodeEnabled &&\n !usesCustomSubmissionComponent &&\n !includes(kind, NON_HIDEABLE_FIELDS);\n\n const canRestrictResponseVisibilityToHost =\n restrictResponseVisibilityToHost && !includes(kind, NON_HIDEABLE_FIELDS);\n\n const canMarkResponsesAsReadOnly =\n markResponsesAsReadOnly && !includes(kind, NON_READ_ONLY_FIELDS);\n\n const isTextarea = kind === QUESTION_TYPES.TEXTAREA;\n\n const isBasicSettingsVisible =\n !isRequired && (!isImmutable || shouldShowHideSwitch);\n\n const shouldShowRequiredSwitch =\n isBasicSettingsVisible &&\n !isImmutable &&\n !includes(kind, [\n QUESTION_TYPES.PARAGRAPH,\n QUESTION_TYPES.ADDRESS,\n QUESTION_TYPES.SPOT,\n ]);\n\n const isSettingsBlockVisible =\n kind !== QUESTION_TYPES.SPOT &&\n (isBasicSettingsVisible || canMarkResponsesAsReadOnly || isTextarea);\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, name = LABEL_FIELDS.DEFAULT) => {\n setFieldValue(name, 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 filterOption={filterKindOption}\n innerRef={initialFocusRef}\n isDisabled={isEdit}\n name=\"kind\"\n options={buildKindOptions(questionKinds)}\n formatOptionLabel={(option, { context }) =>\n context === \"menu\" ? <KindOption {...option} /> : option.label\n }\n label={t(\n \"neetoForm.questions.common.questionFields.field.questionType\"\n )}\n onChange={handleKindChange}\n />\n {isRichTextQuestion(kind) ? (\n <>\n <Editor {...{ isLabelDisabled }} />\n {shouldShowRequiredSwitch && <RequiredSwitch />}\n </>\n ) : (\n <div className=\"space-y-4\">\n <Properties\n {...{ handleLabelChange, isLabelDisabled, kind, questionProps }}\n />\n {isSettingsBlockVisible && (\n <div className=\"space-y-4\" data-testid=\"settings-card\">\n {isBasicSettingsVisible && (\n <>\n {shouldShowRequiredSwitch && <RequiredSwitch />}\n {shouldShowHideSwitch && (\n <Switch\n label={t(\"neetoForm.common.hideQuestion\")}\n name=\"isHidden\"\n labelProps={hideSwitchLabelProps(\n hideQuestionHelpDocUrl\n )}\n />\n )}\n {canRestrictResponseVisibilityToHost && (\n <Switch\n label={t(\"neetoForm.common.responseVisibleOnlyToHost\")}\n name=\"isResponseVisibleOnlyToHost\"\n labelProps={responseVisibleOnlyToHostSwitchLabelProps(\n responseVisibleOnlyToHostHelpDocUrl\n )}\n />\n )}\n </>\n )}\n {canMarkResponsesAsReadOnly && (\n <Switch\n label={t(\"neetoForm.common.readOnly\")}\n labelProps={readOnlySwitchLabelProps(readOnlyHelpDocUrl)}\n name=\"isReadOnly\"\n />\n )}\n {isTextarea && enforceMinWordsInMultiLineTexts && <Textarea />}\n </div>\n )}\n {shouldShowFieldCode && (\n <Accordion\n className=\"neeto-form-nano-advanced-properties-accordion\"\n data-testid=\"advanced-properties-card\"\n defaultActiveKey={isFieldCodeInvalid ? 0 : null} // This is to open the accordion when field code is invalid\n >\n <Accordion.Item\n title={t(\"neetoForm.common.advancedProperties\")}\n >\n <div className=\"flex flex-col space-y-4\">\n {shouldShowFieldCode && <FieldCode />}\n </div>\n </Accordion.Item>\n </Accordion>\n )}\n </div>\n )}\n </div>\n </Pane.Body>\n );\n};\n\nexport default Form;\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { equals, includes } from \"ramda\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\nimport { isNameQuestion } from \"utils\";\nimport yup from \"utils/yup\";\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\";\nimport {\n MIN_WORDS,\n OPINION_LABEL_MAX_LENGTH,\n} from \"../Questions/Fields/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\nconst buildLabelValidationSchema = (kind, schema) => {\n if (isNameQuestion(kind)) {\n return schema.notRequired();\n }\n\n return 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\nconst buildNameLabelValidationSchema = (\n question,\n schema,\n isFullName = false\n) => {\n const isRequired = isFullName ? !question.isSplitMode : question.isSplitMode;\n\n return isNameQuestion(question.kind) && isRequired\n ? requiredLabelValidation(\n schema,\n t(\"neetoForm.questions.common.questionFields.field.question\")\n )\n : schema.notRequired();\n};\n\nconst buildOpinionScaleLabelValidationSchema = label =>\n stringSchema.when(\"hasOpinionLabels\", {\n is: true,\n then: requiredLabelValidation(stringSchema, label).max(\n OPINION_LABEL_MAX_LENGTH,\n t(\"neetoForm.error.mustBeOrLessThanOrEqualTo\", {\n value: OPINION_LABEL_MAX_LENGTH,\n })\n ),\n otherwise: stringSchema.notRequired(),\n });\n\nconst stringSchema = yup.string();\n\nexport const formValidationSchema = (question, isFieldCodeEnabled = 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.string().when(\"kind\", buildLabelValidationSchema),\n fullNameLabel: buildNameLabelValidationSchema(question, stringSchema, true),\n firstNameLabel: buildNameLabelValidationSchema(question, stringSchema),\n lastNameLabel: buildNameLabelValidationSchema(question, stringSchema),\n fieldCode: yup\n .string()\n .trim()\n .notOneOf(RESERVED_FIELD_CODES, t(\"neetoForm.error.invalidFieldCode\"))\n .when(\"kind\", (kind, schema) =>\n isFieldCodeEnabled && !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 fields: yup.array().when(\"kind\", (kind, schema) =>\n kind === QUESTION_TYPES.ADDRESS\n ? schema.of(\n yup.object().shape({\n label: yup.string().when(\"_destroy\", {\n is: true,\n otherwise: yup\n .string()\n .trim()\n .required(t(\"neetoForm.error.allFieldsRequired\")),\n }),\n })\n )\n : schema.notRequired()\n ),\n minWords: yup\n .number()\n .nullable()\n .when(\n [\"kind\", \"isMinWordsEnabled\"],\n (kind, isMinWordsEnabled, schema) => {\n if (kind !== QUESTION_TYPES.TEXTAREA) return schema.notRequired();\n\n if (!isMinWordsEnabled) return schema.notRequired();\n\n return schema\n .typeError(t(\"neetoForm.questions.textarea.minimumWordsMinError\"))\n .required(t(\"neetoForm.questions.textarea.minimumWordsMinError\"))\n .min(\n MIN_WORDS.MIN,\n t(\"neetoForm.questions.textarea.minimumWordsMinError\")\n )\n .max(\n MIN_WORDS.MAX,\n t(\"neetoForm.questions.textarea.minimumWordsMaxError\")\n );\n }\n ),\n highestRatingLabel: yup.string().nullable(),\n averageRatingLabel: yup.string().nullable(),\n lowestRatingLabel: yup.string().nullable(),\n leftOpinionLabel: buildOpinionScaleLabelValidationSchema(\n t(\"neetoForm.questions.opinionScale.leftLabel\")\n ),\n rightOpinionLabel: buildOpinionScaleLabelValidationSchema(\n t(\"neetoForm.questions.opinionScale.rightLabel\")\n ),\n });\n","import { findBy } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form } from \"neetoui/formik\";\nimport { mergeLeft, path } 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 { transformValues } from \"./utils\";\nimport { formValidationSchema } from \"./validations\";\n\nimport { QUESTION_ACTIONS } from \"../constants\";\n\nconst Add = ({\n question,\n onClose,\n questions,\n handleSelect,\n isOpen,\n ...props\n}) => {\n const {\n formId,\n selectedLanguage: language,\n onMutateSuccess,\n } = useBuildFormStore.pick(\"formState\");\n\n const isFieldCodeEnabled = useBuildFormStore(\n path([\"advancedFeatures\", \"fieldCode\"])\n );\n\n const { t } = useTranslation();\n\n const { mutate: createQuestion, isPending: isCreating } = useCreateQuestion(\n formId,\n language,\n {\n onSuccess: (...args) => {\n onMutateSuccess?.(QUESTION_ACTIONS.ADD, ...args);\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 }, transformValues(values)),\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-testid=\"add-question-pane-header\" style=\"h2\">\n {t(\"neetoForm.questions.common.primaryPanel.addQuestion\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: INITIAL_VALUES,\n validationSchema: formValidationSchema(\n INITIAL_VALUES,\n isFieldCodeEnabled\n ),\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 { isPresent } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form } from \"neetoui/formik\";\nimport { path } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport QuestionForm from \"./Form\";\nimport { transformValues } from \"./utils\";\nimport { formValidationSchema } from \"./validations\";\n\nimport { QUESTION_ACTIONS } from \"../constants\";\n\nconst Edit = ({ question, isOpen, onClose, ...props }) => {\n const { t } = useTranslation();\n\n const { selectedLanguage: language, onMutateSuccess } =\n useBuildFormStore.pick(\"formState\");\n\n const isFieldCodeEnabled = useBuildFormStore(\n path([\"advancedFeatures\", \"fieldCode\"])\n );\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: transformValues(values) };\n updateQuestion(\n { questionId: question.id, payload },\n {\n onSuccess: (...args) => {\n onMutateSuccess?.(QUESTION_ACTIONS.EDIT, ...args);\n showThumbsUpToastr();\n onClose();\n },\n onSettled: () => setSubmitting(false),\n }\n );\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-testid=\"edit-question-pane-header\" style=\"h2\">\n {t(\"neetoForm.questions.common.editQuestion\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: {\n ...question,\n isMinWordsEnabled: isPresent(question.minWords),\n },\n validationSchema: formValidationSchema(question, isFieldCodeEnabled),\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 { Typography } from \"neetoui\";\n\nconst Block = ({ title, children, dataTestid }) => (\n <div className=\"mt-4 space-y-3\" data-testid={dataTestid}>\n <div\n className=\"flex items-center justify-between\"\n data-testid=\"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","export const VARIANTS = {\n hidden: { opacity: 0, height: 0, overflow: \"hidden\" },\n visible: { opacity: 1, height: \"auto\" },\n};\n","import { motion, AnimatePresence } from \"framer-motion\";\n\nimport { VARIANTS } from \"./constants\";\n\nconst Collapsible = ({ open, className = \"\", children, ...otherProps }) => (\n <AnimatePresence>\n {open && (\n <motion.div\n animate=\"visible\"\n exit=\"hidden\"\n initial=\"hidden\"\n transition={{ duration: 0.3 }}\n variants={VARIANTS}\n {...otherProps}\n >\n <div {...{ className }}>{children}</div>\n </motion.div>\n )}\n </AnimatePresence>\n);\n\nexport default Collapsible;\n","import { t } from \"i18next\";\n\nimport yup from \"utils/yup\";\n\nimport { ADDRESS_FIELD_TYPES, ADDRESS_FIELD_WIDTHS } from \"../constants\";\n\nexport const ADDRESS_FIELD_WIDTH_OPTIONS = {\n [ADDRESS_FIELD_WIDTHS.FULL]: {\n label: t(\"neetoForm.questions.address.widths.full\"),\n value: ADDRESS_FIELD_WIDTHS.FULL,\n },\n [ADDRESS_FIELD_WIDTHS.HALF]: {\n label: t(\"neetoForm.questions.address.widths.half\"),\n value: ADDRESS_FIELD_WIDTHS.HALF,\n },\n [ADDRESS_FIELD_WIDTHS.ONE_FOURTH]: {\n label: t(\"neetoForm.questions.address.widths.oneFourth\"),\n value: ADDRESS_FIELD_WIDTHS.ONE_FOURTH,\n },\n [ADDRESS_FIELD_WIDTHS.THREE_FOURTH]: {\n label: t(\"neetoForm.questions.address.widths.threeFourth\"),\n value: ADDRESS_FIELD_WIDTHS.THREE_FOURTH,\n },\n};\n\nexport const ADDRESS_FIELD_TYPE_OPTIONS = {\n [ADDRESS_FIELD_TYPES.INPUT]: {\n label: t(\"neetoForm.questions.address.types.textInput\"),\n value: ADDRESS_FIELD_TYPES.INPUT,\n },\n [ADDRESS_FIELD_TYPES.SELECT]: {\n label: t(\"neetoForm.questions.address.types.dropdown\"),\n value: ADDRESS_FIELD_TYPES.SELECT,\n },\n};\n\nexport const ADDRESS_FIELD_FORM_VALIDATION_SCHEMA = yup.object().shape({\n label: yup\n .string()\n .trim()\n .required(\n t(\"neetoForm.error.requiredField\", {\n label: t(\"neetoForm.questions.common.questionFields.field.label\"),\n })\n ),\n width: yup\n .object()\n .nullable()\n .required(\n t(\"neetoForm.error.requiredField\", {\n label: t(\"neetoForm.questions.address.width\"),\n })\n ),\n fieldType: yup\n .object()\n .nullable()\n .required(\n t(\"neetoForm.error.requiredField\", {\n label: t(\"neetoForm.questions.address.type\"),\n })\n ),\n properties: yup.object().shape({\n options: yup\n .array()\n .of(\n yup.object().shape({\n label: yup.string().required(\n t(\"neetoForm.error.requiredField\", {\n label: t(\"neetoForm.common.option\"),\n })\n ),\n })\n )\n .unique(\"label\", t(\"neetoForm.error.removeDuplicates\")),\n }),\n});\n\nexport const ERROR_MESSAGE_DELIMITER = \". \";\n","import { isPresent } from \"neetocist\";\nimport {\n assocPath,\n dissoc,\n filter,\n isNotNil,\n join,\n map,\n pathSatisfies,\n pipe,\n uniq,\n values,\n} from \"ramda\";\n\nimport {\n ADDRESS_FIELD_TYPE_OPTIONS,\n ADDRESS_FIELD_WIDTH_OPTIONS,\n ERROR_MESSAGE_DELIMITER,\n} from \"./constants\";\n\nimport { ADDRESS_FIELD_TYPES, ADDRESS_FIELD_WIDTHS } from \"../constants\";\n\nconst removeDuplicateErrorMessages = pipe(\n filter(isNotNil),\n map(values),\n uniq,\n join(ERROR_MESSAGE_DELIMITER)\n);\n\nexport const getAddressModalInitialValues = field =>\n field\n ? {\n ...field,\n width: ADDRESS_FIELD_WIDTH_OPTIONS[field.width],\n fieldType: ADDRESS_FIELD_TYPE_OPTIONS[field.fieldType],\n }\n : {\n label: \"\",\n isRequired: false,\n width: ADDRESS_FIELD_WIDTH_OPTIONS[ADDRESS_FIELD_WIDTHS.FULL],\n fieldType: ADDRESS_FIELD_TYPE_OPTIONS[ADDRESS_FIELD_TYPES.INPUT],\n };\n\nexport const sanitizeAddressField = (field, isSelectField, defaultOptions) => {\n const hasOptions = pathSatisfies(isPresent, [\"properties\", \"options\"], field);\n\n if (isSelectField && !hasOptions) {\n return assocPath([\"properties\", \"options\"], defaultOptions, field);\n }\n\n if (!isSelectField && hasOptions) {\n return dissoc(\"properties\", field);\n }\n\n return field;\n};\n\nexport const formatErrorMessage = error => {\n if (typeof error === \"string\") return error;\n\n return removeDuplicateErrorMessages(error);\n};\n","import { useField } from \"formik\";\nimport { findById, findIndexById, isNotPresent } from \"neetocist\";\nimport OptionFields from \"neetomolecules/OptionFields\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Select, Switch } from \"neetoui/formik\";\nimport { append, assoc, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MINIMUM_ADDRESS_FIELDS } from \"components/BuildForm/constants\";\nimport { generateDefaultOptions, randomId } from \"components/BuildForm/utils\";\n\nimport Collapsible from \"./Collapsible\";\nimport {\n ADDRESS_FIELD_FORM_VALIDATION_SCHEMA,\n ADDRESS_FIELD_TYPE_OPTIONS,\n ADDRESS_FIELD_WIDTH_OPTIONS,\n} from \"./constants\";\nimport { getAddressModalInitialValues, sanitizeAddressField } from \"./utils\";\n\nimport { ADDRESS_FIELD_TYPES } from \"../constants\";\nimport { getDeletedRecords } from \"../utils\";\n\nconst ManagePane = ({\n isOpen,\n selectedFieldId,\n onClose,\n title,\n fields,\n initialFocusRef,\n}) => {\n const [{ value: allFields }, , { setValue }] = useField(\"fields\");\n const { t } = useTranslation();\n\n const defaultOptions = generateDefaultOptions(MINIMUM_ADDRESS_FIELDS);\n\n const editingField = findById(selectedFieldId, fields);\n const initialValues = getAddressModalInitialValues(editingField);\n\n const handleSubmit = ({ width, fieldType, ...field }) => {\n const deletedFields = getDeletedRecords(allFields);\n const isSelectField = fieldType.value === ADDRESS_FIELD_TYPES.SELECT;\n const sanitizedField = sanitizeAddressField(\n field,\n isSelectField,\n defaultOptions\n );\n\n if (isNil(selectedFieldId)) {\n const position = fields.length;\n const id = `draft-${randomId()}`;\n const newField = {\n id,\n ...sanitizedField,\n altId: `alt-${randomId()}`,\n position,\n width: width.value,\n fieldType: fieldType.value,\n };\n const nextFields = append(newField, fields);\n setValue([...nextFields, ...deletedFields]);\n } else {\n const selectedFieldIndex = findIndexById(selectedFieldId, fields);\n\n setValue(\n assoc(\n selectedFieldIndex,\n {\n ...sanitizedField,\n width: width.value,\n fieldType: fieldType.value,\n },\n [...fields, ...deletedFields]\n )\n );\n }\n onClose();\n };\n\n const handleFieldTypeChange = (setFieldValue, values) => fieldType => {\n setFieldValue(\"fieldType\", fieldType);\n\n if (\n fieldType.value === ADDRESS_FIELD_TYPES.SELECT &&\n isNotPresent(values.properties?.options)\n ) {\n setFieldValue(\"properties.options\", defaultOptions);\n }\n };\n\n return (\n <Pane {...{ initialFocusRef, isOpen, onClose }}>\n <Pane.Header>\n <Typography\n data-testid=\"add-address-field-title\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues,\n validationSchema: ADDRESS_FIELD_FORM_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n {({ values, setFieldValue }) => (\n <>\n <Pane.Body>\n <div className=\"w-full space-y-6\">\n <Input\n name=\"label\"\n ref={initialFocusRef}\n label={t(\n \"neetoForm.questions.common.questionFields.field.label\"\n )}\n placeholder={t(\n \"neetoForm.questions.address.fieldLabelPlaceholder\"\n )}\n />\n <div className=\"grid grid-cols-2 gap-6\">\n <Select\n label={t(\"neetoForm.questions.address.width\")}\n name=\"width\"\n options={Object.values(ADDRESS_FIELD_WIDTH_OPTIONS)}\n />\n <Select\n label={t(\"neetoForm.questions.address.type\")}\n name=\"fieldType\"\n options={Object.values(ADDRESS_FIELD_TYPE_OPTIONS)}\n onChange={handleFieldTypeChange(setFieldValue, values)}\n />\n </div>\n <Collapsible\n open={values?.fieldType?.value === ADDRESS_FIELD_TYPES.SELECT}\n >\n <div className=\"flex flex-col\">\n <OptionFields\n draggable\n minOptions={MINIMUM_ADDRESS_FIELDS}\n name=\"properties.options\"\n />\n </div>\n </Collapsible>\n <div className=\"flex items-center gap-4\">\n <Switch\n label={t(\"neetoForm.common.required\")}\n name=\"isRequired\"\n />\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <div className=\"flex items-center gap-2\">\n <ActionBlock\n className=\"flex gap-x-2\"\n cancelButtonProps={{\n type: \"reset\",\n onClick: onClose,\n disabled: false,\n }}\n submitButtonProps={{\n label: t(\"neetoForm.common.saveChanges\"),\n }}\n />\n </div>\n </Pane.Footer>\n </>\n )}\n </Form>\n </Pane>\n );\n};\n\nexport default ManagePane;\n","import { useRef, useState } from \"react\";\n\nimport { useField } from \"formik\";\nimport { findById, findIndexById } from \"neetocist\";\nimport OptionFields from \"neetomolecules/OptionFields\";\nimport { Alert } from \"neetoui\";\nimport { assocPath, isNotNil } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport Block from \"components/BuildForm/commons/Block\";\nimport { MINIMUM_ADDRESS_FIELDS } from \"components/BuildForm/constants\";\nimport { isDefaultLanguage } from \"components/BuildForm/utils\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport ManagePane from \"./ManagePane\";\nimport { formatErrorMessage } from \"./utils\";\n\nimport { getActiveRecords, getDeletedRecords } from \"../utils\";\n\nconst Address = () => {\n const [isAddressFieldPaneOpen, setIsAddressFieldPaneOpen] = useState(false);\n const [isDeleteAddressFieldAlertOpen, setIsDeleteAddressFieldAlertOpen] =\n useState(false);\n const [selectedFieldId, setSelectedFieldId] = useState(null);\n\n const initialFocusRef = useRef(null);\n\n const { t } = useTranslation();\n\n const { selectedLanguage } = useBuildFormStore.pick(\"formState\");\n\n const name = \"fields\";\n const [{ value: fields }, { error, touched }, { setValue: setFields }] =\n useField(name);\n\n const handleDelete = () => {\n const deletedFields = getDeletedRecords(fields);\n let nextFields = getActiveRecords(fields);\n const selectedFieldIndex = findIndexById(selectedFieldId, nextFields);\n\n nextFields = assocPath([selectedFieldIndex, \"deleted\"], true, nextFields);\n\n setFields([...nextFields, ...deletedFields]);\n };\n\n return (\n <>\n <Block\n dataTestid=\"address-fields-block\"\n title={t(\"neetoForm.questions.address.fields\")}\n >\n <div>\n <OptionFields\n {...{ name }}\n draggable\n shouldDestroy\n editable={false}\n isNewItemsPrefilled={isDefaultLanguage(selectedLanguage)}\n itemLabel={t(\"neetoForm.common.field\")}\n minOptions={MINIMUM_ADDRESS_FIELDS}\n shouldResetEmptyOptionOnBlur={false}\n buttonProps={{\n label: t(\"neetoForm.questions.address.addField\"),\n onClick: () => setIsAddressFieldPaneOpen(true),\n }}\n onDelete={id => {\n setSelectedFieldId(id);\n setIsDeleteAddressFieldAlertOpen(true);\n }}\n onEdit={id => {\n setSelectedFieldId(id);\n setIsAddressFieldPaneOpen(true);\n }}\n />\n {touched && error && (\n <p\n className=\"neeto-form-engine-input__error\"\n data-testid=\"neeto-form-engine-address-fields-error\"\n >\n {formatErrorMessage(error)}\n </p>\n )}\n </div>\n </Block>\n <ManagePane\n {...{ initialFocusRef, selectedFieldId }}\n fields={getActiveRecords(fields)}\n isOpen={isAddressFieldPaneOpen}\n title={\n isNotNil(selectedFieldId)\n ? t(\"neetoForm.questions.address.editField\")\n : t(\"neetoForm.questions.address.addField\")\n }\n onClose={() => {\n setIsAddressFieldPaneOpen(false);\n setSelectedFieldId(null);\n }}\n />\n <Alert\n isOpen={isDeleteAddressFieldAlertOpen}\n submitButtonLabel={t(\"neetoForm.common.delete\")}\n title={t(\"neetoForm.questions.address.deleteAlert.title\")}\n message={\n <Trans\n i18nKey=\"neetoForm.questions.address.deleteAlert.message\"\n values={{\n label: findById(selectedFieldId, fields)?.label,\n }}\n />\n }\n onClose={() => {\n setIsDeleteAddressFieldAlertOpen(false);\n setSelectedFieldId(null);\n }}\n onSubmit={() => {\n setIsDeleteAddressFieldAlertOpen(false);\n handleDelete();\n setSelectedFieldId(null);\n }}\n />\n </>\n );\n};\n\nexport default Address;\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-testid={`neeto-form-engine-${hyphenate(title && name)}-toggle-label`}\n >\n <Switch\n {...{ ...otherProps, name }}\n data-testid={`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 { 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\nexport const EMAIL_VERIFICATION_TRANSLATIONS = {\n title: t(\"neetoForm.emailVerification.label\"),\n popoverDescription: t(\"neetoForm.emailVerification.popoverDescription\"),\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\";\n\nimport yup from \"utils/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-testid\"]: `${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-testid\"]: \"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-testid\"]: \"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-testid={`${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-testid={`${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-testid={`${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\";\n\nimport yup from \"utils/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\nexport const buildHelpPopoverLabelProps = (popoverDescription, helpLink) => ({\n helpIconProps: {\n \"data-testid\": \"help-popover-button\",\n popoverProps: {\n description: popoverDescription,\n ...(helpLink && {\n helpLinkProps: {\n href: helpLink,\n label: t(\"neetoForm.common.viewHelpArticle\"),\n },\n }),\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 { mergeLeft, paths } from \"ramda\";\n\nimport SwitchBlock from \"components/BuildForm/commons/SwitchBlock\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport { DOMAIN_RESTRICTION_TRANSLATIONS } from \"./constants\";\nimport EmailDomains from \"./EmailDomains\";\nimport { buildHelpPopoverLabelProps } from \"./utils\";\n\nconst RestrictDomainsBlock = ({\n switchName,\n domainName,\n isDomainRestrictionEnabled,\n}) => {\n const [helpLink, hostSpecificTranslations] = useBuildFormStore(\n paths([\n [\"formState\", \"helpDocUrls\", domainName],\n [\"formState\", \"hostSpecificData\", domainName],\n ])\n );\n\n const { title, description, popoverDescription } = mergeLeft(\n hostSpecificTranslations,\n DOMAIN_RESTRICTION_TRANSLATIONS[domainName]\n );\n\n return (\n <div\n className=\"flex flex-col space-y-4\"\n data-testid={`${hyphenate(switchName)}-container`}\n >\n <SwitchBlock\n label={title}\n labelProps={buildHelpPopoverLabelProps(popoverDescription, helpLink)}\n name={switchName}\n />\n {isDomainRestrictionEnabled && (\n <EmailDomains label={description} name={domainName} />\n )}\n </div>\n );\n};\n\nexport default RestrictDomainsBlock;\n","import { Switch } from \"neetoui/formik\";\nimport { mergeLeft, paths } from \"ramda\";\n\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport { EMAIL_VERIFICATION_TRANSLATIONS } from \"./constants\";\nimport { buildHelpPopoverLabelProps } from \"./utils\";\n\nconst VerifyEmails = () => {\n const [helpLink, hostSpecificTranslations] = useBuildFormStore(\n paths([\n [\"formState\", \"helpDocUrls\", \"emailVerification\"],\n [\"formState\", \"hostSpecificData\", \"emailVerification\"],\n ])\n );\n\n const { title, popoverDescription } = mergeLeft(\n hostSpecificTranslations,\n EMAIL_VERIFICATION_TRANSLATIONS\n );\n\n return (\n <div data-testid=\"email-verification-switch-container\">\n <Switch\n label={title}\n labelProps={buildHelpPopoverLabelProps(popoverDescription, helpLink)}\n name=\"isVerificationEnabled\"\n />\n </div>\n );\n};\n\nexport default VerifyEmails;\n","import { useFormikContext } from \"formik\";\n\nimport RestrictDomainsBlock from \"./RestrictDomainsBlock\";\nimport VerifyEmails from \"./VerifyEmails\";\n\nconst Email = ({ usesCustomSubmissionComponent }) => {\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 {!usesCustomSubmissionComponent && (\n <>\n <RestrictDomainsBlock\n domainName=\"whitelistedDomains\"\n isDomainRestrictionEnabled={isDomainWhitelistingEnabled}\n switchName=\"isDomainWhitelistingEnabled\"\n />\n <RestrictDomainsBlock\n domainName=\"blacklistedDomains\"\n isDomainRestrictionEnabled={isDomainBlacklistingEnabled}\n switchName=\"isDomainBlacklistingEnabled\"\n />\n <VerifyEmails />\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-testid={`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 { useFormikContext } from \"formik\";\nimport { Input, Select, Switch } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n OPINION_LABEL_MAX_LENGTH,\n OPINION_SCALE_MAX_VALUE_OPTIONS,\n OPINION_SCALE_MIN_VALUE_OPTIONS,\n} from \"./constants\";\n\nconst OpinionScale = () => {\n const { t } = useTranslation();\n\n const {\n setFieldValue,\n values: { hasOpinionLabels = false },\n } = useFormikContext();\n\n return (\n <>\n <div className=\"flex space-x-4\">\n <Select\n className=\"w-1/2\"\n data-testid=\"neeto-form-engine-opinion-scale-min-value\"\n label={t(\"neetoForm.common.start\")}\n name=\"minValue\"\n options={OPINION_SCALE_MIN_VALUE_OPTIONS}\n onChange={option => setFieldValue(\"minValue\", option?.value)}\n />\n <Select\n className=\"w-1/2\"\n data-testid=\"neeto-form-engine-opinion-scale-max-value\"\n label={t(\"neetoForm.common.end\")}\n name=\"maxValue\"\n options={OPINION_SCALE_MAX_VALUE_OPTIONS}\n onChange={option => setFieldValue(\"maxValue\", option?.value)}\n />\n </div>\n <Switch\n data-testid=\"neeto-form-engine-opinion-scale-show-labels-switch\"\n label={t(\"neetoForm.questions.opinionScale.showLabels\")}\n name=\"hasOpinionLabels\"\n />\n {hasOpinionLabels && (\n <div className=\"flex space-x-4\">\n <Input\n className=\"w-1/2\"\n data-testid=\"neeto-form-engine-opinion-scale-left-label\"\n label={t(\"neetoForm.questions.opinionScale.leftLabel\")}\n maxLength={OPINION_LABEL_MAX_LENGTH}\n name=\"leftOpinionLabel\"\n />\n <Input\n className=\"w-1/2\"\n data-testid=\"neeto-form-engine-opinion-scale-right-label\"\n label={t(\"neetoForm.questions.opinionScale.rightLabel\")}\n maxLength={OPINION_LABEL_MAX_LENGTH}\n name=\"rightOpinionLabel\"\n />\n </div>\n )}\n </>\n );\n};\n\nexport default OpinionScale;\n","import classnames from \"classnames\";\nimport { useField, useFormikContext } from \"formik\";\nimport OptionFields from \"neetomolecules/OptionFields\";\nimport { Label, Slider, Typography } from \"neetoui\";\nimport { Switch } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isDefaultLanguage } from \"components/BuildForm/utils\";\nimport { QUESTION_TYPES } from \"components/constants\";\nimport useHelpDoc from \"hooks/useHelpDoc\";\nimport useBuildFormStore from \"src/stores/buildForm\";\nimport { isFunction } from \"utils\";\n\nimport { IMAGE_HEIGHT_SLIDER_DEFAULTS } from \"./constants\";\n\nimport { MINIMUM_OPTIONS } from \"../../constants\";\nimport { DEFAULT_CHOICE_QUESTION_ATTRIBUTES } from \"../constants\";\n\nconst Options = ({ questionProps }) => {\n const { t } = useTranslation();\n\n const { selectedLanguage, isPictureChoiceEnabled } =\n useBuildFormStore.pick(\"formState\");\n const bulkAddHelpDocUrl = useHelpDoc(\"bulkAddOptions\");\n const { values, setFieldValue } = useFormikContext();\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 const isDropdown = values.kind === QUESTION_TYPES.DROPDOWN;\n\n const isPictureChoice =\n isPictureChoiceEnabled &&\n !isDropdown &&\n (values.isPictureChoice ||\n DEFAULT_CHOICE_QUESTION_ATTRIBUTES.isPictureChoice);\n\n const imageHeight =\n values.imageHeight || DEFAULT_CHOICE_QUESTION_ATTRIBUTES.imageHeight;\n\n const handleImageHeightChange = value => {\n setFieldValue(\"imageHeight\", value);\n };\n\n return (\n <div className=\"w-full space-y-4\">\n <div>\n <Label className=\"mb-2 block\" {...optionLabelProps}>\n {t(\"neetoForm.questions.common.questionFields.field.options\")}\n </Label>\n <div\n className={classnames([\n \"neeto-form-engine-fields-wrapper\",\n {\n \"neeto-form-engine-fields-wrapper--fit-image\":\n values.shouldFitImages,\n },\n ])}\n style={{\n \"--neeto-form-engine-picture-choice-image-height\": `${values.imageHeight}px`,\n }}\n >\n <OptionFields\n {...{ isPictureChoice, name }}\n shouldDestroy\n bulkActionProps={{ enabled: true, bulkAddHelpDocUrl }}\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 </div>\n {!isDropdown && isPictureChoiceEnabled && (\n <div className=\"space-y-4\">\n <Switch\n name=\"isPictureChoice\"\n label={t(\n \"neetoForm.questions.common.questionFields.field.addPicturesToOptions\"\n )}\n />\n {isPictureChoice && (\n <>\n <Switch\n name=\"shouldFitImages\"\n label={t(\n \"neetoForm.questions.common.questionFields.field.fitImages\"\n )}\n labelProps={{\n helpIconProps: {\n \"data-testid\": \"fit-images-help-popover-button\",\n popoverProps: {\n position: \"top\",\n description: t(\n \"neetoForm.questions.common.questionFields.field.fitImagesHelpDescription\"\n ),\n },\n },\n }}\n />\n <div className=\"mt-4\">\n <Typography style=\"body2\" weight=\"medium\">\n {t(\n \"neetoForm.questions.common.questionFields.field.imageHeight\"\n )}\n </Typography>\n <Slider\n max={IMAGE_HEIGHT_SLIDER_DEFAULTS.max}\n min={IMAGE_HEIGHT_SLIDER_DEFAULTS.min}\n value={imageHeight}\n onChange={handleImageHeightChange}\n />\n </div>\n </>\n )}\n </div>\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-testid={`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-testid=\"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-testid=\"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-testid={`neeto-form-engine-star-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, modifyBy, slugify } from \"neetocist\";\nimport { assoc, equals, last, map, omit, pipe, split, startsWith } from \"ramda\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\n\nimport Add from \"./Add\";\nimport { DRAFT_ID_PREFIX } from \"./constants\";\nimport Edit from \"./Edit\";\n\nimport { QUESTION_ACTIONS } from \"../constants\";\nimport Address from \"../Questions/Fields/Address\";\nimport Captcha from \"../Questions/Fields/Captcha\";\nimport Email from \"../Questions/Fields/Email\";\nimport FileUpload from \"../Questions/Fields/FileUpload\";\nimport OpinionScale from \"../Questions/Fields/OpinionScale\";\nimport Options from \"../Questions/Fields/Options\";\nimport Rating from \"../Questions/Fields/Rating\";\nimport StarRating from \"../Questions/Fields/StarRating\";\nimport { renameKey } from \"../utils\";\n\nconst {\n CHECKBOX,\n RADIO,\n DROPDOWN,\n STAR_RATING,\n OPINION_SCALE,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n ADDRESS,\n} = QUESTION_TYPES;\n\nconst transformValueForOption = ({ label, type }) =>\n `${slugify(label)}-${type}`;\n\nconst omitDraftId = modifyBy({ id: startsWith(DRAFT_ID_PREFIX) }, omit([\"id\"]));\n\nexport const renderAdditionalData = ({\n kind,\n questionProps,\n usesCustomSubmissionComponent,\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 OPINION_SCALE:\n return <OpinionScale />;\n case FILE_UPLOAD:\n return <FileUpload />;\n case CAPTCHA:\n return <Captcha />;\n case ADDRESS:\n return <Address />;\n case EMAIL:\n return (\n !usesCustomSubmissionComponent && (\n <Email {...{ usesCustomSubmissionComponent }} />\n )\n );\n\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, icon, description, searchTerms }) => ({\n label,\n value: transformValueForOption({ label, type }),\n icon,\n description,\n searchTerms,\n }));\n\nexport const filterKindOption = (option, rawInput) => {\n const query = rawInput?.trim().toLowerCase();\n if (!query) return true;\n\n const searchTerms = option.data?.searchTerms ?? [];\n\n return searchTerms.some(term => term.includes(query));\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 \"data-testid\": \"help-popover-button\",\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\nexport const responseVisibleOnlyToHostSwitchLabelProps = helpUrl => ({\n helpIconProps: {\n \"data-testid\": \"help-popover-button\",\n popoverProps: {\n description: t(\n \"neetoForm.questions.common.questionFields.field.responseVisibleOnlyToHostHelpDescription\"\n ),\n helpLinkProps: {\n href: helpUrl,\n label: t(\"neetoForm.common.viewHelpArticle\"),\n },\n },\n },\n});\n\nexport const readOnlySwitchLabelProps = helpUrl => ({\n helpIconProps: {\n \"data-testid\": \"help-popover-button\",\n popoverProps: {\n description: t(\n \"neetoForm.questions.common.questionFields.field.readOnlyHelpDescription\"\n ),\n helpLinkProps: helpUrl\n ? {\n href: helpUrl,\n label: t(\"neetoForm.common.viewHelpArticle\"),\n }\n : undefined,\n },\n },\n});\n\nexport const transformValues = ({ minWords, ...values }) => {\n const rest = omit([\"isMinWordsEnabled\"], values);\n switch (rest.kind) {\n case QUESTION_TYPES.TEXTAREA:\n return { ...rest, minWords: minWords ?? \"\" };\n case QUESTION_TYPES.ADDRESS: {\n const { fields = [], ...addressRest } = rest;\n\n return {\n ...addressRest,\n fieldsAttributes: map(\n renameKey(\"deleted\", \"_destroy\"),\n omitDraftId(fields)\n ),\n };\n }\n default:\n return rest;\n }\n};\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 { isPresent } from \"neetocist\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Button } from \"neetoui\";\n\nimport {\n buildAddQuestionButtonProps,\n buildDisabledAddButtonHelpPopoverProps,\n} from \"../utils\";\n\nconst AddQuestion = ({\n onAdd,\n disabledAddButtonHelpPopoverProps,\n isDisabled,\n addQuestionHelpProps,\n}) => {\n const helpPopoverProps = isDisabled\n ? buildDisabledAddButtonHelpPopoverProps(disabledAddButtonHelpPopoverProps)\n : {};\n\n return (\n <div className=\"mb-8 flex w-full items-center gap-x-1\">\n <Button {...buildAddQuestionButtonProps(onAdd, isDisabled)} />\n {isDisabled && <HelpPopover {...helpPopoverProps} />}\n {isPresent(addQuestionHelpProps) && !isDisabled && (\n <span>\n <HelpPopover {...addQuestionHelpProps} />\n </span>\n )}\n </div>\n );\n};\nexport default AddQuestion;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { DragDropContext } from \"@hello-pangea/dnd\";\nimport { findBy, isPresent } from \"neetocist\";\nimport {\n useFuncDebounce,\n useOnClickOutside,\n useStateWithDependency,\n} from \"neetocommons/react-utils\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { isEmpty, mergeLeft, prop } from \"ramda\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\nimport { useCreateQuestion, useReorderQuestions } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport DeleteAlert from \"./DeleteAlert\";\nimport DeleteSmsReminderModal from \"./DeleteSmsReminderModal\";\nimport DeleteSpotModal from \"./DeleteSpotModal\";\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 } from \"../constants\";\nimport ManageQuestionPane from \"../ManageQuestionPane\";\nimport AddQuestion from \"../Questions/AddQuestion\";\nimport { buildReorderPayload } from \"../utils\";\n\nconst Form = ({\n questionKinds,\n onValueChange,\n formId,\n isDeletable,\n isRequiredField,\n isKindAlreadyActive,\n getActiveKindDetails,\n isDisabledFieldLabel,\n disabledAddButtonHelpPopoverProps,\n isFormEnabled,\n canManageQuestions,\n savedTitle,\n formTitle,\n formDescription,\n selectedLanguage,\n availableLanguages,\n onLanguageChange,\n additionalActionOptions,\n kindUniqueOn,\n helpDocUrls,\n hostSpecificData,\n addQuestionHelpProps,\n isUsingDefaultQuestionKinds,\n usesCustomSubmissionComponent,\n questionsFromCache,\n onMutateSuccess,\n advancedFeatures,\n isPictureChoiceEnabled,\n getQuestionMenuExtras,\n}) => {\n const containerRef = useRef();\n\n const [questions, setQuestions] = useStateWithDependency(questionsFromCache);\n const [selectedQuestion, setSelectedQuestion] = useState({});\n const [selectedAction, setSelectedAction] = useState(\"\");\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isDeleteSmsReminderModalOpen, setIsDeleteSmsReminderModalOpen] =\n useState(false);\n const [isDeleteSpotModalOpen, setIsDeleteSpotModalOpen] = useState(false);\n\n const [isManageQuestionPaneOpen, setIsManageQuestionPaneOpen] =\n useState(false);\n\n const setFormData = useBuildFormStore(prop(\"setFormData\"));\n\n const { mutate: createQuestion } = useCreateQuestion(\n formId,\n selectedLanguage,\n {\n onSuccess: (...args) => {\n onMutateSuccess?.(QUESTION_ACTIONS.CLONE, ...args);\n showThumbsUpToastr();\n },\n }\n );\n\n const { mutate: reorderQuestions } = useReorderQuestions(\n formId,\n selectedLanguage,\n {\n onSuccess: (...args) => {\n onMutateSuccess?.(QUESTION_ACTIONS.REORDER, ...args);\n setFormData({ isReorderingQuestions: false });\n },\n }\n );\n\n const debouncedReorderQuestions = useFuncDebounce(reorderQuestions, 1000);\n\n const handleReorder = questions => {\n const payload = {\n neetoFormQuestions: {\n questions: buildReorderPayload(questions),\n },\n language: selectedLanguage,\n };\n setFormData({ isReorderingQuestions: true });\n debouncedReorderQuestions(payload);\n };\n\n useEffect(() => {\n setFormData({\n formId,\n enabled: isFormEnabled,\n title: savedTitle,\n selectedLanguage,\n helpDocUrls,\n isUsingDefaultQuestionKinds,\n usesCustomSubmissionComponent,\n hostSpecificData,\n onMutateSuccess,\n advancedFeatures,\n onLanguageChange,\n isPictureChoiceEnabled,\n });\n }, [\n formId,\n isFormEnabled,\n savedTitle,\n setFormData,\n selectedLanguage,\n helpDocUrls,\n isUsingDefaultQuestionKinds,\n usesCustomSubmissionComponent,\n hostSpecificData,\n onMutateSuccess,\n advancedFeatures,\n onLanguageChange,\n isPictureChoiceEnabled,\n ]);\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 };\n\n createQuestion(payload, {\n onSuccess: ({ questions }) => {\n const newQuestion = findBy({ displayOrder }, questions);\n handleSelect(newQuestion);\n },\n });\n };\n\n const handleDelete = question => {\n if (question.kind === QUESTION_TYPES.SMS_REMINDER) {\n setIsDeleteSmsReminderModalOpen(true);\n } else if (question.kind === QUESTION_TYPES.SPOT) {\n setIsDeleteSpotModalOpen(true);\n } else {\n setIsDeleteAlertOpen(true);\n }\n };\n\n useOnClickOutside(containerRef, () => handleSelect({}), {\n enabled: !(\n isDeleteAlertOpen ||\n isManageQuestionPaneOpen ||\n isDeleteSmsReminderModalOpen ||\n isDeleteSpotModalOpen\n ),\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 return (\n <>\n <DeleteAlert\n {...{ handleSelect, selectedQuestion }}\n isOpen={isDeleteAlertOpen}\n languagesCount={availableLanguages.length}\n onClose={() => setIsDeleteAlertOpen(false)}\n />\n <DeleteSmsReminderModal\n {...{ hostSpecificData }}\n isOpen={isDeleteSmsReminderModalOpen}\n onClose={() => setIsDeleteSmsReminderModalOpen(false)}\n />\n <DeleteSpotModal\n {...{ hostSpecificData }}\n isOpen={isDeleteSpotModalOpen}\n onClose={() => setIsDeleteSpotModalOpen(false)}\n />\n <div className=\"neeto-form-nano-form-wrapper flex h-full flex-col\">\n {formTitle && (\n <Overview\n {...{ additionalActionOptions, availableLanguages }}\n description={formDescription}\n title={formTitle}\n />\n )}\n <div className=\"neeto-form-nano-form-wrapper__body min-h-0 w-full grow space-y-6 overflow-y-auto pb-6\">\n {isPresent(questions) ? (\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: orderedQuestions => {\n setQuestions(orderedQuestions);\n handleReorder(orderedQuestions);\n },\n })\n }\n >\n <Questions\n {...{\n canManageQuestions,\n getActiveKindDetails,\n getQuestionMenuExtras,\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 {canManageQuestions && (\n <div className=\"mb-8 flex w-full items-center gap-x-1\">\n <AddQuestion\n {...{\n addQuestionHelpProps,\n disabledAddButtonHelpPopoverProps,\n }}\n isDisabled={isEmpty(availableQuestionKinds)}\n onAdd={handleAdd}\n />\n </div>\n )}\n </div>\n ) : (\n <AddFirstQuestion\n {...{ disabledAddButtonHelpPopoverProps }}\n isDisabled={\n isEmpty(availableQuestionKinds) || !canManageQuestions\n }\n onAdd={handleAdd}\n />\n )}\n </div>\n <ManageQuestionPane\n {...{\n availableQuestionKinds,\n getActiveKindDetails,\n handleSelect,\n isDisabledFieldLabel,\n isRequiredField,\n kindUniqueOn,\n questions,\n }}\n action={selectedAction}\n allQuestionKinds={questionKinds}\n isOpen={isManageQuestionPaneOpen}\n question={selectedQuestion}\n onClose={() => setIsManageQuestionPaneOpen(false)}\n />\n </div>\n </>\n );\n};\n\nexport default Form;\n","import { useQueryClient } from \"@tanstack/react-query\";\nimport classNames from \"classnames\";\nimport { noop, removeBy } from \"neetocist\";\nimport { Spinner } from \"neetoui\";\nimport { assoc, either, F, isNil, T } from \"ramda\";\n\nimport { QUERY_KEYS } from \"common/constants\";\nimport { QUESTION_KIND } from \"components/ExternalForm/constants\";\nimport { useForm } from \"hooks/useFormApi\";\n\nimport {\n DEFAULT_ADVANCED_FEATURES,\n DEFAULT_AVAILABLE_LANGUAGES,\n QUESTIONS_INITIAL_VALUE,\n} from \"./constants\";\nimport Form from \"./Form\";\nimport { isQuestionKindAlreadyActive } from \"./Form/utils\";\nimport { QUESTION_KINDS } from \"./Questions/constants\";\nimport { getActiveQuestionKindDetails } from \"./Questions/utils\";\nimport { isImmutableField, isMandatoryField } from \"./utils\";\n\nconst BuildForm = ({\n id,\n questionKinds,\n isKindAlreadyActive = isQuestionKindAlreadyActive,\n getActiveKindDetails = getActiveQuestionKindDetails,\n kindUniqueOn,\n isQuestionDeletable = T,\n isFieldRequired = F,\n isFieldLabelDisabled,\n formTitle = \"\",\n formDescription,\n availableLanguages = DEFAULT_AVAILABLE_LANGUAGES,\n selectedLanguage = \"en\",\n onLanguageChange = noop,\n addQuestionHelpProps = {},\n disabledAddButtonHelpPopoverProps = {},\n additionalActionOptions = [],\n allowAdditionalGuests = false,\n advancedFeatures = DEFAULT_ADVANCED_FEATURES,\n helpDocUrls,\n className,\n usesCustomSubmissionComponent = false,\n onMutateSuccess = noop,\n hostSpecificData,\n canManageQuestions = false,\n isPictureChoiceEnabled = false,\n getQuestionMenuExtras,\n}) => {\n const queryClient = useQueryClient();\n\n const {\n data,\n isLoading,\n isPending: isQuestionsPending,\n } = useForm({ formId: id, language: selectedLanguage });\n\n const {\n enabled: isFormEnabled,\n title: savedTitle,\n questions: questionsFromCache,\n isQuestionsLoading,\n } = data || QUESTIONS_INITIAL_VALUE;\n\n if (isLoading || (isQuestionsLoading && !isQuestionsPending)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center py-6\">\n <Spinner />\n </div>\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 isRequiredField = either(isMandatoryField, isFieldRequired);\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 <Form\n {...{\n addQuestionHelpProps,\n additionalActionOptions,\n advancedFeatures,\n availableLanguages,\n canManageQuestions,\n disabledAddButtonHelpPopoverProps,\n formDescription,\n formTitle,\n getActiveKindDetails,\n getQuestionMenuExtras,\n helpDocUrls,\n hostSpecificData,\n isDisabledFieldLabel,\n isFormEnabled,\n isKindAlreadyActive,\n isPictureChoiceEnabled,\n isRequiredField,\n isUsingDefaultQuestionKinds,\n kindUniqueOn,\n onLanguageChange,\n onMutateSuccess,\n onValueChange,\n questionsFromCache,\n savedTitle,\n selectedLanguage,\n usesCustomSubmissionComponent,\n }}\n formId={id}\n isDeletable={isQuestionDeletable}\n questionKinds={\n isUsingDefaultQuestionKinds ? defaultQuestionKinds : questionKinds\n }\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","_store$formState2","selectedLanguage","onMutateSuccess","shallow","renderQuestionLabel","questionKind","kind","independentLabel","INDEPENDENT_LABELS_MAP","isPresent","questionLabel","buildDisplayLabel","truncate","_useDeleteQuestion","useDeleteQuestion","formId","onSuccess","showThumbsUpToastr","_len","arguments","length","args","Array","_key","apply","QUESTION_ACTIONS","DELETE","concat","deleteQuestion","mutate","isDeleting","isPending","selectNextQuestion","questions","selectedQuestionIndex","displayOrder","wasLastQuestion","equals","newDisplayOrder","newQuestion","findBy","handleSubmit","id","_ref2","_jsx","Alert","isSubmitting","submitButtonLabel","title","message","Trans","i18nKey","values","count","label","onSubmit","DeleteSmsReminderModal","_ref$hostSpecificData","hostSpecificData","_jsxs","Modal","children","Header","Typography","style","weight","path","Body","DeleteSpotModal","description","ChangeLanguageDropdown","_findBy","availableLanguages","_store$formState3","onLanguageChange","isReorderingQuestions","selectedLanguageName","code","name","Tooltip","content","Dropdown","buttonStyle","disabled","Menu","map","MenuItem","Button","isActive","onClick","Overview","additionalActionOptions","className","lineHeight","MoreDropdown","dropdownButtonProps","isRounded","dropdownProps","strategy","position","menuItems","Card","_ref$question","question","allQuestionKinds","getActiveKindDetails","onSelect","onEdit","onClone","onDelete","canManageQuestions","_ref$extraMenuItems","extraMenuItems","_useState","useState","_useState2","_slicedToArray","isTooltipEnabled","setIsTooltipEnabled","questionLabelRef","useRef","_getActiveKindDetails","item","isSingular","KindIcon","icon","useEffect","element","current","isNotPresent","isElementOverflowing","slugify","classNames","size","ref","key","isVisible","isFunction","_toConsumableArray","Questions","isDeletable","getQuestionMenuExtras","Droppable","droppableId","isDropDisabled","droppableProps","placeholder","innerRef","_objectSpread","index","_question$id","_question$id2","_createElement","Draggable","draggableId","nodeId","isDragDisabled","_ref3","_getQuestionMenuExtra","draggableProps","dragHandleProps","Equals","moveItem","arr","sourceIndex","destinationIndex","undefined","removedItem","splice","arrayHelpers","isChoiceQuestion","includes","SELECTABLE_KINDS","isAddressQuestion","QUESTION_TYPES","ADDRESS","underscoredWithoutSpecialCharacters","string","toLowerCase","replace","addSuffixForReservedFieldCode","fieldCode","RESERVED_FIELD_CODES","getUniqueNumbersFromExistingFieldCodes","prefix","filter","startsWith","parseInt","generateFieldCodePrefix","SPOT","SPOT_QUESTION_FIELD_CODE","isNameQuestion","NON_BASIC_LATIN_CHARACTERS_REGEX","test","isEmpty","sanitizedLabel","slice","modifyDefaultValues","isUsingDefaultQuestionKinds","renameKey","LABEL_FIELDS","DEFAULT","FULL_NAME","isDefaultLanguage","evolve","optionsAttributes","assoc","generateUniqueFieldCode","_ref2$label","_ref2$kind","uniqueNumber","Math","max","candidateFieldCode","isQuestionKindAlreadyActive","activeQuestions","existsBy","type","handleFieldDragEnd","_ref4","items","setValue","source","destination","nextItems","orderedItems","createFieldData","_ref5","_ref5$kind","defaults","metadata","_ref5$isRequired","isRequired","modifiedDefaultValues","uuid","duplicateFieldData","_ref6","questionKinds","fieldWithFallback","defaultAttributeNames","keys","_pick","pick","fields","defaultAttributes","_objectWithoutProperties","_excluded","newQuestionLabel","isRichTextQuestion","omit","fieldsAttributes","getAvailableQuestionKinds","_ref7","_ref7$activeQuestions","isKindAlreadyActive","reject","isSingularKind","isAutoGeneratedQuestion","formatQuestionAttributesForClone","when","HelpText","withT","href","_Fragment","target","AddFirstQuestion","onAdd","isDisabled","disabledAddButtonHelpPopoverProps","_disabledAddButtonHel","helpLinkProps","_disabledAddButtonHel2","NoData","helpText","primaryButtonProps","buildAddQuestionButtonProps","NAME","PHONE","EMAIL","ADDITIONAL_GUESTS","TEXT","TEXTAREA","RICH_TEXT","INTEGER","DECIMAL","STAR_RATING","OPINION_SCALE","RATING","DATE","FILE_UPLOAD","CAPTCHA","SMS_REMINDER","QUESTIONS_WITH_ADDITIONAL_DATA","QUESTIONS_WITH_PLACEHOLDERS","DEFAULT_PLACEHOLDERS","CHECKBOX","what","RADIO","DROPDOWN","INITIAL_VALUES","isSplitMode","minWords","isMinWordsEnabled","VALID_FIELD_CODE_REGEX","DRAFT_ID_PREFIX","useHelpDoc","KindOption","Icon","FormikAdaptiveInput","otherProps","_useFormikContext","useFormikContext","dirty","isValid","submitForm","handleKeyDown","event","shiftKey","preventDefault","isMetaKeyPressed","handleFocus","end","value","setSelectionRange","Textarea","resize","onFocus","onKeyDown","LabelWithPlaceholder","isLabelDisabled","handleLabelChange","_ref$labelProps","labelProps","_ref$placeholderProps","placeholderProps","shouldShowPlaceholder","required","onChange","withEventTargetValue","Name","_useFormikContext$val","usesCustomSubmissionComponent","commonProps","Switch","FIRST_NAME","LAST_NAME","Properties","questionProps","hasAdditionalData","renderAdditionalData","useUpdateEditorContent","editorRef","fieldName","initialStateRef","language","setEditorContent","_editorRef$current$ed","editor","commands","setContent","_useForm","useForm","data","pathArray","split","part","parsedPart","isNaN","Editor","_useField","useField","validate","validateEditorContent","_useField2","_useField2$","touched","error","_useField2$2","setTouched","NeetoEditor","initialValue","onBlur","RequiredSwitch","InputWithMaxLength","maxLength","props","substring","shouldShowMaxLength","Input","FieldCode","helpDocUrl","rejectCharsRegex","FIELD_CODES_REJECT_CHARS_REGEX","components","Link","setMinWords","_useField3","_useField4","setIsMinWordsEnabled","handleToggleChange","isEnabled","MIN_WORDS","checked","MIN_WORDS_SWITCH_LABEL_PROPS","MAX","min","MIN","Form","initialFocusRef","isRequiredField","isDisabledFieldLabel","availableQuestionKinds","kindUniqueOn","_ref$isEdit","isEdit","isFieldCodeInvalid","setIsFieldCodeInvalid","setValues","setErrors","setFieldValue","errors","submitCount","hideQuestionHelpDocUrl","readOnlyHelpDocUrl","responseVisibleOnlyToHostHelpDocUrl","_store$formState4","advancedFeatures","isFieldCodeEnabled","markResponsesAsReadOnly","restrictResponseVisibilityToHost","enforceMinWordsInMultiLineTexts","questionKindUniquenessPattern","mergeLeft","_useStateWithDependen","useStateWithDependency","getQuestionKind","_useStateWithDependen2","_ref2$questionProps","isImmutable","isImmutableField","shouldShowFieldCode","QUESTIONS_WITHOUT_FIELD_CODE","shouldShowHideSwitch","NON_HIDEABLE_FIELDS","canRestrictResponseVisibilityToHost","canMarkResponsesAsReadOnly","NON_READ_ONLY_FIELDS","isTextarea","isBasicSettingsVisible","shouldShowRequiredSwitch","PARAGRAPH","isSettingsBlockVisible","handleKindChange","option","buildQuestionData","updateFormState","isNil","extractKindFromOption","uniqueFieldCode","Pane","Select","isClearable","isSearchable","defaultValue","buildDefaultValueForKind","filterOption","filterKindOption","options","buildKindOptions","formatOptionLabel","context","hideSwitchLabelProps","responseVisibleOnlyToHostSwitchLabelProps","readOnlySwitchLabelProps","Accordion","defaultActiveKey","Item","requiredLabelValidation","schema","field","trim","fieldCodeValidation","matches","richTextFieldMissingErrorMessage","buildLabelValidationSchema","notRequired","RICH_TEXT_QUESTIONS","isEditorEmpty","buildNameLabelValidationSchema","isFullName","buildOpinionScaleLabelValidationSchema","stringSchema","is","then","OPINION_LABEL_MAX_LENGTH","otherwise","yup","formValidationSchema","object","shape","fullNameLabel","firstNameLabel","lastNameLabel","notOneOf","array","of","number","nullable","typeError","highestRatingLabel","averageRatingLabel","lowestRatingLabel","leftOpinionLabel","rightOpinionLabel","Add","_useCreateQuestion","useCreateQuestion","ADD","createQuestion","isCreating","neetoFormQuestion","transformValues","formikProps","initialValues","validationSchema","QuestionForm","Footer","ActionBlock","cancelButtonProps","Edit","_useUpdateQuestion","useUpdateQuestion","updateQuestion","isUpdating","setSubmitting","payload","questionId","EDIT","onSettled","Block","dataTestid","VARIANTS","hidden","opacity","height","overflow","visible","Collapsible","open","_ref$className","AnimatePresence","motion","div","animate","exit","initial","transition","duration","variants","ADDRESS_FIELD_WIDTH_OPTIONS","_defineProperty","ADDRESS_FIELD_WIDTHS","FULL","HALF","ONE_FOURTH","THREE_FOURTH","ADDRESS_FIELD_TYPE_OPTIONS","ADDRESS_FIELD_TYPES","INPUT","SELECT","ADDRESS_FIELD_FORM_VALIDATION_SCHEMA","width","fieldType","properties","unique","ERROR_MESSAGE_DELIMITER","removeDuplicateErrorMessages","pipe","isNotNil","uniq","join","getAddressModalInitialValues","sanitizeAddressField","isSelectField","defaultOptions","hasOptions","pathSatisfies","assocPath","dissoc","formatErrorMessage","ManagePane","selectedFieldId","allFields","generateDefaultOptions","MINIMUM_ADDRESS_FIELDS","editingField","findById","deletedFields","getDeletedRecords","sanitizedField","randomId","newField","altId","nextFields","append","selectedFieldIndex","findIndexById","handleFieldTypeChange","_values$properties","_values$fieldType","Object","OptionFields","draggable","minOptions","submitButtonProps","Address","_findById","isAddressFieldPaneOpen","setIsAddressFieldPaneOpen","_useState3","_useState4","isDeleteAddressFieldAlertOpen","setIsDeleteAddressFieldAlertOpen","_useState5","_useState6","setSelectedFieldId","setFields","handleDelete","getActiveRecords","shouldDestroy","editable","isNewItemsPrefilled","itemLabel","shouldResetEmptyOptionOnBlur","buttonProps","Captcha","Radio","CAPTCHA_TYPES","RECAPTCHA_V2","MATH_CAPTCHA","SwitchBlock","Label","classnames","hyphenate","component","DOMAIN_RESTRICTION_TRANSLATIONS","whitelistedDomains","popoverDescription","blacklistedDomains","EMAIL_VERIFICATION_TRANSLATIONS","STYLES","border","color","MultiValueRemove","innerProps","hyphenize","Close","ValueContainer","getValue","_props$selectProps","selectProps","isFocused","visibleDomainsCount","_children","_toArray","firstChild","rest","shouldCollapse","Tag","ClearIndicator","DELIMITER_KEYS","DOMAIN_SEPARATION_REGEX","FLEXIBLE_DOMAIN_REGEX","VALID_DOMAIN_REGEX","DOMAIN_VALIDATION_SCHEMA","domain","CUSTOM_STYLES","input","multiValue","styles","valid","CUSTOM_COMPONENTS","DropdownIndicator","formatDomainInputOptions","validateSync","_unused","pruneDuplicates","pluck","getValidDomains","domains","getValidDomainsCount","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","entity","Promise","_asyncToGenerator","_regeneratorRuntime","mark","_callee","resolve","wrap","_callee$","_context","prev","next","t0","stop","_x","buildHelpPopoverLabelProps","helpLink","helpIconProps","popoverProps","EmailDomains","_useField2$0$value","meta","formattedDomains","nullSafe","RestrictDomainsBlock","switchName","domainName","isDomainRestrictionEnabled","paths","_useBuildFormStore2","hostSpecificTranslations","_mergeLeft","VerifyEmails","Email","_useFormikContext$val2","isDomainWhitelistingEnabled","_useFormikContext$val3","isDomainBlacklistingEnabled","FileGroup","handleAllowedFileTypesChange","Checkbox","buildFileTypesList","fileTypes","getAllowedFileTypes","isChecked","allowedFileTypes","fileTypesSet","Set","FILE_TYPES_MAP","from","newFileTypes","difference","isFileTypeEnabled","FileUpload","prop","_ref$target","fileType","FILE_GROUPS","OpinionScale","hasOpinionLabels","OPINION_SCALE_MIN_VALUE_OPTIONS","OPINION_SCALE_MAX_VALUE_OPTIONS","Options","isPictureChoiceEnabled","bulkAddHelpDocUrl","_","__","setOptionsAttributes","_ref2$optionLabelProp","optionLabelProps","_ref2$freezeOptions","freezeOptions","_ref2$disableAddOptio","disableAddOption","_ref2$disableRemoveOp","disableRemoveOption","isManageOptionDisabled","isAddOptionDisabled","isRemoveOptionDisabled","isDropdown","isPictureChoice","DEFAULT_CHOICE_QUESTION_ATTRIBUTES","imageHeight","handleImageHeightChange","shouldFitImages","bulkActionProps","enabled","destroyFlagName","isAddOptionEnabled","isDeleteOptionEnabled","MINIMUM_OPTIONS","Slider","IMAGE_HEIGHT_SLIDER_DEFAULTS","RatingItem","Rating","RATING_OPTIONS","StarRating","iconType","setIconType","STAR_RATING_MIN_VALUE_OPTIONS","STAR_RATING_MAX_VALUE_OPTIONS","entries","STAR_RATING_ICONS_MAP","IconType","transformValueForOption","omitDraftId","modifyBy","resolveActionComponent","action","pattern","kinds","searchTerms","rawInput","_option$data$searchTe","_option$data","query","some","term","last","helpUrl","_rest$fields","addressRest","_excluded2","ManageQuestionPane","Component","AddQuestion","addQuestionHelpProps","helpPopoverProps","buildDisabledAddButtonHelpPopoverProps","HelpPopover","onValueChange","isFormEnabled","savedTitle","formTitle","formDescription","helpDocUrls","questionsFromCache","containerRef","setQuestions","setSelectedQuestion","selectedAction","setSelectedAction","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","isDeleteSmsReminderModalOpen","setIsDeleteSmsReminderModalOpen","_useState9","_useState10","isDeleteSpotModalOpen","setIsDeleteSpotModalOpen","_useState11","_useState12","isManageQuestionPaneOpen","setIsManageQuestionPaneOpen","setFormData","CLONE","_useReorderQuestions","useReorderQuestions","_len2","_key2","REORDER","reorderQuestions","debouncedReorderQuestions","useFuncDebounce","handleReorder","neetoFormQuestions","buildReorderPayload","handleAdd","handleEdit","handleClone","attributes","useOnClickOutside","DragDropContext","onDragEnd","orderedQuestions","BuildForm","_ref$isKindAlreadyAct","_ref$getActiveKindDet","getActiveQuestionKindDetails","_ref$isQuestionDeleta","isQuestionDeletable","T","_ref$isFieldRequired","isFieldRequired","F","isFieldLabelDisabled","_ref$formTitle","_ref$availableLanguag","DEFAULT_AVAILABLE_LANGUAGES","_ref$selectedLanguage","_ref$onLanguageChange","_ref$addQuestionHelpP","_ref$disabledAddButto","_ref$additionalAction","_ref$allowAdditionalG","allowAdditionalGuests","_ref$advancedFeatures","DEFAULT_ADVANCED_FEATURES","_ref$usesCustomSubmis","_ref$onMutateSuccess","_ref$canManageQuestio","_ref$isPictureChoiceE","queryClient","useQueryClient","isLoading","isQuestionsPending","QUESTIONS_INITIAL_VALUE","isQuestionsLoading","Spinner","_queryClient$getQuery","getQueryState","QUERY_KEYS","QUESTIONS","dataUpdateCount","setQueryData","either","isMandatoryField","defaultQuestionKinds","QUESTION_KINDS","removeBy","QUESTION_KIND"],"mappings":"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"}
|