@bigbinary/neeto-form-frontend 3.4.0 → 3.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"BuildForm.js","sources":["../app/javascript/src/components/BuildForm/Form/DeleteAlert.jsx","../app/javascript/src/components/BuildForm/Form/ChangeLanguageDropdown.jsx","../app/javascript/src/components/BuildForm/Form/Overview.jsx","../app/javascript/src/components/BuildForm/utils.js","../app/javascript/src/components/BuildForm/Questions/Card.jsx","../app/javascript/src/components/BuildForm/Form/Questions.jsx","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../app/javascript/src/common/helpers/array.js","../app/javascript/src/components/BuildForm/Form/utils.js","../app/javascript/src/components/BuildForm/AddFirstQuestion.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/constants.js","../app/javascript/src/components/Common/FormikAdaptiveInput.jsx","../app/javascript/src/components/BuildForm/commons/Block.jsx","../app/javascript/src/components/BuildForm/hooks/useUpdateEditorContent.js","../app/javascript/src/components/BuildForm/commons/Editor.jsx","../app/javascript/src/components/BuildForm/commons/RequiredSwitch.jsx","../app/javascript/src/components/Common/InputWithMaxLength.jsx","../app/javascript/src/components/BuildForm/Questions/FieldCode.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/Form.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/validations.js","../app/javascript/src/components/BuildForm/ManageQuestionPane/Add.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/Edit.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Captcha/index.jsx","../app/javascript/src/components/BuildForm/commons/SwitchBlock.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/constants.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/index.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/Email/RestrictedDomains.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/index.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/FileGroup.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/index.jsx","../app/javascript/src/common/helpers/form.js","../app/javascript/src/components/BuildForm/Questions/Fields/Options.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Rating.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/StarRating.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/utils.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/index.jsx","../app/javascript/src/components/BuildForm/Questions/AddQuestion.jsx","../app/javascript/src/components/BuildForm/Form/index.jsx","../app/javascript/src/components/BuildForm/index.jsx"],"sourcesContent":["import { findBy, isPresent, truncate } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { equals } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDeleteQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\nimport { fieldWithFallback } from \"utils\";\n\nimport { INDEPENDENT_LABELS_MAP } from \"../Questions/constants\";\n\nconst DeleteAlert = ({\n selectedQuestion,\n isOpen,\n onClose,\n languagesCount,\n handleSelect,\n}) => {\n const { t } = useTranslation();\n\n const { selectedLanguage } = useBuildFormStore.pick(\"formState\");\n\n const renderQuestionLabel = () => {\n const questionKind = selectedQuestion.kind;\n const independentLabel = INDEPENDENT_LABELS_MAP[questionKind];\n if (isPresent(independentLabel)) return independentLabel;\n\n const questionLabel = fieldWithFallback(selectedQuestion, \"label\");\n\n return truncate(questionLabel, 40);\n };\n\n const { mutate: deleteQuestion, isPending: isDeleting } = useDeleteQuestion(\n selectedQuestion?.formId,\n selectedLanguage,\n {\n onSuccess: () => {\n showThumbsUpToastr();\n onClose();\n },\n }\n );\n\n const selectNextQuestion = questions => {\n const selectedQuestionIndex = selectedQuestion.displayOrder;\n const wasLastQuestion = equals(selectedQuestionIndex, questions.length);\n\n const newDisplayOrder = wasLastQuestion\n ? selectedQuestionIndex - 1\n : selectedQuestionIndex;\n\n const newQuestion = findBy({ displayOrder: newDisplayOrder }, questions);\n handleSelect(newQuestion);\n };\n\n const handleSubmit = () => {\n deleteQuestion(selectedQuestion.id, {\n onSuccess: ({ questions }) => selectNextQuestion(questions),\n });\n };\n\n return (\n <Alert\n {...{ isOpen, onClose }}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoForm.common.delete\")}\n title={t(\"neetoForm.questions.deleteAlert.title\")}\n message={\n isPresent(selectedQuestion) && (\n <Trans\n i18nKey=\"neetoForm.questions.deleteAlert.message\"\n values={{\n count: languagesCount,\n label: renderQuestionLabel(),\n }}\n />\n )\n }\n onSubmit={handleSubmit}\n />\n );\n};\n\nexport default DeleteAlert;\n","import { useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { findBy } from \"neetocist\";\nimport { Alert, Dropdown, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ChangeLanguageDropdown = ({ currentLanguage, languages, onChange }) => {\n const [isUnsavedChangesAlertOpen, setIsUnsavedChangesAlertOpen] =\n useState(false);\n const [selectedLanguage, setSelectedLanguage] = useState(currentLanguage);\n\n const { t } = useTranslation();\n\n const { dirty } = useFormikContext();\n\n const languageChangeHandler = code => {\n if (!dirty) {\n onChange(code);\n\n return;\n }\n\n setSelectedLanguage(code);\n setIsUnsavedChangesAlertOpen(true);\n };\n\n const selectedLanguageName = findBy(\n { code: currentLanguage },\n languages\n )?.name;\n\n return (\n <>\n <Tooltip content={t(\"neetoForm.questions.changeLanguage\")}>\n <div>\n <Dropdown buttonStyle=\"secondary\" label={selectedLanguageName}>\n <Dropdown.Menu>\n {languages.map(({ code, name }) => (\n <Dropdown.MenuItem.Button\n isActive={currentLanguage === code}\n key={code}\n onClick={() => languageChangeHandler(code)}\n >\n {name}\n </Dropdown.MenuItem.Button>\n ))}\n </Dropdown.Menu>\n </Dropdown>\n </div>\n </Tooltip>\n <Alert\n isOpen={isUnsavedChangesAlertOpen}\n message={t(\"neetoForm.questions.unsavedChangesAlert.message\")}\n submitButtonLabel={t(\"neetoForm.questions.unsavedChangesAlert.discard\")}\n title={t(\"neetoForm.questions.unsavedChangesAlert.title\")}\n onClose={() => setIsUnsavedChangesAlertOpen(false)}\n onSubmit={() => {\n onChange(selectedLanguage);\n setIsUnsavedChangesAlertOpen(false);\n }}\n />\n </>\n );\n};\n\nexport default ChangeLanguageDropdown;\n","import { isPresent } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\n\nimport ChangeLanguageDropdown from \"./ChangeLanguageDropdown\";\n\nconst Overview = ({\n title,\n description,\n availableLanguages,\n selectedLanguage,\n onLanguageChange,\n additionalActionOptions,\n}) => (\n <div className=\"neeto-form-nano-form-wrapper__overview mb-4 w-full flex-shrink-0 space-y-4 px-6 pt-6\">\n <div className=\"flex items-center justify-between\">\n <Typography\n data-cy=\"neeto-form-engine-overview-title\"\n lineHeight=\"neeto-ui-leading-normal\"\n style=\"h2\"\n weight=\"neeto-ui-font-semibold\"\n >\n {title}\n </Typography>\n <div className=\"flex flex-shrink-0 items-center justify-between space-x-1\">\n {availableLanguages.length > 1 && (\n <ChangeLanguageDropdown\n currentLanguage={selectedLanguage}\n languages={availableLanguages}\n onChange={onLanguageChange}\n />\n )}\n {isPresent(additionalActionOptions) && (\n <MoreDropdown\n dropdownButtonProps={{ isRounded: true, style: \"tertiary\" }}\n dropdownProps={{ strategy: \"fixed\", position: \"bottom-start\" }}\n menuItems={additionalActionOptions}\n />\n )}\n </div>\n </div>\n <Typography data-cy=\"neeto-form-engine-overview-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n);\n\nexport default Overview;\n","import { t } from \"i18next\";\nimport { assoc, includes, reduce, __ } from \"ramda\";\n\nimport { RICH_TEXT_QUESTIONS } from \"./constants\";\n\nexport const validateEditorContent = editorRef => () =>\n editorRef.current?.editor?.isEmpty\n ? t(\"neetoForm.common.thisFieldIsRequired\")\n : \"\";\n\nexport const buildReorderPayload = questions =>\n reduce(\n (acc, { id, displayOrder }) => assoc(id, displayOrder, acc),\n {},\n questions\n );\n\nexport const isRichTextQuestion = includes(__, RICH_TEXT_QUESTIONS);\n","import classNames from \"classnames\";\nimport { slugify } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { fieldWithFallback, isFunction } from \"utils\";\n\nimport { htmlToPlainText } from \"./utils\";\n\nimport { Drag } from \"../Icons\";\nimport { isRichTextQuestion } from \"../utils\";\n\nconst Card = ({\n question = {},\n allQuestionKinds,\n getActiveKindDetails,\n isActive,\n onSelect,\n onEdit,\n onClone,\n onDelete,\n}) => {\n const { t } = useTranslation();\n\n const { kind, isSingular } = getActiveKindDetails({\n allQuestionKinds,\n item: question,\n });\n\n const label = fieldWithFallback(question, \"label\");\n\n const questionLabel = isRichTextQuestion(kind)\n ? htmlToPlainText(label)\n : label;\n\n return (\n <div\n data-cy={`neeto-form-engine-${slugify(questionLabel)}`}\n className={classNames(\n \"neeto-ui-rounded neeto-ui-border-gray-300 neeto-ui-bg-white neeto-form-nano-form__card flex h-10 w-full items-center justify-between border p-2\",\n {\n \"neeto-ui-border-primary-500 neeto-form-nano-form__card--active\":\n isActive,\n }\n )}\n onClick={() => onSelect(question)}\n >\n <div className=\"flex min-w-0 flex-grow items-center gap-1\">\n <Drag className=\"neeto-ui-text-gray-600 flex-shrink-0\" />\n <Typography\n className=\"line-clamp-2 min-w-0 flex-grow truncate break-words\"\n lineHeight=\"snug\"\n style=\"body2\"\n weight=\"medium\"\n >\n {questionLabel}\n </Typography>\n </div>\n <MoreDropdown\n dropdownButtonProps={{ className: \"shrink-0\" }}\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n \"data-cy\": \"edit-question\",\n key: \"edit\",\n label: t(\"neetoForm.common.edit\"),\n onClick: onEdit,\n },\n {\n \"data-cy\": \"clone-question\",\n key: \"clone\",\n label: t(\"neetoForm.common.clone\"),\n isVisible: !isSingular && isFunction(onClone),\n onClick: onClone,\n },\n {\n \"data-cy\": \"delete-question\",\n key: \"delete\",\n label: t(\"neetoForm.common.delete\"),\n isVisible: isFunction(onDelete),\n onClick: onDelete,\n },\n ]}\n />\n </div>\n );\n};\n\nexport default Card;\n","import { Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { equals } from \"ramda\";\n\nimport Card from \"../Questions/Card\";\n\nconst Questions = ({\n questions,\n isDeletable,\n allQuestionKinds,\n getActiveKindDetails,\n selectedQuestion,\n onEdit,\n onClone,\n onDelete,\n onSelect,\n}) => (\n <Droppable droppableId=\"droppable\">\n {({ droppableProps, placeholder, innerRef }) => (\n <div {...droppableProps} className=\"space-y-2\" ref={innerRef}>\n {questions.map((question, index) => (\n <Draggable\n {...{ index }}\n draggableId={`question-${question.id ?? question.nodeId}`}\n key={`question-${question.id ?? question.nodeId}`}\n >\n {({ draggableProps, dragHandleProps, innerRef }) => (\n <div {...draggableProps} {...dragHandleProps} ref={innerRef}>\n <Card\n {...{\n allQuestionKinds,\n getActiveKindDetails,\n onClone,\n onEdit,\n onSelect,\n question,\n }}\n isActive={equals(selectedQuestion, question)}\n onDelete={isDeletable(question) && onDelete}\n />\n </div>\n )}\n </Draggable>\n ))}\n {placeholder}\n </div>\n )}\n </Droppable>\n);\nexport default Questions;\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","const moveItem = (arr, sourceIndex, destinationIndex) => {\n if (sourceIndex === destinationIndex) return arr;\n\n if (arr instanceof Array && arr[sourceIndex] !== undefined) {\n const removedItem = arr.splice(sourceIndex, 1)[0];\n arr.splice(destinationIndex, 0, removedItem);\n }\n\n return arr;\n};\n\nconst arrayHelpers = {\n moveItem,\n};\n\nexport default arrayHelpers;\n","import { t } from \"i18next\";\nimport { filterBy, findBy } from \"neetocist\";\nimport {\n isEmpty,\n reject,\n omit,\n pluck,\n keys,\n pick,\n when,\n assoc,\n includes,\n} from \"ramda\";\nimport { v4 as uuid } from \"uuid\";\n\nimport arrayHelpers from \"common/helpers/array\";\nimport { fieldWithFallback } from \"utils\";\n\nimport { RESERVED_FIELD_CODES, SELECTABLE_KINDS } from \"../constants\";\nimport { isRichTextQuestion } from \"../utils\";\n\nconst isChoiceQuestion = question => includes(question?.kind, SELECTABLE_KINDS);\n\nconst generateUniqueFieldCode = (type, questions) => {\n const fieldCodes = pluck(\"fieldCode\", filterBy({ kind: type }, questions));\n\n let uniqueNumber = fieldCodes.length;\n\n let candidateFieldCode = \"\";\n\n const prefix = RESERVED_FIELD_CODES.includes(type) ? `${type}_field` : type;\n\n //We need to continue this while loop until we can generate a unique fieldCode\n // eslint-disable-next-line no-constant-condition\n while (true) {\n candidateFieldCode = `${prefix}${uniqueNumber || \"\"}`;\n\n if (!findBy({ fieldCode: candidateFieldCode }, questions)) break;\n\n uniqueNumber += 1;\n }\n\n return candidateFieldCode;\n};\n\nexport const isQuestionKindAlreadyActive = ({ activeQuestions, kind }) =>\n activeQuestions.some(\n activeQuestion =>\n activeQuestion.kind === kind.type && activeQuestion._destroy !== true\n );\n\nexport const handleFieldDragEnd = ({\n items,\n setValue,\n source,\n destination,\n}) => {\n if (!(destination && items instanceof Array)) return;\n const nextItems = [...items];\n arrayHelpers.moveItem(nextItems, source.index, destination.index);\n const orderedItems = nextItems.map((item, index) => ({\n ...item,\n displayOrder: index,\n }));\n setValue(\"questions\", orderedItems);\n};\n\nexport const createFieldData = ({\n kind: { defaults, type, metadata },\n isRequired = undefined,\n questions,\n}) => ({\n ...defaults,\n metadata,\n isRequired,\n kind: type,\n nodeId: uuid(),\n fieldCode: generateUniqueFieldCode(type, questions),\n});\n\nexport const duplicateFieldData = ({ item, questionKinds, questions }) => {\n const questionKind = findBy({ type: item.kind }, questionKinds);\n const { isRequired, kind, optionsAttributes } = item;\n const label = fieldWithFallback(item, \"label\");\n const defaultAttributeNames = keys(questionKind.defaults || {});\n const defaultAttributes = pick(defaultAttributeNames, item);\n const newQuestionLabel = isRichTextQuestion(kind)\n ? label\n : t(\"neetoForm.common.clonedElementLabel\", { label });\n\n return {\n ...defaultAttributes,\n isRequired,\n kind,\n label: newQuestionLabel,\n optionsAttributes: optionsAttributes && optionsAttributes.map(omit([\"id\"])),\n nodeId: uuid(),\n fieldCode: generateUniqueFieldCode(item.kind, questions),\n displayOrder: item.displayOrder + 1,\n };\n};\n\nexport const getAvailableQuestionKinds = ({\n allQuestionKinds,\n activeQuestions = [],\n isKindAlreadyActive,\n}) => {\n if (isEmpty(activeQuestions)) return allQuestionKinds;\n\n return reject(kind => {\n const isSingularKind = kind.isSingular;\n\n return isSingularKind && isKindAlreadyActive({ activeQuestions, kind });\n }, allQuestionKinds);\n};\n\nexport const formatQuestionAttributesForClone = when(\n isChoiceQuestion,\n assoc(\"isCloning\", true)\n);\n","import NoQuestions from \"images/noData/no-questions\";\n\nconst AddFirstQuestion = ({ children }) => (\n <div className=\"flex h-full flex-col items-center justify-center py-8\">\n <div className=\"mb-6\">\n <NoQuestions />\n </div>\n {children}\n </div>\n);\n\nexport default AddFirstQuestion;\n","import { t } from \"i18next\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\n\nimport { SELECTABLE_KINDS } from \"../constants\";\n\nconst {\n NAME,\n PHONE,\n EMAIL,\n ADDITIONAL_GUESTS,\n TEXT,\n TEXTAREA,\n RICH_TEXT,\n INTEGER,\n DECIMAL,\n STAR_RATING,\n RATING,\n DATE,\n FILE_UPLOAD,\n CAPTCHA,\n} = QUESTION_TYPES;\n\nexport const QUESTIONS_WITH_ADDITIONAL_DATA = [\n ...SELECTABLE_KINDS,\n STAR_RATING,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n];\n\nexport const QUESTIONS_WITH_PLACEHOLDERS = [\n NAME,\n PHONE,\n EMAIL,\n ADDITIONAL_GUESTS,\n TEXT,\n TEXTAREA,\n RICH_TEXT,\n INTEGER,\n DECIMAL,\n DATE,\n];\n\nexport const DEFAULT_PLACEHOLDERS = {\n CHECKBOX: t(\"neetoForm.questions.common.questionFields.field.labelExample\", {\n what: t(\"neetoForm.common.hobbies\"),\n }),\n RADIO: t(\"neetoForm.questions.common.questionFields.field.labelExample\", {\n what: t(\"neetoForm.common.country\"),\n }),\n DROPDOWN: t(\"neetoForm.questions.common.questionFields.field.labelExample\", {\n what: t(\"neetoForm.common.company\"),\n }),\n};\n\nexport const INITIAL_VALUES = { kind: \"\", label: \"\", fieldCode: \"\" };\n","import { useFormikContext } from \"formik\";\nimport { isMetaKeyPressed } from \"neetocommons/react-utils\";\nimport { Textarea } from \"neetoui/formik\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/adaptive_input.scss\";\n\nconst FormikAdaptiveInput = ({ label, name, ...otherProps }) => {\n const { dirty, isValid, submitForm } = useFormikContext();\n\n const handleKeyDown = event => {\n if (event.key !== \"Enter\" || event.shiftKey) return;\n\n event.preventDefault();\n if (isMetaKeyPressed(event)) return;\n\n dirty && isValid && submitForm();\n };\n\n const handleFocus = element => {\n const end = element.value.length;\n element.setSelectionRange(end, end);\n };\n\n return (\n <Textarea\n {...{ label, name }}\n className=\"neeto-form-nano-adaptive-input\"\n resize=\"none\"\n size=\"small\"\n onFocus={({ target }) => handleFocus(target)}\n onKeyDown={handleKeyDown}\n {...otherProps}\n />\n );\n};\n\nexport default FormikAdaptiveInput;\n","import { Typography } from \"neetoui\";\n\nconst Block = ({ title, children, dataCy }) => (\n <div className=\"mt-4 space-y-4\" data-cy={dataCy}>\n <div\n className=\"flex items-center justify-between\"\n data-cy=\"properties-header\"\n >\n <Typography lineHeight=\"normal\" style=\"body1\" weight=\"semibold\">\n {title}\n </Typography>\n </div>\n <div className=\"space-y-4\">{children}</div>\n </div>\n);\n\nexport default Block;\n","import { useEffect, useRef } from \"react\";\n\nimport { modify, path, without } from \"ramda\";\n\nimport { useFetchQuestions } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nconst useUpdateEditorContent = ({\n editorRef,\n fieldName,\n value,\n initialValue,\n fieldCode,\n}) => {\n const initialStateRef = useRef({ language: \"\", value: null });\n\n const { setFormData } = useBuildFormStore.pick();\n const { formId, selectedLanguage: language } =\n useBuildFormStore.pick(\"formState\");\n\n const shouldReset = useBuildFormStore(store =>\n store.formState.richTextFieldsToReset.includes(fieldCode)\n );\n\n const setEditorContent = content =>\n editorRef.current.editor?.commands?.setContent(content);\n\n if (shouldReset) {\n setEditorContent(initialValue);\n setFormData(modify(\"richTextFieldsToReset\", without([fieldCode])));\n }\n\n const { data } = useFetchQuestions({ formId, language });\n\n useEffect(() => {\n if (!data) return;\n\n const pathArray = fieldName.split(\".\").map(part => {\n const parsedPart = parseInt(part);\n\n return isNaN(parsedPart) ? part : parsedPart;\n });\n\n setEditorContent(path(pathArray, data));\n }, [data]);\n\n useEffect(() => {\n if (initialStateRef.current[\"language\"] !== language) {\n initialStateRef.current[\"language\"] = language;\n initialStateRef.current[\"value\"] = null;\n\n return;\n }\n\n if (initialStateRef.current[\"value\"] === null && value !== null) {\n setEditorContent(value);\n initialStateRef.current[\"value\"] = value;\n }\n }, [language, value]);\n};\n\nexport default useUpdateEditorContent;\n","import { useRef } from \"react\";\n\nimport { useField, useFormikContext } from \"formik\";\nimport { Editor as NeetoEditor } from \"neetoeditor\";\n\nimport useUpdateEditorContent from \"../hooks/useUpdateEditorContent\";\nimport { validateEditorContent } from \"../utils\";\n\nconst Editor = () => {\n const editorRef = useRef({ editor: {} });\n\n const {\n values: { fieldCode },\n } = useFormikContext();\n\n const fieldName = \"label\";\n\n const [\n { value },\n { touched, error, initialValue },\n { setTouched, setValue },\n ] = useField({\n name: fieldName,\n validate: validateEditorContent(editorRef),\n });\n\n useUpdateEditorContent({\n editorRef,\n fieldName,\n value,\n initialValue,\n fieldCode,\n });\n\n return (\n <div className=\"w-full cursor-auto\">\n <NeetoEditor\n required\n error={touched ? error : \"\"}\n id=\"editor\"\n initialValue={value}\n name={fieldName}\n ref={editorRef}\n onBlur={() => setTouched(true)}\n onChange={setValue}\n />\n </div>\n );\n};\n\nexport default Editor;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Switch } from \"neetoui/formik\";\n\nconst RequiredSwitch = withT(({ t }) => (\n <div className=\"w-full\">\n <Switch label={t(\"neetoForm.common.required\")} name=\"isRequired\" />\n </div>\n));\n\nexport default RequiredSwitch;\n","import { useEffect } from \"react\";\n\nimport { useField } from \"formik\";\nimport { Input } from \"neetoui/formik\";\n\nconst InputWithMaxLength = ({ maxLength, ...props }) => {\n const [{ value }, , { setValue }] = useField(props);\n\n useEffect(() => {\n if (value && value.length > maxLength) {\n setValue(value.substring(0, maxLength));\n }\n }, [value, maxLength, setValue]);\n\n const shouldShowMaxLength = value && value.length > maxLength - 10;\n\n return <Input {...props} {...(shouldShowMaxLength && { maxLength })} />;\n};\n\nexport default InputWithMaxLength;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Button, Accordion } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport Input from \"components/Common/InputWithMaxLength\";\n\nconst FieldCode = withT(({ helpDocUrl, t }) => (\n <Accordion\n className=\"neeto-form-nano-advanced-properties-accordion\"\n data-cy=\"advanced-properties-card\"\n >\n <Accordion.Item title={t(\"neetoForm.common.advancedProperties\")}>\n <Input\n required\n label={t(\"neetoForm.questions.common.questionFields.field.fieldCode\")}\n name=\"fieldCode\"\n helpText={\n helpDocUrl && (\n <Trans\n i18nKey=\"neetoForm.questions.common.questionFields.field.fieldCodeHelpDescription\"\n components={{\n Link: (\n <Button\n className=\"text-xs\"\n href={helpDocUrl}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n )\n }\n />\n </Accordion.Item>\n </Accordion>\n));\n\nexport default FieldCode;\n","import { useFormikContext } from \"formik\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport { Pane } from \"neetoui\";\nimport { Select, Switch } from \"neetoui/formik\";\nimport { includes, isNil, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FormikAdaptiveInput from \"components/Common/FormikAdaptiveInput\";\n\nimport {\n DEFAULT_PLACEHOLDERS,\n INITIAL_VALUES,\n QUESTIONS_WITH_ADDITIONAL_DATA,\n QUESTIONS_WITH_PLACEHOLDERS,\n} from \"./constants\";\nimport {\n buildDefaultValueForKind,\n buildKindOptions,\n extractKindFromOption,\n getQuestionKind,\n renderAdditionalData,\n} from \"./utils\";\n\nimport Block from \"../commons/Block\";\nimport Editor from \"../commons/Editor\";\nimport RequiredSwitch from \"../commons/RequiredSwitch\";\nimport { QUESTIONS_WITHOUT_FIELD_CODE } from \"../constants\";\nimport { createFieldData } from \"../Form/utils\";\nimport FieldCode from \"../Questions/FieldCode\";\nimport { isRichTextQuestion } from \"../utils\";\n\nconst Form = ({\n questions,\n initialFocusRef,\n isRequiredField,\n isDisabledFieldLabel,\n enableFieldCode,\n allQuestionKinds,\n availableQuestionKinds,\n getActiveKindDetails,\n additionalQuestionKindPattern,\n fieldCodeHelpDocUrl,\n enableDomainRestriction,\n domainRestrictionHelpDocUrl,\n isEdit = false,\n}) => {\n const { t } = useTranslation();\n\n const { values, setValues, setErrors, setTouched } = useFormikContext();\n\n const { kind } = values;\n\n const questionKinds = isEdit ? allQuestionKinds : availableQuestionKinds;\n\n const questionKindUniquenessPattern = mergeLeft(\n isEdit && additionalQuestionKindPattern\n ? additionalQuestionKindPattern(values)\n : {},\n { type: kind }\n );\n\n const [questionKind] = useStateWithDependency(\n getQuestionKind(questionKinds, questionKindUniquenessPattern),\n [kind]\n );\n\n const { questionProps = {} } = questionKind\n ? getActiveKindDetails({ allQuestionKinds, item: questionKind })\n : {};\n\n const isRequired = questionKind && isRequiredField(questionKind);\n const isLabelDisabled = questionKind && isDisabledFieldLabel(questionKind);\n const shouldShowPlaceholder = includes(kind, QUESTIONS_WITH_PLACEHOLDERS);\n const hasAdditionalData = includes(kind, QUESTIONS_WITH_ADDITIONAL_DATA);\n const shouldShowFieldCode =\n enableFieldCode && !includes(kind, QUESTIONS_WITHOUT_FIELD_CODE);\n\n const shouldShowHideSwitch = !includes(kind, QUESTIONS_WITHOUT_FIELD_CODE);\n\n const handleKindChange = option => {\n const data = buildQuestionData(option);\n updateFormState(data);\n };\n\n const buildQuestionData = option => {\n if (isNil(option)) {\n return INITIAL_VALUES;\n }\n\n const { label, value } = option;\n const kind = extractKindFromOption(value);\n const questionKind = getQuestionKind(availableQuestionKinds, {\n type: kind,\n label,\n });\n\n return createFieldData({\n kind: questionKind,\n isRequired,\n questions,\n });\n };\n\n const updateFormState = data => {\n setValues(data);\n setErrors({});\n setTouched({});\n };\n\n return (\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Select\n isClearable\n isSearchable\n defaultValue={buildDefaultValueForKind(questionKind)}\n innerRef={initialFocusRef}\n isDisabled={isEdit}\n name=\"kind\"\n options={buildKindOptions(questionKinds)}\n label={t(\n \"neetoForm.questions.common.questionFields.field.questionType\"\n )}\n onChange={handleKindChange}\n />\n {isRichTextQuestion(kind) ? (\n <Editor {...{ isLabelDisabled }} />\n ) : (\n <div className=\"space-y-6\">\n <div className=\"space-y-4\">\n <FormikAdaptiveInput\n required\n disabled={isLabelDisabled}\n name=\"label\"\n placeholder={DEFAULT_PLACEHOLDERS[kind]}\n label={t(\n \"neetoForm.questions.common.questionFields.field.question\"\n )}\n />\n {shouldShowPlaceholder && (\n <FormikAdaptiveInput\n name=\"placeholder\"\n label={t(\n \"neetoForm.questions.common.questionFields.field.placeholder\"\n )}\n />\n )}\n {hasAdditionalData &&\n renderAdditionalData({\n kind,\n questionProps,\n domainRestrictionHelpDocUrl,\n enableDomainRestriction,\n })}\n </div>\n {!isRequired && (\n <Block\n dataCy=\"settings-card\"\n title={t(\"neetoForm.common.settings\")}\n >\n <RequiredSwitch />\n {shouldShowHideSwitch && (\n <Switch\n label={t(\"neetoForm.common.hideQuestion\")}\n name=\"isHidden\"\n />\n )}\n </Block>\n )}\n {shouldShowFieldCode && (\n <FieldCode helpDocUrl={fieldCodeHelpDocUrl} />\n )}\n </div>\n )}\n </div>\n </Pane.Body>\n );\n};\n\nexport default Form;\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { equals, includes } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\n\nimport {\n QUESTIONS_WITHOUT_FIELD_CODE,\n RESERVED_FIELD_CODES,\n RICH_TEXT_QUESTIONS,\n SELECTABLE_KINDS,\n} from \"../constants\";\n\nconst requiredLabelValidation = (schema, field) =>\n schema.trim().required(t(\"neetoForm.common.fieldReq\", { field }));\n\nconst richTextFieldMissingErrorMessage = kind => {\n const field = equals(kind, QUESTION_TYPES.PARAGRAPH)\n ? t(\"neetoForm.fields.def\")\n : t(\"neetoForm.fields.tcf\");\n\n return t(\"neetoForm.error.fieldCantBeEmpty\", { field });\n};\n\nexport const formValidationSchema = yup.object().shape({\n kind: yup\n .string()\n .trim()\n .required(\n t(\"neetoForm.common.fieldReq\", {\n field: t(\n \"neetoForm.questions.common.questionFields.field.questionType\"\n ),\n })\n ),\n label: yup\n .string()\n .when(\"kind\", (kind, schema) =>\n includes(kind, RICH_TEXT_QUESTIONS)\n ? schema.test(\n \"required\",\n richTextFieldMissingErrorMessage(kind),\n value => !isEditorEmpty(value)\n )\n : requiredLabelValidation(\n schema,\n t(\"neetoForm.questions.common.questionFields.field.question\")\n )\n ),\n fieldCode: yup\n .string()\n .trim()\n .notOneOf(RESERVED_FIELD_CODES, t(\"neetoForm.error.invalidFieldCode\"))\n .when(\"kind\", (kind, schema) =>\n includes(kind, QUESTIONS_WITHOUT_FIELD_CODE)\n ? schema.notRequired()\n : requiredLabelValidation(\n schema,\n t(\"neetoForm.questions.common.questionFields.field.fieldCode\")\n )\n ),\n optionsAttributes: yup.array().when(\"_destroy\", {\n is: true,\n otherwise: schema =>\n schema.when(\"kind\", (kind, schema) =>\n includes(kind, SELECTABLE_KINDS)\n ? schema.of(\n yup.object().shape({\n label: requiredLabelValidation(\n yup.string(),\n t(\"neetoForm.questions.common.questionFields.field.option\")\n ),\n })\n )\n : schema.notRequired()\n ),\n }),\n highestRatingLabel: yup.string().nullable(),\n averageRatingLabel: yup.string().nullable(),\n lowestRatingLabel: yup.string().nullable(),\n});\n","import { findBy } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form } from \"neetoui/formik\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport { INITIAL_VALUES } from \"./constants\";\nimport QuestionForm from \"./Form\";\nimport { formValidationSchema } from \"./validations\";\n\nconst Add = ({\n question,\n onClose,\n questions,\n handleSelect,\n buildRequestArgs,\n isOpen,\n fieldCodeHelpDocUrl,\n domainRestrictionHelpDocUrl,\n ...props\n}) => {\n const { formId, selectedLanguage: language } =\n useBuildFormStore.pick(\"formState\");\n\n const { t } = useTranslation();\n\n const { mutate: createQuestion, isPending: isCreating } = useCreateQuestion(\n formId,\n language,\n {\n onSuccess: () => {\n showThumbsUpToastr();\n onClose();\n },\n }\n );\n\n const handleSubmit = values => {\n if (isCreating || !isOpen) return;\n\n const displayOrder = question\n ? question.displayOrder + 1\n : questions.length;\n\n createQuestion(\n {\n language,\n neetoFormQuestion: mergeLeft({ displayOrder }, values),\n ...buildRequestArgs,\n },\n {\n onSuccess: ({ questions }) => {\n const newQuestion = findBy({ displayOrder }, questions);\n handleSelect(newQuestion);\n },\n }\n );\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"add-question-pane-header\" style=\"h2\">\n {t(\"neetoForm.questions.common.primaryPanel.addQuestion\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: INITIAL_VALUES,\n validationSchema: formValidationSchema,\n onSubmit: handleSubmit,\n }}\n >\n <>\n <QuestionForm\n {...{\n ...props,\n domainRestrictionHelpDocUrl,\n fieldCodeHelpDocUrl,\n question,\n questions,\n }}\n />\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={isCreating}\n />\n </Pane.Footer>\n </>\n </Form>\n </>\n );\n};\n\nexport default Add;\n","import { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport QuestionForm from \"./Form\";\nimport { formValidationSchema } from \"./validations\";\n\nconst Edit = ({\n question,\n isOpen,\n onClose,\n fieldCodeHelpDocUrl,\n domainRestrictionHelpDocUrl,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { selectedLanguage: language } = useBuildFormStore.pick(\"formState\");\n\n const { mutate: updateQuestion, isPending: isUpdating } = useUpdateQuestion(\n question?.formId,\n language\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n if (isUpdating || !isOpen) return;\n\n const payload = { language, neetoFormQuestion: values };\n updateQuestion(\n { questionId: question.id, payload },\n {\n onSuccess: () => {\n showThumbsUpToastr();\n onClose();\n },\n onSettled: () => setSubmitting(false),\n }\n );\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"edit-question-pane-header\" style=\"h2\">\n {t(\"neetoForm.questions.common.editQuestion\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: question,\n validationSchema: formValidationSchema,\n onSubmit: handleSubmit,\n }}\n >\n <>\n <QuestionForm\n {...{\n domainRestrictionHelpDocUrl,\n fieldCodeHelpDocUrl,\n question,\n ...props,\n }}\n isEdit\n />\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={isUpdating}\n />\n </Pane.Footer>\n </>\n </Form>\n </>\n );\n};\n\nexport default Edit;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Radio } from \"neetoui/formik\";\n\nimport { CAPTCHA_TYPES } from \"components/constants\";\n\nconst Captcha = withT(({ t }) => (\n <Radio\n label={t(\"neetoForm.common.captchaType\")}\n labelProps={{ required: true }}\n name=\"variant\"\n >\n <Radio.Item\n label={t(\"neetoForm.common.reCaptchaV2\")}\n value={CAPTCHA_TYPES.RECAPTCHA_V2}\n />\n <Radio.Item\n label={t(\"neetoForm.common.mathCaptcha\")}\n value={CAPTCHA_TYPES.MATH_CAPTCHA}\n />\n </Radio>\n));\n\nexport default Captcha;\n","import classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Label, Typography } from \"neetoui\";\nimport { Switch } from \"neetoui/formik\";\n\nconst SwitchBlock = ({ name, title, className = \"\", ...otherProps }) => (\n <Label\n className={classnames(\"flex items-center justify-start gap-2 \", className)}\n data-cy={`neeto-form-engine-${hyphenate(title)}-toggle-label`}\n >\n <Switch\n {...{ ...otherProps, name }}\n data-cy={`neeto-form-engine-${hyphenate(title)}-switch`}\n />\n <Typography component=\"span\" style=\"body1\">\n {title}\n </Typography>\n </Label>\n);\n\nexport default SwitchBlock;\n","import { t } from \"i18next\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Close } from \"neetoicons\";\nimport { Tag } from \"neetoui\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { components } from \"react-select\";\nimport * as yup from \"yup\";\n\nconst STYLES = {\n border: {\n default: \"1px solid rgb(var(--neeto-ui-gray-400))\",\n error: \"1px solid rgb(var(--neeto-ui-error-800)) !important\",\n },\n color: {\n default: \"rgb(var(--neeto-ui-gray-800))\",\n error: \"rgb(var(--neeto-ui-error-800)) !important\",\n },\n};\n\nconst MultiValueRemove = props => (\n <components.MultiValueRemove\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: `${hyphenize(props.data.label)}-remove-icon`,\n }}\n >\n <Close size={16} />\n </components.MultiValueRemove>\n);\n\nconst ValueContainer = ({ children, ...props }) => {\n const { t } = useTranslation();\n\n const {\n getValue,\n selectProps: { isFocused, visibleDomainsCount },\n } = props;\n const value = getValue();\n const [firstChild, ...rest] = children;\n\n const shouldCollapse = !isFocused && value.length > visibleDomainsCount;\n\n return (\n <components.ValueContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-domain-input-container\",\n }}\n >\n {shouldCollapse ? firstChild.slice(0, visibleDomainsCount) : firstChild}\n {shouldCollapse && (\n <Tag\n style=\"secondary\"\n label={t(\"neetoForm.common.remainingItemsCount\", {\n count: value.length - visibleDomainsCount,\n })}\n />\n )}\n {rest}\n </components.ValueContainer>\n );\n};\n\nconst ClearIndicator = props => (\n <components.ClearIndicator\n {...props}\n innerProps={{ ...props.innerProps, [\"data-cy\"]: \"clear-all-button\" }}\n >\n <Close className=\"cursor-pointer\" size={16} />\n </components.ClearIndicator>\n);\n\nexport const ERROR_MESSAGE_DELIMITER = \". \";\nexport const DELIMITER_KEYS = [\"Enter\", \"Tab\", \",\", \" \"];\nexport const DOMAIN_SEPARATION_REGEX = /[^\\s,]+/g;\nexport const FLEXIBLE_DOMAIN_REGEX = /^[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)+$/;\n\nexport const VALID_DOMAIN_REGEX =\n /^(?:[a-zA-Z0-9-]{1,63}\\.)+[a-zA-Z0-9-]{2,63}$/;\n\nexport const DOMAIN_VALIDATION_SCHEMA = yup\n .string()\n .required(\n t(\"neetoForm.error.requiredField\", {\n label: t(\"neetoForm.common.domain\"),\n })\n )\n .test(\"verify domains\", t(\"neetoForm.error.invalidDomain\"), domain =>\n VALID_DOMAIN_REGEX.test(domain)\n );\n\nexport const CUSTOM_STYLES = {\n input: assoc(\"overflow\", \"hidden\"),\n multiValue: (styles, { data: { valid } }) => ({\n ...styles,\n border: valid ? STYLES.border.default : STYLES.border.error,\n color: valid ? STYLES.color.default : STYLES.color.error,\n }),\n};\n\nexport const CUSTOM_COMPONENTS = {\n DropdownIndicator: null,\n MultiValueRemove,\n ValueContainer,\n ClearIndicator,\n};\n","import { filter, isNotNil, join, map, pipe, pluck, uniq } from \"ramda\";\n\nimport { ERROR_MESSAGE_DELIMITER, DOMAIN_VALIDATION_SCHEMA } from \"./constants\";\n\nconst removeDuplicateErrorMessages = pipe(\n filter(isNotNil),\n uniq,\n join(ERROR_MESSAGE_DELIMITER)\n);\n\nexport const formatDomainInputOptions = domain => {\n let isValid;\n\n try {\n DOMAIN_VALIDATION_SCHEMA.validateSync(domain);\n isValid = true;\n } catch {\n isValid = false;\n }\n\n return { label: domain, value: domain, valid: isValid };\n};\n\nexport const pruneDuplicates = pipe(\n pluck(\"value\"),\n uniq,\n map(formatDomainInputOptions)\n);\n\nexport const getValidDomains = domains =>\n domains.filter(domain => domain?.valid);\n\nexport const getValidDomainsCount = domains => getValidDomains(domains).length;\n\nexport const formatErrorMessage = error => {\n if (typeof error === \"string\") return error;\n\n return removeDuplicateErrorMessages(error);\n};\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Label } from \"neetoui\";\nimport { mergeLeft, filter, includes, test } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport CreatableSelect from \"react-select/creatable\";\n\nimport {\n CUSTOM_COMPONENTS,\n CUSTOM_STYLES,\n DELIMITER_KEYS,\n DOMAIN_SEPARATION_REGEX,\n ERROR_MESSAGE_DELIMITER,\n FLEXIBLE_DOMAIN_REGEX,\n} from \"./constants\";\nimport {\n formatDomainInputOptions,\n formatErrorMessage,\n getValidDomainsCount,\n pruneDuplicates,\n getValidDomains,\n} from \"./utils\";\n\nconst MultiDomainInput = ({\n label = \"\",\n value = [],\n onChange = noop,\n error = \"\",\n onBlur = noop,\n ...otherProps\n}) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n\n const { t } = useTranslation();\n\n const handleFilterDomains = () => onChange(getValidDomains(value));\n\n const handleDomainChange = () => {\n const inputValues = inputValue.match(DOMAIN_SEPARATION_REGEX) || [];\n const domainMatches = filter(test(FLEXIBLE_DOMAIN_REGEX), inputValues);\n\n const domains = domainMatches.map(formatDomainInputOptions);\n onChange(pruneDuplicates([...value, ...domains]));\n setInputValue(\"\");\n };\n\n const handleKeyDown = event => {\n if (!inputValue) return;\n\n if (includes(event.key, DELIMITER_KEYS)) {\n handleDomainChange();\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n const onCreateOption = input => {\n const domain = formatDomainInputOptions(input);\n onChange(pruneDuplicates([...value, domain]));\n };\n\n const handleBlur = event => {\n inputValue ? handleDomainChange() : onBlur(event);\n setIsFocused(false);\n };\n\n const isFilterDomainsLinkVisible = value.length > getValidDomainsCount(value);\n\n return (\n <div className=\"neeto-ui-input__wrapper neeto-ui-email-input__wrapper\">\n <div className=\"neeto-ui-email-input__label-wrapper\">\n <Label\n className=\"neeto-ui-email-input__label\"\n data-cy={`${hyphenize(label)}-input-label`}\n >\n {label}\n </Label>\n </div>\n <CreatableSelect\n isMulti\n required\n classNamePrefix=\"neeto-ui-react-select\"\n components={CUSTOM_COMPONENTS}\n menuIsOpen={false}\n visibleDomainsCount={3}\n className={classnames(\n \"neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select\",\n { \"neeto-ui-react-select__container--error\": !!error }\n )}\n styles={{\n ...CUSTOM_STYLES,\n control: mergeLeft({\n maxHeight: \"200px\",\n overflowY: \"auto\",\n }),\n }}\n onBlur={handleBlur}\n onFocus={() => setIsFocused(true)}\n onInputChange={setInputValue}\n onKeyDown={handleKeyDown}\n {...{\n inputValue,\n isFocused,\n onChange,\n onCreateOption,\n value,\n ...otherProps,\n }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n >\n {formatErrorMessage(error)}\n {isFilterDomainsLinkVisible && (\n <span\n className=\"neeto-ui-font-semibold cursor-pointer\"\n onClick={handleFilterDomains}\n >\n {ERROR_MESSAGE_DELIMITER}\n {t(\"neetoForm.domainRestriction.removeInvalidDomains\")}\n </span>\n )}\n </p>\n )}\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n >\n {t(\"neetoForm.domainRestriction.helpText\")}\n </p>\n </div>\n );\n};\n\nexport default MultiDomainInput;\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { VALID_DOMAIN_REGEX } from \"./MultiDomainInput/constants\";\n\nexport const validateDomains = value => {\n const schema = yup\n .array()\n .of(\n yup\n .string()\n .test(\"verify domains\", t(\"neetoForm.error.invalidDomain\"), domain =>\n VALID_DOMAIN_REGEX.test(domain)\n )\n )\n .ensure()\n .compact()\n .min(\n 1,\n t(\"neetoForm.error.minOneEntity\", {\n entity: t(\"neetoForm.common.domain\"),\n })\n );\n\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async resolve => {\n try {\n await schema.validate(value);\n resolve(undefined);\n } catch (err) {\n resolve(err.message);\n }\n });\n};\n","import { useField } from \"formik\";\nimport { nullSafe } from \"neetocist\";\nimport { map, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport MultiDomainInput from \"./MultiDomainInput\";\nimport { formatDomainInputOptions } from \"./MultiDomainInput/utils\";\nimport { validateDomains } from \"./utils\";\n\nconst RestrictedDomains = () => {\n const [{ value: domains = [] }, meta, { setValue, setTouched }] = useField({\n name: \"restrictedDomains\",\n validate: validateDomains,\n });\n const { t } = useTranslation();\n\n const formattedDomains = map(formatDomainInputOptions, domains);\n\n return (\n <div className=\"mb-4\">\n <MultiDomainInput\n error={meta.touched ? meta.error : \"\"}\n label={t(\"neetoForm.domainRestriction.description\")}\n name=\"restrictedDomains\"\n value={formattedDomains}\n onBlur={() => setTouched(true)}\n onChange={value => setValue(nullSafe(pluck)(\"value\", value))}\n />\n </div>\n );\n};\n\nexport default RestrictedDomains;\n","import { useFormikContext } from \"formik\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SwitchBlock from \"components/BuildForm/commons/SwitchBlock\";\n\nimport RestrictedDomains from \"./RestrictedDomains\";\n\nconst Email = ({ domainRestrictionHelpDocUrl = \"\" }) => {\n const {\n values: { isDomainRestrictionEnabled = false },\n } = useFormikContext();\n\n const { t } = useTranslation();\n\n return (\n <div className=\"flex flex-col space-y-4\">\n <SwitchBlock\n className=\"mt-4\"\n name=\"isDomainRestrictionEnabled\"\n title={\n <div className=\"flex gap-2\">\n {t(\"neetoForm.domainRestriction.label\")}\n <HelpPopover\n description={t(\"neetoForm.domainRestriction.popoverDescription\")}\n popoverProps={{ position: \"top\" }}\n {...(domainRestrictionHelpDocUrl && {\n helpLinkProps: { href: domainRestrictionHelpDocUrl },\n })}\n />\n </div>\n }\n />\n {isDomainRestrictionEnabled && <RestrictedDomains />}\n </div>\n );\n};\n\nexport default Email;\n","import { Checkbox } from \"neetoui\";\n\nconst FileGroup = ({ name, label, checked, handleAllowedFileTypesChange }) => (\n <Checkbox\n {...{ checked, label, name }}\n data-cy={`neeto-form-engine-file-type-${name}`}\n id={name}\n onChange={handleAllowedFileTypesChange}\n />\n);\n\nexport default FileGroup;\n","import { difference, isEmpty } from \"ramda\";\n\nimport { FILE_TYPES_MAP } from \"../constants\";\n\nconst buildFileTypesList = fileTypes => (fileTypes ?? \"\").split(\", \");\n\nexport const getAllowedFileTypes = ({ type, isChecked, allowedFileTypes }) => {\n const fileTypes = buildFileTypesList(allowedFileTypes);\n if (isChecked) {\n const fileTypesSet = new Set([...FILE_TYPES_MAP[type], ...fileTypes]);\n\n return Array.from(fileTypesSet).join(\", \");\n }\n const newFileTypes = difference(fileTypes, FILE_TYPES_MAP[type]);\n\n return newFileTypes.join(\", \");\n};\n\nexport const isFileTypeEnabled = (type, allowedFileTypes) => {\n const fileTypes = buildFileTypesList(allowedFileTypes);\n\n return isEmpty(difference(FILE_TYPES_MAP[type], fileTypes));\n};\n","import { useFormikContext } from \"formik\";\nimport { Typography } from \"neetoui\";\nimport { Checkbox } from \"neetoui/formik\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FileGroup from \"./FileGroup\";\nimport { getAllowedFileTypes, isFileTypeEnabled } from \"./utils\";\n\nimport { FILE_GROUPS } from \"../constants\";\n\nconst FileUpload = () => {\n const { t } = useTranslation();\n\n const { values, setFieldValue } = useFormikContext();\n\n const allowedFileTypes = prop(\"allowedFileTypes\", values);\n\n const handleAllowedFileTypesChange = ({\n target: { name: fileType, checked },\n }) =>\n setFieldValue(\n \"allowedFileTypes\",\n getAllowedFileTypes({\n type: fileType,\n isChecked: checked,\n allowedFileTypes,\n })\n );\n\n return (\n <>\n <div className=\"w-full\">\n <Checkbox\n id=\"multipleFilesAllowed\"\n label={t(\"neetoForm.fileUpload.enableMultipleFilesUpload\")}\n name=\"multipleFilesAllowed\"\n />\n </div>\n <div className=\"flex flex-col space-y-3\">\n <Typography style=\"body1\" weight=\"semibold\">\n {t(\"neetoForm.fileUpload.fileTypes\")}\n </Typography>\n <div className=\"flex space-x-4\">\n {FILE_GROUPS.map(({ name, label }) => (\n <FileGroup\n {...{ handleAllowedFileTypesChange, label, name }}\n checked={isFileTypeEnabled(name, allowedFileTypes)}\n key={name}\n />\n ))}\n </div>\n </div>\n </>\n );\n};\n\nexport default FileUpload;\n","const defaultConfig = {\n strict: true,\n matchKey: \"value\",\n};\n\nconst findOptionByValue = (value, options = [], config = {}) => {\n const configObject = { ...defaultConfig, ...config };\n const { matchKey, strict } = configObject;\n\n return options.find(option =>\n // eslint-disable-next-line eqeqeq\n strict ? option[matchKey] === value : option[matchKey] == value\n );\n};\n\nconst filterOptionsByValues = (values = [], options = [], config = {}) => {\n const configObject = { ...defaultConfig, ...config };\n const { matchKey, strict } = configObject;\n\n return options.filter(option =>\n values.some(value =>\n // eslint-disable-next-line eqeqeq\n strict ? option[matchKey] === value : option[matchKey] == value\n )\n );\n};\n\nconst destroyFromList = (items, index) => {\n const itemToRemove = items[index];\n\n if (itemToRemove) {\n const nextItems = [...items];\n nextItems.splice(index, 1);\n if (itemToRemove.id) {\n nextItems.push({ ...itemToRemove, _destroy: true });\n }\n\n return nextItems;\n }\n\n return items;\n};\n\nconst insertToList = (items, item, index) => {\n const nextItems = [...(items ?? [])];\n nextItems.splice(index, 0, item);\n\n return nextItems;\n};\n\nconst pushToList = (items, item) => {\n const nextItems = [...(items ?? [])];\n nextItems.push(item);\n\n return nextItems;\n};\n\nconst formHelpers = {\n findOptionByValue,\n filterOptionsByValues,\n destroyFromList,\n insertToList,\n pushToList,\n};\n\nexport default formHelpers;\n","import classNames from \"classnames\";\nimport { FieldArray, useField } from \"formik\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport formHelpers from \"common/helpers/form\";\nimport Input from \"components/Common/InputWithMaxLength\";\nimport useBuildFormStore from \"src/stores/buildForm\";\nimport { isFunction } from \"utils\";\n\nimport { MINIMUM_OPTIONS } from \"../../constants\";\n\nconst Options = ({ questionProps }) => {\n const { t } = useTranslation();\n\n const { selectedLanguage } = useBuildFormStore.pick(\"formState\");\n\n const [{ value: optionsAttributes }, _, { setValue: setOptionsAttributes }] =\n useField(\"optionsAttributes\");\n\n const {\n optionLabelProps = {},\n freezeOptions = false,\n disableAddOption = false,\n disableRemoveOption = false,\n } = questionProps || {};\n\n const handleRemoveOption = index => {\n const nextOptions = formHelpers.destroyFromList(optionsAttributes, index);\n setOptionsAttributes(nextOptions);\n };\n\n const isManageOptionDisabled = isFunction(freezeOptions)\n ? freezeOptions(selectedLanguage)\n : freezeOptions;\n\n const isAddOptionDisabled = disableAddOption || isManageOptionDisabled;\n\n const isRemoveOptionDisabled = disableRemoveOption || isManageOptionDisabled;\n\n return (\n <div className=\"w-full\">\n <FieldArray name=\"optionsAttributes\">\n {({ handlePush }) => (\n <>\n <Label className=\"mb-1 block\" {...optionLabelProps}>\n {t(\"neetoForm.questions.common.questionFields.field.options\")}\n </Label>\n <div className=\"flex w-2/3 flex-col space-y-2\">\n {optionsAttributes?.map(\n (option, index) =>\n !option._destroy && (\n <div\n className=\"flex items-start gap-1\"\n data-cy={`neeto-form-engine-option-${index}`}\n key={`question-option-${option.id ?? index}`}\n >\n <Input\n required\n disabled={isManageOptionDisabled}\n name={`optionsAttributes.${index}.label`}\n placeholder={t(\n \"neetoForm.questions.common.questionFields.field.numberedOption\",\n { number: index + 1 }\n )}\n />\n {!isRemoveOptionDisabled && (\n <Button\n data-cy=\"neeto-form-engine-delete-option-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n className={classNames({\n invisible: index < MINIMUM_OPTIONS,\n })}\n tooltipProps={{\n position: \"top\",\n content: t(\"neetoForm.common.delete\"),\n }}\n onClick={() => handleRemoveOption(index)}\n />\n )}\n </div>\n )\n )}\n </div>\n {!isAddOptionDisabled && (\n <div className=\"mt-3 w-full\">\n <Button\n data-cy=\"neeto-form-engine-add-option-button\"\n icon={Plus}\n iconPosition=\"left\"\n size=\"small\"\n style=\"text\"\n label={t(\n \"neetoForm.questions.common.questionFields.field.addOption\"\n )}\n onClick={handlePush({ label: \"\" })}\n />\n </div>\n )}\n </>\n )}\n </FieldArray>\n </div>\n );\n};\n\nexport default Options;\n","import { hyphenate } from \"neetocist\";\n\nimport Input from \"components/Common/InputWithMaxLength\";\n\nimport { RATING_OPTIONS } from \"./constants\";\n\nconst RatingItem = ({ children }) => (\n <div className=\"flex w-16 flex-col items-center gap-3\">{children}</div>\n);\n\nconst Rating = () => (\n <div className=\"flex flex-col\">\n <div className=\"w-full\">\n <div className=\"flex gap-6\">\n {RATING_OPTIONS.map(({ icon: Icon, name, color }) => (\n <RatingItem key={name}>\n <Icon {...{ color }} size={48} />\n <Input\n {...{ name }}\n data-cy={`neeto-form-engine-${hyphenate(name)}`}\n />\n </RatingItem>\n ))}\n </div>\n </div>\n </div>\n);\n\nexport default Rating;\n","import classNames from \"classnames\";\nimport { useField, useFormikContext } from \"formik\";\nimport { Label } from \"neetoui\";\nimport { Select } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n STAR_RATING_ICONS_MAP,\n STAR_RATING_MAX_VALUE_OPTIONS,\n STAR_RATING_MIN_VALUE_OPTIONS,\n} from \"./constants\";\n\nconst StarRating = () => {\n const { t } = useTranslation();\n\n const { setFieldValue } = useFormikContext();\n\n const [{ value: iconType }, _, { setValue: setIconType }] =\n useField(\"iconType\");\n\n return (\n <>\n <div className=\"flex space-x-4\">\n <Select\n className=\"w-1/2\"\n data-cy=\"neeto-form-engine-star-rating-min-value\"\n label={t(\"neetoForm.common.start\")}\n name=\"minValue\"\n options={STAR_RATING_MIN_VALUE_OPTIONS}\n onChange={option => setFieldValue(\"minValue\", option?.value)}\n />\n <Select\n className=\"w-1/2\"\n data-cy=\"neeto-form-engine-star-rating-max-value\"\n label={t(\"neetoForm.common.end\")}\n name=\"maxValue\"\n options={STAR_RATING_MAX_VALUE_OPTIONS}\n onChange={option => setFieldValue(\"maxValue\", option?.value)}\n />\n </div>\n <Label>{t(\"neetoForm.common.shape\")}</Label>\n <div className=\"flex gap-2\">\n {Object.entries(STAR_RATING_ICONS_MAP).map(([name, IconType]) => {\n const isActive = name === iconType;\n\n return (\n <div\n data-cy={`neeto-form-engine-rating-icon-${name}`}\n key={name}\n className={classNames(\n \"flex h-10 w-10 items-center justify-center gap-2\",\n \"neeto-ui-border-gray-800 neeto-ui-rounded-full cursor-pointer border\",\n \"transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-text-gray-800 neeto-ui-bg-gray-200\": !isActive,\n \"neeto-ui-text-white neeto-ui-bg-gray-800\": isActive,\n }\n )}\n onClick={() => setIconType(name)}\n >\n <IconType />\n </div>\n );\n })}\n </div>\n </>\n );\n};\n\nexport default StarRating;\n","import { findBy, isPresent, slugify } from \"neetocist\";\nimport { assoc, equals, last, pipe, split } from \"ramda\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\n\nimport Add from \"./Add\";\nimport Edit from \"./Edit\";\n\nimport { QUESTION_ACTIONS } from \"../constants\";\nimport Captcha from \"../Questions/Fields/Captcha\";\nimport Email from \"../Questions/Fields/Email\";\nimport FileUpload from \"../Questions/Fields/FileUpload\";\nimport Options from \"../Questions/Fields/Options\";\nimport Rating from \"../Questions/Fields/Rating\";\nimport StarRating from \"../Questions/Fields/StarRating\";\n\nconst {\n CHECKBOX,\n RADIO,\n DROPDOWN,\n STAR_RATING,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n} = QUESTION_TYPES;\n\nconst transformValueForOption = ({ label, type }) =>\n `${slugify(label)}-${type}`;\n\nexport const renderAdditionalData = ({\n kind,\n questionProps,\n domainRestrictionHelpDocUrl,\n enableDomainRestriction,\n}) => {\n switch (kind) {\n case CHECKBOX:\n case RADIO:\n case DROPDOWN:\n return <Options {...{ questionProps }} />;\n case RATING:\n return <Rating />;\n case STAR_RATING:\n return <StarRating />;\n case FILE_UPLOAD:\n return <FileUpload />;\n case CAPTCHA:\n return <Captcha />;\n case EMAIL:\n return enableDomainRestriction ? (\n <Email {...{ domainRestrictionHelpDocUrl }} />\n ) : null;\n default:\n return null;\n }\n};\n\nexport const resolveActionComponent = action =>\n equals(action, QUESTION_ACTIONS.ADD) ? Add : Edit;\n\nexport const getQuestionKind = (questionKinds, pattern) => {\n const questionKind = findBy(pattern, questionKinds);\n\n return questionKind ? assoc(\"kind\", questionKind.type, questionKind) : null;\n};\n\nexport const buildKindOptions = kinds =>\n kinds.map(({ label, type }) => ({\n label,\n value: transformValueForOption({ label, type }),\n }));\n\nexport const extractKindFromOption = pipe(split(\"-\"), last);\n\nexport const buildDefaultValueForKind = questionKind =>\n isPresent(questionKind)\n ? { value: transformValueForOption(questionKind) }\n : undefined;\n","import { useRef } from \"react\";\n\nimport { Pane } from \"neetoui\";\n\nimport { resolveActionComponent } from \"./utils\";\n\nconst ManageQuestionPane = ({\n isOpen,\n onClose,\n action,\n question,\n availableQuestionKinds,\n fieldCodeHelpDocUrl,\n domainRestrictionHelpDocUrl,\n ...props\n}) => {\n const initialFocusRef = useRef(null);\n\n const Component = resolveActionComponent(action);\n\n return (\n <Pane {...{ initialFocusRef, isOpen, onClose }}>\n <Component\n {...{\n availableQuestionKinds,\n domainRestrictionHelpDocUrl,\n fieldCodeHelpDocUrl,\n initialFocusRef,\n isOpen,\n onClose,\n question,\n ...props,\n }}\n />\n </Pane>\n );\n};\n\nexport default ManageQuestionPane;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Plus } from \"neetoicons\";\nimport { Button, Tooltip } from \"neetoui\";\n\nconst AddQuestion = withT(\n ({ t, onAdd, disabledAddButtonTooltipProps, isDisabled }) => (\n <Tooltip\n disabled={!isDisabled}\n position=\"top\"\n content={\n disabledAddButtonTooltipProps?.content ||\n t(\"neetoForm.questions.common.primaryPanel.noQuestionLeft\")\n }\n >\n <span>\n <Button\n data-cy=\"neeto-form-engine-add-question\"\n disabled={isDisabled}\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoForm.questions.common.primaryPanel.addQuestion\")}\n style=\"link\"\n onClick={onAdd}\n />\n </span>\n </Tooltip>\n )\n);\n\nexport default AddQuestion;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { DragDropContext } from \"@hello-pangea/dnd\";\nimport { Form as FormikForm, useFormikContext } from \"formik\";\nimport { filterBy, findBy } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { ActionBlock } from \"neetoui/formik\";\nimport { __, includes, isEmpty, mergeLeft, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport DeleteAlert from \"./DeleteAlert\";\nimport Overview from \"./Overview\";\nimport Questions from \"./Questions\";\nimport {\n handleFieldDragEnd,\n getAvailableQuestionKinds,\n duplicateFieldData,\n formatQuestionAttributesForClone,\n} from \"./utils\";\n\nimport AddFirstQuestion from \"../AddFirstQuestion\";\nimport { QUESTION_ACTIONS, RICH_TEXT_QUESTIONS } from \"../constants\";\nimport ManageQuestionPane from \"../ManageQuestionPane\";\nimport AddQuestion from \"../Questions/AddQuestion\";\n\nconst Form = ({\n questionKinds,\n onValueChange,\n formId,\n isDeletable,\n isRequiredField,\n submitButtonProps,\n cancelButtonProps,\n isKindAlreadyActive,\n getActiveKindDetails,\n isDisabledFieldLabel,\n disabledAddButtonTooltipProps,\n enableFieldCode,\n isFormEnabled,\n savedTitle,\n formTitle,\n formDescription,\n selectedLanguage,\n availableLanguages,\n onLanguageChange,\n additionalActionOptions,\n isReordering,\n additionalQuestionKindPattern,\n showActionBlock,\n buildRequestArgs,\n fieldCodeHelpDocUrl,\n enableDomainRestriction,\n domainRestrictionHelpDocUrl,\n ...formDomProps\n}) => {\n const containerRef = useRef();\n\n const { t } = useTranslation();\n const formikContext = useFormikContext();\n const [selectedQuestion, setSelectedQuestion] = useState(null);\n const [selectedAction, setSelectedAction] = useState(\"\");\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isManageQuestionPaneOpen, setIsManageQuestionPaneOpen] =\n useState(false);\n\n const {\n values,\n setFieldValue,\n dirty,\n isSubmitting,\n isValid,\n errors,\n submitForm,\n resetForm,\n } = formikContext;\n\n const setFormData = useBuildFormStore(prop(\"setFormData\"));\n\n const { mutate: createQuestion } = useCreateQuestion(\n formId,\n selectedLanguage,\n { onSuccess: showThumbsUpToastr }\n );\n\n useEffect(() => {\n setFormData({\n formId,\n enabled: isFormEnabled,\n title: savedTitle,\n values,\n dirty,\n isSubmitting,\n isValid,\n errors,\n submitForm,\n resetForm,\n selectedLanguage,\n });\n }, [\n formId,\n isFormEnabled,\n savedTitle,\n setFormData,\n values,\n dirty,\n isSubmitting,\n isValid,\n errors,\n submitForm,\n resetForm,\n selectedLanguage,\n ]);\n\n const { questions } = values;\n\n const handleSelect = question => {\n setSelectedQuestion(question);\n };\n\n const handleAdd = () => {\n setSelectedAction(QUESTION_ACTIONS.ADD);\n setIsManageQuestionPaneOpen(true);\n };\n\n const handleEdit = () => {\n setSelectedAction(QUESTION_ACTIONS.EDIT);\n setIsManageQuestionPaneOpen(true);\n };\n\n const handleClone = () => {\n const values = duplicateFieldData({\n item: selectedQuestion,\n questionKinds: availableQuestionKinds,\n questions,\n });\n const displayOrder = selectedQuestion.displayOrder + 1;\n const attributes = mergeLeft({ displayOrder }, values);\n\n const payload = {\n language: selectedLanguage,\n neetoFormQuestion: formatQuestionAttributesForClone(attributes),\n ...buildRequestArgs,\n };\n\n createQuestion(payload, {\n onSuccess: ({ questions }) => {\n const newQuestion = findBy({ displayOrder }, questions);\n handleSelect(newQuestion);\n },\n });\n };\n\n const handleDelete = () => {\n setIsDeleteAlertOpen(true);\n };\n\n useOnClickOutside(containerRef, () => handleSelect(null), {\n enabled: !(isDeleteAlertOpen || isManageQuestionPaneOpen),\n });\n\n useEffect(() => {\n onValueChange?.(questions);\n }, [questions]);\n\n const availableQuestionKinds = getAvailableQuestionKinds({\n allQuestionKinds: questionKinds,\n activeQuestions: questions,\n isKindAlreadyActive,\n });\n\n const hasActiveQuestions =\n questions &&\n questions.length &&\n questions.some(question => question._destroy !== true);\n\n const handleLanguageChange = code => {\n resetForm();\n onLanguageChange(code);\n };\n\n const richTextQuestions = filterBy(\n { kind: includes(__, RICH_TEXT_QUESTIONS) },\n questions\n );\n\n const resetFormData = () => {\n resetForm();\n setFormData({\n richTextFieldsToReset: pluck(\"fieldCode\", richTextQuestions),\n });\n };\n\n return (\n <>\n <DeleteAlert\n {...{ handleSelect, selectedQuestion }}\n isOpen={isDeleteAlertOpen}\n languagesCount={availableLanguages.length}\n onClose={() => setIsDeleteAlertOpen(false)}\n />\n <FormikForm\n className=\"neeto-form-nano-form-wrapper flex h-full flex-col\"\n {...formDomProps}\n noValidate\n >\n {formTitle && (\n <Overview\n {...{\n additionalActionOptions,\n availableLanguages,\n selectedLanguage,\n }}\n description={formDescription}\n title={formTitle}\n onLanguageChange={handleLanguageChange}\n />\n )}\n <div className=\"neeto-form-nano-form-wrapper__body min-h-0 w-full flex-grow space-y-6 overflow-y-auto px-6 pb-6\">\n {hasActiveQuestions ? (\n <div className=\"space-y-6\" ref={containerRef}>\n <DragDropContext\n onDragEnd={({ source, destination }) =>\n handleFieldDragEnd({\n source,\n destination,\n items: questions,\n setValue: setFieldValue,\n })\n }\n >\n <Questions\n {...{\n getActiveKindDetails,\n isDeletable,\n questions,\n selectedQuestion,\n }}\n allQuestionKinds={questionKinds}\n onClone={handleClone}\n onDelete={handleDelete}\n onEdit={handleEdit}\n onSelect={handleSelect}\n />\n </DragDropContext>\n <div className=\"mb-8 w-full\">\n <AddQuestion\n {...{ disabledAddButtonTooltipProps }}\n isDisabled={isEmpty(availableQuestionKinds)}\n onAdd={handleAdd}\n />\n </div>\n </div>\n ) : (\n <AddFirstQuestion>\n <AddQuestion\n {...{ disabledAddButtonTooltipProps }}\n isDisabled={isEmpty(availableQuestionKinds)}\n onAdd={handleAdd}\n />\n </AddFirstQuestion>\n )}\n </div>\n {(showActionBlock || dirty) && (\n <div className=\"neeto-ui-border-gray-300 neeto-form-nano-form-wrapper__footer neeto-ui-bg-white sticky bottom-0 flex flex-shrink-0 justify-end border-t px-6 py-4\">\n <ActionBlock\n {...{ submitButtonProps }}\n isSubmitting={isReordering}\n cancelButtonProps={{\n label: t(\"neetoForm.common.reset\"),\n onClick: resetFormData,\n ...cancelButtonProps,\n }}\n />\n </div>\n )}\n <ManageQuestionPane\n {...{\n additionalQuestionKindPattern,\n availableQuestionKinds,\n buildRequestArgs,\n domainRestrictionHelpDocUrl,\n enableDomainRestriction,\n enableFieldCode,\n fieldCodeHelpDocUrl,\n getActiveKindDetails,\n handleSelect,\n isDisabledFieldLabel,\n isRequiredField,\n questions,\n }}\n action={selectedAction}\n allQuestionKinds={questionKinds}\n isOpen={isManageQuestionPaneOpen}\n question={selectedQuestion}\n onClose={() => setIsManageQuestionPaneOpen(false)}\n />\n </FormikForm>\n </>\n );\n};\n\nexport default Form;\n","import { useEffect } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport classNames from \"classnames\";\nimport { Formik } from \"formik\";\nimport { noop, removeBy } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { assoc, concat, isEmpty, isNil } from \"ramda\";\n\nimport { QUERY_KEYS } from \"common/constants\";\nimport { QUESTION_KIND } from \"components/ExternalForm/constants\";\nimport { useFetchQuestions, useReorderQuestions } from \"hooks/useFormApi\";\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/pages/form-builder.scss\";\n\nimport {\n DEFAULT_AVAILABLE_LANGUAGES,\n MANDATORY_KINDS,\n QUESTIONS_INITIAL_VALUE,\n} from \"./constants\";\nimport Form from \"./Form\";\nimport { isQuestionKindAlreadyActive } from \"./Form/utils\";\nimport { QUESTION_KINDS } from \"./Questions/constants\";\nimport { getActiveQuestionKindDetails } from \"./Questions/utils\";\nimport { buildReorderPayload } from \"./utils\";\n\nconst BuildForm = ({\n id,\n onUpdate,\n buildRequestArgs,\n nonRemovableFields = [],\n requiredFields = [],\n formDomProps,\n showActionBlock = false,\n submitButtonProps,\n cancelButtonProps,\n questionKinds,\n isKindAlreadyActive = isQuestionKindAlreadyActive,\n getActiveKindDetails = getActiveQuestionKindDetails,\n isQuestionDeletable,\n isFieldRequired,\n isFieldLabelDisabled,\n showLoader = false,\n kindUniqueOn = [\"type\"],\n allowAdditionalGuests = false,\n disabledAddButtonTooltipProps,\n enableFieldCode = false,\n availableLanguages = DEFAULT_AVAILABLE_LANGUAGES,\n formDescription,\n formTitle = \"\",\n selectedLanguage = \"en\",\n onLanguageChange = noop,\n additionalActionOptions = [],\n additionalQuestionKindPattern,\n fieldCodeHelpDocUrl,\n enableDomainRestriction = true,\n domainRestrictionHelpDocUrl,\n className,\n}) => {\n const queryClient = useQueryClient();\n\n const { mutate: reorderQuestions, isPending: isReordering } =\n useReorderQuestions(id, { onSuccess: showThumbsUpToastr });\n\n const {\n data,\n isLoading,\n isPending: isQuestionsPending,\n } = useFetchQuestions({ formId: id, language: selectedLanguage });\n\n const {\n enabled: isFormEnabled,\n title: savedTitle,\n questions,\n isQuestionsLoading,\n } = data || QUESTIONS_INITIAL_VALUE;\n\n useEffect(() => {\n if (data) {\n onUpdate?.(data);\n }\n }, [data]);\n\n if (isLoading || (showLoader && isQuestionsLoading && !isQuestionsPending)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center py-6\">\n <PageLoader />\n </div>\n );\n }\n\n const handleSubmit = ({ questions }, { setSubmitting }) => {\n const payload = {\n neetoFormQuestions: {\n questions: buildReorderPayload(questions),\n },\n };\n\n reorderQuestions(payload, {\n onSettled: () => setSubmitting(false),\n });\n };\n\n const onValueChange = questions => {\n const { dataUpdateCount } = queryClient.getQueryState([\n QUERY_KEYS.QUESTIONS,\n id,\n selectedLanguage,\n ]);\n\n if (dataUpdateCount > 0) {\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, `preview/${id}`, selectedLanguage],\n assoc(\"questions\", questions)\n );\n }\n };\n\n const isDeletable =\n isQuestionDeletable ??\n (question => !nonRemovableFields.includes(question.kind));\n\n const isRequiredField =\n isFieldRequired ??\n (({ kind }) => concat(MANDATORY_KINDS, requiredFields).includes(kind));\n\n const isDisabledFieldLabel = isFieldLabelDisabled ?? (() => false);\n\n const defaultQuestionKinds = allowAdditionalGuests\n ? QUESTION_KINDS\n : removeBy({ type: QUESTION_KIND.ADDITIONAL_GUESTS.value }, QUESTION_KINDS);\n\n return (\n <div\n className={classNames(\n \"neeto-form-nano-form-outer-wrapper relative\",\n className\n )}\n >\n <Formik\n enableReinitialize\n initialValues={{ questions }}\n onSubmit={handleSubmit}\n >\n {({ errors, setFieldError }) => (\n <Form\n {...{\n ...formDomProps,\n additionalActionOptions,\n additionalQuestionKindPattern,\n availableLanguages,\n buildRequestArgs,\n cancelButtonProps,\n disabledAddButtonTooltipProps,\n domainRestrictionHelpDocUrl,\n enableDomainRestriction,\n enableFieldCode,\n fieldCodeHelpDocUrl,\n formDescription,\n formTitle,\n getActiveKindDetails,\n isDeletable,\n isDisabledFieldLabel,\n isFormEnabled,\n isKindAlreadyActive,\n isReordering,\n isRequiredField,\n kindUniqueOn,\n onLanguageChange,\n onValueChange,\n savedTitle,\n selectedLanguage,\n showActionBlock,\n submitButtonProps,\n }}\n formId={id}\n questionKinds={\n isNil(questionKinds) ? defaultQuestionKinds : questionKinds\n }\n onChange={event => {\n if (isEmpty(errors)) return;\n setFieldError(event.target.name);\n }}\n />\n )}\n </Formik>\n {isQuestionsLoading && !isQuestionsPending && (\n <div className=\"neeto-ui-bg-white absolute inset-0 flex items-center justify-center\">\n <PageLoader />\n </div>\n )}\n </div>\n );\n};\n\nexport default BuildForm;\n"],"names":["DeleteAlert","_ref","selectedQuestion","isOpen","onClose","languagesCount","handleSelect","_useTranslation","useTranslation","t","_useBuildFormStore","useBuildFormStore","store","_store$formState","selectedLanguage","shallow","renderQuestionLabel","questionKind","kind","independentLabel","INDEPENDENT_LABELS_MAP","isPresent","questionLabel","fieldWithFallback","truncate","_useDeleteQuestion","useDeleteQuestion","formId","onSuccess","showThumbsUpToastr","deleteQuestion","mutate","isDeleting","isPending","selectNextQuestion","questions","selectedQuestionIndex","displayOrder","wasLastQuestion","equals","length","newDisplayOrder","newQuestion","findBy","handleSubmit","id","_ref2","_jsx","Alert","isSubmitting","submitButtonLabel","title","message","Trans","i18nKey","values","count","label","onSubmit","ChangeLanguageDropdown","_findBy","currentLanguage","languages","onChange","_useState","useState","_useState2","_slicedToArray","isUnsavedChangesAlertOpen","setIsUnsavedChangesAlertOpen","_useState3","_useState4","setSelectedLanguage","_useFormikContext","useFormikContext","dirty","languageChangeHandler","code","selectedLanguageName","name","_jsxs","_Fragment","children","Tooltip","content","Dropdown","buttonStyle","Menu","map","MenuItem","Button","isActive","onClick","Overview","description","availableLanguages","onLanguageChange","additionalActionOptions","className","Typography","lineHeight","style","weight","MoreDropdown","dropdownButtonProps","isRounded","dropdownProps","strategy","position","menuItems","validateEditorContent","editorRef","_editorRef$current","current","editor","isEmpty","buildReorderPayload","reduce","acc","assoc","isRichTextQuestion","includes","__","RICH_TEXT_QUESTIONS","Card","_ref$question","question","allQuestionKinds","getActiveKindDetails","onSelect","onEdit","onClone","onDelete","_getActiveKindDetails","item","isSingular","htmlToPlainText","concat","slugify","classNames","Drag","key","isVisible","isFunction","Questions","isDeletable","Droppable","droppableId","droppableProps","placeholder","innerRef","_objectSpread","ref","index","_question$id","_question$id2","_createElement","Draggable","draggableId","nodeId","_ref3","draggableProps","dragHandleProps","moveItem","arr","sourceIndex","destinationIndex","Array","undefined","removedItem","splice","arrayHelpers","isChoiceQuestion","SELECTABLE_KINDS","generateUniqueFieldCode","type","fieldCodes","pluck","filterBy","uniqueNumber","candidateFieldCode","prefix","RESERVED_FIELD_CODES","fieldCode","isQuestionKindAlreadyActive","activeQuestions","some","activeQuestion","_destroy","handleFieldDragEnd","items","setValue","source","destination","nextItems","_toConsumableArray","orderedItems","createFieldData","_ref3$kind","defaults","metadata","_ref3$isRequired","isRequired","uuid","duplicateFieldData","_ref4","questionKinds","optionsAttributes","defaultAttributeNames","keys","defaultAttributes","pick","newQuestionLabel","omit","getAvailableQuestionKinds","_ref5","_ref5$activeQuestions","isKindAlreadyActive","reject","isSingularKind","formatQuestionAttributesForClone","when","AddFirstQuestion","NoQuestions","NAME","QUESTION_TYPES","PHONE","EMAIL","ADDITIONAL_GUESTS","TEXT","TEXTAREA","RICH_TEXT","INTEGER","DECIMAL","STAR_RATING","RATING","DATE","FILE_UPLOAD","CAPTCHA","QUESTIONS_WITH_ADDITIONAL_DATA","QUESTIONS_WITH_PLACEHOLDERS","DEFAULT_PLACEHOLDERS","CHECKBOX","what","RADIO","DROPDOWN","INITIAL_VALUES","FormikAdaptiveInput","otherProps","_objectWithoutProperties","_excluded","isValid","submitForm","handleKeyDown","event","shiftKey","preventDefault","isMetaKeyPressed","handleFocus","element","end","value","setSelectionRange","Textarea","resize","size","onFocus","target","onKeyDown","Block","dataCy","useUpdateEditorContent","fieldName","initialValue","initialStateRef","useRef","language","setFormData","_useBuildFormStore2","_store$formState2","shouldReset","formState","richTextFieldsToReset","setEditorContent","_editorRef$current$ed","commands","setContent","modify","without","_useFetchQuestions","useFetchQuestions","data","useEffect","pathArray","split","part","parsedPart","parseInt","isNaN","path","Editor","_useField","useField","validate","_useField2","_useField2$","touched","error","_useField2$2","setTouched","NeetoEditor","required","onBlur","RequiredSwitch","withT","Switch","InputWithMaxLength","maxLength","props","substring","shouldShowMaxLength","Input","FieldCode","helpDocUrl","Accordion","Item","helpText","components","Link","href","Form","initialFocusRef","isRequiredField","isDisabledFieldLabel","enableFieldCode","availableQuestionKinds","additionalQuestionKindPattern","fieldCodeHelpDocUrl","enableDomainRestriction","domainRestrictionHelpDocUrl","_ref$isEdit","isEdit","setValues","setErrors","questionKindUniquenessPattern","mergeLeft","_useStateWithDependen","useStateWithDependency","getQuestionKind","_useStateWithDependen2","_ref2$questionProps","questionProps","isLabelDisabled","shouldShowPlaceholder","hasAdditionalData","shouldShowFieldCode","QUESTIONS_WITHOUT_FIELD_CODE","shouldShowHideSwitch","handleKindChange","option","buildQuestionData","updateFormState","isNil","extractKindFromOption","Pane","Body","Select","isClearable","isSearchable","defaultValue","buildDefaultValueForKind","isDisabled","options","buildKindOptions","disabled","renderAdditionalData","requiredLabelValidation","schema","field","trim","richTextFieldMissingErrorMessage","PARAGRAPH","formValidationSchema","yup","object","shape","string","test","isEditorEmpty","notOneOf","notRequired","array","is","otherwise","of","highestRatingLabel","nullable","averageRatingLabel","lowestRatingLabel","Add","buildRequestArgs","_useCreateQuestion","useCreateQuestion","createQuestion","isCreating","neetoFormQuestion","Header","formikProps","initialValues","validationSchema","QuestionForm","Footer","ActionBlock","cancelButtonProps","Edit","_useUpdateQuestion","useUpdateQuestion","updateQuestion","isUpdating","setSubmitting","payload","questionId","onSettled","Captcha","Radio","labelProps","CAPTCHA_TYPES","RECAPTCHA_V2","MATH_CAPTCHA","SwitchBlock","_ref$className","Label","classnames","hyphenate","component","STYLES","border","color","MultiValueRemove","innerProps","_defineProperty","hyphenize","Close","ValueContainer","getValue","_props$selectProps","selectProps","isFocused","visibleDomainsCount","_children","_toArray","firstChild","rest","slice","shouldCollapse","Tag","ClearIndicator","ERROR_MESSAGE_DELIMITER","DELIMITER_KEYS","DOMAIN_SEPARATION_REGEX","FLEXIBLE_DOMAIN_REGEX","VALID_DOMAIN_REGEX","DOMAIN_VALIDATION_SCHEMA","domain","CUSTOM_STYLES","input","multiValue","styles","valid","CUSTOM_COMPONENTS","DropdownIndicator","removeDuplicateErrorMessages","pipe","filter","isNotNil","uniq","join","formatDomainInputOptions","validateSync","_unused","pruneDuplicates","getValidDomains","domains","getValidDomainsCount","formatErrorMessage","MultiDomainInput","_ref$label","_ref$value","_ref$onChange","noop","_ref$error","_ref$onBlur","inputValue","setInputValue","setIsFocused","handleFilterDomains","handleDomainChange","inputValues","match","domainMatches","stopPropagation","onCreateOption","handleBlur","isFilterDomainsLinkVisible","CreatableSelect","isMulti","classNamePrefix","menuIsOpen","control","maxHeight","overflowY","onInputChange","validateDomains","ensure","compact","min","entity","Promise","_asyncToGenerator","_regeneratorRuntime","mark","_callee","resolve","wrap","_callee$","_context","prev","next","t0","stop","_x","apply","arguments","RestrictedDomains","_useField2$0$value","meta","formattedDomains","nullSafe","Email","_ref$domainRestrictio","_useFormikContext$val","isDomainRestrictionEnabled","HelpPopover","popoverProps","helpLinkProps","FileGroup","checked","handleAllowedFileTypesChange","Checkbox","buildFileTypesList","fileTypes","getAllowedFileTypes","isChecked","allowedFileTypes","fileTypesSet","Set","FILE_TYPES_MAP","from","newFileTypes","difference","isFileTypeEnabled","FileUpload","setFieldValue","prop","_ref$target","fileType","FILE_GROUPS","defaultConfig","strict","matchKey","findOptionByValue","config","configObject","find","filterOptionsByValues","destroyFromList","itemToRemove","push","insertToList","pushToList","formHelpers","Options","_","setOptionsAttributes","_ref2$optionLabelProp","optionLabelProps","_ref2$freezeOptions","freezeOptions","_ref2$disableAddOptio","disableAddOption","_ref2$disableRemoveOp","disableRemoveOption","handleRemoveOption","nextOptions","isManageOptionDisabled","isAddOptionDisabled","isRemoveOptionDisabled","FieldArray","handlePush","_option$id","number","icon","Delete","invisible","MINIMUM_OPTIONS","tooltipProps","Plus","iconPosition","RatingItem","Rating","RATING_OPTIONS","Icon","StarRating","iconType","setIconType","STAR_RATING_MIN_VALUE_OPTIONS","STAR_RATING_MAX_VALUE_OPTIONS","Object","entries","STAR_RATING_ICONS_MAP","IconType","transformValueForOption","resolveActionComponent","action","QUESTION_ACTIONS","ADD","pattern","kinds","last","ManageQuestionPane","Component","AddQuestion","onAdd","disabledAddButtonTooltipProps","onValueChange","submitButtonProps","isFormEnabled","savedTitle","formTitle","formDescription","isReordering","showActionBlock","formDomProps","containerRef","formikContext","setSelectedQuestion","selectedAction","setSelectedAction","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","isManageQuestionPaneOpen","setIsManageQuestionPaneOpen","errors","resetForm","enabled","handleAdd","handleEdit","EDIT","handleClone","attributes","handleDelete","useOnClickOutside","hasActiveQuestions","handleLanguageChange","richTextQuestions","resetFormData","FormikForm","noValidate","DragDropContext","onDragEnd","BuildForm","onUpdate","_ref$nonRemovableFiel","nonRemovableFields","_ref$requiredFields","requiredFields","_ref$showActionBlock","_ref$isKindAlreadyAct","_ref$getActiveKindDet","getActiveQuestionKindDetails","isQuestionDeletable","isFieldRequired","isFieldLabelDisabled","_ref$showLoader","showLoader","_ref$kindUniqueOn","kindUniqueOn","_ref$allowAdditionalG","allowAdditionalGuests","_ref$enableFieldCode","_ref$availableLanguag","DEFAULT_AVAILABLE_LANGUAGES","_ref$formTitle","_ref$selectedLanguage","_ref$onLanguageChange","_ref$additionalAction","_ref$enableDomainRest","queryClient","useQueryClient","_useReorderQuestions","useReorderQuestions","reorderQuestions","isLoading","isQuestionsPending","QUESTIONS_INITIAL_VALUE","isQuestionsLoading","PageLoader","neetoFormQuestions","_queryClient$getQuery","getQueryState","QUERY_KEYS","QUESTIONS","dataUpdateCount","setQueryData","MANDATORY_KINDS","defaultQuestionKinds","QUESTION_KINDS","removeBy","QUESTION_KIND","Formik","enableReinitialize","_ref6","setFieldError"],"mappings":"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"}
1
+ {"version":3,"file":"BuildForm.js","sources":["../app/javascript/src/components/BuildForm/Form/DeleteAlert.jsx","../app/javascript/src/components/BuildForm/Form/ChangeLanguageDropdown.jsx","../app/javascript/src/components/BuildForm/Form/Overview.jsx","../app/javascript/src/components/BuildForm/utils.js","../app/javascript/src/components/BuildForm/Questions/Card.jsx","../app/javascript/src/components/BuildForm/Form/Questions.jsx","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../app/javascript/src/common/helpers/array.js","../app/javascript/src/components/BuildForm/Form/utils.js","../app/javascript/src/components/BuildForm/AddFirstQuestion.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/constants.js","../app/javascript/src/components/Common/FormikAdaptiveInput.jsx","../app/javascript/src/components/BuildForm/commons/Block.jsx","../app/javascript/src/components/BuildForm/hooks/useUpdateEditorContent.js","../app/javascript/src/components/BuildForm/commons/Editor.jsx","../app/javascript/src/components/BuildForm/commons/RequiredSwitch.jsx","../app/javascript/src/components/Common/InputWithMaxLength.jsx","../app/javascript/src/components/BuildForm/Questions/FieldCode.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/Form.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/validations.js","../app/javascript/src/components/BuildForm/ManageQuestionPane/Add.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/Edit.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Captcha/index.jsx","../app/javascript/src/components/BuildForm/commons/SwitchBlock.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/constants.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/Email/MultiDomainInput/index.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/Email/RestrictedDomains.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Email/index.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/FileGroup.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/utils.js","../app/javascript/src/components/BuildForm/Questions/Fields/FileUpload/index.jsx","../app/javascript/src/common/helpers/form.js","../app/javascript/src/components/BuildForm/Questions/Fields/Options.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/Rating.jsx","../app/javascript/src/components/BuildForm/Questions/Fields/StarRating.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/utils.jsx","../app/javascript/src/components/BuildForm/ManageQuestionPane/index.jsx","../app/javascript/src/components/BuildForm/Questions/AddQuestion.jsx","../app/javascript/src/components/BuildForm/Form/index.jsx","../app/javascript/src/components/BuildForm/index.jsx"],"sourcesContent":["import { findBy, isPresent, truncate } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { equals } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDeleteQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\nimport { fieldWithFallback } from \"utils\";\n\nimport { INDEPENDENT_LABELS_MAP } from \"../Questions/constants\";\n\nconst DeleteAlert = ({\n selectedQuestion,\n isOpen,\n onClose,\n languagesCount,\n handleSelect,\n}) => {\n const { t } = useTranslation();\n\n const { selectedLanguage } = useBuildFormStore.pick(\"formState\");\n\n const renderQuestionLabel = () => {\n const questionKind = selectedQuestion.kind;\n const independentLabel = INDEPENDENT_LABELS_MAP[questionKind];\n if (isPresent(independentLabel)) return independentLabel;\n\n const questionLabel = fieldWithFallback(selectedQuestion, \"label\");\n\n return truncate(questionLabel, 40);\n };\n\n const { mutate: deleteQuestion, isPending: isDeleting } = useDeleteQuestion(\n selectedQuestion?.formId,\n selectedLanguage,\n {\n onSuccess: () => {\n showThumbsUpToastr();\n onClose();\n },\n }\n );\n\n const selectNextQuestion = questions => {\n const selectedQuestionIndex = selectedQuestion.displayOrder;\n const wasLastQuestion = equals(selectedQuestionIndex, questions.length);\n\n const newDisplayOrder = wasLastQuestion\n ? selectedQuestionIndex - 1\n : selectedQuestionIndex;\n\n const newQuestion = findBy({ displayOrder: newDisplayOrder }, questions);\n handleSelect(newQuestion);\n };\n\n const handleSubmit = () => {\n deleteQuestion(selectedQuestion.id, {\n onSuccess: ({ questions }) => selectNextQuestion(questions),\n });\n };\n\n return (\n <Alert\n {...{ isOpen, onClose }}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoForm.common.delete\")}\n title={t(\"neetoForm.questions.deleteAlert.title\")}\n message={\n isPresent(selectedQuestion) && (\n <Trans\n i18nKey=\"neetoForm.questions.deleteAlert.message\"\n values={{\n count: languagesCount,\n label: renderQuestionLabel(),\n }}\n />\n )\n }\n onSubmit={handleSubmit}\n />\n );\n};\n\nexport default DeleteAlert;\n","import { useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { findBy } from \"neetocist\";\nimport { Alert, Dropdown, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ChangeLanguageDropdown = ({ currentLanguage, languages, onChange }) => {\n const [isUnsavedChangesAlertOpen, setIsUnsavedChangesAlertOpen] =\n useState(false);\n const [selectedLanguage, setSelectedLanguage] = useState(currentLanguage);\n\n const { t } = useTranslation();\n\n const { dirty } = useFormikContext();\n\n const languageChangeHandler = code => {\n if (!dirty) {\n onChange(code);\n\n return;\n }\n\n setSelectedLanguage(code);\n setIsUnsavedChangesAlertOpen(true);\n };\n\n const selectedLanguageName = findBy(\n { code: currentLanguage },\n languages\n )?.name;\n\n return (\n <>\n <Tooltip content={t(\"neetoForm.questions.changeLanguage\")}>\n <div>\n <Dropdown buttonStyle=\"secondary\" label={selectedLanguageName}>\n <Dropdown.Menu>\n {languages.map(({ code, name }) => (\n <Dropdown.MenuItem.Button\n isActive={currentLanguage === code}\n key={code}\n onClick={() => languageChangeHandler(code)}\n >\n {name}\n </Dropdown.MenuItem.Button>\n ))}\n </Dropdown.Menu>\n </Dropdown>\n </div>\n </Tooltip>\n <Alert\n isOpen={isUnsavedChangesAlertOpen}\n message={t(\"neetoForm.questions.unsavedChangesAlert.message\")}\n submitButtonLabel={t(\"neetoForm.questions.unsavedChangesAlert.discard\")}\n title={t(\"neetoForm.questions.unsavedChangesAlert.title\")}\n onClose={() => setIsUnsavedChangesAlertOpen(false)}\n onSubmit={() => {\n onChange(selectedLanguage);\n setIsUnsavedChangesAlertOpen(false);\n }}\n />\n </>\n );\n};\n\nexport default ChangeLanguageDropdown;\n","import { isPresent } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\n\nimport ChangeLanguageDropdown from \"./ChangeLanguageDropdown\";\n\nconst Overview = ({\n title,\n description,\n availableLanguages,\n selectedLanguage,\n onLanguageChange,\n additionalActionOptions,\n}) => (\n <div className=\"neeto-form-nano-form-wrapper__overview mb-4 w-full flex-shrink-0 space-y-4 px-6 pt-6\">\n <div className=\"flex items-center justify-between\">\n <Typography\n data-cy=\"neeto-form-engine-overview-title\"\n lineHeight=\"neeto-ui-leading-normal\"\n style=\"h2\"\n weight=\"neeto-ui-font-semibold\"\n >\n {title}\n </Typography>\n <div className=\"flex flex-shrink-0 items-center justify-between space-x-1\">\n {availableLanguages.length > 1 && (\n <ChangeLanguageDropdown\n currentLanguage={selectedLanguage}\n languages={availableLanguages}\n onChange={onLanguageChange}\n />\n )}\n {isPresent(additionalActionOptions) && (\n <MoreDropdown\n dropdownButtonProps={{ isRounded: true, style: \"tertiary\" }}\n dropdownProps={{ strategy: \"fixed\", position: \"bottom-start\" }}\n menuItems={additionalActionOptions}\n />\n )}\n </div>\n </div>\n <Typography data-cy=\"neeto-form-engine-overview-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n);\n\nexport default Overview;\n","import { t } from \"i18next\";\nimport { Plus } from \"neetoicons\";\nimport { assoc, includes, reduce, __ } from \"ramda\";\n\nimport { RICH_TEXT_QUESTIONS } from \"./constants\";\n\nexport const validateEditorContent = editorRef => () =>\n editorRef.current?.editor?.isEmpty\n ? t(\"neetoForm.common.thisFieldIsRequired\")\n : \"\";\n\nexport const buildReorderPayload = questions =>\n reduce(\n (acc, { id, displayOrder }) => assoc(id, displayOrder, acc),\n {},\n questions\n );\n\nexport const isRichTextQuestion = includes(__, RICH_TEXT_QUESTIONS);\n\nexport const buildAddQuestionButtonProps = (\n onAdd,\n isDisabled,\n tooltipProps\n) => ({\n \"data-cy\": \"neeto-form-engine-add-question-button\",\n disabled: isDisabled,\n label: t(\"neetoForm.questions.common.primaryPanel.addQuestion\"),\n icon: Plus,\n iconPosition: \"left\",\n style: \"link\",\n onClick: onAdd,\n ...(isDisabled && { tooltipProps }),\n});\n\nexport const buildDisabledAddButtonTooltipProps = (\n isDisabled,\n disabledAddButtonTooltipProps = {}\n) => ({\n disabled: !isDisabled,\n position: \"top\",\n content: t(\"neetoForm.questions.common.primaryPanel.noQuestionLeft\"),\n ...disabledAddButtonTooltipProps,\n});\n","import classNames from \"classnames\";\nimport { slugify } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { fieldWithFallback, isFunction } from \"utils\";\n\nimport { htmlToPlainText } from \"./utils\";\n\nimport { Drag } from \"../Icons\";\nimport { isRichTextQuestion } from \"../utils\";\n\nconst Card = ({\n question = {},\n allQuestionKinds,\n getActiveKindDetails,\n isActive,\n onSelect,\n onEdit,\n onClone,\n onDelete,\n}) => {\n const { t } = useTranslation();\n\n const { kind, isSingular } = getActiveKindDetails({\n allQuestionKinds,\n item: question,\n });\n\n const label = fieldWithFallback(question, \"label\");\n\n const questionLabel = isRichTextQuestion(kind)\n ? htmlToPlainText(label)\n : label;\n\n return (\n <div\n data-cy={`neeto-form-engine-${slugify(questionLabel)}`}\n className={classNames(\n \"neeto-ui-rounded neeto-ui-border-gray-300 neeto-ui-bg-white neeto-form-nano-form__card flex h-10 w-full items-center justify-between border p-2\",\n {\n \"neeto-ui-border-primary-500 neeto-form-nano-form__card--active\":\n isActive,\n }\n )}\n onClick={() => onSelect(question)}\n >\n <div className=\"flex min-w-0 flex-grow items-center gap-1\">\n <Drag className=\"neeto-ui-text-gray-600 flex-shrink-0\" />\n <Typography\n className=\"line-clamp-2 min-w-0 flex-grow truncate break-words\"\n lineHeight=\"snug\"\n style=\"body2\"\n weight=\"medium\"\n >\n {questionLabel}\n </Typography>\n </div>\n <MoreDropdown\n dropdownButtonProps={{ className: \"shrink-0\" }}\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n \"data-cy\": \"edit-question\",\n key: \"edit\",\n label: t(\"neetoForm.common.edit\"),\n onClick: onEdit,\n },\n {\n \"data-cy\": \"clone-question\",\n key: \"clone\",\n label: t(\"neetoForm.common.clone\"),\n isVisible: !isSingular && isFunction(onClone),\n onClick: onClone,\n },\n {\n \"data-cy\": \"delete-question\",\n key: \"delete\",\n label: t(\"neetoForm.common.delete\"),\n isVisible: isFunction(onDelete),\n onClick: onDelete,\n },\n ]}\n />\n </div>\n );\n};\n\nexport default Card;\n","import { Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { equals } from \"ramda\";\n\nimport Card from \"../Questions/Card\";\n\nconst Questions = ({\n questions,\n isDeletable,\n allQuestionKinds,\n getActiveKindDetails,\n selectedQuestion,\n onEdit,\n onClone,\n onDelete,\n onSelect,\n}) => (\n <Droppable droppableId=\"droppable\">\n {({ droppableProps, placeholder, innerRef }) => (\n <div {...droppableProps} className=\"space-y-2\" ref={innerRef}>\n {questions.map((question, index) => (\n <Draggable\n {...{ index }}\n draggableId={`question-${question.id ?? question.nodeId}`}\n key={`question-${question.id ?? question.nodeId}`}\n >\n {({ draggableProps, dragHandleProps, innerRef }) => (\n <div {...draggableProps} {...dragHandleProps} ref={innerRef}>\n <Card\n {...{\n allQuestionKinds,\n getActiveKindDetails,\n onClone,\n onEdit,\n onSelect,\n question,\n }}\n isActive={equals(selectedQuestion, question)}\n onDelete={isDeletable(question) && onDelete}\n />\n </div>\n )}\n </Draggable>\n ))}\n {placeholder}\n </div>\n )}\n </Droppable>\n);\nexport default Questions;\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","const moveItem = (arr, sourceIndex, destinationIndex) => {\n if (sourceIndex === destinationIndex) return arr;\n\n if (arr instanceof Array && arr[sourceIndex] !== undefined) {\n const removedItem = arr.splice(sourceIndex, 1)[0];\n arr.splice(destinationIndex, 0, removedItem);\n }\n\n return arr;\n};\n\nconst arrayHelpers = {\n moveItem,\n};\n\nexport default arrayHelpers;\n","import { t } from \"i18next\";\nimport { filterBy, findBy } from \"neetocist\";\nimport {\n isEmpty,\n reject,\n omit,\n pluck,\n keys,\n pick,\n when,\n assoc,\n includes,\n} from \"ramda\";\nimport { v4 as uuid } from \"uuid\";\n\nimport arrayHelpers from \"common/helpers/array\";\nimport { fieldWithFallback } from \"utils\";\n\nimport { RESERVED_FIELD_CODES, SELECTABLE_KINDS } from \"../constants\";\nimport { isRichTextQuestion } from \"../utils\";\n\nconst isChoiceQuestion = question => includes(question?.kind, SELECTABLE_KINDS);\n\nconst generateUniqueFieldCode = (type, questions) => {\n const fieldCodes = pluck(\"fieldCode\", filterBy({ kind: type }, questions));\n\n let uniqueNumber = fieldCodes.length;\n\n let candidateFieldCode = \"\";\n\n const prefix = RESERVED_FIELD_CODES.includes(type) ? `${type}_field` : type;\n\n //We need to continue this while loop until we can generate a unique fieldCode\n // eslint-disable-next-line no-constant-condition\n while (true) {\n candidateFieldCode = `${prefix}${uniqueNumber || \"\"}`;\n\n if (!findBy({ fieldCode: candidateFieldCode }, questions)) break;\n\n uniqueNumber += 1;\n }\n\n return candidateFieldCode;\n};\n\nexport const isQuestionKindAlreadyActive = ({ activeQuestions, kind }) =>\n activeQuestions.some(\n activeQuestion =>\n activeQuestion.kind === kind.type && activeQuestion._destroy !== true\n );\n\nexport const handleFieldDragEnd = ({\n items,\n setValue,\n source,\n destination,\n}) => {\n if (!(destination && items instanceof Array)) return;\n const nextItems = [...items];\n arrayHelpers.moveItem(nextItems, source.index, destination.index);\n const orderedItems = nextItems.map((item, index) => ({\n ...item,\n displayOrder: index,\n }));\n setValue(\"questions\", orderedItems);\n};\n\nexport const createFieldData = ({\n kind: { defaults, type, metadata },\n isRequired = undefined,\n questions,\n}) => ({\n ...defaults,\n metadata,\n isRequired,\n kind: type,\n nodeId: uuid(),\n fieldCode: generateUniqueFieldCode(type, questions),\n});\n\nexport const duplicateFieldData = ({ item, questionKinds, questions }) => {\n const questionKind = findBy({ type: item.kind }, questionKinds);\n const { isRequired, kind, optionsAttributes } = item;\n const label = fieldWithFallback(item, \"label\");\n const defaultAttributeNames = keys(questionKind.defaults || {});\n const defaultAttributes = pick(defaultAttributeNames, item);\n const newQuestionLabel = isRichTextQuestion(kind)\n ? label\n : t(\"neetoForm.common.clonedElementLabel\", { label });\n\n return {\n ...defaultAttributes,\n isRequired,\n kind,\n label: newQuestionLabel,\n optionsAttributes: optionsAttributes && optionsAttributes.map(omit([\"id\"])),\n nodeId: uuid(),\n fieldCode: generateUniqueFieldCode(item.kind, questions),\n displayOrder: item.displayOrder + 1,\n };\n};\n\nexport const getAvailableQuestionKinds = ({\n allQuestionKinds,\n activeQuestions = [],\n isKindAlreadyActive,\n}) => {\n if (isEmpty(activeQuestions)) return allQuestionKinds;\n\n return reject(kind => {\n const isSingularKind = kind.isSingular;\n\n return isSingularKind && isKindAlreadyActive({ activeQuestions, kind });\n }, allQuestionKinds);\n};\n\nexport const formatQuestionAttributesForClone = when(\n isChoiceQuestion,\n assoc(\"isCloning\", true)\n);\n","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} = QUESTION_TYPES;\n\nexport const QUESTIONS_WITH_ADDITIONAL_DATA = [\n ...SELECTABLE_KINDS,\n STAR_RATING,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n];\n\nexport const QUESTIONS_WITH_PLACEHOLDERS = [\n NAME,\n PHONE,\n EMAIL,\n ADDITIONAL_GUESTS,\n TEXT,\n TEXTAREA,\n RICH_TEXT,\n INTEGER,\n DECIMAL,\n DATE,\n];\n\nexport const DEFAULT_PLACEHOLDERS = {\n CHECKBOX: t(\"neetoForm.questions.common.questionFields.field.labelExample\", {\n what: t(\"neetoForm.common.hobbies\"),\n }),\n RADIO: t(\"neetoForm.questions.common.questionFields.field.labelExample\", {\n what: t(\"neetoForm.common.country\"),\n }),\n DROPDOWN: t(\"neetoForm.questions.common.questionFields.field.labelExample\", {\n what: t(\"neetoForm.common.company\"),\n }),\n};\n\nexport const INITIAL_VALUES = { kind: \"\", label: \"\", fieldCode: \"\" };\n","import { useFormikContext } from \"formik\";\nimport { isMetaKeyPressed } from \"neetocommons/react-utils\";\nimport { Textarea } from \"neetoui/formik\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/adaptive_input.scss\";\n\nconst FormikAdaptiveInput = ({ label, name, ...otherProps }) => {\n const { dirty, isValid, submitForm } = useFormikContext();\n\n const handleKeyDown = event => {\n if (event.key !== \"Enter\" || event.shiftKey) return;\n\n event.preventDefault();\n if (isMetaKeyPressed(event)) return;\n\n dirty && isValid && submitForm();\n };\n\n const handleFocus = element => {\n const end = element.value.length;\n element.setSelectionRange(end, end);\n };\n\n return (\n <Textarea\n {...{ label, name }}\n className=\"neeto-form-nano-adaptive-input\"\n resize=\"none\"\n size=\"small\"\n onFocus={({ target }) => handleFocus(target)}\n onKeyDown={handleKeyDown}\n {...otherProps}\n />\n );\n};\n\nexport default FormikAdaptiveInput;\n","import { Typography } from \"neetoui\";\n\nconst Block = ({ title, children, dataCy }) => (\n <div className=\"mt-4 space-y-4\" data-cy={dataCy}>\n <div\n className=\"flex items-center justify-between\"\n data-cy=\"properties-header\"\n >\n <Typography lineHeight=\"normal\" style=\"body1\" weight=\"semibold\">\n {title}\n </Typography>\n </div>\n <div className=\"space-y-4\">{children}</div>\n </div>\n);\n\nexport default Block;\n","import { useEffect, useRef } from \"react\";\n\nimport { modify, path, without } from \"ramda\";\n\nimport { useFetchQuestions } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nconst useUpdateEditorContent = ({\n editorRef,\n fieldName,\n value,\n initialValue,\n fieldCode,\n}) => {\n const initialStateRef = useRef({ language: \"\", value: null });\n\n const { setFormData } = useBuildFormStore.pick();\n const { formId, selectedLanguage: language } =\n useBuildFormStore.pick(\"formState\");\n\n const shouldReset = useBuildFormStore(store =>\n store.formState.richTextFieldsToReset.includes(fieldCode)\n );\n\n const setEditorContent = content =>\n editorRef.current.editor?.commands?.setContent(content);\n\n if (shouldReset) {\n setEditorContent(initialValue);\n setFormData(modify(\"richTextFieldsToReset\", without([fieldCode])));\n }\n\n const { data } = useFetchQuestions({ formId, language });\n\n useEffect(() => {\n if (!data) return;\n\n const pathArray = fieldName.split(\".\").map(part => {\n const parsedPart = parseInt(part);\n\n return isNaN(parsedPart) ? part : parsedPart;\n });\n\n setEditorContent(path(pathArray, data));\n }, [data]);\n\n useEffect(() => {\n if (initialStateRef.current[\"language\"] !== language) {\n initialStateRef.current[\"language\"] = language;\n initialStateRef.current[\"value\"] = null;\n\n return;\n }\n\n if (initialStateRef.current[\"value\"] === null && value !== null) {\n setEditorContent(value);\n initialStateRef.current[\"value\"] = value;\n }\n }, [language, value]);\n};\n\nexport default useUpdateEditorContent;\n","import { useRef } from \"react\";\n\nimport { useField, useFormikContext } from \"formik\";\nimport { Editor as NeetoEditor } from \"neetoeditor\";\n\nimport useUpdateEditorContent from \"../hooks/useUpdateEditorContent\";\nimport { validateEditorContent } from \"../utils\";\n\nconst Editor = () => {\n const editorRef = useRef({ editor: {} });\n\n const {\n values: { fieldCode },\n } = useFormikContext();\n\n const fieldName = \"label\";\n\n const [\n { value },\n { touched, error, initialValue },\n { setTouched, setValue },\n ] = useField({\n name: fieldName,\n validate: validateEditorContent(editorRef),\n });\n\n useUpdateEditorContent({\n editorRef,\n fieldName,\n value,\n initialValue,\n fieldCode,\n });\n\n return (\n <div className=\"w-full cursor-auto\">\n <NeetoEditor\n required\n error={touched ? error : \"\"}\n id=\"editor\"\n initialValue={value}\n name={fieldName}\n ref={editorRef}\n onBlur={() => setTouched(true)}\n onChange={setValue}\n />\n </div>\n );\n};\n\nexport default Editor;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Switch } from \"neetoui/formik\";\n\nconst RequiredSwitch = withT(({ t }) => (\n <div className=\"w-full\">\n <Switch label={t(\"neetoForm.common.required\")} name=\"isRequired\" />\n </div>\n));\n\nexport default RequiredSwitch;\n","import { useEffect } from \"react\";\n\nimport { useField } from \"formik\";\nimport { Input } from \"neetoui/formik\";\n\nconst InputWithMaxLength = ({ maxLength, ...props }) => {\n const [{ value }, , { setValue }] = useField(props);\n\n useEffect(() => {\n if (value && value.length > maxLength) {\n setValue(value.substring(0, maxLength));\n }\n }, [value, maxLength, setValue]);\n\n const shouldShowMaxLength = value && value.length > maxLength - 10;\n\n return <Input {...props} {...(shouldShowMaxLength && { maxLength })} />;\n};\n\nexport default InputWithMaxLength;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Button, Accordion } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport Input from \"components/Common/InputWithMaxLength\";\n\nconst FieldCode = withT(({ helpDocUrl, t }) => (\n <Accordion\n className=\"neeto-form-nano-advanced-properties-accordion\"\n data-cy=\"advanced-properties-card\"\n >\n <Accordion.Item title={t(\"neetoForm.common.advancedProperties\")}>\n <Input\n required\n label={t(\"neetoForm.questions.common.questionFields.field.fieldCode\")}\n name=\"fieldCode\"\n helpText={\n helpDocUrl && (\n <Trans\n i18nKey=\"neetoForm.questions.common.questionFields.field.fieldCodeHelpDescription\"\n components={{\n Link: (\n <Button\n className=\"text-xs\"\n href={helpDocUrl}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n )\n }\n />\n </Accordion.Item>\n </Accordion>\n));\n\nexport default FieldCode;\n","import { useFormikContext } from \"formik\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport { Pane } from \"neetoui\";\nimport { Select, Switch } from \"neetoui/formik\";\nimport { includes, isNil, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FormikAdaptiveInput from \"components/Common/FormikAdaptiveInput\";\n\nimport {\n DEFAULT_PLACEHOLDERS,\n INITIAL_VALUES,\n QUESTIONS_WITH_ADDITIONAL_DATA,\n QUESTIONS_WITH_PLACEHOLDERS,\n} from \"./constants\";\nimport {\n buildDefaultValueForKind,\n buildKindOptions,\n extractKindFromOption,\n getQuestionKind,\n renderAdditionalData,\n} from \"./utils\";\n\nimport Block from \"../commons/Block\";\nimport Editor from \"../commons/Editor\";\nimport RequiredSwitch from \"../commons/RequiredSwitch\";\nimport { QUESTIONS_WITHOUT_FIELD_CODE } from \"../constants\";\nimport { createFieldData } from \"../Form/utils\";\nimport FieldCode from \"../Questions/FieldCode\";\nimport { isRichTextQuestion } from \"../utils\";\n\nconst Form = ({\n questions,\n initialFocusRef,\n isRequiredField,\n isDisabledFieldLabel,\n enableFieldCode,\n allQuestionKinds,\n availableQuestionKinds,\n getActiveKindDetails,\n additionalQuestionKindPattern,\n fieldCodeHelpDocUrl,\n enableDomainRestriction,\n domainRestrictionHelpDocUrl,\n isEdit = false,\n}) => {\n const { t } = useTranslation();\n\n const { values, setValues, setErrors, setTouched } = useFormikContext();\n\n const { kind } = values;\n\n const questionKinds = isEdit ? allQuestionKinds : availableQuestionKinds;\n\n const questionKindUniquenessPattern = mergeLeft(\n isEdit && additionalQuestionKindPattern\n ? additionalQuestionKindPattern(values)\n : {},\n { type: kind }\n );\n\n const [questionKind] = useStateWithDependency(\n getQuestionKind(questionKinds, questionKindUniquenessPattern),\n [kind]\n );\n\n const { questionProps = {} } = questionKind\n ? getActiveKindDetails({ allQuestionKinds, item: questionKind })\n : {};\n\n const isRequired = questionKind && isRequiredField(questionKind);\n const isLabelDisabled = questionKind && isDisabledFieldLabel(questionKind);\n const shouldShowPlaceholder = includes(kind, QUESTIONS_WITH_PLACEHOLDERS);\n const hasAdditionalData = includes(kind, QUESTIONS_WITH_ADDITIONAL_DATA);\n const shouldShowFieldCode =\n enableFieldCode && !includes(kind, QUESTIONS_WITHOUT_FIELD_CODE);\n\n const shouldShowHideSwitch = !includes(kind, QUESTIONS_WITHOUT_FIELD_CODE);\n\n const handleKindChange = option => {\n const data = buildQuestionData(option);\n updateFormState(data);\n };\n\n const buildQuestionData = option => {\n if (isNil(option)) {\n return INITIAL_VALUES;\n }\n\n const { label, value } = option;\n const kind = extractKindFromOption(value);\n const questionKind = getQuestionKind(availableQuestionKinds, {\n type: kind,\n label,\n });\n\n return createFieldData({\n kind: questionKind,\n isRequired,\n questions,\n });\n };\n\n const updateFormState = data => {\n setValues(data);\n setErrors({});\n setTouched({});\n };\n\n return (\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Select\n isClearable\n isSearchable\n defaultValue={buildDefaultValueForKind(questionKind)}\n innerRef={initialFocusRef}\n isDisabled={isEdit}\n name=\"kind\"\n options={buildKindOptions(questionKinds)}\n label={t(\n \"neetoForm.questions.common.questionFields.field.questionType\"\n )}\n onChange={handleKindChange}\n />\n {isRichTextQuestion(kind) ? (\n <Editor {...{ isLabelDisabled }} />\n ) : (\n <div className=\"space-y-6\">\n <div className=\"space-y-4\">\n <FormikAdaptiveInput\n required\n disabled={isLabelDisabled}\n name=\"label\"\n placeholder={DEFAULT_PLACEHOLDERS[kind]}\n label={t(\n \"neetoForm.questions.common.questionFields.field.question\"\n )}\n />\n {shouldShowPlaceholder && (\n <FormikAdaptiveInput\n name=\"placeholder\"\n label={t(\n \"neetoForm.questions.common.questionFields.field.placeholder\"\n )}\n />\n )}\n {hasAdditionalData &&\n renderAdditionalData({\n kind,\n questionProps,\n domainRestrictionHelpDocUrl,\n enableDomainRestriction,\n })}\n </div>\n {!isRequired && (\n <Block\n dataCy=\"settings-card\"\n title={t(\"neetoForm.common.settings\")}\n >\n <RequiredSwitch />\n {shouldShowHideSwitch && (\n <Switch\n label={t(\"neetoForm.common.hideQuestion\")}\n name=\"isHidden\"\n />\n )}\n </Block>\n )}\n {shouldShowFieldCode && (\n <FieldCode helpDocUrl={fieldCodeHelpDocUrl} />\n )}\n </div>\n )}\n </div>\n </Pane.Body>\n );\n};\n\nexport default Form;\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { equals, includes } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\n\nimport {\n QUESTIONS_WITHOUT_FIELD_CODE,\n RESERVED_FIELD_CODES,\n RICH_TEXT_QUESTIONS,\n SELECTABLE_KINDS,\n} from \"../constants\";\n\nconst requiredLabelValidation = (schema, field) =>\n schema.trim().required(t(\"neetoForm.common.fieldReq\", { field }));\n\nconst richTextFieldMissingErrorMessage = kind => {\n const field = equals(kind, QUESTION_TYPES.PARAGRAPH)\n ? t(\"neetoForm.fields.def\")\n : t(\"neetoForm.fields.tcf\");\n\n return t(\"neetoForm.error.fieldCantBeEmpty\", { field });\n};\n\nexport const formValidationSchema = yup.object().shape({\n kind: yup\n .string()\n .trim()\n .required(\n t(\"neetoForm.common.fieldReq\", {\n field: t(\n \"neetoForm.questions.common.questionFields.field.questionType\"\n ),\n })\n ),\n label: yup\n .string()\n .when(\"kind\", (kind, schema) =>\n includes(kind, RICH_TEXT_QUESTIONS)\n ? schema.test(\n \"required\",\n richTextFieldMissingErrorMessage(kind),\n value => !isEditorEmpty(value)\n )\n : requiredLabelValidation(\n schema,\n t(\"neetoForm.questions.common.questionFields.field.question\")\n )\n ),\n fieldCode: yup\n .string()\n .trim()\n .notOneOf(RESERVED_FIELD_CODES, t(\"neetoForm.error.invalidFieldCode\"))\n .when(\"kind\", (kind, schema) =>\n includes(kind, QUESTIONS_WITHOUT_FIELD_CODE)\n ? schema.notRequired()\n : requiredLabelValidation(\n schema,\n t(\"neetoForm.questions.common.questionFields.field.fieldCode\")\n )\n ),\n optionsAttributes: yup.array().when(\"_destroy\", {\n is: true,\n otherwise: schema =>\n schema.when(\"kind\", (kind, schema) =>\n includes(kind, SELECTABLE_KINDS)\n ? schema.of(\n yup.object().shape({\n label: requiredLabelValidation(\n yup.string(),\n t(\"neetoForm.questions.common.questionFields.field.option\")\n ),\n })\n )\n : schema.notRequired()\n ),\n }),\n highestRatingLabel: yup.string().nullable(),\n averageRatingLabel: yup.string().nullable(),\n lowestRatingLabel: yup.string().nullable(),\n});\n","import { findBy } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form } from \"neetoui/formik\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport { INITIAL_VALUES } from \"./constants\";\nimport QuestionForm from \"./Form\";\nimport { formValidationSchema } from \"./validations\";\n\nconst Add = ({\n question,\n onClose,\n questions,\n handleSelect,\n buildRequestArgs,\n isOpen,\n fieldCodeHelpDocUrl,\n domainRestrictionHelpDocUrl,\n ...props\n}) => {\n const { formId, selectedLanguage: language } =\n useBuildFormStore.pick(\"formState\");\n\n const { t } = useTranslation();\n\n const { mutate: createQuestion, isPending: isCreating } = useCreateQuestion(\n formId,\n language,\n {\n onSuccess: () => {\n showThumbsUpToastr();\n onClose();\n },\n }\n );\n\n const handleSubmit = values => {\n if (isCreating || !isOpen) return;\n\n const displayOrder = question\n ? question.displayOrder + 1\n : questions.length;\n\n createQuestion(\n {\n language,\n neetoFormQuestion: mergeLeft({ displayOrder }, values),\n ...buildRequestArgs,\n },\n {\n onSuccess: ({ questions }) => {\n const newQuestion = findBy({ displayOrder }, questions);\n handleSelect(newQuestion);\n },\n }\n );\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"add-question-pane-header\" style=\"h2\">\n {t(\"neetoForm.questions.common.primaryPanel.addQuestion\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: INITIAL_VALUES,\n validationSchema: formValidationSchema,\n onSubmit: handleSubmit,\n }}\n >\n <>\n <QuestionForm\n {...{\n ...props,\n domainRestrictionHelpDocUrl,\n fieldCodeHelpDocUrl,\n question,\n questions,\n }}\n />\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={isCreating}\n />\n </Pane.Footer>\n </>\n </Form>\n </>\n );\n};\n\nexport default Add;\n","import { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport QuestionForm from \"./Form\";\nimport { formValidationSchema } from \"./validations\";\n\nconst Edit = ({\n question,\n isOpen,\n onClose,\n fieldCodeHelpDocUrl,\n domainRestrictionHelpDocUrl,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { selectedLanguage: language } = useBuildFormStore.pick(\"formState\");\n\n const { mutate: updateQuestion, isPending: isUpdating } = useUpdateQuestion(\n question?.formId,\n language\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n if (isUpdating || !isOpen) return;\n\n const payload = { language, neetoFormQuestion: values };\n updateQuestion(\n { questionId: question.id, payload },\n {\n onSuccess: () => {\n showThumbsUpToastr();\n onClose();\n },\n onSettled: () => setSubmitting(false),\n }\n );\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"edit-question-pane-header\" style=\"h2\">\n {t(\"neetoForm.questions.common.editQuestion\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: question,\n validationSchema: formValidationSchema,\n onSubmit: handleSubmit,\n }}\n >\n <>\n <QuestionForm\n {...{\n domainRestrictionHelpDocUrl,\n fieldCodeHelpDocUrl,\n question,\n ...props,\n }}\n isEdit\n />\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={isUpdating}\n />\n </Pane.Footer>\n </>\n </Form>\n </>\n );\n};\n\nexport default Edit;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Radio } from \"neetoui/formik\";\n\nimport { CAPTCHA_TYPES } from \"components/constants\";\n\nconst Captcha = withT(({ t }) => (\n <Radio\n label={t(\"neetoForm.common.captchaType\")}\n labelProps={{ required: true }}\n name=\"variant\"\n >\n <Radio.Item\n label={t(\"neetoForm.common.reCaptchaV2\")}\n value={CAPTCHA_TYPES.RECAPTCHA_V2}\n />\n <Radio.Item\n label={t(\"neetoForm.common.mathCaptcha\")}\n value={CAPTCHA_TYPES.MATH_CAPTCHA}\n />\n </Radio>\n));\n\nexport default Captcha;\n","import classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Label, Typography } from \"neetoui\";\nimport { Switch } from \"neetoui/formik\";\n\nconst SwitchBlock = ({ name, title, className = \"\", ...otherProps }) => (\n <Label\n className={classnames(\"flex items-center justify-start gap-2 \", className)}\n data-cy={`neeto-form-engine-${hyphenate(title)}-toggle-label`}\n >\n <Switch\n {...{ ...otherProps, name }}\n data-cy={`neeto-form-engine-${hyphenate(title)}-switch`}\n />\n <Typography component=\"span\" style=\"body1\">\n {title}\n </Typography>\n </Label>\n);\n\nexport default SwitchBlock;\n","import { t } from \"i18next\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Close } from \"neetoicons\";\nimport { Tag } from \"neetoui\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { components } from \"react-select\";\nimport * as yup from \"yup\";\n\nconst STYLES = {\n border: {\n default: \"1px solid rgb(var(--neeto-ui-gray-400))\",\n error: \"1px solid rgb(var(--neeto-ui-error-800)) !important\",\n },\n color: {\n default: \"rgb(var(--neeto-ui-gray-800))\",\n error: \"rgb(var(--neeto-ui-error-800)) !important\",\n },\n};\n\nconst MultiValueRemove = props => (\n <components.MultiValueRemove\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: `${hyphenize(props.data.label)}-remove-icon`,\n }}\n >\n <Close size={16} />\n </components.MultiValueRemove>\n);\n\nconst ValueContainer = ({ children, ...props }) => {\n const { t } = useTranslation();\n\n const {\n getValue,\n selectProps: { isFocused, visibleDomainsCount },\n } = props;\n const value = getValue();\n const [firstChild, ...rest] = children;\n\n const shouldCollapse = !isFocused && value.length > visibleDomainsCount;\n\n return (\n <components.ValueContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-domain-input-container\",\n }}\n >\n {shouldCollapse ? firstChild.slice(0, visibleDomainsCount) : firstChild}\n {shouldCollapse && (\n <Tag\n style=\"secondary\"\n label={t(\"neetoForm.common.remainingItemsCount\", {\n count: value.length - visibleDomainsCount,\n })}\n />\n )}\n {rest}\n </components.ValueContainer>\n );\n};\n\nconst ClearIndicator = props => (\n <components.ClearIndicator\n {...props}\n innerProps={{ ...props.innerProps, [\"data-cy\"]: \"clear-all-button\" }}\n >\n <Close className=\"cursor-pointer\" size={16} />\n </components.ClearIndicator>\n);\n\nexport const ERROR_MESSAGE_DELIMITER = \". \";\nexport const DELIMITER_KEYS = [\"Enter\", \"Tab\", \",\", \" \"];\nexport const DOMAIN_SEPARATION_REGEX = /[^\\s,]+/g;\nexport const FLEXIBLE_DOMAIN_REGEX = /^[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)+$/;\n\nexport const VALID_DOMAIN_REGEX =\n /^(?:[a-zA-Z0-9-]{1,63}\\.)+[a-zA-Z0-9-]{2,63}$/;\n\nexport const DOMAIN_VALIDATION_SCHEMA = yup\n .string()\n .required(\n t(\"neetoForm.error.requiredField\", {\n label: t(\"neetoForm.common.domain\"),\n })\n )\n .test(\"verify domains\", t(\"neetoForm.error.invalidDomain\"), domain =>\n VALID_DOMAIN_REGEX.test(domain)\n );\n\nexport const CUSTOM_STYLES = {\n input: assoc(\"overflow\", \"hidden\"),\n multiValue: (styles, { data: { valid } }) => ({\n ...styles,\n border: valid ? STYLES.border.default : STYLES.border.error,\n color: valid ? STYLES.color.default : STYLES.color.error,\n }),\n};\n\nexport const CUSTOM_COMPONENTS = {\n DropdownIndicator: null,\n MultiValueRemove,\n ValueContainer,\n ClearIndicator,\n};\n","import { filter, isNotNil, join, map, pipe, pluck, uniq } from \"ramda\";\n\nimport { ERROR_MESSAGE_DELIMITER, DOMAIN_VALIDATION_SCHEMA } from \"./constants\";\n\nconst removeDuplicateErrorMessages = pipe(\n filter(isNotNil),\n uniq,\n join(ERROR_MESSAGE_DELIMITER)\n);\n\nexport const formatDomainInputOptions = domain => {\n let isValid;\n\n try {\n DOMAIN_VALIDATION_SCHEMA.validateSync(domain);\n isValid = true;\n } catch {\n isValid = false;\n }\n\n return { label: domain, value: domain, valid: isValid };\n};\n\nexport const pruneDuplicates = pipe(\n pluck(\"value\"),\n uniq,\n map(formatDomainInputOptions)\n);\n\nexport const getValidDomains = domains =>\n domains.filter(domain => domain?.valid);\n\nexport const getValidDomainsCount = domains => getValidDomains(domains).length;\n\nexport const formatErrorMessage = error => {\n if (typeof error === \"string\") return error;\n\n return removeDuplicateErrorMessages(error);\n};\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Label } from \"neetoui\";\nimport { mergeLeft, filter, includes, test } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport CreatableSelect from \"react-select/creatable\";\n\nimport {\n CUSTOM_COMPONENTS,\n CUSTOM_STYLES,\n DELIMITER_KEYS,\n DOMAIN_SEPARATION_REGEX,\n ERROR_MESSAGE_DELIMITER,\n FLEXIBLE_DOMAIN_REGEX,\n} from \"./constants\";\nimport {\n formatDomainInputOptions,\n formatErrorMessage,\n getValidDomainsCount,\n pruneDuplicates,\n getValidDomains,\n} from \"./utils\";\n\nconst MultiDomainInput = ({\n label = \"\",\n value = [],\n onChange = noop,\n error = \"\",\n onBlur = noop,\n ...otherProps\n}) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n\n const { t } = useTranslation();\n\n const handleFilterDomains = () => onChange(getValidDomains(value));\n\n const handleDomainChange = () => {\n const inputValues = inputValue.match(DOMAIN_SEPARATION_REGEX) || [];\n const domainMatches = filter(test(FLEXIBLE_DOMAIN_REGEX), inputValues);\n\n const domains = domainMatches.map(formatDomainInputOptions);\n onChange(pruneDuplicates([...value, ...domains]));\n setInputValue(\"\");\n };\n\n const handleKeyDown = event => {\n if (!inputValue) return;\n\n if (includes(event.key, DELIMITER_KEYS)) {\n handleDomainChange();\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n const onCreateOption = input => {\n const domain = formatDomainInputOptions(input);\n onChange(pruneDuplicates([...value, domain]));\n };\n\n const handleBlur = event => {\n inputValue ? handleDomainChange() : onBlur(event);\n setIsFocused(false);\n };\n\n const isFilterDomainsLinkVisible = value.length > getValidDomainsCount(value);\n\n return (\n <div className=\"neeto-ui-input__wrapper neeto-ui-email-input__wrapper\">\n <div className=\"neeto-ui-email-input__label-wrapper\">\n <Label\n className=\"neeto-ui-email-input__label\"\n data-cy={`${hyphenize(label)}-input-label`}\n >\n {label}\n </Label>\n </div>\n <CreatableSelect\n isMulti\n required\n classNamePrefix=\"neeto-ui-react-select\"\n components={CUSTOM_COMPONENTS}\n menuIsOpen={false}\n visibleDomainsCount={3}\n className={classnames(\n \"neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select\",\n { \"neeto-ui-react-select__container--error\": !!error }\n )}\n styles={{\n ...CUSTOM_STYLES,\n control: mergeLeft({\n maxHeight: \"200px\",\n overflowY: \"auto\",\n }),\n }}\n onBlur={handleBlur}\n onFocus={() => setIsFocused(true)}\n onInputChange={setInputValue}\n onKeyDown={handleKeyDown}\n {...{\n inputValue,\n isFocused,\n onChange,\n onCreateOption,\n value,\n ...otherProps,\n }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n >\n {formatErrorMessage(error)}\n {isFilterDomainsLinkVisible && (\n <span\n className=\"neeto-ui-font-semibold cursor-pointer\"\n onClick={handleFilterDomains}\n >\n {ERROR_MESSAGE_DELIMITER}\n {t(\"neetoForm.domainRestriction.removeInvalidDomains\")}\n </span>\n )}\n </p>\n )}\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n >\n {t(\"neetoForm.domainRestriction.helpText\")}\n </p>\n </div>\n );\n};\n\nexport default MultiDomainInput;\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { VALID_DOMAIN_REGEX } from \"./MultiDomainInput/constants\";\n\nexport const validateDomains = value => {\n const schema = yup\n .array()\n .of(\n yup\n .string()\n .test(\"verify domains\", t(\"neetoForm.error.invalidDomain\"), domain =>\n VALID_DOMAIN_REGEX.test(domain)\n )\n )\n .ensure()\n .compact()\n .min(\n 1,\n t(\"neetoForm.error.minOneEntity\", {\n entity: t(\"neetoForm.common.domain\"),\n })\n );\n\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async resolve => {\n try {\n await schema.validate(value);\n resolve(undefined);\n } catch (err) {\n resolve(err.message);\n }\n });\n};\n","import { useField } from \"formik\";\nimport { nullSafe } from \"neetocist\";\nimport { map, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport MultiDomainInput from \"./MultiDomainInput\";\nimport { formatDomainInputOptions } from \"./MultiDomainInput/utils\";\nimport { validateDomains } from \"./utils\";\n\nconst RestrictedDomains = () => {\n const [{ value: domains = [] }, meta, { setValue, setTouched }] = useField({\n name: \"restrictedDomains\",\n validate: validateDomains,\n });\n const { t } = useTranslation();\n\n const formattedDomains = map(formatDomainInputOptions, domains);\n\n return (\n <div className=\"mb-4\">\n <MultiDomainInput\n error={meta.touched ? meta.error : \"\"}\n label={t(\"neetoForm.domainRestriction.description\")}\n name=\"restrictedDomains\"\n value={formattedDomains}\n onBlur={() => setTouched(true)}\n onChange={value => setValue(nullSafe(pluck)(\"value\", value))}\n />\n </div>\n );\n};\n\nexport default RestrictedDomains;\n","import { useFormikContext } from \"formik\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SwitchBlock from \"components/BuildForm/commons/SwitchBlock\";\n\nimport RestrictedDomains from \"./RestrictedDomains\";\n\nconst Email = ({ domainRestrictionHelpDocUrl = \"\" }) => {\n const {\n values: { isDomainRestrictionEnabled = false },\n } = useFormikContext();\n\n const { t } = useTranslation();\n\n return (\n <div className=\"flex flex-col space-y-4\">\n <SwitchBlock\n className=\"mt-4\"\n name=\"isDomainRestrictionEnabled\"\n title={\n <div className=\"flex gap-2\">\n {t(\"neetoForm.domainRestriction.label\")}\n <HelpPopover\n description={t(\"neetoForm.domainRestriction.popoverDescription\")}\n popoverProps={{ position: \"top\" }}\n {...(domainRestrictionHelpDocUrl && {\n helpLinkProps: { href: domainRestrictionHelpDocUrl },\n })}\n />\n </div>\n }\n />\n {isDomainRestrictionEnabled && <RestrictedDomains />}\n </div>\n );\n};\n\nexport default Email;\n","import { Checkbox } from \"neetoui\";\n\nconst FileGroup = ({ name, label, checked, handleAllowedFileTypesChange }) => (\n <Checkbox\n {...{ checked, label, name }}\n data-cy={`neeto-form-engine-file-type-${name}`}\n id={name}\n onChange={handleAllowedFileTypesChange}\n />\n);\n\nexport default FileGroup;\n","import { difference, isEmpty } from \"ramda\";\n\nimport { FILE_TYPES_MAP } from \"../constants\";\n\nconst buildFileTypesList = fileTypes => (fileTypes ?? \"\").split(\", \");\n\nexport const getAllowedFileTypes = ({ type, isChecked, allowedFileTypes }) => {\n const fileTypes = buildFileTypesList(allowedFileTypes);\n if (isChecked) {\n const fileTypesSet = new Set([...FILE_TYPES_MAP[type], ...fileTypes]);\n\n return Array.from(fileTypesSet).join(\", \");\n }\n const newFileTypes = difference(fileTypes, FILE_TYPES_MAP[type]);\n\n return newFileTypes.join(\", \");\n};\n\nexport const isFileTypeEnabled = (type, allowedFileTypes) => {\n const fileTypes = buildFileTypesList(allowedFileTypes);\n\n return isEmpty(difference(FILE_TYPES_MAP[type], fileTypes));\n};\n","import { useFormikContext } from \"formik\";\nimport { Typography } from \"neetoui\";\nimport { Checkbox } from \"neetoui/formik\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FileGroup from \"./FileGroup\";\nimport { getAllowedFileTypes, isFileTypeEnabled } from \"./utils\";\n\nimport { FILE_GROUPS } from \"../constants\";\n\nconst FileUpload = () => {\n const { t } = useTranslation();\n\n const { values, setFieldValue } = useFormikContext();\n\n const allowedFileTypes = prop(\"allowedFileTypes\", values);\n\n const handleAllowedFileTypesChange = ({\n target: { name: fileType, checked },\n }) =>\n setFieldValue(\n \"allowedFileTypes\",\n getAllowedFileTypes({\n type: fileType,\n isChecked: checked,\n allowedFileTypes,\n })\n );\n\n return (\n <>\n <div className=\"w-full\">\n <Checkbox\n id=\"multipleFilesAllowed\"\n label={t(\"neetoForm.fileUpload.enableMultipleFilesUpload\")}\n name=\"multipleFilesAllowed\"\n />\n </div>\n <div className=\"flex flex-col space-y-3\">\n <Typography style=\"body1\" weight=\"semibold\">\n {t(\"neetoForm.fileUpload.fileTypes\")}\n </Typography>\n <div className=\"flex space-x-4\">\n {FILE_GROUPS.map(({ name, label }) => (\n <FileGroup\n {...{ handleAllowedFileTypesChange, label, name }}\n checked={isFileTypeEnabled(name, allowedFileTypes)}\n key={name}\n />\n ))}\n </div>\n </div>\n </>\n );\n};\n\nexport default FileUpload;\n","const defaultConfig = {\n strict: true,\n matchKey: \"value\",\n};\n\nconst findOptionByValue = (value, options = [], config = {}) => {\n const configObject = { ...defaultConfig, ...config };\n const { matchKey, strict } = configObject;\n\n return options.find(option =>\n // eslint-disable-next-line eqeqeq\n strict ? option[matchKey] === value : option[matchKey] == value\n );\n};\n\nconst filterOptionsByValues = (values = [], options = [], config = {}) => {\n const configObject = { ...defaultConfig, ...config };\n const { matchKey, strict } = configObject;\n\n return options.filter(option =>\n values.some(value =>\n // eslint-disable-next-line eqeqeq\n strict ? option[matchKey] === value : option[matchKey] == value\n )\n );\n};\n\nconst destroyFromList = (items, index) => {\n const itemToRemove = items[index];\n\n if (itemToRemove) {\n const nextItems = [...items];\n nextItems.splice(index, 1);\n if (itemToRemove.id) {\n nextItems.push({ ...itemToRemove, _destroy: true });\n }\n\n return nextItems;\n }\n\n return items;\n};\n\nconst insertToList = (items, item, index) => {\n const nextItems = [...(items ?? [])];\n nextItems.splice(index, 0, item);\n\n return nextItems;\n};\n\nconst pushToList = (items, item) => {\n const nextItems = [...(items ?? [])];\n nextItems.push(item);\n\n return nextItems;\n};\n\nconst formHelpers = {\n findOptionByValue,\n filterOptionsByValues,\n destroyFromList,\n insertToList,\n pushToList,\n};\n\nexport default formHelpers;\n","import classNames from \"classnames\";\nimport { FieldArray, useField } from \"formik\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport formHelpers from \"common/helpers/form\";\nimport Input from \"components/Common/InputWithMaxLength\";\nimport useBuildFormStore from \"src/stores/buildForm\";\nimport { isFunction } from \"utils\";\n\nimport { MINIMUM_OPTIONS } from \"../../constants\";\n\nconst Options = ({ questionProps }) => {\n const { t } = useTranslation();\n\n const { selectedLanguage } = useBuildFormStore.pick(\"formState\");\n\n const [{ value: optionsAttributes }, _, { setValue: setOptionsAttributes }] =\n useField(\"optionsAttributes\");\n\n const {\n optionLabelProps = {},\n freezeOptions = false,\n disableAddOption = false,\n disableRemoveOption = false,\n } = questionProps || {};\n\n const handleRemoveOption = index => {\n const nextOptions = formHelpers.destroyFromList(optionsAttributes, index);\n setOptionsAttributes(nextOptions);\n };\n\n const isManageOptionDisabled = isFunction(freezeOptions)\n ? freezeOptions(selectedLanguage)\n : freezeOptions;\n\n const isAddOptionDisabled = disableAddOption || isManageOptionDisabled;\n\n const isRemoveOptionDisabled = disableRemoveOption || isManageOptionDisabled;\n\n return (\n <div className=\"w-full\">\n <FieldArray name=\"optionsAttributes\">\n {({ handlePush }) => (\n <>\n <Label className=\"mb-1 block\" {...optionLabelProps}>\n {t(\"neetoForm.questions.common.questionFields.field.options\")}\n </Label>\n <div className=\"flex w-2/3 flex-col space-y-2\">\n {optionsAttributes?.map(\n (option, index) =>\n !option._destroy && (\n <div\n className=\"flex items-start gap-1\"\n data-cy={`neeto-form-engine-option-${index}`}\n key={`question-option-${option.id ?? index}`}\n >\n <Input\n required\n disabled={isManageOptionDisabled}\n name={`optionsAttributes.${index}.label`}\n placeholder={t(\n \"neetoForm.questions.common.questionFields.field.numberedOption\",\n { number: index + 1 }\n )}\n />\n {!isRemoveOptionDisabled && (\n <Button\n data-cy=\"neeto-form-engine-delete-option-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n className={classNames({\n invisible: index < MINIMUM_OPTIONS,\n })}\n tooltipProps={{\n position: \"top\",\n content: t(\"neetoForm.common.delete\"),\n }}\n onClick={() => handleRemoveOption(index)}\n />\n )}\n </div>\n )\n )}\n </div>\n {!isAddOptionDisabled && (\n <div className=\"mt-3 w-full\">\n <Button\n data-cy=\"neeto-form-engine-add-option-button\"\n icon={Plus}\n iconPosition=\"left\"\n size=\"small\"\n style=\"text\"\n label={t(\n \"neetoForm.questions.common.questionFields.field.addOption\"\n )}\n onClick={handlePush({ label: \"\" })}\n />\n </div>\n )}\n </>\n )}\n </FieldArray>\n </div>\n );\n};\n\nexport default Options;\n","import { hyphenate } from \"neetocist\";\n\nimport Input from \"components/Common/InputWithMaxLength\";\n\nimport { RATING_OPTIONS } from \"./constants\";\n\nconst RatingItem = ({ children }) => (\n <div className=\"flex w-16 flex-col items-center gap-3\">{children}</div>\n);\n\nconst Rating = () => (\n <div className=\"flex flex-col\">\n <div className=\"w-full\">\n <div className=\"flex gap-6\">\n {RATING_OPTIONS.map(({ icon: Icon, name, color }) => (\n <RatingItem key={name}>\n <Icon {...{ color }} size={48} />\n <Input\n {...{ name }}\n data-cy={`neeto-form-engine-${hyphenate(name)}`}\n />\n </RatingItem>\n ))}\n </div>\n </div>\n </div>\n);\n\nexport default Rating;\n","import classNames from \"classnames\";\nimport { useField, useFormikContext } from \"formik\";\nimport { Label } from \"neetoui\";\nimport { Select } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n STAR_RATING_ICONS_MAP,\n STAR_RATING_MAX_VALUE_OPTIONS,\n STAR_RATING_MIN_VALUE_OPTIONS,\n} from \"./constants\";\n\nconst StarRating = () => {\n const { t } = useTranslation();\n\n const { setFieldValue } = useFormikContext();\n\n const [{ value: iconType }, _, { setValue: setIconType }] =\n useField(\"iconType\");\n\n return (\n <>\n <div className=\"flex space-x-4\">\n <Select\n className=\"w-1/2\"\n data-cy=\"neeto-form-engine-star-rating-min-value\"\n label={t(\"neetoForm.common.start\")}\n name=\"minValue\"\n options={STAR_RATING_MIN_VALUE_OPTIONS}\n onChange={option => setFieldValue(\"minValue\", option?.value)}\n />\n <Select\n className=\"w-1/2\"\n data-cy=\"neeto-form-engine-star-rating-max-value\"\n label={t(\"neetoForm.common.end\")}\n name=\"maxValue\"\n options={STAR_RATING_MAX_VALUE_OPTIONS}\n onChange={option => setFieldValue(\"maxValue\", option?.value)}\n />\n </div>\n <Label>{t(\"neetoForm.common.shape\")}</Label>\n <div className=\"flex gap-2\">\n {Object.entries(STAR_RATING_ICONS_MAP).map(([name, IconType]) => {\n const isActive = name === iconType;\n\n return (\n <div\n data-cy={`neeto-form-engine-rating-icon-${name}`}\n key={name}\n className={classNames(\n \"flex h-10 w-10 items-center justify-center gap-2\",\n \"neeto-ui-border-gray-800 neeto-ui-rounded-full cursor-pointer border\",\n \"transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-text-gray-800 neeto-ui-bg-gray-200\": !isActive,\n \"neeto-ui-text-white neeto-ui-bg-gray-800\": isActive,\n }\n )}\n onClick={() => setIconType(name)}\n >\n <IconType />\n </div>\n );\n })}\n </div>\n </>\n );\n};\n\nexport default StarRating;\n","import { findBy, isPresent, slugify } from \"neetocist\";\nimport { assoc, equals, last, pipe, split } from \"ramda\";\n\nimport { QUESTION_TYPES } from \"components/constants\";\n\nimport Add from \"./Add\";\nimport Edit from \"./Edit\";\n\nimport { QUESTION_ACTIONS } from \"../constants\";\nimport Captcha from \"../Questions/Fields/Captcha\";\nimport Email from \"../Questions/Fields/Email\";\nimport FileUpload from \"../Questions/Fields/FileUpload\";\nimport Options from \"../Questions/Fields/Options\";\nimport Rating from \"../Questions/Fields/Rating\";\nimport StarRating from \"../Questions/Fields/StarRating\";\n\nconst {\n CHECKBOX,\n RADIO,\n DROPDOWN,\n STAR_RATING,\n RATING,\n FILE_UPLOAD,\n CAPTCHA,\n EMAIL,\n} = QUESTION_TYPES;\n\nconst transformValueForOption = ({ label, type }) =>\n `${slugify(label)}-${type}`;\n\nexport const renderAdditionalData = ({\n kind,\n questionProps,\n domainRestrictionHelpDocUrl,\n enableDomainRestriction,\n}) => {\n switch (kind) {\n case CHECKBOX:\n case RADIO:\n case DROPDOWN:\n return <Options {...{ questionProps }} />;\n case RATING:\n return <Rating />;\n case STAR_RATING:\n return <StarRating />;\n case FILE_UPLOAD:\n return <FileUpload />;\n case CAPTCHA:\n return <Captcha />;\n case EMAIL:\n return enableDomainRestriction ? (\n <Email {...{ domainRestrictionHelpDocUrl }} />\n ) : null;\n default:\n return null;\n }\n};\n\nexport const resolveActionComponent = action =>\n equals(action, QUESTION_ACTIONS.ADD) ? Add : Edit;\n\nexport const getQuestionKind = (questionKinds, pattern) => {\n const questionKind = findBy(pattern, questionKinds);\n\n return questionKind ? assoc(\"kind\", questionKind.type, questionKind) : null;\n};\n\nexport const buildKindOptions = kinds =>\n kinds.map(({ label, type }) => ({\n label,\n value: transformValueForOption({ label, type }),\n }));\n\nexport const extractKindFromOption = pipe(split(\"-\"), last);\n\nexport const buildDefaultValueForKind = questionKind =>\n isPresent(questionKind)\n ? { value: transformValueForOption(questionKind) }\n : undefined;\n","import { useRef } from \"react\";\n\nimport { Pane } from \"neetoui\";\n\nimport { resolveActionComponent } from \"./utils\";\n\nconst ManageQuestionPane = ({\n isOpen,\n onClose,\n action,\n question,\n availableQuestionKinds,\n fieldCodeHelpDocUrl,\n domainRestrictionHelpDocUrl,\n ...props\n}) => {\n const initialFocusRef = useRef(null);\n\n const Component = resolveActionComponent(action);\n\n return (\n <Pane {...{ initialFocusRef, isOpen, onClose }}>\n <Component\n {...{\n availableQuestionKinds,\n domainRestrictionHelpDocUrl,\n fieldCodeHelpDocUrl,\n initialFocusRef,\n isOpen,\n onClose,\n question,\n ...props,\n }}\n />\n </Pane>\n );\n};\n\nexport default ManageQuestionPane;\n","import { Button, Tooltip } from \"neetoui\";\n\nimport {\n buildAddQuestionButtonProps,\n buildDisabledAddButtonTooltipProps,\n} from \"../utils\";\n\nconst AddQuestion = ({ onAdd, disabledAddButtonTooltipProps, isDisabled }) => {\n const tooltipProps = buildDisabledAddButtonTooltipProps(\n isDisabled,\n disabledAddButtonTooltipProps\n );\n\n return (\n <Tooltip {...tooltipProps}>\n <span>\n <Button {...buildAddQuestionButtonProps(onAdd, isDisabled)} />\n </span>\n </Tooltip>\n );\n};\nexport default AddQuestion;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { DragDropContext } from \"@hello-pangea/dnd\";\nimport { Form as FormikForm, useFormikContext } from \"formik\";\nimport { filterBy, findBy } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { ActionBlock } from \"neetoui/formik\";\nimport { __, includes, isEmpty, mergeLeft, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateQuestion } from \"hooks/useFormApi\";\nimport useBuildFormStore from \"src/stores/buildForm\";\n\nimport DeleteAlert from \"./DeleteAlert\";\nimport Overview from \"./Overview\";\nimport Questions from \"./Questions\";\nimport {\n handleFieldDragEnd,\n getAvailableQuestionKinds,\n duplicateFieldData,\n formatQuestionAttributesForClone,\n} from \"./utils\";\n\nimport AddFirstQuestion from \"../AddFirstQuestion\";\nimport { QUESTION_ACTIONS, RICH_TEXT_QUESTIONS } from \"../constants\";\nimport ManageQuestionPane from \"../ManageQuestionPane\";\nimport AddQuestion from \"../Questions/AddQuestion\";\n\nconst Form = ({\n questionKinds,\n onValueChange,\n formId,\n isDeletable,\n isRequiredField,\n submitButtonProps,\n cancelButtonProps,\n isKindAlreadyActive,\n getActiveKindDetails,\n isDisabledFieldLabel,\n disabledAddButtonTooltipProps,\n enableFieldCode,\n isFormEnabled,\n savedTitle,\n formTitle,\n formDescription,\n selectedLanguage,\n availableLanguages,\n onLanguageChange,\n additionalActionOptions,\n isReordering,\n additionalQuestionKindPattern,\n showActionBlock,\n buildRequestArgs,\n fieldCodeHelpDocUrl,\n enableDomainRestriction,\n domainRestrictionHelpDocUrl,\n ...formDomProps\n}) => {\n const containerRef = useRef();\n\n const { t } = useTranslation();\n const formikContext = useFormikContext();\n const [selectedQuestion, setSelectedQuestion] = useState(null);\n const [selectedAction, setSelectedAction] = useState(\"\");\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isManageQuestionPaneOpen, setIsManageQuestionPaneOpen] =\n useState(false);\n\n const {\n values,\n setFieldValue,\n dirty,\n isSubmitting,\n isValid,\n errors,\n submitForm,\n resetForm,\n } = formikContext;\n\n const setFormData = useBuildFormStore(prop(\"setFormData\"));\n\n const { mutate: createQuestion } = useCreateQuestion(\n formId,\n selectedLanguage,\n { onSuccess: showThumbsUpToastr }\n );\n\n useEffect(() => {\n setFormData({\n formId,\n enabled: isFormEnabled,\n title: savedTitle,\n values,\n dirty,\n isSubmitting,\n isValid,\n errors,\n submitForm,\n resetForm,\n selectedLanguage,\n });\n }, [\n formId,\n isFormEnabled,\n savedTitle,\n setFormData,\n values,\n dirty,\n isSubmitting,\n isValid,\n errors,\n submitForm,\n resetForm,\n selectedLanguage,\n ]);\n\n const { questions } = values;\n\n const handleSelect = question => {\n setSelectedQuestion(question);\n };\n\n const handleAdd = () => {\n setSelectedAction(QUESTION_ACTIONS.ADD);\n setIsManageQuestionPaneOpen(true);\n };\n\n const handleEdit = () => {\n setSelectedAction(QUESTION_ACTIONS.EDIT);\n setIsManageQuestionPaneOpen(true);\n };\n\n const handleClone = () => {\n const values = duplicateFieldData({\n item: selectedQuestion,\n questionKinds: availableQuestionKinds,\n questions,\n });\n const displayOrder = selectedQuestion.displayOrder + 1;\n const attributes = mergeLeft({ displayOrder }, values);\n\n const payload = {\n language: selectedLanguage,\n neetoFormQuestion: formatQuestionAttributesForClone(attributes),\n ...buildRequestArgs,\n };\n\n createQuestion(payload, {\n onSuccess: ({ questions }) => {\n const newQuestion = findBy({ displayOrder }, questions);\n handleSelect(newQuestion);\n },\n });\n };\n\n const handleDelete = () => {\n setIsDeleteAlertOpen(true);\n };\n\n useOnClickOutside(containerRef, () => handleSelect(null), {\n enabled: !(isDeleteAlertOpen || isManageQuestionPaneOpen),\n });\n\n useEffect(() => {\n onValueChange?.(questions);\n }, [questions]);\n\n const availableQuestionKinds = getAvailableQuestionKinds({\n allQuestionKinds: questionKinds,\n activeQuestions: questions,\n isKindAlreadyActive,\n });\n\n const hasActiveQuestions =\n questions &&\n questions.length &&\n questions.some(question => question._destroy !== true);\n\n const handleLanguageChange = code => {\n resetForm();\n onLanguageChange(code);\n };\n\n const richTextQuestions = filterBy(\n { kind: includes(__, RICH_TEXT_QUESTIONS) },\n questions\n );\n\n const resetFormData = () => {\n resetForm();\n setFormData({\n richTextFieldsToReset: pluck(\"fieldCode\", richTextQuestions),\n });\n };\n\n return (\n <>\n <DeleteAlert\n {...{ handleSelect, selectedQuestion }}\n isOpen={isDeleteAlertOpen}\n languagesCount={availableLanguages.length}\n onClose={() => setIsDeleteAlertOpen(false)}\n />\n <FormikForm\n className=\"neeto-form-nano-form-wrapper flex h-full flex-col\"\n {...formDomProps}\n noValidate\n >\n {formTitle && (\n <Overview\n {...{\n additionalActionOptions,\n availableLanguages,\n selectedLanguage,\n }}\n description={formDescription}\n title={formTitle}\n onLanguageChange={handleLanguageChange}\n />\n )}\n <div className=\"neeto-form-nano-form-wrapper__body min-h-0 w-full flex-grow space-y-6 overflow-y-auto px-6 pb-6\">\n {hasActiveQuestions ? (\n <div className=\"space-y-6\" ref={containerRef}>\n <DragDropContext\n onDragEnd={({ source, destination }) =>\n handleFieldDragEnd({\n source,\n destination,\n items: questions,\n setValue: setFieldValue,\n })\n }\n >\n <Questions\n {...{\n getActiveKindDetails,\n isDeletable,\n questions,\n selectedQuestion,\n }}\n allQuestionKinds={questionKinds}\n onClone={handleClone}\n onDelete={handleDelete}\n onEdit={handleEdit}\n onSelect={handleSelect}\n />\n </DragDropContext>\n <div className=\"mb-8 w-full\">\n <AddQuestion\n {...{ disabledAddButtonTooltipProps }}\n isDisabled={isEmpty(availableQuestionKinds)}\n onAdd={handleAdd}\n />\n </div>\n </div>\n ) : (\n <AddFirstQuestion\n {...{ disabledAddButtonTooltipProps }}\n isDisabled={isEmpty(availableQuestionKinds)}\n onAdd={handleAdd}\n />\n )}\n </div>\n {(showActionBlock || dirty) && (\n <div className=\"neeto-ui-border-gray-300 neeto-form-nano-form-wrapper__footer neeto-ui-bg-white sticky bottom-0 flex flex-shrink-0 justify-end border-t px-6 py-4\">\n <ActionBlock\n {...{ submitButtonProps }}\n isSubmitting={isReordering}\n cancelButtonProps={{\n label: t(\"neetoForm.common.reset\"),\n onClick: resetFormData,\n ...cancelButtonProps,\n }}\n />\n </div>\n )}\n <ManageQuestionPane\n {...{\n additionalQuestionKindPattern,\n availableQuestionKinds,\n buildRequestArgs,\n domainRestrictionHelpDocUrl,\n enableDomainRestriction,\n enableFieldCode,\n fieldCodeHelpDocUrl,\n getActiveKindDetails,\n handleSelect,\n isDisabledFieldLabel,\n isRequiredField,\n questions,\n }}\n action={selectedAction}\n allQuestionKinds={questionKinds}\n isOpen={isManageQuestionPaneOpen}\n question={selectedQuestion}\n onClose={() => setIsManageQuestionPaneOpen(false)}\n />\n </FormikForm>\n </>\n );\n};\n\nexport default Form;\n","import { useEffect } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport classNames from \"classnames\";\nimport { Formik } from \"formik\";\nimport { noop, removeBy } from \"neetocist\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { assoc, concat, isEmpty, isNil } from \"ramda\";\n\nimport { QUERY_KEYS } from \"common/constants\";\nimport { QUESTION_KIND } from \"components/ExternalForm/constants\";\nimport { useFetchQuestions, useReorderQuestions } from \"hooks/useFormApi\";\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/pages/form-builder.scss\";\n\nimport {\n DEFAULT_AVAILABLE_LANGUAGES,\n MANDATORY_KINDS,\n QUESTIONS_INITIAL_VALUE,\n} from \"./constants\";\nimport Form from \"./Form\";\nimport { isQuestionKindAlreadyActive } from \"./Form/utils\";\nimport { QUESTION_KINDS } from \"./Questions/constants\";\nimport { getActiveQuestionKindDetails } from \"./Questions/utils\";\nimport { buildReorderPayload } from \"./utils\";\n\nconst BuildForm = ({\n id,\n onUpdate,\n buildRequestArgs,\n nonRemovableFields = [],\n requiredFields = [],\n formDomProps,\n showActionBlock = false,\n submitButtonProps,\n cancelButtonProps,\n questionKinds,\n isKindAlreadyActive = isQuestionKindAlreadyActive,\n getActiveKindDetails = getActiveQuestionKindDetails,\n isQuestionDeletable,\n isFieldRequired,\n isFieldLabelDisabled,\n showLoader = false,\n kindUniqueOn = [\"type\"],\n allowAdditionalGuests = false,\n disabledAddButtonTooltipProps,\n enableFieldCode = false,\n availableLanguages = DEFAULT_AVAILABLE_LANGUAGES,\n formDescription,\n formTitle = \"\",\n selectedLanguage = \"en\",\n onLanguageChange = noop,\n additionalActionOptions = [],\n additionalQuestionKindPattern,\n fieldCodeHelpDocUrl,\n enableDomainRestriction = true,\n domainRestrictionHelpDocUrl,\n className,\n}) => {\n const queryClient = useQueryClient();\n\n const { mutate: reorderQuestions, isPending: isReordering } =\n useReorderQuestions(id, { onSuccess: showThumbsUpToastr });\n\n const {\n data,\n isLoading,\n isPending: isQuestionsPending,\n } = useFetchQuestions({ formId: id, language: selectedLanguage });\n\n const {\n enabled: isFormEnabled,\n title: savedTitle,\n questions,\n isQuestionsLoading,\n } = data || QUESTIONS_INITIAL_VALUE;\n\n useEffect(() => {\n if (data) {\n onUpdate?.(data);\n }\n }, [data]);\n\n if (isLoading || (showLoader && isQuestionsLoading && !isQuestionsPending)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center py-6\">\n <PageLoader />\n </div>\n );\n }\n\n const handleSubmit = ({ questions }, { setSubmitting }) => {\n const payload = {\n neetoFormQuestions: {\n questions: buildReorderPayload(questions),\n },\n };\n\n reorderQuestions(payload, {\n onSettled: () => setSubmitting(false),\n });\n };\n\n const onValueChange = questions => {\n const { dataUpdateCount } = queryClient.getQueryState([\n QUERY_KEYS.QUESTIONS,\n id,\n selectedLanguage,\n ]);\n\n if (dataUpdateCount > 0) {\n queryClient.setQueryData(\n [QUERY_KEYS.QUESTIONS, `preview/${id}`, selectedLanguage],\n assoc(\"questions\", questions)\n );\n }\n };\n\n const isDeletable =\n isQuestionDeletable ??\n (question => !nonRemovableFields.includes(question.kind));\n\n const isRequiredField =\n isFieldRequired ??\n (({ kind }) => concat(MANDATORY_KINDS, requiredFields).includes(kind));\n\n const isDisabledFieldLabel = isFieldLabelDisabled ?? (() => false);\n\n const defaultQuestionKinds = allowAdditionalGuests\n ? QUESTION_KINDS\n : removeBy({ type: QUESTION_KIND.ADDITIONAL_GUESTS.value }, QUESTION_KINDS);\n\n return (\n <div\n className={classNames(\n \"neeto-form-nano-form-outer-wrapper relative\",\n className\n )}\n >\n <Formik\n enableReinitialize\n initialValues={{ questions }}\n onSubmit={handleSubmit}\n >\n {({ errors, setFieldError }) => (\n <Form\n {...{\n ...formDomProps,\n additionalActionOptions,\n additionalQuestionKindPattern,\n availableLanguages,\n buildRequestArgs,\n cancelButtonProps,\n disabledAddButtonTooltipProps,\n domainRestrictionHelpDocUrl,\n enableDomainRestriction,\n enableFieldCode,\n fieldCodeHelpDocUrl,\n formDescription,\n formTitle,\n getActiveKindDetails,\n isDeletable,\n isDisabledFieldLabel,\n isFormEnabled,\n isKindAlreadyActive,\n isReordering,\n isRequiredField,\n kindUniqueOn,\n onLanguageChange,\n onValueChange,\n savedTitle,\n selectedLanguage,\n showActionBlock,\n submitButtonProps,\n }}\n formId={id}\n questionKinds={\n isNil(questionKinds) ? defaultQuestionKinds : questionKinds\n }\n onChange={event => {\n if (isEmpty(errors)) return;\n setFieldError(event.target.name);\n }}\n />\n )}\n </Formik>\n {isQuestionsLoading && !isQuestionsPending && (\n <div className=\"neeto-ui-bg-white absolute inset-0 flex items-center justify-center\">\n <PageLoader />\n </div>\n )}\n </div>\n );\n};\n\nexport default BuildForm;\n"],"names":["DeleteAlert","_ref","selectedQuestion","isOpen","onClose","languagesCount","handleSelect","_useTranslation","useTranslation","t","_useBuildFormStore","useBuildFormStore","store","_store$formState","selectedLanguage","shallow","renderQuestionLabel","questionKind","kind","independentLabel","INDEPENDENT_LABELS_MAP","isPresent","questionLabel","fieldWithFallback","truncate","_useDeleteQuestion","useDeleteQuestion","formId","onSuccess","showThumbsUpToastr","deleteQuestion","mutate","isDeleting","isPending","selectNextQuestion","questions","selectedQuestionIndex","displayOrder","wasLastQuestion","equals","length","newDisplayOrder","newQuestion","findBy","handleSubmit","id","_ref2","_jsx","Alert","isSubmitting","submitButtonLabel","title","message","Trans","i18nKey","values","count","label","onSubmit","ChangeLanguageDropdown","_findBy","currentLanguage","languages","onChange","_useState","useState","_useState2","_slicedToArray","isUnsavedChangesAlertOpen","setIsUnsavedChangesAlertOpen","_useState3","_useState4","setSelectedLanguage","_useFormikContext","useFormikContext","dirty","languageChangeHandler","code","selectedLanguageName","name","_jsxs","_Fragment","children","Tooltip","content","Dropdown","buttonStyle","Menu","map","MenuItem","Button","isActive","onClick","Overview","description","availableLanguages","onLanguageChange","additionalActionOptions","className","Typography","lineHeight","style","weight","MoreDropdown","dropdownButtonProps","isRounded","dropdownProps","strategy","position","menuItems","validateEditorContent","editorRef","_editorRef$current","current","editor","isEmpty","buildReorderPayload","reduce","acc","assoc","isRichTextQuestion","includes","__","RICH_TEXT_QUESTIONS","buildAddQuestionButtonProps","onAdd","isDisabled","tooltipProps","_objectSpread","disabled","icon","Plus","iconPosition","buildDisabledAddButtonTooltipProps","disabledAddButtonTooltipProps","arguments","undefined","Card","_ref$question","question","allQuestionKinds","getActiveKindDetails","onSelect","onEdit","onClone","onDelete","_getActiveKindDetails","item","isSingular","htmlToPlainText","concat","slugify","classNames","Drag","key","isVisible","isFunction","Questions","isDeletable","Droppable","droppableId","droppableProps","placeholder","innerRef","ref","index","_question$id","_question$id2","_createElement","Draggable","draggableId","nodeId","_ref3","draggableProps","dragHandleProps","moveItem","arr","sourceIndex","destinationIndex","Array","removedItem","splice","arrayHelpers","isChoiceQuestion","SELECTABLE_KINDS","generateUniqueFieldCode","type","fieldCodes","pluck","filterBy","uniqueNumber","candidateFieldCode","prefix","RESERVED_FIELD_CODES","fieldCode","isQuestionKindAlreadyActive","activeQuestions","some","activeQuestion","_destroy","handleFieldDragEnd","items","setValue","source","destination","nextItems","_toConsumableArray","orderedItems","createFieldData","_ref3$kind","defaults","metadata","_ref3$isRequired","isRequired","uuid","duplicateFieldData","_ref4","questionKinds","optionsAttributes","defaultAttributeNames","keys","defaultAttributes","pick","newQuestionLabel","omit","getAvailableQuestionKinds","_ref5","_ref5$activeQuestions","isKindAlreadyActive","reject","isSingularKind","formatQuestionAttributesForClone","when","AddFirstQuestion","NoData","showTooltipWhenButtonDisabled","primaryButtonProps","NAME","QUESTION_TYPES","PHONE","EMAIL","ADDITIONAL_GUESTS","TEXT","TEXTAREA","RICH_TEXT","INTEGER","DECIMAL","STAR_RATING","RATING","DATE","FILE_UPLOAD","CAPTCHA","QUESTIONS_WITH_ADDITIONAL_DATA","QUESTIONS_WITH_PLACEHOLDERS","DEFAULT_PLACEHOLDERS","CHECKBOX","what","RADIO","DROPDOWN","INITIAL_VALUES","FormikAdaptiveInput","otherProps","_objectWithoutProperties","_excluded","isValid","submitForm","handleKeyDown","event","shiftKey","preventDefault","isMetaKeyPressed","handleFocus","element","end","value","setSelectionRange","Textarea","resize","size","onFocus","target","onKeyDown","Block","dataCy","useUpdateEditorContent","fieldName","initialValue","initialStateRef","useRef","language","setFormData","_useBuildFormStore2","_store$formState2","shouldReset","formState","richTextFieldsToReset","setEditorContent","_editorRef$current$ed","commands","setContent","modify","without","_useFetchQuestions","useFetchQuestions","data","useEffect","pathArray","split","part","parsedPart","parseInt","isNaN","path","Editor","_useField","useField","validate","_useField2","_useField2$","touched","error","_useField2$2","setTouched","NeetoEditor","required","onBlur","RequiredSwitch","withT","Switch","InputWithMaxLength","maxLength","props","substring","shouldShowMaxLength","Input","FieldCode","helpDocUrl","Accordion","Item","helpText","components","Link","href","Form","initialFocusRef","isRequiredField","isDisabledFieldLabel","enableFieldCode","availableQuestionKinds","additionalQuestionKindPattern","fieldCodeHelpDocUrl","enableDomainRestriction","domainRestrictionHelpDocUrl","_ref$isEdit","isEdit","setValues","setErrors","questionKindUniquenessPattern","mergeLeft","_useStateWithDependen","useStateWithDependency","getQuestionKind","_useStateWithDependen2","_ref2$questionProps","questionProps","isLabelDisabled","shouldShowPlaceholder","hasAdditionalData","shouldShowFieldCode","QUESTIONS_WITHOUT_FIELD_CODE","shouldShowHideSwitch","handleKindChange","option","buildQuestionData","updateFormState","isNil","extractKindFromOption","Pane","Body","Select","isClearable","isSearchable","defaultValue","buildDefaultValueForKind","options","buildKindOptions","renderAdditionalData","requiredLabelValidation","schema","field","trim","richTextFieldMissingErrorMessage","PARAGRAPH","formValidationSchema","yup","object","shape","string","test","isEditorEmpty","notOneOf","notRequired","array","is","otherwise","of","highestRatingLabel","nullable","averageRatingLabel","lowestRatingLabel","Add","buildRequestArgs","_useCreateQuestion","useCreateQuestion","createQuestion","isCreating","neetoFormQuestion","Header","formikProps","initialValues","validationSchema","QuestionForm","Footer","ActionBlock","cancelButtonProps","Edit","_useUpdateQuestion","useUpdateQuestion","updateQuestion","isUpdating","setSubmitting","payload","questionId","onSettled","Captcha","Radio","labelProps","CAPTCHA_TYPES","RECAPTCHA_V2","MATH_CAPTCHA","SwitchBlock","_ref$className","Label","classnames","hyphenate","component","STYLES","border","color","MultiValueRemove","innerProps","_defineProperty","hyphenize","Close","ValueContainer","getValue","_props$selectProps","selectProps","isFocused","visibleDomainsCount","_children","_toArray","firstChild","rest","slice","shouldCollapse","Tag","ClearIndicator","ERROR_MESSAGE_DELIMITER","DELIMITER_KEYS","DOMAIN_SEPARATION_REGEX","FLEXIBLE_DOMAIN_REGEX","VALID_DOMAIN_REGEX","DOMAIN_VALIDATION_SCHEMA","domain","CUSTOM_STYLES","input","multiValue","styles","valid","CUSTOM_COMPONENTS","DropdownIndicator","removeDuplicateErrorMessages","pipe","filter","isNotNil","uniq","join","formatDomainInputOptions","validateSync","_unused","pruneDuplicates","getValidDomains","domains","getValidDomainsCount","formatErrorMessage","MultiDomainInput","_ref$label","_ref$value","_ref$onChange","noop","_ref$error","_ref$onBlur","inputValue","setInputValue","setIsFocused","handleFilterDomains","handleDomainChange","inputValues","match","domainMatches","stopPropagation","onCreateOption","handleBlur","isFilterDomainsLinkVisible","CreatableSelect","isMulti","classNamePrefix","menuIsOpen","control","maxHeight","overflowY","onInputChange","validateDomains","ensure","compact","min","entity","Promise","_asyncToGenerator","_regeneratorRuntime","mark","_callee","resolve","wrap","_callee$","_context","prev","next","t0","stop","_x","apply","RestrictedDomains","_useField2$0$value","meta","formattedDomains","nullSafe","Email","_ref$domainRestrictio","_useFormikContext$val","isDomainRestrictionEnabled","HelpPopover","popoverProps","helpLinkProps","FileGroup","checked","handleAllowedFileTypesChange","Checkbox","buildFileTypesList","fileTypes","getAllowedFileTypes","isChecked","allowedFileTypes","fileTypesSet","Set","FILE_TYPES_MAP","from","newFileTypes","difference","isFileTypeEnabled","FileUpload","setFieldValue","prop","_ref$target","fileType","FILE_GROUPS","defaultConfig","strict","matchKey","findOptionByValue","config","configObject","find","filterOptionsByValues","destroyFromList","itemToRemove","push","insertToList","pushToList","formHelpers","Options","_","setOptionsAttributes","_ref2$optionLabelProp","optionLabelProps","_ref2$freezeOptions","freezeOptions","_ref2$disableAddOptio","disableAddOption","_ref2$disableRemoveOp","disableRemoveOption","handleRemoveOption","nextOptions","isManageOptionDisabled","isAddOptionDisabled","isRemoveOptionDisabled","FieldArray","handlePush","_option$id","number","Delete","invisible","MINIMUM_OPTIONS","RatingItem","Rating","RATING_OPTIONS","Icon","StarRating","iconType","setIconType","STAR_RATING_MIN_VALUE_OPTIONS","STAR_RATING_MAX_VALUE_OPTIONS","Object","entries","STAR_RATING_ICONS_MAP","IconType","transformValueForOption","resolveActionComponent","action","QUESTION_ACTIONS","ADD","pattern","kinds","last","ManageQuestionPane","Component","AddQuestion","onValueChange","submitButtonProps","isFormEnabled","savedTitle","formTitle","formDescription","isReordering","showActionBlock","formDomProps","containerRef","formikContext","setSelectedQuestion","selectedAction","setSelectedAction","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","isManageQuestionPaneOpen","setIsManageQuestionPaneOpen","errors","resetForm","enabled","handleAdd","handleEdit","EDIT","handleClone","attributes","handleDelete","useOnClickOutside","hasActiveQuestions","handleLanguageChange","richTextQuestions","resetFormData","FormikForm","noValidate","DragDropContext","onDragEnd","BuildForm","onUpdate","_ref$nonRemovableFiel","nonRemovableFields","_ref$requiredFields","requiredFields","_ref$showActionBlock","_ref$isKindAlreadyAct","_ref$getActiveKindDet","getActiveQuestionKindDetails","isQuestionDeletable","isFieldRequired","isFieldLabelDisabled","_ref$showLoader","showLoader","_ref$kindUniqueOn","kindUniqueOn","_ref$allowAdditionalG","allowAdditionalGuests","_ref$enableFieldCode","_ref$availableLanguag","DEFAULT_AVAILABLE_LANGUAGES","_ref$formTitle","_ref$selectedLanguage","_ref$onLanguageChange","_ref$additionalAction","_ref$enableDomainRest","queryClient","useQueryClient","_useReorderQuestions","useReorderQuestions","reorderQuestions","isLoading","isQuestionsPending","QUESTIONS_INITIAL_VALUE","isQuestionsLoading","PageLoader","neetoFormQuestions","_queryClient$getQuery","getQueryState","QUERY_KEYS","QUESTIONS","dataUpdateCount","setQueryData","MANDATORY_KINDS","defaultQuestionKinds","QUESTION_KINDS","removeBy","QUESTION_KIND","Formik","enableReinitialize","_ref6","setFieldError"],"mappings":"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"}