@bigbinary/neeto-form-frontend 3.13.0 → 3.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/javascript/src/translations/en.json +4 -0
- package/dist/BuildForm.js +36 -22
- package/dist/BuildForm.js.map +1 -1
- package/dist/ExternalForm.js +2 -2
- package/dist/UrlBuilder.js +2 -2
- package/dist/cjs/BuildForm.js +35 -21
- 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 +5 -5
- package/dist/{constants-Bx5mJ_UK.js → constants-CDhYxmSQ.js} +6 -9
- package/dist/{constants-Bx5mJ_UK.js.map → constants-CDhYxmSQ.js.map} +1 -1
- package/dist/{constants-T3w90EO4.js → constants-R6y-Scns.js} +6 -9
- package/dist/{constants-T3w90EO4.js.map → constants-R6y-Scns.js.map} +1 -1
- package/dist/index.js +5 -5
- package/dist/{utils-Dgp-XRJx.js → utils-BZCJOPIJ.js} +2 -2
- package/dist/{utils-Dgp-XRJx.js.map → utils-BZCJOPIJ.js.map} +1 -1
- package/dist/{utils-CtH5-JaK.js → utils-sLnx21A2.js} +2 -2
- package/dist/{utils-CtH5-JaK.js.map → utils-sLnx21A2.js.map} +1 -1
- package/package.json +22 -20
- package/types.d.ts +2 -5
|
@@ -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/ChangeLanguageDropdown.jsx","../../app/javascript/src/components/BuildForm/Form/Overview.jsx","../../app/javascript/src/components/BuildForm/Questions/Card.jsx","../../app/javascript/src/components/BuildForm/Form/Questions.jsx","../../app/javascript/src/common/helpers/array.js","../../app/javascript/src/components/BuildForm/Form/utils.js","../../app/javascript/src/components/BuildForm/AddFirstQuestion.jsx","../../app/javascript/src/components/BuildForm/ManageQuestionPane/constants.js","../../app/javascript/src/hooks/useHelpDoc.js","../../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/commons/Block.jsx","../../app/javascript/src/components/BuildForm/hooks/useUpdateEditorContent.js","../../app/javascript/src/components/BuildForm/commons/Editor.jsx","../../app/javascript/src/components/BuildForm/commons/RequiredSwitch.jsx","../../app/javascript/src/components/Common/InputWithMaxLength.jsx","../../app/javascript/src/components/BuildForm/Questions/FieldCode.jsx","../../app/javascript/src/components/BuildForm/ManageQuestionPane/Form.jsx","../../app/javascript/src/components/BuildForm/ManageQuestionPane/validations.js","../../app/javascript/src/components/BuildForm/ManageQuestionPane/Add.jsx","../../app/javascript/src/components/BuildForm/ManageQuestionPane/Edit.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/Captcha/index.jsx","../../app/javascript/src/components/BuildForm/commons/SwitchBlock.jsx","../../app/javascript/src/components/BuildForm/commons/TitleWithHelpPopover.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/Email/constants.js","../../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/constants.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/utils.js","../../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/index.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/Email/utils.js","../../app/javascript/src/components/BuildForm/Questions/Fields/Email/EmailDomains.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/Email/RestrictDomainsBlock.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/Email/index.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/FileGroup.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/utils.js","../../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/index.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/Options.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/Rating.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/StarRating.jsx","../../app/javascript/src/components/BuildForm/ManageQuestionPane/utils.jsx","../../app/javascript/src/components/BuildForm/ManageQuestionPane/index.jsx","../../app/javascript/src/components/BuildForm/Questions/AddQuestion.jsx","../../app/javascript/src/components/BuildForm/Form/index.jsx","../../app/javascript/src/components/BuildForm/index.jsx"],"sourcesContent":["import { findBy, isPresent, truncate } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { equals } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDeleteQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\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-cy=\"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 data-cy=\"delete-sms-reminder-modal-description\" style=\"body2\">\n {path([\"smsReminder\", \"deleteModal\", \"description\"], hostSpecificData)}\n </Typography>\n </Modal.Body>\n </Modal>\n);\n\nexport default DeleteSmsReminderModal;\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 flex-shrink-0 space-y-4 pt-6\">\n <div className=\"flex items-center justify-between\">\n <Typography\n data-cy=\"neeto-form-engine-overview-title\"\n lineHeight=\"neeto-ui-leading-normal\"\n style=\"h2\"\n weight=\"neeto-ui-font-semibold\"\n >\n {title}\n </Typography>\n <div className=\"flex flex-shrink-0 items-center justify-between space-x-1\">\n {availableLanguages.length > 1 && (\n <ChangeLanguageDropdown {...{ 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 data-cy=\"neeto-form-engine-overview-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n);\n\nexport default Overview;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isNotPresent, slugify } from \"neetocist\";\nimport 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}) => {\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\n data-cy={`neeto-form-engine-${slugify(questionLabel)}`}\n className={classNames(\n \"neeto-ui-rounded neeto-ui-border-gray-300 neeto-ui-bg-white neeto-form-nano-form__card flex h-10 w-full items-center justify-between gap-1 border p-2\",\n {\n \"neeto-ui-border-primary-500 neeto-form-nano-form__card--active\":\n isActive,\n }\n )}\n onClick={() => onSelect(question)}\n >\n <div className=\"flex min-w-0 flex-grow items-center gap-1\">\n <Drag className=\"neeto-ui-text-gray-600 flex-shrink-0\" />\n <Tooltip\n content={questionLabel}\n disabled={!isTooltipEnabled}\n position=\"top\"\n >\n <Typography\n className=\"line-clamp-2 min-w-0 flex-grow truncate break-words\"\n data-cy={`${slugify(questionLabel)}-question-card-label`}\n lineHeight=\"snug\"\n ref={questionLabelRef}\n style=\"body2\"\n weight=\"medium\"\n >\n {questionLabel}\n </Typography>\n </Tooltip>\n </div>\n <MoreDropdown\n dropdownButtonProps={{ className: \"shrink-0\" }}\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n \"data-cy\": \"edit-question\",\n key: \"edit\",\n label: t(\"neetoForm.common.edit\"),\n onClick: onEdit,\n },\n {\n \"data-cy\": \"clone-question\",\n key: \"clone\",\n label: t(\"neetoForm.common.clone\"),\n isVisible: !isSingular && isFunction(onClone),\n onClick: onClone,\n },\n {\n \"data-cy\": \"delete-question\",\n key: \"delete\",\n label: t(\"neetoForm.common.delete\"),\n isVisible: isFunction(onDelete),\n onClick: () => onDelete(question),\n },\n ]}\n />\n </div>\n );\n};\n\nexport default Card;\n","import { Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { equals } from \"ramda\";\n\nimport Card from \"../Questions/Card\";\n\nconst Questions = ({\n questions,\n isDeletable,\n allQuestionKinds,\n getActiveKindDetails,\n selectedQuestion,\n onEdit,\n onClone,\n onDelete,\n onSelect,\n}) => (\n <Droppable droppableId=\"droppable\">\n {({ droppableProps, placeholder, innerRef }) => (\n <div {...droppableProps} className=\"space-y-2\" ref={innerRef}>\n {questions.map((question, index) => (\n <Draggable\n {...{ index }}\n draggableId={`question-${question.id ?? question.nodeId}`}\n key={`question-${question.id ?? question.nodeId}`}\n >\n {({ draggableProps, dragHandleProps, innerRef }) => (\n <div {...draggableProps} {...dragHandleProps} ref={innerRef}>\n <Card\n {...{\n allQuestionKinds,\n getActiveKindDetails,\n onClone,\n onEdit,\n onSelect,\n question,\n }}\n isActive={equals(selectedQuestion, question)}\n onDelete={isDeletable(question) && onDelete}\n />\n </div>\n )}\n </Draggable>\n ))}\n {placeholder}\n </div>\n )}\n </Droppable>\n);\nexport default Questions;\n","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 curry,\n prop,\n dissoc,\n} from \"ramda\";\nimport { v4 as uuid } from \"uuid\";\n\nimport arrayHelpers from \"common/helpers/array\";\nimport { LABEL_FIELDS } from \"components/Common/constants\";\nimport { fieldWithFallback, isNameQuestion } from \"utils\";\n\nimport {\n NON_BASIC_LATIN_CHARACTERS_REGEX,\n RESERVED_FIELD_CODES,\n SELECTABLE_KINDS,\n} from \"../constants\";\nimport {\n isAutoGeneratedQuestion,\n isDefaultLanguage,\n isRichTextQuestion,\n} from \"../utils\";\n\nconst isChoiceQuestion = question => includes(question?.kind, SELECTABLE_KINDS);\n\nconst underscoredWithoutSpecialCharacters = string =>\n string\n .toLowerCase()\n .replace(/[\\s-]/g, \"_\")\n .replace(/[\\W]/gi, \"\")\n .replace(/_+/g, \"_\")\n .replace(/^_+|_+$/, \"\");\n\nconst addSuffixForReservedFieldCode = fieldCode =>\n RESERVED_FIELD_CODES.includes(fieldCode) ? `${fieldCode}_field` : fieldCode;\n\nconst getUniqueNumbersFromExistingFieldCodes = (prefix, questions) =>\n questions\n .filter(question => question.fieldCode.startsWith(prefix))\n .map(question => parseInt(question.fieldCode.replace(prefix, \"\")) || 0);\n\nconst generateFieldCodePrefix = (label, kind) => {\n let prefix;\n\n if (\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 renameKey = curry((oldKey, newKey, obj) =>\n assoc(newKey, prop(oldKey, obj), dissoc(oldKey, obj))\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 isRequired,\n kind: type,\n nodeId: uuid(),\n fieldCode: generateUniqueFieldCode({\n questions,\n kind: type,\n label: defaults[\"label\"],\n }),\n };\n};\n\nexport const duplicateFieldData = ({ item, questionKinds, questions }) => {\n const { isRequired, kind, optionsAttributes } = item;\n\n const questionKind = findBy({ type: kind }, questionKinds);\n const label = fieldWithFallback(item, \"label\");\n const defaultAttributeNames = keys(questionKind.defaults || {});\n const defaultAttributes = pick(defaultAttributeNames, item);\n const newQuestionLabel = isRichTextQuestion(kind)\n ? label\n : t(\"neetoForm.common.clonedElementLabel\", { label });\n\n return {\n ...defaultAttributes,\n isRequired,\n kind,\n label: newQuestionLabel,\n optionsAttributes: optionsAttributes && optionsAttributes.map(omit([\"id\"])),\n nodeId: uuid(),\n fieldCode: generateUniqueFieldCode({\n questions,\n kind,\n label: newQuestionLabel,\n }),\n displayOrder: item.displayOrder + 1,\n };\n};\n\nexport const getAvailableQuestionKinds = ({\n allQuestionKinds,\n activeQuestions = [],\n isKindAlreadyActive,\n}) => {\n if (isEmpty(activeQuestions)) return allQuestionKinds;\n\n return reject(kind => {\n const isSingularKind = kind.isSingular;\n\n return (\n isAutoGeneratedQuestion(kind.type) ||\n (isSingularKind && isKindAlreadyActive({ activeQuestions, kind }))\n );\n }, allQuestionKinds);\n};\n\nexport const formatQuestionAttributesForClone = when(\n isChoiceQuestion,\n assoc(\"isCloning\", true)\n);\n","import { NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n buildAddQuestionButtonProps,\n buildDisabledAddButtonTooltipProps,\n} from \"./utils\";\n\nconst AddFirstQuestion = ({\n onAdd,\n isDisabled,\n disabledAddButtonTooltipProps,\n}) => {\n const { t } = useTranslation();\n const tooltipProps = buildDisabledAddButtonTooltipProps(\n isDisabled,\n disabledAddButtonTooltipProps\n );\n\n return (\n <div className=\"flex h-full flex-col items-center justify-center py-8\">\n <NoData\n showTooltipWhenButtonDisabled\n className=\"min-h-80\"\n title={t(\"neetoForm.questions.common.noData\")}\n primaryButtonProps={buildAddQuestionButtonProps(\n onAdd,\n isDisabled,\n tooltipProps\n )}\n />\n </div>\n );\n};\n\nexport default AddFirstQuestion;\n","import { t } from \"i18next\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\n\nimport { SELECTABLE_KINDS } from \"../constants\";\n\nconst {\n NAME,\n PHONE,\n EMAIL,\n ADDITIONAL_GUESTS,\n TEXT,\n TEXTAREA,\n RICH_TEXT,\n INTEGER,\n DECIMAL,\n STAR_RATING,\n RATING,\n DATE,\n FILE_UPLOAD,\n CAPTCHA,\n SMS_REMINDER,\n} = QUESTION_TYPES;\n\nexport const QUESTIONS_WITH_ADDITIONAL_DATA = [\n ...SELECTABLE_KINDS,\n STAR_RATING,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n];\n\nexport const QUESTIONS_WITH_PLACEHOLDERS = [\n NAME,\n PHONE,\n EMAIL,\n ADDITIONAL_GUESTS,\n TEXT,\n TEXTAREA,\n RICH_TEXT,\n INTEGER,\n DECIMAL,\n DATE,\n SMS_REMINDER,\n];\n\nexport const DEFAULT_PLACEHOLDERS = {\n CHECKBOX: t(\"neetoForm.questions.common.questionFields.field.labelExample\", {\n what: t(\"neetoForm.common.hobbies\"),\n }),\n RADIO: t(\"neetoForm.questions.common.questionFields.field.labelExample\", {\n what: t(\"neetoForm.common.country\"),\n }),\n DROPDOWN: t(\"neetoForm.questions.common.questionFields.field.labelExample\", {\n what: t(\"neetoForm.common.company\"),\n }),\n};\n\nexport const INITIAL_VALUES = {\n kind: \"\",\n label: \"\",\n fieldCode: \"\",\n isSplitMode: false,\n};\n\nexport const VALID_FIELD_CODE_REGEX = /^[a-z0-9]+(_[a-z0-9]+)*$/;\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 { 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 { Typography } from \"neetoui\";\n\nconst Block = ({ title, children, dataCy }) => (\n <div className=\"mt-4 space-y-4\" data-cy={dataCy}>\n <div\n className=\"flex items-center justify-between\"\n data-cy=\"properties-header\"\n >\n <Typography lineHeight=\"normal\" style=\"body1\" weight=\"semibold\">\n {title}\n </Typography>\n </div>\n <div className=\"space-y-4\">{children}</div>\n </div>\n);\n\nexport default Block;\n","import { useEffect, useRef } from \"react\";\n\nimport { 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 { 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 useHelpDoc from \"hooks/useHelpDoc\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport { INITIAL_VALUES } from \"./constants\";\nimport Properties from \"./Properties\";\nimport {\n buildDefaultValueForKind,\n buildKindOptions,\n extractKindFromOption,\n getQuestionKind,\n hideSwitchLabelProps,\n readOnlySwitchLabelProps,\n responseVisibleOnlyToHostSwitchLabelProps,\n} from \"./utils\";\n\nimport Block from \"../commons/Block\";\nimport Editor from \"../commons/Editor\";\nimport RequiredSwitch from \"../commons/RequiredSwitch\";\nimport {\n NON_HIDEABLE_FIELDS,\n NON_READ_ONLY_FIELDS,\n QUESTIONS_WITHOUT_FIELD_CODE,\n} from \"../constants\";\nimport { createFieldData, generateUniqueFieldCode } from \"../Form/utils\";\nimport FieldCode from \"../Questions/FieldCode\";\nimport { isImmutableField, isRichTextQuestion } from \"../utils\";\n\nconst Form = ({\n questions,\n initialFocusRef,\n isRequiredField,\n isDisabledFieldLabel,\n 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 } = 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 isSettingsBlockVisible =\n !isRequired && (!isImmutable || shouldShowHideSwitch);\n\n const handleKindChange = option => {\n const data = buildQuestionData(option);\n updateFormState(data);\n };\n\n const buildQuestionData = option => {\n if (isNil(option)) {\n return INITIAL_VALUES;\n }\n\n const { label, value } = option;\n const kind = extractKindFromOption(value);\n const questionKind = getQuestionKind(availableQuestionKinds, {\n type: kind,\n label,\n });\n\n return createFieldData({\n kind: questionKind,\n isRequired,\n questions,\n selectedLanguage,\n isUsingDefaultQuestionKinds,\n });\n };\n\n const updateFormState = data => {\n setValues(data);\n setErrors({});\n setTouched({});\n };\n\n const handleLabelChange = (label, 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 innerRef={initialFocusRef}\n isDisabled={isEdit}\n name=\"kind\"\n options={buildKindOptions(questionKinds)}\n label={t(\n \"neetoForm.questions.common.questionFields.field.questionType\"\n )}\n onChange={handleKindChange}\n />\n {isRichTextQuestion(kind) ? (\n <Editor {...{ isLabelDisabled }} />\n ) : (\n <div className=\"space-y-6\">\n <Properties\n {...{ handleLabelChange, isLabelDisabled, kind, questionProps }}\n />\n {isSettingsBlockVisible && (\n <Block\n dataCy=\"settings-card\"\n title={t(\"neetoForm.common.settings\")}\n >\n {!isImmutable && <RequiredSwitch />}\n {shouldShowHideSwitch && (\n <Switch\n label={t(\"neetoForm.common.hideQuestion\")}\n labelProps={hideSwitchLabelProps(hideQuestionHelpDocUrl)}\n name=\"isHidden\"\n />\n )}\n {canRestrictResponseVisibilityToHost && (\n <Switch\n label={t(\"neetoForm.common.responseVisibleOnlyToHost\")}\n name=\"isResponseVisibleOnlyToHost\"\n labelProps={responseVisibleOnlyToHostSwitchLabelProps(\n responseVisibleOnlyToHostHelpDocUrl\n )}\n />\n )}\n </Block>\n )}\n {(shouldShowFieldCode || canMarkResponsesAsReadOnly) && (\n <Accordion\n className=\"neeto-form-nano-advanced-properties-accordion\"\n data-cy=\"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 {canMarkResponsesAsReadOnly && (\n <Switch\n label={t(\"neetoForm.common.readOnly\")}\n name=\"isReadOnly\"\n labelProps={readOnlySwitchLabelProps(\n readOnlyHelpDocUrl\n )}\n />\n )}\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\";\nimport * as yup from \"yup\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\nimport { isNameQuestion } from \"utils\";\n\nimport { VALID_FIELD_CODE_REGEX } from \"./constants\";\n\nimport {\n QUESTIONS_WITHOUT_FIELD_CODE,\n RESERVED_FIELD_CODES,\n RICH_TEXT_QUESTIONS,\n SELECTABLE_KINDS,\n} from \"../constants\";\n\nconst requiredLabelValidation = (schema, field) =>\n schema.trim().required(t(\"neetoForm.common.fieldReq\", { field }));\n\nconst fieldCodeValidation = (schema, field) =>\n schema\n .trim()\n .required(t(\"neetoForm.common.fieldReq\", { field }))\n .matches(\n VALID_FIELD_CODE_REGEX,\n t(\"neetoForm.error.invalidField\", { label: field })\n );\n\nconst richTextFieldMissingErrorMessage = kind => {\n const field = equals(kind, QUESTION_TYPES.PARAGRAPH)\n ? t(\"neetoForm.fields.def\")\n : t(\"neetoForm.fields.tcf\");\n\n return t(\"neetoForm.error.fieldCantBeEmpty\", { field });\n};\n\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 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 highestRatingLabel: yup.string().nullable(),\n averageRatingLabel: yup.string().nullable(),\n lowestRatingLabel: yup.string().nullable(),\n });\n","import { findBy } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form } from \"neetoui/formik\";\nimport { mergeLeft, 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 { 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 }, 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-cy=\"add-question-pane-header\" style=\"h2\">\n {t(\"neetoForm.questions.common.primaryPanel.addQuestion\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: INITIAL_VALUES,\n validationSchema: formValidationSchema(\n 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 { 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 { 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: 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-cy=\"edit-question-pane-header\" style=\"h2\">\n {t(\"neetoForm.questions.common.editQuestion\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: question,\n validationSchema: formValidationSchema(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 { withT } from \"neetocommons/react-utils\";\nimport { Radio } from \"neetoui/formik\";\n\nimport { CAPTCHA_TYPES } from \"components/constants\";\n\nconst Captcha = withT(({ t }) => (\n <Radio\n label={t(\"neetoForm.common.captchaType\")}\n labelProps={{ required: true }}\n name=\"variant\"\n >\n <Radio.Item\n label={t(\"neetoForm.common.reCaptchaV2\")}\n value={CAPTCHA_TYPES.RECAPTCHA_V2}\n />\n <Radio.Item\n label={t(\"neetoForm.common.mathCaptcha\")}\n value={CAPTCHA_TYPES.MATH_CAPTCHA}\n />\n </Radio>\n));\n\nexport default Captcha;\n","import classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Label, Typography } from \"neetoui\";\nimport { Switch } from \"neetoui/formik\";\n\nconst SwitchBlock = ({ name, title, className = \"\", ...otherProps }) => (\n <Label\n className={classnames(\"flex items-center justify-start gap-2 \", className)}\n data-cy={`neeto-form-engine-${hyphenate(title && name)}-toggle-label`}\n >\n <Switch\n {...{ ...otherProps, name }}\n data-cy={`neeto-form-engine-${hyphenate(title && name)}-switch`}\n />\n <Typography component=\"span\" style=\"body1\">\n {title}\n </Typography>\n </Label>\n);\n\nexport default SwitchBlock;\n","import HelpPopover from \"neetomolecules/HelpPopover\";\n\nconst TitleWithHelpPopover = ({ title, description, helpLink }) => (\n <div className=\"flex gap-2\">\n {title}\n <HelpPopover\n {...{ description }}\n popoverProps={{ position: \"top\" }}\n {...(helpLink && { helpLinkProps: { href: helpLink } })}\n />\n </div>\n);\n\nexport default TitleWithHelpPopover;\n","import { t } from \"i18next\";\n\nexport const DOMAIN_RESTRICTION_TRANSLATIONS = {\n whitelistedDomains: {\n title: t(\"neetoForm.domainRestriction.whitelistedDomains.label\"),\n description: t(\n \"neetoForm.domainRestriction.whitelistedDomains.description\"\n ),\n popoverDescription: t(\n \"neetoForm.domainRestriction.whitelistedDomains.popoverDescription\"\n ),\n },\n blacklistedDomains: {\n title: t(\"neetoForm.domainRestriction.blacklistedDomains.label\"),\n description: t(\n \"neetoForm.domainRestriction.blacklistedDomains.description\"\n ),\n popoverDescription: t(\n \"neetoForm.domainRestriction.blacklistedDomains.popoverDescription\"\n ),\n },\n};\n","import { t } from \"i18next\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Close } from \"neetoicons\";\nimport { Tag } from \"neetoui\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { components } from \"react-select\";\nimport * as yup from \"yup\";\n\nconst STYLES = {\n border: {\n default: \"1px solid rgb(var(--neeto-ui-gray-400))\",\n error: \"1px solid rgb(var(--neeto-ui-error-800)) !important\",\n },\n color: {\n default: \"rgb(var(--neeto-ui-gray-800))\",\n error: \"rgb(var(--neeto-ui-error-800)) !important\",\n },\n};\n\nconst MultiValueRemove = props => (\n <components.MultiValueRemove\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: `${hyphenize(props.data.label)}-remove-icon`,\n }}\n >\n <Close size={16} />\n </components.MultiValueRemove>\n);\n\nconst ValueContainer = ({ children, ...props }) => {\n const { t } = useTranslation();\n\n const {\n getValue,\n selectProps: { isFocused, visibleDomainsCount },\n } = props;\n const value = getValue();\n const [firstChild, ...rest] = children;\n\n const shouldCollapse = !isFocused && value.length > visibleDomainsCount;\n\n return (\n <components.ValueContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-domain-input-container\",\n }}\n >\n {shouldCollapse ? firstChild.slice(0, visibleDomainsCount) : firstChild}\n {shouldCollapse && (\n <Tag\n style=\"secondary\"\n label={t(\"neetoForm.common.remainingItemsCount\", {\n count: value.length - visibleDomainsCount,\n })}\n />\n )}\n {rest}\n </components.ValueContainer>\n );\n};\n\nconst ClearIndicator = props => (\n <components.ClearIndicator\n {...props}\n innerProps={{ ...props.innerProps, [\"data-cy\"]: \"clear-all-button\" }}\n >\n <Close className=\"cursor-pointer\" size={16} />\n </components.ClearIndicator>\n);\n\nexport const ERROR_MESSAGE_DELIMITER = \". \";\nexport const DELIMITER_KEYS = [\"Enter\", \"Tab\", \",\", \" \"];\nexport const DOMAIN_SEPARATION_REGEX = /[^\\s,]+/g;\nexport const FLEXIBLE_DOMAIN_REGEX = /^[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)+$/;\n\nexport const VALID_DOMAIN_REGEX =\n /^(?:[a-zA-Z0-9-]{1,63}\\.)+[a-zA-Z0-9-]{2,63}$/;\n\nexport const DOMAIN_VALIDATION_SCHEMA = yup\n .string()\n .required(\n t(\"neetoForm.error.requiredField\", {\n label: t(\"neetoForm.common.domain\"),\n })\n )\n .test(\"verify domains\", t(\"neetoForm.error.invalidDomain\"), domain =>\n VALID_DOMAIN_REGEX.test(domain)\n );\n\nexport const CUSTOM_STYLES = {\n input: assoc(\"overflow\", \"hidden\"),\n multiValue: (styles, { data: { valid } }) => ({\n ...styles,\n border: valid ? STYLES.border.default : STYLES.border.error,\n color: valid ? STYLES.color.default : STYLES.color.error,\n }),\n};\n\nexport const CUSTOM_COMPONENTS = {\n DropdownIndicator: null,\n MultiValueRemove,\n ValueContainer,\n ClearIndicator,\n};\n","import { filter, isNotNil, join, map, pipe, pluck, uniq } from \"ramda\";\n\nimport { ERROR_MESSAGE_DELIMITER, DOMAIN_VALIDATION_SCHEMA } from \"./constants\";\n\nconst removeDuplicateErrorMessages = pipe(\n filter(isNotNil),\n uniq,\n join(ERROR_MESSAGE_DELIMITER)\n);\n\nexport const formatDomainInputOptions = domain => {\n let isValid;\n\n try {\n DOMAIN_VALIDATION_SCHEMA.validateSync(domain);\n isValid = true;\n } catch {\n isValid = false;\n }\n\n return { label: domain, value: domain, valid: isValid };\n};\n\nexport const pruneDuplicates = pipe(\n pluck(\"value\"),\n uniq,\n map(formatDomainInputOptions)\n);\n\nexport const getValidDomains = domains =>\n domains.filter(domain => domain?.valid);\n\nexport const getValidDomainsCount = domains => getValidDomains(domains).length;\n\nexport const formatErrorMessage = error => {\n if (typeof error === \"string\") return error;\n\n return removeDuplicateErrorMessages(error);\n};\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Label } from \"neetoui\";\nimport { mergeLeft, filter, includes, test } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport CreatableSelect from \"react-select/creatable\";\n\nimport {\n CUSTOM_COMPONENTS,\n CUSTOM_STYLES,\n DELIMITER_KEYS,\n DOMAIN_SEPARATION_REGEX,\n ERROR_MESSAGE_DELIMITER,\n FLEXIBLE_DOMAIN_REGEX,\n} from \"./constants\";\nimport {\n formatDomainInputOptions,\n formatErrorMessage,\n getValidDomainsCount,\n pruneDuplicates,\n getValidDomains,\n} from \"./utils\";\n\nconst MultiDomainInput = ({\n label = \"\",\n value = [],\n onChange = noop,\n error = \"\",\n onBlur = noop,\n ...otherProps\n}) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n\n const { t } = useTranslation();\n\n const handleFilterDomains = () => onChange(getValidDomains(value));\n\n const handleDomainChange = () => {\n const inputValues = inputValue.match(DOMAIN_SEPARATION_REGEX) || [];\n const domainMatches = filter(test(FLEXIBLE_DOMAIN_REGEX), inputValues);\n\n const domains = domainMatches.map(formatDomainInputOptions);\n onChange(pruneDuplicates([...value, ...domains]));\n setInputValue(\"\");\n };\n\n const handleKeyDown = event => {\n if (!inputValue) return;\n\n if (includes(event.key, DELIMITER_KEYS)) {\n handleDomainChange();\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n const onCreateOption = input => {\n const domain = formatDomainInputOptions(input);\n onChange(pruneDuplicates([...value, domain]));\n };\n\n const handleBlur = event => {\n inputValue ? handleDomainChange() : onBlur(event);\n setIsFocused(false);\n };\n\n const isFilterDomainsLinkVisible = value.length > getValidDomainsCount(value);\n\n return (\n <div className=\"neeto-ui-input__wrapper neeto-ui-email-input__wrapper\">\n <div className=\"neeto-ui-email-input__label-wrapper\">\n <Label\n className=\"neeto-ui-email-input__label\"\n data-cy={`${hyphenize(label)}-input-label`}\n >\n {label}\n </Label>\n </div>\n <CreatableSelect\n isMulti\n required\n classNamePrefix=\"neeto-ui-react-select\"\n components={CUSTOM_COMPONENTS}\n menuIsOpen={false}\n visibleDomainsCount={3}\n className={classnames(\n \"neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select\",\n { \"neeto-ui-react-select__container--error\": !!error }\n )}\n styles={{\n ...CUSTOM_STYLES,\n control: mergeLeft({\n maxHeight: \"200px\",\n overflowY: \"auto\",\n }),\n }}\n onBlur={handleBlur}\n onFocus={() => setIsFocused(true)}\n onInputChange={setInputValue}\n onKeyDown={handleKeyDown}\n {...{\n inputValue,\n isFocused,\n onChange,\n onCreateOption,\n value,\n ...otherProps,\n }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n >\n {formatErrorMessage(error)}\n {isFilterDomainsLinkVisible && (\n <span\n className=\"neeto-ui-font-semibold cursor-pointer\"\n onClick={handleFilterDomains}\n >\n {ERROR_MESSAGE_DELIMITER}\n {t(\"neetoForm.domainRestriction.removeInvalidDomains\")}\n </span>\n )}\n </p>\n )}\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n >\n {t(\"neetoForm.domainRestriction.helpText\")}\n </p>\n </div>\n );\n};\n\nexport default MultiDomainInput;\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { VALID_DOMAIN_REGEX } from \"./MultiDomainInput/constants\";\n\nexport const validateDomains = value => {\n const schema = yup\n .array()\n .of(\n yup\n .string()\n .test(\"verify domains\", t(\"neetoForm.error.invalidDomain\"), domain =>\n VALID_DOMAIN_REGEX.test(domain)\n )\n )\n .ensure()\n .compact()\n .min(\n 1,\n t(\"neetoForm.error.minOneEntity\", {\n entity: t(\"neetoForm.common.domain\"),\n })\n );\n\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async resolve => {\n try {\n await schema.validate(value);\n resolve(undefined);\n } catch (err) {\n resolve(err.message);\n }\n });\n};\n","import { useField } from \"formik\";\nimport { nullSafe } from \"neetocist\";\nimport { map, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport MultiDomainInput from \"./MultiDomainInput\";\nimport { formatDomainInputOptions } from \"./MultiDomainInput/utils\";\nimport { validateDomains } from \"./utils\";\n\nconst EmailDomains = ({ name, label }) => {\n const { t } = useTranslation();\n\n const [{ value: domains = [] }, meta, { setValue, setTouched }] = useField({\n name,\n validate: validateDomains,\n });\n\n const formattedDomains = map(formatDomainInputOptions, domains);\n\n return (\n <div className=\"mb-4\">\n <MultiDomainInput\n {...{ label, name }}\n error={meta.touched ? meta.error : \"\"}\n placeholder={t(\"neetoForm.domainRestriction.placeholder\")}\n value={formattedDomains}\n onBlur={() => setTouched(true)}\n onChange={value => setValue(nullSafe(pluck)(\"value\", value))}\n />\n </div>\n );\n};\n\nexport default EmailDomains;\n","import { hyphenate } from \"neetocist\";\nimport { mergeLeft, paths } from \"ramda\";\n\nimport SwitchBlock from \"components/BuildForm/commons/SwitchBlock\";\nimport TitleWithHelpPopover from \"components/BuildForm/commons/TitleWithHelpPopover\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport { DOMAIN_RESTRICTION_TRANSLATIONS } from \"./constants\";\nimport EmailDomains from \"./EmailDomains\";\n\nconst RestrictDomainsBlock = ({\n switchName,\n domainName,\n isDomainRestrictionEnabled,\n}) => {\n const [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-cy={`${hyphenate(switchName)}-container`}\n >\n <SwitchBlock\n className=\"mt-4\"\n name={switchName}\n title={\n <TitleWithHelpPopover\n {...{ helpLink, title }}\n description={popoverDescription}\n />\n }\n />\n {isDomainRestrictionEnabled && (\n <EmailDomains label={description} name={domainName} />\n )}\n </div>\n );\n};\n\nexport default RestrictDomainsBlock;\n","import { useFormikContext } from \"formik\";\n\nimport RestrictDomainsBlock from \"./RestrictDomainsBlock\";\n\nconst Email = ({ usesCustomSubmissionComponent }) => {\n const {\n values: {\n isDomainWhitelistingEnabled = false,\n isDomainBlacklistingEnabled = false,\n },\n } = useFormikContext();\n\n return (\n <div className=\"flex flex-col\">\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 </>\n )}\n </div>\n );\n};\n\nexport default Email;\n","import { Checkbox } from \"neetoui\";\n\nconst FileGroup = ({ name, label, checked, handleAllowedFileTypesChange }) => (\n <Checkbox\n {...{ checked, label, name }}\n data-cy={`neeto-form-engine-file-type-${name}`}\n id={name}\n onChange={handleAllowedFileTypesChange}\n />\n);\n\nexport default FileGroup;\n","import { difference, isEmpty } from \"ramda\";\n\nimport { FILE_TYPES_MAP } from \"../constants\";\n\nconst buildFileTypesList = fileTypes => (fileTypes ?? \"\").split(\", \");\n\nexport const getAllowedFileTypes = ({ type, isChecked, allowedFileTypes }) => {\n const fileTypes = buildFileTypesList(allowedFileTypes);\n if (isChecked) {\n const fileTypesSet = new Set([...FILE_TYPES_MAP[type], ...fileTypes]);\n\n return Array.from(fileTypesSet).join(\", \");\n }\n const newFileTypes = difference(fileTypes, FILE_TYPES_MAP[type]);\n\n return newFileTypes.join(\", \");\n};\n\nexport const isFileTypeEnabled = (type, allowedFileTypes) => {\n const fileTypes = buildFileTypesList(allowedFileTypes);\n\n return isEmpty(difference(FILE_TYPES_MAP[type], fileTypes));\n};\n","import { useFormikContext } from \"formik\";\nimport { Typography } from \"neetoui\";\nimport { Checkbox } from \"neetoui/formik\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FileGroup from \"./FileGroup\";\nimport { getAllowedFileTypes, isFileTypeEnabled } from \"./utils\";\n\nimport { FILE_GROUPS } from \"../constants\";\n\nconst FileUpload = () => {\n const { t } = useTranslation();\n\n const { values, setFieldValue } = useFormikContext();\n\n const allowedFileTypes = prop(\"allowedFileTypes\", values);\n\n const handleAllowedFileTypesChange = ({\n target: { name: fileType, checked },\n }) =>\n setFieldValue(\n \"allowedFileTypes\",\n getAllowedFileTypes({\n type: fileType,\n isChecked: checked,\n allowedFileTypes,\n })\n );\n\n return (\n <>\n <div className=\"w-full\">\n <Checkbox\n id=\"multipleFilesAllowed\"\n label={t(\"neetoForm.fileUpload.enableMultipleFilesUpload\")}\n name=\"multipleFilesAllowed\"\n />\n </div>\n <div className=\"flex flex-col space-y-3\">\n <Typography style=\"body1\" weight=\"semibold\">\n {t(\"neetoForm.fileUpload.fileTypes\")}\n </Typography>\n <div className=\"flex space-x-4\">\n {FILE_GROUPS.map(({ name, label }) => (\n <FileGroup\n {...{ handleAllowedFileTypesChange, label, name }}\n checked={isFileTypeEnabled(name, allowedFileTypes)}\n key={name}\n />\n ))}\n </div>\n </div>\n </>\n );\n};\n\nexport default FileUpload;\n","import { useField } from \"formik\";\nimport OptionFields from \"neetomolecules/OptionFields\";\nimport { Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isDefaultLanguage } from \"components/BuildForm/utils\";\nimport useBuildFormStore from \"src/stores/buildForm\";\nimport { isFunction } from \"utils\";\n\nimport { MINIMUM_OPTIONS } from \"../../constants\";\n\nconst Options = ({ questionProps }) => {\n const { t } = useTranslation();\n\n const { selectedLanguage } = useBuildFormStore.pick(\"formState\");\n\n const name = \"optionsAttributes\";\n const [_, __, { setValue: setOptionsAttributes }] = useField(name);\n\n const {\n optionLabelProps = {},\n freezeOptions = false,\n disableAddOption = false,\n disableRemoveOption = false,\n } = questionProps || {};\n\n const isManageOptionDisabled = isFunction(freezeOptions)\n ? freezeOptions(selectedLanguage)\n : freezeOptions;\n\n const isAddOptionDisabled = disableAddOption || isManageOptionDisabled;\n const isRemoveOptionDisabled = disableRemoveOption || isManageOptionDisabled;\n\n return (\n <div className=\"w-full\">\n <Label className=\"mb-2 block\" {...optionLabelProps}>\n {t(\"neetoForm.questions.common.questionFields.field.options\")}\n </Label>\n <OptionFields\n {...{ name }}\n shouldDestroy\n destroyFlagName=\"_destroy\"\n disabled={isManageOptionDisabled}\n draggable={!isManageOptionDisabled}\n isAddOptionEnabled={!isAddOptionDisabled}\n isDeleteOptionEnabled={!isRemoveOptionDisabled}\n isNewItemsPrefilled={isDefaultLanguage(selectedLanguage)}\n minOptions={MINIMUM_OPTIONS}\n shouldResetEmptyOptionOnBlur={false}\n onChange={setOptionsAttributes}\n />\n </div>\n );\n};\n\nexport default Options;\n","import { hyphenate } from \"neetocist\";\n\nimport Input from \"components/Common/InputWithMaxLength\";\n\nimport { RATING_OPTIONS } from \"./constants\";\n\nconst RatingItem = ({ children }) => (\n <div className=\"flex w-16 flex-col items-center gap-3\">{children}</div>\n);\n\nconst Rating = () => (\n <div className=\"flex flex-col\">\n <div className=\"w-full\">\n <div className=\"flex gap-6\">\n {RATING_OPTIONS.map(({ icon: Icon, name, color }) => (\n <RatingItem key={name}>\n <Icon {...{ color }} size={48} />\n <Input\n {...{ name }}\n data-cy={`neeto-form-engine-${hyphenate(name)}`}\n />\n </RatingItem>\n ))}\n </div>\n </div>\n </div>\n);\n\nexport default Rating;\n","import classNames from \"classnames\";\nimport { useField, useFormikContext } from \"formik\";\nimport { Label } from \"neetoui\";\nimport { Select } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n STAR_RATING_ICONS_MAP,\n STAR_RATING_MAX_VALUE_OPTIONS,\n STAR_RATING_MIN_VALUE_OPTIONS,\n} from \"./constants\";\n\nconst StarRating = () => {\n const { t } = useTranslation();\n\n const { setFieldValue } = useFormikContext();\n\n const [{ value: iconType }, _, { setValue: setIconType }] =\n useField(\"iconType\");\n\n return (\n <>\n <div className=\"flex space-x-4\">\n <Select\n className=\"w-1/2\"\n data-cy=\"neeto-form-engine-star-rating-min-value\"\n label={t(\"neetoForm.common.start\")}\n name=\"minValue\"\n options={STAR_RATING_MIN_VALUE_OPTIONS}\n onChange={option => setFieldValue(\"minValue\", option?.value)}\n />\n <Select\n className=\"w-1/2\"\n data-cy=\"neeto-form-engine-star-rating-max-value\"\n label={t(\"neetoForm.common.end\")}\n name=\"maxValue\"\n options={STAR_RATING_MAX_VALUE_OPTIONS}\n onChange={option => setFieldValue(\"maxValue\", option?.value)}\n />\n </div>\n <Label>{t(\"neetoForm.common.shape\")}</Label>\n <div className=\"flex gap-2\">\n {Object.entries(STAR_RATING_ICONS_MAP).map(([name, IconType]) => {\n const isActive = name === iconType;\n\n return (\n <div\n data-cy={`neeto-form-engine-rating-icon-${name}`}\n key={name}\n className={classNames(\n \"flex h-10 w-10 items-center justify-center gap-2\",\n \"neeto-ui-border-gray-800 neeto-ui-rounded-full cursor-pointer border\",\n \"transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-text-gray-800 neeto-ui-bg-gray-200\": !isActive,\n \"neeto-ui-text-white neeto-ui-bg-gray-800\": isActive,\n }\n )}\n onClick={() => setIconType(name)}\n >\n <IconType />\n </div>\n );\n })}\n </div>\n </>\n );\n};\n\nexport default StarRating;\n","import { t } from \"i18next\";\nimport { findBy, isPresent, slugify } from \"neetocist\";\nimport { assoc, equals, last, pipe, split } from \"ramda\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\n\nimport Add from \"./Add\";\nimport Edit from \"./Edit\";\n\nimport { QUESTION_ACTIONS } from \"../constants\";\nimport Captcha from \"../Questions/Fields/Captcha\";\nimport Email from \"../Questions/Fields/Email\";\nimport FileUpload from \"../Questions/Fields/FileUpload\";\nimport Options from \"../Questions/Fields/Options\";\nimport Rating from \"../Questions/Fields/Rating\";\nimport StarRating from \"../Questions/Fields/StarRating\";\n\nconst {\n CHECKBOX,\n RADIO,\n DROPDOWN,\n STAR_RATING,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n} = QUESTION_TYPES;\n\nconst transformValueForOption = ({ label, type }) =>\n `${slugify(label)}-${type}`;\n\nexport const renderAdditionalData = ({\n kind,\n questionProps,\n 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 FILE_UPLOAD:\n return <FileUpload />;\n case CAPTCHA:\n return <Captcha />;\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 }) => ({\n label,\n value: transformValueForOption({ label, type }),\n }));\n\nexport const extractKindFromOption = pipe(split(\"-\"), last);\n\nexport const buildDefaultValueForKind = questionKind =>\n isPresent(questionKind)\n ? { value: transformValueForOption(questionKind) }\n : undefined;\n\nexport const hideSwitchLabelProps = helpUrl =>\n helpUrl\n ? {\n helpIconProps: {\n popoverProps: {\n description: t(\n \"neetoForm.questions.common.questionFields.field.hideQuestionHelpDescription\"\n ),\n helpLinkProps: {\n href: helpUrl,\n label: t(\"neetoForm.common.viewHelpArticle\"),\n },\n },\n },\n }\n : undefined;\n\nexport const responseVisibleOnlyToHostSwitchLabelProps = helpUrl => ({\n helpIconProps: {\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 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","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, Tooltip } from \"neetoui\";\n\nimport {\n buildAddQuestionButtonProps,\n buildDisabledAddButtonTooltipProps,\n} from \"../utils\";\n\nconst AddQuestion = ({\n onAdd,\n disabledAddButtonTooltipProps,\n isDisabled,\n addQuestionHelpProps,\n}) => {\n const tooltipProps = buildDisabledAddButtonTooltipProps(\n isDisabled,\n disabledAddButtonTooltipProps\n );\n\n return (\n <div className=\"mb-8 flex w-full items-center gap-x-1\">\n <Tooltip {...tooltipProps}>\n <span>\n <Button {...buildAddQuestionButtonProps(onAdd, isDisabled)} />\n </span>\n </Tooltip>\n {isPresent(addQuestionHelpProps) && (\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 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 disabledAddButtonTooltipProps,\n isFormEnabled,\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}) => {\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\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 });\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 ]);\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 {\n setIsDeleteAlertOpen(true);\n }\n };\n\n useOnClickOutside(containerRef, () => handleSelect({}), {\n enabled: !(isDeleteAlertOpen || isManageQuestionPaneOpen),\n });\n\n useEffect(() => {\n onValueChange?.(questions);\n }, [questions]);\n\n const availableQuestionKinds = getAvailableQuestionKinds({\n allQuestionKinds: questionKinds,\n activeQuestions: questions,\n isKindAlreadyActive,\n });\n\n 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 <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 flex-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 getActiveKindDetails,\n isDeletable,\n questions,\n selectedQuestion,\n }}\n allQuestionKinds={questionKinds}\n onClone={handleClone}\n onDelete={handleDelete}\n onEdit={handleEdit}\n onSelect={handleSelect}\n />\n </DragDropContext>\n <div className=\"mb-8 flex w-full items-center gap-x-1\">\n <AddQuestion\n {...{ addQuestionHelpProps, disabledAddButtonTooltipProps }}\n isDisabled={isEmpty(availableQuestionKinds)}\n onAdd={handleAdd}\n />\n </div>\n </div>\n ) : (\n <AddFirstQuestion\n {...{ disabledAddButtonTooltipProps }}\n isDisabled={isEmpty(availableQuestionKinds)}\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 PageLoader from \"neetomolecules/PageLoader\";\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 disabledAddButtonTooltipProps,\n additionalActionOptions = [],\n allowAdditionalGuests = false,\n advancedFeatures = DEFAULT_ADVANCED_FEATURES,\n helpDocUrls,\n className,\n usesCustomSubmissionComponent = false,\n onMutateSuccess = noop,\n hostSpecificData,\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 <PageLoader />\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 disabledAddButtonTooltipProps,\n formDescription,\n formTitle,\n getActiveKindDetails,\n helpDocUrls,\n hostSpecificData,\n isDisabledFieldLabel,\n isFormEnabled,\n isKindAlreadyActive,\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","ChangeLanguageDropdown","_findBy","availableLanguages","_store$formState3","onLanguageChange","isReorderingQuestions","selectedLanguageName","code","name","Tooltip","content","Dropdown","buttonStyle","disabled","Menu","map","MenuItem","Button","isActive","onClick","Overview","description","additionalActionOptions","className","lineHeight","MoreDropdown","dropdownButtonProps","isRounded","dropdownProps","strategy","position","menuItems","Card","_ref$question","question","allQuestionKinds","getActiveKindDetails","onSelect","onEdit","onClone","onDelete","_useState","useState","_useState2","_slicedToArray","isTooltipEnabled","setIsTooltipEnabled","questionLabelRef","useRef","_getActiveKindDetails","item","isSingular","useEffect","element","current","isNotPresent","isElementOverflowing","slugify","classNames","Drag","ref","key","isVisible","isFunction","Questions","isDeletable","Droppable","droppableId","droppableProps","placeholder","innerRef","_objectSpread","index","_question$id","_question$id2","_createElement","Draggable","draggableId","nodeId","_ref3","draggableProps","dragHandleProps","moveItem","arr","sourceIndex","destinationIndex","undefined","removedItem","splice","arrayHelpers","isChoiceQuestion","includes","SELECTABLE_KINDS","underscoredWithoutSpecialCharacters","string","toLowerCase","replace","addSuffixForReservedFieldCode","fieldCode","RESERVED_FIELD_CODES","getUniqueNumbersFromExistingFieldCodes","prefix","filter","startsWith","parseInt","generateFieldCodePrefix","isNameQuestion","NON_BASIC_LATIN_CHARACTERS_REGEX","test","isEmpty","sanitizedLabel","slice","renameKey","curry","oldKey","newKey","obj","assoc","prop","dissoc","modifyDefaultValues","isUsingDefaultQuestionKinds","LABEL_FIELDS","DEFAULT","FULL_NAME","isDefaultLanguage","evolve","optionsAttributes","generateUniqueFieldCode","_ref2$label","_ref2$kind","uniqueNumber","Math","max","_toConsumableArray","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","defaultAttributes","pick","newQuestionLabel","isRichTextQuestion","omit","getAvailableQuestionKinds","_ref7","_ref7$activeQuestions","isKindAlreadyActive","reject","isSingularKind","isAutoGeneratedQuestion","formatQuestionAttributesForClone","when","AddFirstQuestion","onAdd","isDisabled","disabledAddButtonTooltipProps","tooltipProps","buildDisabledAddButtonTooltipProps","NoData","showTooltipWhenButtonDisabled","primaryButtonProps","buildAddQuestionButtonProps","NAME","QUESTION_TYPES","PHONE","EMAIL","ADDITIONAL_GUESTS","TEXT","TEXTAREA","RICH_TEXT","INTEGER","DECIMAL","STAR_RATING","RATING","DATE","FILE_UPLOAD","CAPTCHA","SMS_REMINDER","QUESTIONS_WITH_ADDITIONAL_DATA","QUESTIONS_WITH_PLACEHOLDERS","DEFAULT_PLACEHOLDERS","CHECKBOX","what","RADIO","DROPDOWN","INITIAL_VALUES","isSplitMode","VALID_FIELD_CODE_REGEX","useHelpDoc","FormikAdaptiveInput","otherProps","_objectWithoutProperties","_excluded","_useFormikContext","useFormikContext","dirty","isValid","submitForm","handleKeyDown","event","shiftKey","preventDefault","isMetaKeyPressed","handleFocus","end","value","setSelectionRange","Textarea","resize","size","onFocus","target","onKeyDown","LabelWithPlaceholder","isLabelDisabled","handleLabelChange","_ref$labelProps","labelProps","_ref$placeholderProps","placeholderProps","shouldShowPlaceholder","required","onChange","withEventTargetValue","Name","_useFormikContext$val","usesCustomSubmissionComponent","commonProps","Switch","_Fragment","FIRST_NAME","LAST_NAME","Properties","questionProps","hasAdditionalData","renderAdditionalData","Block","dataCy","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","withT","InputWithMaxLength","maxLength","props","substring","shouldShowMaxLength","Input","FieldCode","helpDocUrl","rejectCharsRegex","FIELD_CODES_REJECT_CHARS_REGEX","helpText","components","Link","href","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","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","isSettingsBlockVisible","handleKindChange","option","buildQuestionData","updateFormState","isNil","extractKindFromOption","uniqueFieldCode","Pane","Select","isClearable","isSearchable","defaultValue","buildDefaultValueForKind","options","buildKindOptions","hideSwitchLabelProps","responseVisibleOnlyToHostSwitchLabelProps","Accordion","defaultActiveKey","Item","readOnlySwitchLabelProps","requiredLabelValidation","schema","field","trim","fieldCodeValidation","matches","richTextFieldMissingErrorMessage","PARAGRAPH","buildLabelValidationSchema","notRequired","RICH_TEXT_QUESTIONS","isEditorEmpty","buildNameLabelValidationSchema","isFullName","stringSchema","yup","formValidationSchema","object","shape","fullNameLabel","firstNameLabel","lastNameLabel","notOneOf","array","of","is","otherwise","highestRatingLabel","nullable","averageRatingLabel","lowestRatingLabel","Add","_useCreateQuestion","useCreateQuestion","ADD","createQuestion","isCreating","neetoFormQuestion","formikProps","initialValues","validationSchema","QuestionForm","Footer","ActionBlock","cancelButtonProps","Edit","_useUpdateQuestion","useUpdateQuestion","updateQuestion","isUpdating","setSubmitting","payload","questionId","EDIT","onSettled","Captcha","Radio","CAPTCHA_TYPES","RECAPTCHA_V2","MATH_CAPTCHA","SwitchBlock","_ref$className","Label","classnames","hyphenate","component","TitleWithHelpPopover","helpLink","HelpPopover","popoverProps","helpLinkProps","DOMAIN_RESTRICTION_TRANSLATIONS","whitelistedDomains","popoverDescription","blacklistedDomains","STYLES","border","color","MultiValueRemove","innerProps","_defineProperty","hyphenize","Close","ValueContainer","getValue","_props$selectProps","selectProps","isFocused","visibleDomainsCount","_children","_toArray","firstChild","rest","shouldCollapse","Tag","ClearIndicator","ERROR_MESSAGE_DELIMITER","DELIMITER_KEYS","DOMAIN_SEPARATION_REGEX","FLEXIBLE_DOMAIN_REGEX","VALID_DOMAIN_REGEX","DOMAIN_VALIDATION_SCHEMA","domain","CUSTOM_STYLES","input","multiValue","styles","valid","CUSTOM_COMPONENTS","DropdownIndicator","removeDuplicateErrorMessages","pipe","isNotNil","uniq","join","formatDomainInputOptions","validateSync","_unused","pruneDuplicates","pluck","getValidDomains","domains","getValidDomainsCount","formatErrorMessage","MultiDomainInput","_ref$label","_ref$value","_ref$onChange","noop","_ref$error","_ref$onBlur","inputValue","setInputValue","_useState3","_useState4","setIsFocused","handleFilterDomains","handleDomainChange","inputValues","match","domainMatches","stopPropagation","onCreateOption","handleBlur","isFilterDomainsLinkVisible","CreatableSelect","isMulti","classNamePrefix","menuIsOpen","control","maxHeight","overflowY","onInputChange","validateDomains","ensure","compact","min","entity","Promise","_asyncToGenerator","_regeneratorRuntime","mark","_callee","resolve","wrap","_callee$","_context","prev","next","t0","stop","_x","EmailDomains","_useField2$0$value","meta","formattedDomains","nullSafe","RestrictDomainsBlock","switchName","domainName","isDomainRestrictionEnabled","paths","_useBuildFormStore2","hostSpecificTranslations","_mergeLeft","Email","_useFormikContext$val2","isDomainWhitelistingEnabled","_useFormikContext$val3","isDomainBlacklistingEnabled","FileGroup","checked","handleAllowedFileTypesChange","Checkbox","buildFileTypesList","fileTypes","getAllowedFileTypes","isChecked","allowedFileTypes","fileTypesSet","Set","FILE_TYPES_MAP","from","newFileTypes","difference","isFileTypeEnabled","FileUpload","_ref$target","fileType","FILE_GROUPS","Options","_","__","setOptionsAttributes","_ref2$optionLabelProp","optionLabelProps","_ref2$freezeOptions","freezeOptions","_ref2$disableAddOptio","disableAddOption","_ref2$disableRemoveOp","disableRemoveOption","isManageOptionDisabled","isAddOptionDisabled","isRemoveOptionDisabled","OptionFields","shouldDestroy","destroyFlagName","draggable","isAddOptionEnabled","isDeleteOptionEnabled","isNewItemsPrefilled","minOptions","MINIMUM_OPTIONS","shouldResetEmptyOptionOnBlur","RatingItem","Rating","RATING_OPTIONS","Icon","icon","StarRating","iconType","setIconType","STAR_RATING_MIN_VALUE_OPTIONS","STAR_RATING_MAX_VALUE_OPTIONS","Object","entries","STAR_RATING_ICONS_MAP","IconType","transformValueForOption","resolveActionComponent","action","pattern","kinds","last","helpUrl","helpIconProps","ManageQuestionPane","Component","AddQuestion","addQuestionHelpProps","onValueChange","isFormEnabled","savedTitle","formTitle","formDescription","helpDocUrls","questionsFromCache","containerRef","setQuestions","setSelectedQuestion","selectedAction","setSelectedAction","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","isDeleteSmsReminderModalOpen","setIsDeleteSmsReminderModalOpen","_useState9","_useState10","isManageQuestionPaneOpen","setIsManageQuestionPaneOpen","setFormData","CLONE","_useReorderQuestions","useReorderQuestions","_len2","_key2","REORDER","reorderQuestions","debouncedReorderQuestions","useFuncDebounce","handleReorder","neetoFormQuestions","buildReorderPayload","enabled","handleAdd","handleEdit","handleClone","attributes","handleDelete","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$additionalAction","_ref$allowAdditionalG","allowAdditionalGuests","_ref$advancedFeatures","DEFAULT_ADVANCED_FEATURES","_ref$usesCustomSubmis","_ref$onMutateSuccess","queryClient","useQueryClient","isLoading","isQuestionsPending","QUESTIONS_INITIAL_VALUE","isQuestionsLoading","PageLoader","_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/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/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/commons/Block.jsx","../../app/javascript/src/components/BuildForm/hooks/useUpdateEditorContent.js","../../app/javascript/src/components/BuildForm/commons/Editor.jsx","../../app/javascript/src/components/BuildForm/commons/RequiredSwitch.jsx","../../app/javascript/src/components/Common/InputWithMaxLength.jsx","../../app/javascript/src/components/BuildForm/Questions/FieldCode.jsx","../../app/javascript/src/components/BuildForm/ManageQuestionPane/Form.jsx","../../app/javascript/src/components/BuildForm/ManageQuestionPane/validations.js","../../app/javascript/src/components/BuildForm/ManageQuestionPane/Add.jsx","../../app/javascript/src/components/BuildForm/ManageQuestionPane/Edit.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/Captcha/index.jsx","../../app/javascript/src/components/BuildForm/commons/SwitchBlock.jsx","../../app/javascript/src/components/BuildForm/commons/TitleWithHelpPopover.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/Email/constants.js","../../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/constants.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/utils.js","../../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/index.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/Email/utils.js","../../app/javascript/src/components/BuildForm/Questions/Fields/Email/EmailDomains.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/Email/RestrictDomainsBlock.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/Email/index.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/FileGroup.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/utils.js","../../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/index.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/Options.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/Rating.jsx","../../app/javascript/src/components/BuildForm/Questions/Fields/StarRating.jsx","../../app/javascript/src/components/BuildForm/ManageQuestionPane/utils.jsx","../../app/javascript/src/components/BuildForm/ManageQuestionPane/index.jsx","../../app/javascript/src/components/BuildForm/Questions/AddQuestion.jsx","../../app/javascript/src/components/BuildForm/Form/index.jsx","../../app/javascript/src/components/BuildForm/index.jsx"],"sourcesContent":["import { findBy, isPresent, truncate } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { equals } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDeleteQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\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-cy=\"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 data-cy=\"delete-sms-reminder-modal-description\" style=\"body2\">\n {path([\"smsReminder\", \"deleteModal\", \"description\"], hostSpecificData)}\n </Typography>\n </Modal.Body>\n </Modal>\n);\n\nexport default DeleteSmsReminderModal;\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 flex-shrink-0 space-y-4 pt-6\">\n <div className=\"flex items-center justify-between\">\n <Typography\n data-cy=\"neeto-form-engine-overview-title\"\n lineHeight=\"neeto-ui-leading-normal\"\n style=\"h2\"\n weight=\"neeto-ui-font-semibold\"\n >\n {title}\n </Typography>\n <div className=\"flex flex-shrink-0 items-center justify-between space-x-1\">\n {availableLanguages.length > 1 && (\n <ChangeLanguageDropdown {...{ 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 data-cy=\"neeto-form-engine-overview-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n);\n\nexport default Overview;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isNotPresent, slugify } from \"neetocist\";\nimport 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}) => {\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\n data-cy={`neeto-form-engine-${slugify(questionLabel)}`}\n className={classNames(\n \"neeto-ui-rounded neeto-ui-border-gray-300 neeto-ui-bg-white neeto-form-nano-form__card flex h-10 w-full items-center justify-between gap-1 border p-2\",\n {\n \"neeto-ui-border-primary-500 neeto-form-nano-form__card--active\":\n isActive,\n }\n )}\n onClick={() => onSelect(question)}\n >\n <div className=\"flex min-w-0 flex-grow items-center gap-1\">\n <Drag className=\"neeto-ui-text-gray-600 flex-shrink-0\" />\n <Tooltip\n content={questionLabel}\n disabled={!isTooltipEnabled}\n position=\"top\"\n >\n <Typography\n className=\"line-clamp-2 min-w-0 flex-grow truncate break-words\"\n data-cy={`${slugify(questionLabel)}-question-card-label`}\n lineHeight=\"snug\"\n ref={questionLabelRef}\n style=\"body2\"\n weight=\"medium\"\n >\n {questionLabel}\n </Typography>\n </Tooltip>\n </div>\n <MoreDropdown\n dropdownButtonProps={{ className: \"shrink-0\" }}\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n \"data-cy\": \"edit-question\",\n key: \"edit\",\n label: t(\"neetoForm.common.edit\"),\n onClick: onEdit,\n },\n {\n \"data-cy\": \"clone-question\",\n key: \"clone\",\n label: t(\"neetoForm.common.clone\"),\n isVisible: !isSingular && isFunction(onClone),\n onClick: onClone,\n },\n {\n \"data-cy\": \"delete-question\",\n key: \"delete\",\n label: t(\"neetoForm.common.delete\"),\n isVisible: isFunction(onDelete),\n onClick: () => onDelete(question),\n },\n ]}\n />\n </div>\n );\n};\n\nexport default Card;\n","import { Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { equals } from \"ramda\";\n\nimport Card from \"../Questions/Card\";\n\nconst Questions = ({\n questions,\n isDeletable,\n allQuestionKinds,\n getActiveKindDetails,\n selectedQuestion,\n onEdit,\n onClone,\n onDelete,\n onSelect,\n}) => (\n <Droppable droppableId=\"droppable\">\n {({ droppableProps, placeholder, innerRef }) => (\n <div {...droppableProps} className=\"space-y-2\" ref={innerRef}>\n {questions.map((question, index) => (\n <Draggable\n {...{ index }}\n draggableId={`question-${question.id ?? question.nodeId}`}\n key={`question-${question.id ?? question.nodeId}`}\n >\n {({ draggableProps, dragHandleProps, innerRef }) => (\n <div {...draggableProps} {...dragHandleProps} ref={innerRef}>\n <Card\n {...{\n allQuestionKinds,\n getActiveKindDetails,\n onClone,\n onEdit,\n onSelect,\n question,\n }}\n isActive={equals(selectedQuestion, question)}\n onDelete={isDeletable(question) && onDelete}\n />\n </div>\n )}\n </Draggable>\n ))}\n {placeholder}\n </div>\n )}\n </Droppable>\n);\nexport default Questions;\n","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 curry,\n prop,\n dissoc,\n} from \"ramda\";\nimport { v4 as uuid } from \"uuid\";\n\nimport arrayHelpers from \"common/helpers/array\";\nimport { LABEL_FIELDS } from \"components/Common/constants\";\nimport { fieldWithFallback, isNameQuestion } from \"utils\";\n\nimport {\n NON_BASIC_LATIN_CHARACTERS_REGEX,\n RESERVED_FIELD_CODES,\n SELECTABLE_KINDS,\n} from \"../constants\";\nimport {\n isAutoGeneratedQuestion,\n isDefaultLanguage,\n isRichTextQuestion,\n} from \"../utils\";\n\nconst isChoiceQuestion = question => includes(question?.kind, SELECTABLE_KINDS);\n\nconst underscoredWithoutSpecialCharacters = string =>\n string\n .toLowerCase()\n .replace(/[\\s-]/g, \"_\")\n .replace(/[\\W]/gi, \"\")\n .replace(/_+/g, \"_\")\n .replace(/^_+|_+$/, \"\");\n\nconst addSuffixForReservedFieldCode = fieldCode =>\n RESERVED_FIELD_CODES.includes(fieldCode) ? `${fieldCode}_field` : fieldCode;\n\nconst getUniqueNumbersFromExistingFieldCodes = (prefix, questions) =>\n questions\n .filter(question => question.fieldCode.startsWith(prefix))\n .map(question => parseInt(question.fieldCode.replace(prefix, \"\")) || 0);\n\nconst generateFieldCodePrefix = (label, kind) => {\n let prefix;\n\n if (\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 renameKey = curry((oldKey, newKey, obj) =>\n assoc(newKey, prop(oldKey, obj), dissoc(oldKey, obj))\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 isRequired,\n kind: type,\n nodeId: uuid(),\n fieldCode: generateUniqueFieldCode({\n questions,\n kind: type,\n label: defaults[\"label\"],\n }),\n };\n};\n\nexport const duplicateFieldData = ({ item, questionKinds, questions }) => {\n const { isRequired, kind, optionsAttributes } = item;\n\n const questionKind = findBy({ type: kind }, questionKinds);\n const label = fieldWithFallback(item, \"label\");\n const defaultAttributeNames = keys(questionKind.defaults || {});\n const defaultAttributes = pick(defaultAttributeNames, item);\n const newQuestionLabel = isRichTextQuestion(kind)\n ? label\n : t(\"neetoForm.common.clonedElementLabel\", { label });\n\n return {\n ...defaultAttributes,\n isRequired,\n kind,\n label: newQuestionLabel,\n optionsAttributes: optionsAttributes && optionsAttributes.map(omit([\"id\"])),\n nodeId: uuid(),\n fieldCode: generateUniqueFieldCode({\n questions,\n kind,\n label: newQuestionLabel,\n }),\n displayOrder: item.displayOrder + 1,\n };\n};\n\nexport const getAvailableQuestionKinds = ({\n allQuestionKinds,\n activeQuestions = [],\n isKindAlreadyActive,\n}) => {\n if (isEmpty(activeQuestions)) return allQuestionKinds;\n\n return reject(kind => {\n const isSingularKind = kind.isSingular;\n\n return (\n isAutoGeneratedQuestion(kind.type) ||\n (isSingularKind && isKindAlreadyActive({ activeQuestions, kind }))\n );\n }, allQuestionKinds);\n};\n\nexport const formatQuestionAttributesForClone = when(\n isChoiceQuestion,\n assoc(\"isCloning\", true)\n);\n","import { 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 RATING,\n DATE,\n FILE_UPLOAD,\n CAPTCHA,\n SMS_REMINDER,\n} = QUESTION_TYPES;\n\nexport const QUESTIONS_WITH_ADDITIONAL_DATA = [\n ...SELECTABLE_KINDS,\n STAR_RATING,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n];\n\nexport const QUESTIONS_WITH_PLACEHOLDERS = [\n NAME,\n PHONE,\n EMAIL,\n ADDITIONAL_GUESTS,\n TEXT,\n TEXTAREA,\n RICH_TEXT,\n INTEGER,\n DECIMAL,\n DATE,\n SMS_REMINDER,\n];\n\nexport const DEFAULT_PLACEHOLDERS = {\n CHECKBOX: t(\"neetoForm.questions.common.questionFields.field.labelExample\", {\n what: t(\"neetoForm.common.hobbies\"),\n }),\n RADIO: t(\"neetoForm.questions.common.questionFields.field.labelExample\", {\n what: t(\"neetoForm.common.country\"),\n }),\n DROPDOWN: t(\"neetoForm.questions.common.questionFields.field.labelExample\", {\n what: t(\"neetoForm.common.company\"),\n }),\n};\n\nexport const INITIAL_VALUES = {\n kind: \"\",\n label: \"\",\n fieldCode: \"\",\n isSplitMode: false,\n};\n\nexport const VALID_FIELD_CODE_REGEX = /^[a-z0-9]+(_[a-z0-9]+)*$/;\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 { 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 { Typography } from \"neetoui\";\n\nconst Block = ({ title, children, dataCy }) => (\n <div className=\"mt-4 space-y-4\" data-cy={dataCy}>\n <div\n className=\"flex items-center justify-between\"\n data-cy=\"properties-header\"\n >\n <Typography lineHeight=\"normal\" style=\"body1\" weight=\"semibold\">\n {title}\n </Typography>\n </div>\n <div className=\"space-y-4\">{children}</div>\n </div>\n);\n\nexport default Block;\n","import { useEffect, useRef } from \"react\";\n\nimport { 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 { 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 useHelpDoc from \"hooks/useHelpDoc\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport { INITIAL_VALUES } from \"./constants\";\nimport Properties from \"./Properties\";\nimport {\n buildDefaultValueForKind,\n buildKindOptions,\n extractKindFromOption,\n getQuestionKind,\n hideSwitchLabelProps,\n readOnlySwitchLabelProps,\n responseVisibleOnlyToHostSwitchLabelProps,\n} from \"./utils\";\n\nimport Block from \"../commons/Block\";\nimport Editor from \"../commons/Editor\";\nimport RequiredSwitch from \"../commons/RequiredSwitch\";\nimport {\n NON_HIDEABLE_FIELDS,\n NON_READ_ONLY_FIELDS,\n QUESTIONS_WITHOUT_FIELD_CODE,\n} from \"../constants\";\nimport { createFieldData, generateUniqueFieldCode } from \"../Form/utils\";\nimport FieldCode from \"../Questions/FieldCode\";\nimport { isImmutableField, isRichTextQuestion } from \"../utils\";\n\nconst Form = ({\n questions,\n initialFocusRef,\n isRequiredField,\n isDisabledFieldLabel,\n 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 } = 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 isSettingsBlockVisible =\n !isRequired && (!isImmutable || shouldShowHideSwitch);\n\n const handleKindChange = option => {\n const data = buildQuestionData(option);\n updateFormState(data);\n };\n\n const buildQuestionData = option => {\n if (isNil(option)) {\n return INITIAL_VALUES;\n }\n\n const { label, value } = option;\n const kind = extractKindFromOption(value);\n const questionKind = getQuestionKind(availableQuestionKinds, {\n type: kind,\n label,\n });\n\n return createFieldData({\n kind: questionKind,\n isRequired,\n questions,\n selectedLanguage,\n isUsingDefaultQuestionKinds,\n });\n };\n\n const updateFormState = data => {\n setValues(data);\n setErrors({});\n setTouched({});\n };\n\n const handleLabelChange = (label, 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 innerRef={initialFocusRef}\n isDisabled={isEdit}\n name=\"kind\"\n options={buildKindOptions(questionKinds)}\n label={t(\n \"neetoForm.questions.common.questionFields.field.questionType\"\n )}\n onChange={handleKindChange}\n />\n {isRichTextQuestion(kind) ? (\n <Editor {...{ isLabelDisabled }} />\n ) : (\n <div className=\"space-y-6\">\n <Properties\n {...{ handleLabelChange, isLabelDisabled, kind, questionProps }}\n />\n {isSettingsBlockVisible && (\n <Block\n dataCy=\"settings-card\"\n title={t(\"neetoForm.common.settings\")}\n >\n {!isImmutable && <RequiredSwitch />}\n {shouldShowHideSwitch && (\n <Switch\n label={t(\"neetoForm.common.hideQuestion\")}\n labelProps={hideSwitchLabelProps(hideQuestionHelpDocUrl)}\n name=\"isHidden\"\n />\n )}\n {canRestrictResponseVisibilityToHost && (\n <Switch\n label={t(\"neetoForm.common.responseVisibleOnlyToHost\")}\n name=\"isResponseVisibleOnlyToHost\"\n labelProps={responseVisibleOnlyToHostSwitchLabelProps(\n responseVisibleOnlyToHostHelpDocUrl\n )}\n />\n )}\n </Block>\n )}\n {(shouldShowFieldCode || canMarkResponsesAsReadOnly) && (\n <Accordion\n className=\"neeto-form-nano-advanced-properties-accordion\"\n data-cy=\"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 {canMarkResponsesAsReadOnly && (\n <Switch\n label={t(\"neetoForm.common.readOnly\")}\n name=\"isReadOnly\"\n labelProps={readOnlySwitchLabelProps(\n readOnlyHelpDocUrl\n )}\n />\n )}\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\";\nimport * as yup from \"yup\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\nimport { isNameQuestion } from \"utils\";\n\nimport { VALID_FIELD_CODE_REGEX } from \"./constants\";\n\nimport {\n QUESTIONS_WITHOUT_FIELD_CODE,\n RESERVED_FIELD_CODES,\n RICH_TEXT_QUESTIONS,\n SELECTABLE_KINDS,\n} from \"../constants\";\n\nconst requiredLabelValidation = (schema, field) =>\n schema.trim().required(t(\"neetoForm.common.fieldReq\", { field }));\n\nconst fieldCodeValidation = (schema, field) =>\n schema\n .trim()\n .required(t(\"neetoForm.common.fieldReq\", { field }))\n .matches(\n VALID_FIELD_CODE_REGEX,\n t(\"neetoForm.error.invalidField\", { label: field })\n );\n\nconst richTextFieldMissingErrorMessage = kind => {\n const field = equals(kind, QUESTION_TYPES.PARAGRAPH)\n ? t(\"neetoForm.fields.def\")\n : t(\"neetoForm.fields.tcf\");\n\n return t(\"neetoForm.error.fieldCantBeEmpty\", { field });\n};\n\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 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 highestRatingLabel: yup.string().nullable(),\n averageRatingLabel: yup.string().nullable(),\n lowestRatingLabel: yup.string().nullable(),\n });\n","import { findBy } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form } from \"neetoui/formik\";\nimport { mergeLeft, 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 { 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 }, 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-cy=\"add-question-pane-header\" style=\"h2\">\n {t(\"neetoForm.questions.common.primaryPanel.addQuestion\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: INITIAL_VALUES,\n validationSchema: formValidationSchema(\n 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 { 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 { 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: 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-cy=\"edit-question-pane-header\" style=\"h2\">\n {t(\"neetoForm.questions.common.editQuestion\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: question,\n validationSchema: formValidationSchema(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 { withT } from \"neetocommons/react-utils\";\nimport { Radio } from \"neetoui/formik\";\n\nimport { CAPTCHA_TYPES } from \"components/constants\";\n\nconst Captcha = withT(({ t }) => (\n <Radio\n label={t(\"neetoForm.common.captchaType\")}\n labelProps={{ required: true }}\n name=\"variant\"\n >\n <Radio.Item\n label={t(\"neetoForm.common.reCaptchaV2\")}\n value={CAPTCHA_TYPES.RECAPTCHA_V2}\n />\n <Radio.Item\n label={t(\"neetoForm.common.mathCaptcha\")}\n value={CAPTCHA_TYPES.MATH_CAPTCHA}\n />\n </Radio>\n));\n\nexport default Captcha;\n","import classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Label, Typography } from \"neetoui\";\nimport { Switch } from \"neetoui/formik\";\n\nconst SwitchBlock = ({ name, title, className = \"\", ...otherProps }) => (\n <Label\n className={classnames(\"flex items-center justify-start gap-2 \", className)}\n data-cy={`neeto-form-engine-${hyphenate(title && name)}-toggle-label`}\n >\n <Switch\n {...{ ...otherProps, name }}\n data-cy={`neeto-form-engine-${hyphenate(title && name)}-switch`}\n />\n <Typography component=\"span\" style=\"body1\">\n {title}\n </Typography>\n </Label>\n);\n\nexport default SwitchBlock;\n","import HelpPopover from \"neetomolecules/HelpPopover\";\n\nconst TitleWithHelpPopover = ({ title, description, helpLink }) => (\n <div className=\"flex gap-2\">\n {title}\n <HelpPopover\n {...{ description }}\n popoverProps={{ position: \"top\" }}\n {...(helpLink && { helpLinkProps: { href: helpLink } })}\n />\n </div>\n);\n\nexport default TitleWithHelpPopover;\n","import { t } from \"i18next\";\n\nexport const DOMAIN_RESTRICTION_TRANSLATIONS = {\n whitelistedDomains: {\n title: t(\"neetoForm.domainRestriction.whitelistedDomains.label\"),\n description: t(\n \"neetoForm.domainRestriction.whitelistedDomains.description\"\n ),\n popoverDescription: t(\n \"neetoForm.domainRestriction.whitelistedDomains.popoverDescription\"\n ),\n },\n blacklistedDomains: {\n title: t(\"neetoForm.domainRestriction.blacklistedDomains.label\"),\n description: t(\n \"neetoForm.domainRestriction.blacklistedDomains.description\"\n ),\n popoverDescription: t(\n \"neetoForm.domainRestriction.blacklistedDomains.popoverDescription\"\n ),\n },\n};\n","import { t } from \"i18next\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Close } from \"neetoicons\";\nimport { Tag } from \"neetoui\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { components } from \"react-select\";\nimport * as yup from \"yup\";\n\nconst STYLES = {\n border: {\n default: \"1px solid rgb(var(--neeto-ui-gray-400))\",\n error: \"1px solid rgb(var(--neeto-ui-error-800)) !important\",\n },\n color: {\n default: \"rgb(var(--neeto-ui-gray-800))\",\n error: \"rgb(var(--neeto-ui-error-800)) !important\",\n },\n};\n\nconst MultiValueRemove = props => (\n <components.MultiValueRemove\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: `${hyphenize(props.data.label)}-remove-icon`,\n }}\n >\n <Close size={16} />\n </components.MultiValueRemove>\n);\n\nconst ValueContainer = ({ children, ...props }) => {\n const { t } = useTranslation();\n\n const {\n getValue,\n selectProps: { isFocused, visibleDomainsCount },\n } = props;\n const value = getValue();\n const [firstChild, ...rest] = children;\n\n const shouldCollapse = !isFocused && value.length > visibleDomainsCount;\n\n return (\n <components.ValueContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-domain-input-container\",\n }}\n >\n {shouldCollapse ? firstChild.slice(0, visibleDomainsCount) : firstChild}\n {shouldCollapse && (\n <Tag\n style=\"secondary\"\n label={t(\"neetoForm.common.remainingItemsCount\", {\n count: value.length - visibleDomainsCount,\n })}\n />\n )}\n {rest}\n </components.ValueContainer>\n );\n};\n\nconst ClearIndicator = props => (\n <components.ClearIndicator\n {...props}\n innerProps={{ ...props.innerProps, [\"data-cy\"]: \"clear-all-button\" }}\n >\n <Close className=\"cursor-pointer\" size={16} />\n </components.ClearIndicator>\n);\n\nexport const ERROR_MESSAGE_DELIMITER = \". \";\nexport const DELIMITER_KEYS = [\"Enter\", \"Tab\", \",\", \" \"];\nexport const DOMAIN_SEPARATION_REGEX = /[^\\s,]+/g;\nexport const FLEXIBLE_DOMAIN_REGEX = /^[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)+$/;\n\nexport const VALID_DOMAIN_REGEX =\n /^(?:[a-zA-Z0-9-]{1,63}\\.)+[a-zA-Z0-9-]{2,63}$/;\n\nexport const DOMAIN_VALIDATION_SCHEMA = yup\n .string()\n .required(\n t(\"neetoForm.error.requiredField\", {\n label: t(\"neetoForm.common.domain\"),\n })\n )\n .test(\"verify domains\", t(\"neetoForm.error.invalidDomain\"), domain =>\n VALID_DOMAIN_REGEX.test(domain)\n );\n\nexport const CUSTOM_STYLES = {\n input: assoc(\"overflow\", \"hidden\"),\n multiValue: (styles, { data: { valid } }) => ({\n ...styles,\n border: valid ? STYLES.border.default : STYLES.border.error,\n color: valid ? STYLES.color.default : STYLES.color.error,\n }),\n};\n\nexport const CUSTOM_COMPONENTS = {\n DropdownIndicator: null,\n MultiValueRemove,\n ValueContainer,\n ClearIndicator,\n};\n","import { filter, isNotNil, join, map, pipe, pluck, uniq } from \"ramda\";\n\nimport { ERROR_MESSAGE_DELIMITER, DOMAIN_VALIDATION_SCHEMA } from \"./constants\";\n\nconst removeDuplicateErrorMessages = pipe(\n filter(isNotNil),\n uniq,\n join(ERROR_MESSAGE_DELIMITER)\n);\n\nexport const formatDomainInputOptions = domain => {\n let isValid;\n\n try {\n DOMAIN_VALIDATION_SCHEMA.validateSync(domain);\n isValid = true;\n } catch {\n isValid = false;\n }\n\n return { label: domain, value: domain, valid: isValid };\n};\n\nexport const pruneDuplicates = pipe(\n pluck(\"value\"),\n uniq,\n map(formatDomainInputOptions)\n);\n\nexport const getValidDomains = domains =>\n domains.filter(domain => domain?.valid);\n\nexport const getValidDomainsCount = domains => getValidDomains(domains).length;\n\nexport const formatErrorMessage = error => {\n if (typeof error === \"string\") return error;\n\n return removeDuplicateErrorMessages(error);\n};\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Label } from \"neetoui\";\nimport { mergeLeft, filter, includes, test } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport CreatableSelect from \"react-select/creatable\";\n\nimport {\n CUSTOM_COMPONENTS,\n CUSTOM_STYLES,\n DELIMITER_KEYS,\n DOMAIN_SEPARATION_REGEX,\n ERROR_MESSAGE_DELIMITER,\n FLEXIBLE_DOMAIN_REGEX,\n} from \"./constants\";\nimport {\n formatDomainInputOptions,\n formatErrorMessage,\n getValidDomainsCount,\n pruneDuplicates,\n getValidDomains,\n} from \"./utils\";\n\nconst MultiDomainInput = ({\n label = \"\",\n value = [],\n onChange = noop,\n error = \"\",\n onBlur = noop,\n ...otherProps\n}) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n\n const { t } = useTranslation();\n\n const handleFilterDomains = () => onChange(getValidDomains(value));\n\n const handleDomainChange = () => {\n const inputValues = inputValue.match(DOMAIN_SEPARATION_REGEX) || [];\n const domainMatches = filter(test(FLEXIBLE_DOMAIN_REGEX), inputValues);\n\n const domains = domainMatches.map(formatDomainInputOptions);\n onChange(pruneDuplicates([...value, ...domains]));\n setInputValue(\"\");\n };\n\n const handleKeyDown = event => {\n if (!inputValue) return;\n\n if (includes(event.key, DELIMITER_KEYS)) {\n handleDomainChange();\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n const onCreateOption = input => {\n const domain = formatDomainInputOptions(input);\n onChange(pruneDuplicates([...value, domain]));\n };\n\n const handleBlur = event => {\n inputValue ? handleDomainChange() : onBlur(event);\n setIsFocused(false);\n };\n\n const isFilterDomainsLinkVisible = value.length > getValidDomainsCount(value);\n\n return (\n <div className=\"neeto-ui-input__wrapper neeto-ui-email-input__wrapper\">\n <div className=\"neeto-ui-email-input__label-wrapper\">\n <Label\n className=\"neeto-ui-email-input__label\"\n data-cy={`${hyphenize(label)}-input-label`}\n >\n {label}\n </Label>\n </div>\n <CreatableSelect\n isMulti\n required\n classNamePrefix=\"neeto-ui-react-select\"\n components={CUSTOM_COMPONENTS}\n menuIsOpen={false}\n visibleDomainsCount={3}\n className={classnames(\n \"neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select\",\n { \"neeto-ui-react-select__container--error\": !!error }\n )}\n styles={{\n ...CUSTOM_STYLES,\n control: mergeLeft({\n maxHeight: \"200px\",\n overflowY: \"auto\",\n }),\n }}\n onBlur={handleBlur}\n onFocus={() => setIsFocused(true)}\n onInputChange={setInputValue}\n onKeyDown={handleKeyDown}\n {...{\n inputValue,\n isFocused,\n onChange,\n onCreateOption,\n value,\n ...otherProps,\n }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n >\n {formatErrorMessage(error)}\n {isFilterDomainsLinkVisible && (\n <span\n className=\"neeto-ui-font-semibold cursor-pointer\"\n onClick={handleFilterDomains}\n >\n {ERROR_MESSAGE_DELIMITER}\n {t(\"neetoForm.domainRestriction.removeInvalidDomains\")}\n </span>\n )}\n </p>\n )}\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n >\n {t(\"neetoForm.domainRestriction.helpText\")}\n </p>\n </div>\n );\n};\n\nexport default MultiDomainInput;\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { VALID_DOMAIN_REGEX } from \"./MultiDomainInput/constants\";\n\nexport const validateDomains = value => {\n const schema = yup\n .array()\n .of(\n yup\n .string()\n .test(\"verify domains\", t(\"neetoForm.error.invalidDomain\"), domain =>\n VALID_DOMAIN_REGEX.test(domain)\n )\n )\n .ensure()\n .compact()\n .min(\n 1,\n t(\"neetoForm.error.minOneEntity\", {\n entity: t(\"neetoForm.common.domain\"),\n })\n );\n\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async resolve => {\n try {\n await schema.validate(value);\n resolve(undefined);\n } catch (err) {\n resolve(err.message);\n }\n });\n};\n","import { useField } from \"formik\";\nimport { nullSafe } from \"neetocist\";\nimport { map, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport MultiDomainInput from \"./MultiDomainInput\";\nimport { formatDomainInputOptions } from \"./MultiDomainInput/utils\";\nimport { validateDomains } from \"./utils\";\n\nconst EmailDomains = ({ name, label }) => {\n const { t } = useTranslation();\n\n const [{ value: domains = [] }, meta, { setValue, setTouched }] = useField({\n name,\n validate: validateDomains,\n });\n\n const formattedDomains = map(formatDomainInputOptions, domains);\n\n return (\n <div className=\"mb-4\">\n <MultiDomainInput\n {...{ label, name }}\n error={meta.touched ? meta.error : \"\"}\n placeholder={t(\"neetoForm.domainRestriction.placeholder\")}\n value={formattedDomains}\n onBlur={() => setTouched(true)}\n onChange={value => setValue(nullSafe(pluck)(\"value\", value))}\n />\n </div>\n );\n};\n\nexport default EmailDomains;\n","import { hyphenate } from \"neetocist\";\nimport { mergeLeft, paths } from \"ramda\";\n\nimport SwitchBlock from \"components/BuildForm/commons/SwitchBlock\";\nimport TitleWithHelpPopover from \"components/BuildForm/commons/TitleWithHelpPopover\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport { DOMAIN_RESTRICTION_TRANSLATIONS } from \"./constants\";\nimport EmailDomains from \"./EmailDomains\";\n\nconst RestrictDomainsBlock = ({\n switchName,\n domainName,\n isDomainRestrictionEnabled,\n}) => {\n const [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-cy={`${hyphenate(switchName)}-container`}\n >\n <SwitchBlock\n className=\"mt-4\"\n name={switchName}\n title={\n <TitleWithHelpPopover\n {...{ helpLink, title }}\n description={popoverDescription}\n />\n }\n />\n {isDomainRestrictionEnabled && (\n <EmailDomains label={description} name={domainName} />\n )}\n </div>\n );\n};\n\nexport default RestrictDomainsBlock;\n","import { useFormikContext } from \"formik\";\n\nimport RestrictDomainsBlock from \"./RestrictDomainsBlock\";\n\nconst Email = ({ usesCustomSubmissionComponent }) => {\n const {\n values: {\n isDomainWhitelistingEnabled = false,\n isDomainBlacklistingEnabled = false,\n },\n } = useFormikContext();\n\n return (\n <div className=\"flex flex-col\">\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 </>\n )}\n </div>\n );\n};\n\nexport default Email;\n","import { Checkbox } from \"neetoui\";\n\nconst FileGroup = ({ name, label, checked, handleAllowedFileTypesChange }) => (\n <Checkbox\n {...{ checked, label, name }}\n data-cy={`neeto-form-engine-file-type-${name}`}\n id={name}\n onChange={handleAllowedFileTypesChange}\n />\n);\n\nexport default FileGroup;\n","import { difference, isEmpty } from \"ramda\";\n\nimport { FILE_TYPES_MAP } from \"../constants\";\n\nconst buildFileTypesList = fileTypes => (fileTypes ?? \"\").split(\", \");\n\nexport const getAllowedFileTypes = ({ type, isChecked, allowedFileTypes }) => {\n const fileTypes = buildFileTypesList(allowedFileTypes);\n if (isChecked) {\n const fileTypesSet = new Set([...FILE_TYPES_MAP[type], ...fileTypes]);\n\n return Array.from(fileTypesSet).join(\", \");\n }\n const newFileTypes = difference(fileTypes, FILE_TYPES_MAP[type]);\n\n return newFileTypes.join(\", \");\n};\n\nexport const isFileTypeEnabled = (type, allowedFileTypes) => {\n const fileTypes = buildFileTypesList(allowedFileTypes);\n\n return isEmpty(difference(FILE_TYPES_MAP[type], fileTypes));\n};\n","import { useFormikContext } from \"formik\";\nimport { Typography } from \"neetoui\";\nimport { Checkbox } from \"neetoui/formik\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FileGroup from \"./FileGroup\";\nimport { getAllowedFileTypes, isFileTypeEnabled } from \"./utils\";\n\nimport { FILE_GROUPS } from \"../constants\";\n\nconst FileUpload = () => {\n const { t } = useTranslation();\n\n const { values, setFieldValue } = useFormikContext();\n\n const allowedFileTypes = prop(\"allowedFileTypes\", values);\n\n const handleAllowedFileTypesChange = ({\n target: { name: fileType, checked },\n }) =>\n setFieldValue(\n \"allowedFileTypes\",\n getAllowedFileTypes({\n type: fileType,\n isChecked: checked,\n allowedFileTypes,\n })\n );\n\n return (\n <>\n <div className=\"w-full\">\n <Checkbox\n id=\"multipleFilesAllowed\"\n label={t(\"neetoForm.fileUpload.enableMultipleFilesUpload\")}\n name=\"multipleFilesAllowed\"\n />\n </div>\n <div className=\"flex flex-col space-y-3\">\n <Typography style=\"body1\" weight=\"semibold\">\n {t(\"neetoForm.fileUpload.fileTypes\")}\n </Typography>\n <div className=\"flex space-x-4\">\n {FILE_GROUPS.map(({ name, label }) => (\n <FileGroup\n {...{ handleAllowedFileTypesChange, label, name }}\n checked={isFileTypeEnabled(name, allowedFileTypes)}\n key={name}\n />\n ))}\n </div>\n </div>\n </>\n );\n};\n\nexport default FileUpload;\n","import { useField } from \"formik\";\nimport OptionFields from \"neetomolecules/OptionFields\";\nimport { Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isDefaultLanguage } from \"components/BuildForm/utils\";\nimport useBuildFormStore from \"src/stores/buildForm\";\nimport { isFunction } from \"utils\";\n\nimport { MINIMUM_OPTIONS } from \"../../constants\";\n\nconst Options = ({ questionProps }) => {\n const { t } = useTranslation();\n\n const { selectedLanguage } = useBuildFormStore.pick(\"formState\");\n\n const name = \"optionsAttributes\";\n const [_, __, { setValue: setOptionsAttributes }] = useField(name);\n\n const {\n optionLabelProps = {},\n freezeOptions = false,\n disableAddOption = false,\n disableRemoveOption = false,\n } = questionProps || {};\n\n const isManageOptionDisabled = isFunction(freezeOptions)\n ? freezeOptions(selectedLanguage)\n : freezeOptions;\n\n const isAddOptionDisabled = disableAddOption || isManageOptionDisabled;\n const isRemoveOptionDisabled = disableRemoveOption || isManageOptionDisabled;\n\n return (\n <div className=\"w-full\">\n <Label className=\"mb-2 block\" {...optionLabelProps}>\n {t(\"neetoForm.questions.common.questionFields.field.options\")}\n </Label>\n <OptionFields\n {...{ name }}\n shouldDestroy\n destroyFlagName=\"_destroy\"\n disabled={isManageOptionDisabled}\n draggable={!isManageOptionDisabled}\n isAddOptionEnabled={!isAddOptionDisabled}\n isDeleteOptionEnabled={!isRemoveOptionDisabled}\n isNewItemsPrefilled={isDefaultLanguage(selectedLanguage)}\n minOptions={MINIMUM_OPTIONS}\n shouldResetEmptyOptionOnBlur={false}\n onChange={setOptionsAttributes}\n />\n </div>\n );\n};\n\nexport default Options;\n","import { hyphenate } from \"neetocist\";\n\nimport Input from \"components/Common/InputWithMaxLength\";\n\nimport { RATING_OPTIONS } from \"./constants\";\n\nconst RatingItem = ({ children }) => (\n <div className=\"flex w-16 flex-col items-center gap-3\">{children}</div>\n);\n\nconst Rating = () => (\n <div className=\"flex flex-col\">\n <div className=\"w-full\">\n <div className=\"flex gap-6\">\n {RATING_OPTIONS.map(({ icon: Icon, name, color }) => (\n <RatingItem key={name}>\n <Icon {...{ color }} size={48} />\n <Input\n {...{ name }}\n data-cy={`neeto-form-engine-${hyphenate(name)}`}\n />\n </RatingItem>\n ))}\n </div>\n </div>\n </div>\n);\n\nexport default Rating;\n","import classNames from \"classnames\";\nimport { useField, useFormikContext } from \"formik\";\nimport { Label } from \"neetoui\";\nimport { Select } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n STAR_RATING_ICONS_MAP,\n STAR_RATING_MAX_VALUE_OPTIONS,\n STAR_RATING_MIN_VALUE_OPTIONS,\n} from \"./constants\";\n\nconst StarRating = () => {\n const { t } = useTranslation();\n\n const { setFieldValue } = useFormikContext();\n\n const [{ value: iconType }, _, { setValue: setIconType }] =\n useField(\"iconType\");\n\n return (\n <>\n <div className=\"flex space-x-4\">\n <Select\n className=\"w-1/2\"\n data-cy=\"neeto-form-engine-star-rating-min-value\"\n label={t(\"neetoForm.common.start\")}\n name=\"minValue\"\n options={STAR_RATING_MIN_VALUE_OPTIONS}\n onChange={option => setFieldValue(\"minValue\", option?.value)}\n />\n <Select\n className=\"w-1/2\"\n data-cy=\"neeto-form-engine-star-rating-max-value\"\n label={t(\"neetoForm.common.end\")}\n name=\"maxValue\"\n options={STAR_RATING_MAX_VALUE_OPTIONS}\n onChange={option => setFieldValue(\"maxValue\", option?.value)}\n />\n </div>\n <Label>{t(\"neetoForm.common.shape\")}</Label>\n <div className=\"flex gap-2\">\n {Object.entries(STAR_RATING_ICONS_MAP).map(([name, IconType]) => {\n const isActive = name === iconType;\n\n return (\n <div\n data-cy={`neeto-form-engine-rating-icon-${name}`}\n key={name}\n className={classNames(\n \"flex h-10 w-10 items-center justify-center gap-2\",\n \"neeto-ui-border-gray-800 neeto-ui-rounded-full cursor-pointer border\",\n \"transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-text-gray-800 neeto-ui-bg-gray-200\": !isActive,\n \"neeto-ui-text-white neeto-ui-bg-gray-800\": isActive,\n }\n )}\n onClick={() => setIconType(name)}\n >\n <IconType />\n </div>\n );\n })}\n </div>\n </>\n );\n};\n\nexport default StarRating;\n","import { t } from \"i18next\";\nimport { findBy, isPresent, slugify } from \"neetocist\";\nimport { assoc, equals, last, pipe, split } from \"ramda\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\n\nimport Add from \"./Add\";\nimport Edit from \"./Edit\";\n\nimport { QUESTION_ACTIONS } from \"../constants\";\nimport Captcha from \"../Questions/Fields/Captcha\";\nimport Email from \"../Questions/Fields/Email\";\nimport FileUpload from \"../Questions/Fields/FileUpload\";\nimport Options from \"../Questions/Fields/Options\";\nimport Rating from \"../Questions/Fields/Rating\";\nimport StarRating from \"../Questions/Fields/StarRating\";\n\nconst {\n CHECKBOX,\n RADIO,\n DROPDOWN,\n STAR_RATING,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n} = QUESTION_TYPES;\n\nconst transformValueForOption = ({ label, type }) =>\n `${slugify(label)}-${type}`;\n\nexport const renderAdditionalData = ({\n kind,\n questionProps,\n 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 FILE_UPLOAD:\n return <FileUpload />;\n case CAPTCHA:\n return <Captcha />;\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 }) => ({\n label,\n value: transformValueForOption({ label, type }),\n }));\n\nexport const extractKindFromOption = pipe(split(\"-\"), last);\n\nexport const buildDefaultValueForKind = questionKind =>\n isPresent(questionKind)\n ? { value: transformValueForOption(questionKind) }\n : undefined;\n\nexport const hideSwitchLabelProps = helpUrl =>\n helpUrl\n ? {\n helpIconProps: {\n popoverProps: {\n description: t(\n \"neetoForm.questions.common.questionFields.field.hideQuestionHelpDescription\"\n ),\n helpLinkProps: {\n href: helpUrl,\n label: t(\"neetoForm.common.viewHelpArticle\"),\n },\n },\n },\n }\n : undefined;\n\nexport const responseVisibleOnlyToHostSwitchLabelProps = helpUrl => ({\n helpIconProps: {\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 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","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 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 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}) => {\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\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 });\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 ]);\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 {\n setIsDeleteAlertOpen(true);\n }\n };\n\n useOnClickOutside(containerRef, () => handleSelect({}), {\n enabled: !(isDeleteAlertOpen || isManageQuestionPaneOpen),\n });\n\n useEffect(() => {\n onValueChange?.(questions);\n }, [questions]);\n\n const availableQuestionKinds = getAvailableQuestionKinds({\n allQuestionKinds: questionKinds,\n activeQuestions: questions,\n isKindAlreadyActive,\n });\n\n 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 <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 flex-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 getActiveKindDetails,\n isDeletable,\n questions,\n selectedQuestion,\n }}\n allQuestionKinds={questionKinds}\n onClone={handleClone}\n onDelete={handleDelete}\n onEdit={handleEdit}\n onSelect={handleSelect}\n />\n </DragDropContext>\n <div className=\"mb-8 flex w-full items-center gap-x-1\">\n <AddQuestion\n {...{\n addQuestionHelpProps,\n disabledAddButtonHelpPopoverProps,\n }}\n isDisabled={isEmpty(availableQuestionKinds)}\n onAdd={handleAdd}\n />\n </div>\n </div>\n ) : (\n <AddFirstQuestion\n {...{ disabledAddButtonHelpPopoverProps }}\n isDisabled={isEmpty(availableQuestionKinds)}\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}) => {\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 disabledAddButtonHelpPopoverProps,\n formDescription,\n formTitle,\n getActiveKindDetails,\n helpDocUrls,\n hostSpecificData,\n isDisabledFieldLabel,\n isFormEnabled,\n isKindAlreadyActive,\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","ChangeLanguageDropdown","_findBy","availableLanguages","_store$formState3","onLanguageChange","isReorderingQuestions","selectedLanguageName","code","name","Tooltip","content","Dropdown","buttonStyle","disabled","Menu","map","MenuItem","Button","isActive","onClick","Overview","description","additionalActionOptions","className","lineHeight","MoreDropdown","dropdownButtonProps","isRounded","dropdownProps","strategy","position","menuItems","Card","_ref$question","question","allQuestionKinds","getActiveKindDetails","onSelect","onEdit","onClone","onDelete","_useState","useState","_useState2","_slicedToArray","isTooltipEnabled","setIsTooltipEnabled","questionLabelRef","useRef","_getActiveKindDetails","item","isSingular","useEffect","element","current","isNotPresent","isElementOverflowing","slugify","classNames","Drag","ref","key","isVisible","isFunction","Questions","isDeletable","Droppable","droppableId","droppableProps","placeholder","innerRef","_objectSpread","index","_question$id","_question$id2","_createElement","Draggable","draggableId","nodeId","_ref3","draggableProps","dragHandleProps","moveItem","arr","sourceIndex","destinationIndex","undefined","removedItem","splice","arrayHelpers","isChoiceQuestion","includes","SELECTABLE_KINDS","underscoredWithoutSpecialCharacters","string","toLowerCase","replace","addSuffixForReservedFieldCode","fieldCode","RESERVED_FIELD_CODES","getUniqueNumbersFromExistingFieldCodes","prefix","filter","startsWith","parseInt","generateFieldCodePrefix","isNameQuestion","NON_BASIC_LATIN_CHARACTERS_REGEX","test","isEmpty","sanitizedLabel","slice","renameKey","curry","oldKey","newKey","obj","assoc","prop","dissoc","modifyDefaultValues","isUsingDefaultQuestionKinds","LABEL_FIELDS","DEFAULT","FULL_NAME","isDefaultLanguage","evolve","optionsAttributes","generateUniqueFieldCode","_ref2$label","_ref2$kind","uniqueNumber","Math","max","_toConsumableArray","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","defaultAttributes","pick","newQuestionLabel","isRichTextQuestion","omit","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","QUESTION_TYPES","PHONE","EMAIL","ADDITIONAL_GUESTS","TEXT","TEXTAREA","RICH_TEXT","INTEGER","DECIMAL","STAR_RATING","RATING","DATE","FILE_UPLOAD","CAPTCHA","SMS_REMINDER","QUESTIONS_WITH_ADDITIONAL_DATA","QUESTIONS_WITH_PLACEHOLDERS","DEFAULT_PLACEHOLDERS","CHECKBOX","what","RADIO","DROPDOWN","INITIAL_VALUES","isSplitMode","VALID_FIELD_CODE_REGEX","useHelpDoc","FormikAdaptiveInput","otherProps","_objectWithoutProperties","_excluded","_useFormikContext","useFormikContext","dirty","isValid","submitForm","handleKeyDown","event","shiftKey","preventDefault","isMetaKeyPressed","handleFocus","end","value","setSelectionRange","Textarea","resize","size","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","Block","dataCy","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","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","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","isSettingsBlockVisible","handleKindChange","option","buildQuestionData","updateFormState","isNil","extractKindFromOption","uniqueFieldCode","Pane","Select","isClearable","isSearchable","defaultValue","buildDefaultValueForKind","options","buildKindOptions","hideSwitchLabelProps","responseVisibleOnlyToHostSwitchLabelProps","Accordion","defaultActiveKey","Item","readOnlySwitchLabelProps","requiredLabelValidation","schema","field","trim","fieldCodeValidation","matches","richTextFieldMissingErrorMessage","PARAGRAPH","buildLabelValidationSchema","notRequired","RICH_TEXT_QUESTIONS","isEditorEmpty","buildNameLabelValidationSchema","isFullName","stringSchema","yup","formValidationSchema","object","shape","fullNameLabel","firstNameLabel","lastNameLabel","notOneOf","array","of","is","otherwise","highestRatingLabel","nullable","averageRatingLabel","lowestRatingLabel","Add","_useCreateQuestion","useCreateQuestion","ADD","createQuestion","isCreating","neetoFormQuestion","formikProps","initialValues","validationSchema","QuestionForm","Footer","ActionBlock","cancelButtonProps","Edit","_useUpdateQuestion","useUpdateQuestion","updateQuestion","isUpdating","setSubmitting","payload","questionId","EDIT","onSettled","Captcha","Radio","CAPTCHA_TYPES","RECAPTCHA_V2","MATH_CAPTCHA","SwitchBlock","_ref$className","Label","classnames","hyphenate","component","TitleWithHelpPopover","helpLink","HelpPopover","popoverProps","DOMAIN_RESTRICTION_TRANSLATIONS","whitelistedDomains","popoverDescription","blacklistedDomains","STYLES","border","color","MultiValueRemove","innerProps","_defineProperty","hyphenize","Close","ValueContainer","getValue","_props$selectProps","selectProps","isFocused","visibleDomainsCount","_children","_toArray","firstChild","rest","shouldCollapse","Tag","ClearIndicator","ERROR_MESSAGE_DELIMITER","DELIMITER_KEYS","DOMAIN_SEPARATION_REGEX","FLEXIBLE_DOMAIN_REGEX","VALID_DOMAIN_REGEX","DOMAIN_VALIDATION_SCHEMA","domain","CUSTOM_STYLES","input","multiValue","styles","valid","CUSTOM_COMPONENTS","DropdownIndicator","removeDuplicateErrorMessages","pipe","isNotNil","uniq","join","formatDomainInputOptions","validateSync","_unused","pruneDuplicates","pluck","getValidDomains","domains","getValidDomainsCount","formatErrorMessage","MultiDomainInput","_ref$label","_ref$value","_ref$onChange","noop","_ref$error","_ref$onBlur","inputValue","setInputValue","_useState3","_useState4","setIsFocused","handleFilterDomains","handleDomainChange","inputValues","match","domainMatches","stopPropagation","onCreateOption","handleBlur","isFilterDomainsLinkVisible","CreatableSelect","isMulti","classNamePrefix","menuIsOpen","control","maxHeight","overflowY","onInputChange","validateDomains","ensure","compact","min","entity","Promise","_asyncToGenerator","_regeneratorRuntime","mark","_callee","resolve","wrap","_callee$","_context","prev","next","t0","stop","_x","EmailDomains","_useField2$0$value","meta","formattedDomains","nullSafe","RestrictDomainsBlock","switchName","domainName","isDomainRestrictionEnabled","paths","_useBuildFormStore2","hostSpecificTranslations","_mergeLeft","Email","_useFormikContext$val2","isDomainWhitelistingEnabled","_useFormikContext$val3","isDomainBlacklistingEnabled","FileGroup","checked","handleAllowedFileTypesChange","Checkbox","buildFileTypesList","fileTypes","getAllowedFileTypes","isChecked","allowedFileTypes","fileTypesSet","Set","FILE_TYPES_MAP","from","newFileTypes","difference","isFileTypeEnabled","FileUpload","_ref$target","fileType","FILE_GROUPS","Options","_","__","setOptionsAttributes","_ref2$optionLabelProp","optionLabelProps","_ref2$freezeOptions","freezeOptions","_ref2$disableAddOptio","disableAddOption","_ref2$disableRemoveOp","disableRemoveOption","isManageOptionDisabled","isAddOptionDisabled","isRemoveOptionDisabled","OptionFields","shouldDestroy","destroyFlagName","draggable","isAddOptionEnabled","isDeleteOptionEnabled","isNewItemsPrefilled","minOptions","MINIMUM_OPTIONS","shouldResetEmptyOptionOnBlur","RatingItem","Rating","RATING_OPTIONS","Icon","icon","StarRating","iconType","setIconType","STAR_RATING_MIN_VALUE_OPTIONS","STAR_RATING_MAX_VALUE_OPTIONS","Object","entries","STAR_RATING_ICONS_MAP","IconType","transformValueForOption","resolveActionComponent","action","pattern","kinds","last","helpUrl","helpIconProps","ManageQuestionPane","Component","AddQuestion","addQuestionHelpProps","helpPopoverProps","buildDisabledAddButtonHelpPopoverProps","onValueChange","isFormEnabled","savedTitle","formTitle","formDescription","helpDocUrls","questionsFromCache","containerRef","setQuestions","setSelectedQuestion","selectedAction","setSelectedAction","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","isDeleteSmsReminderModalOpen","setIsDeleteSmsReminderModalOpen","_useState9","_useState10","isManageQuestionPaneOpen","setIsManageQuestionPaneOpen","setFormData","CLONE","_useReorderQuestions","useReorderQuestions","_len2","_key2","REORDER","reorderQuestions","debouncedReorderQuestions","useFuncDebounce","handleReorder","neetoFormQuestions","buildReorderPayload","enabled","handleAdd","handleEdit","handleClone","attributes","handleDelete","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","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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"}
|