@bigbinary/neeto-form-frontend 4.1.0 → 4.1.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":"UrlBuilder.js","sources":["../app/javascript/src/components/UrlBuilder/utils.js","../app/javascript/src/components/UrlBuilder/index.jsx"],"sourcesContent":["import { parsePhoneNumber } from \"libphonenumber-js\";\nimport { findById, isPresent } from \"neetocist\";\nimport { filter, map, mergeLeft, pluck } from \"ramda\";\n\nimport { QUESTIONS_WITHOUT_FIELD_CODE } from \"components/BuildForm/constants\";\nimport { QUESTION_KIND } from \"components/ExternalForm/constants\";\n\nexport const getPreFillableQuestions = questions => {\n const modifiedQuestions = map(\n mergeLeft({ isRequired: false, isReadOnly: false }),\n questions\n );\n\n return modifiedQuestions.filter(\n question => !QUESTIONS_WITHOUT_FIELD_CODE.includes(question.kind)\n );\n};\n\nexport const buildQueryParameters = (responses, questions) => {\n const filteredResponses = filter(isPresent, responses);\n\n const queryParameters = {};\n questions.forEach(question => {\n const { id, kind, fieldCode, optionsAttributes, isSplitMode } = question;\n\n if (QUESTIONS_WITHOUT_FIELD_CODE.includes(kind)) return;\n\n const response = filteredResponses[id];\n\n if (!response) return;\n\n switch (kind) {\n case QUESTION_KIND.NAME.value: {\n if (isSplitMode) {\n queryParameters[`${fieldCode}.first_name`] = response.firstName;\n queryParameters[`${fieldCode}.last_name`] = response.lastName;\n } else {\n queryParameters[fieldCode] = response.fullName;\n }\n\n return;\n }\n case QUESTION_KIND.ADDITIONAL_GUESTS.value: {\n queryParameters[fieldCode] = pluck(\"label\", response).join(\",\");\n\n return;\n }\n case QUESTION_KIND.CHECKBOX.value: {\n const selectedLabels = response\n .map((value, index) => value && optionsAttributes[index]?.label)\n .filter(Boolean);\n\n queryParameters[fieldCode] = isPresent(selectedLabels)\n ? selectedLabels.join(\",\")\n : undefined;\n\n return;\n }\n case QUESTION_KIND.RADIO.value:\n case QUESTION_KIND.DROPDOWN.value: {\n queryParameters[fieldCode] = findById(\n response,\n optionsAttributes\n )?.label;\n\n return;\n }\n case QUESTION_KIND.PHONE.value:\n case QUESTION_KIND.SMS_REMINDER.value: {\n const parsedNumber = parsePhoneNumber(response);\n queryParameters[`${fieldCode}.country`] = parsedNumber.country;\n queryParameters[`${fieldCode}.number`] = parsedNumber.nationalNumber;\n\n return;\n }\n case QUESTION_KIND.STAR_RATING.value: {\n queryParameters[fieldCode] = parseInt(response);\n\n return;\n }\n default: {\n queryParameters[fieldCode] = response;\n\n return;\n }\n }\n });\n\n return queryParameters;\n};\n","import { useRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Formik, Form } from \"formik\";\nimport { noop } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Typography, Button, NoData } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FormikWrap from \"components/Common/FormikWrap\";\nimport { usePublicForm } from \"hooks/useFormApi\";\n\nimport { buildQueryParameters, getPreFillableQuestions } from \"./utils\";\n\nimport { getFieldComponent } from \"../ExternalForm/Fields/utils\";\nimport {\n generateInitValues,\n mergeRefs,\n buildAutoCompleteAttribute,\n} from \"../ExternalForm/utils\";\n\nconst UrlBuilder = ({\n formId,\n showTitle = true,\n formTitle,\n titleProps,\n onSubmitSuccess,\n submitButtonProps,\n cancelButtonProps,\n resetButtonProps,\n showEmptyState = true,\n className,\n onChange,\n formDomProps,\n editorProps = {},\n customValidator,\n autoCompleteKinds = [],\n}) => {\n const formRef = useRef();\n const formikInnerRef = useRef();\n const editorRef = useRef();\n\n const { t } = useTranslation();\n\n const onSubmit = (values, { setSubmitting }) => {\n onSubmitSuccess?.({\n values,\n queryParameters: buildQueryParameters(values, questions),\n });\n\n setSubmitting(false);\n };\n\n const onReset = (e, handleReset) => {\n editorRef?.current?.editor?.commands?.setContent(\"\");\n handleReset(e);\n formDomProps?.onReset?.(e);\n };\n\n const handleScrollToError = errors => {\n if (!formRef.current) return;\n const errorKeys = Object.keys(errors);\n if (isEmpty(errorKeys)) return;\n for (const formElement of formRef.current) {\n if (errorKeys.includes(formElement.name)) {\n formElement.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n break;\n }\n }\n };\n\n const { data: form = { title: \"\", questions: [] }, isLoading } =\n usePublicForm({\n formId,\n placeholderData: { isQuestionsLoading: true },\n });\n\n const keyPressRef = useHotkeys(\n \"command+enter\",\n formikInnerRef.current?.handleSubmit || noop,\n { mode: \"scoped\" }\n );\n\n if (isLoading || form.isQuestionsLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <PageLoader />\n </div>\n );\n }\n\n const { title, questions } = form;\n\n const modifiedQuestions = getPreFillableQuestions(questions);\n\n return (\n <>\n {showTitle && (\n <div className=\"py-6 text-center\">\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h4\"\n weight=\"semibold\"\n {...titleProps}\n >\n {formTitle || title}\n </Typography>\n </div>\n )}\n <Formik\n {...{ onSubmit }}\n enableReinitialize\n initialValues={generateInitValues({ questions: modifiedQuestions })}\n innerRef={formikInnerRef}\n >\n {({ isSubmitting, errors, setFieldError, handleReset }) => (\n <FormikWrap\n {...{ formId }}\n preserveValues={false}\n onError={handleScrollToError}\n onValuesChange={onChange}\n >\n <Form\n noValidate\n ref={mergeRefs(formRef, keyPressRef)}\n className={classNames(\n \"neeto-form-engine-form relative space-y-4\",\n className\n )}\n onChange={event => {\n if (isEmpty(errors)) return;\n setFieldError(event.target.name, \"\");\n }}\n {...formDomProps}\n onReset={e => onReset(e, handleReset)}\n >\n <div className=\"neeto-form-engine-questions-wrapper space-y-4 overflow-auto pr-4\">\n {modifiedQuestions.map(question => {\n const FieldComponent = getFieldComponent(question);\n\n return (\n <FieldComponent\n {...{ editorProps, editorRef, question }}\n customValidator={customValidator?.(question)}\n key={question.id ?? question.nodeId}\n autoComplete={buildAutoCompleteAttribute(\n question.kind,\n autoCompleteKinds,\n formDomProps\n )}\n />\n );\n })}\n {showEmptyState && isEmpty(modifiedQuestions) && (\n <div className=\"flex flex-col items-center justify-center gap-y-4 py-8\">\n <NoData\n className=\"min-h-80\"\n title={t(\"neetoForm.questions.common.noData\")}\n />\n </div>\n )}\n </div>\n {!isEmpty(modifiedQuestions) && (\n <div className=\"mt-8 flex items-center justify-start gap-x-2\">\n <Button\n disabled={isSubmitting}\n label={t(\"neetoForm.common.generateLink\")}\n loading={isSubmitting}\n type=\"submit\"\n {...submitButtonProps}\n />\n {resetButtonProps && (\n <Button\n label={t(\"neetoForm.common.reset\")}\n style=\"secondary\"\n type=\"reset\"\n {...resetButtonProps}\n />\n )}\n {cancelButtonProps && (\n <Button\n label={t(\"neetoForm.common.cancel\")}\n {...cancelButtonProps}\n />\n )}\n </div>\n )}\n </Form>\n </FormikWrap>\n )}\n </Formik>\n </>\n );\n};\n\nUrlBuilder.propTypes = {\n formId: PropTypes.string,\n onSubmitSuccess: PropTypes.func,\n showTitle: PropTypes.bool,\n submitButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n showSuccessToastr: PropTypes.bool,\n showEmptyState: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default UrlBuilder;\n"],"names":["getPreFillableQuestions","questions","modifiedQuestions","map","mergeLeft","isRequired","isReadOnly","filter","question","QUESTIONS_WITHOUT_FIELD_CODE","includes","kind","buildQueryParameters","responses","filteredResponses","isPresent","queryParameters","forEach","id","fieldCode","optionsAttributes","isSplitMode","response","QUESTION_KIND","NAME","value","concat","firstName","lastName","fullName","ADDITIONAL_GUESTS","pluck","join","CHECKBOX","selectedLabels","index","_optionsAttributes$in","label","Boolean","undefined","RADIO","DROPDOWN","_findById","findById","PHONE","SMS_REMINDER","parsedNumber","parsePhoneNumber","country","nationalNumber","STAR_RATING","parseInt","UrlBuilder","_ref","_formikInnerRef$curre","formId","_ref$showTitle","showTitle","formTitle","titleProps","onSubmitSuccess","submitButtonProps","cancelButtonProps","resetButtonProps","_ref$showEmptyState","showEmptyState","className","onChange","formDomProps","_ref$editorProps","editorProps","customValidator","_ref$autoCompleteKind","autoCompleteKinds","formRef","useRef","formikInnerRef","editorRef","_useTranslation","useTranslation","t","onSubmit","values","_ref2","setSubmitting","onReset","e","handleReset","_editorRef$current","_formDomProps$onReset","current","editor","commands","setContent","call","handleScrollToError","errors","errorKeys","Object","keys","isEmpty","_iterator","_createForOfIteratorHelper","_step","s","n","done","formElement","name","scrollIntoView","behavior","block","err","f","_usePublicForm","usePublicForm","placeholderData","isQuestionsLoading","_usePublicForm$data","data","form","title","isLoading","keyPressRef","useHotkeys","handleSubmit","noop","mode","_jsx","children","PageLoader","_jsxs","_Fragment","Typography","_objectSpread","style","weight","Formik","enableReinitialize","initialValues","generateInitValues","innerRef","_ref3","isSubmitting","setFieldError","FormikWrap","preserveValues","onError","onValuesChange","Form","noValidate","ref","mergeRefs","classNames","event","target","_question$id","FieldComponent","getFieldComponent","_createElement","key","nodeId","autoComplete","buildAutoCompleteAttribute","NoData","Button","disabled","loading","type"],"mappings":"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"}
1
+ {"version":3,"file":"UrlBuilder.js","sources":["../app/javascript/src/components/UrlBuilder/utils.js","../app/javascript/src/components/UrlBuilder/index.jsx"],"sourcesContent":["import { parsePhoneNumber } from \"libphonenumber-js\";\nimport { findById, isPresent } from \"neetocist\";\nimport { filter, map, mergeLeft, pluck } from \"ramda\";\n\nimport { QUESTIONS_WITHOUT_FIELD_CODE } from \"components/BuildForm/constants\";\nimport { QUESTION_KIND } from \"components/ExternalForm/constants\";\n\nexport const getPreFillableQuestions = questions => {\n const modifiedQuestions = map(\n mergeLeft({ isRequired: false, isReadOnly: false }),\n questions\n );\n\n return modifiedQuestions.filter(\n question => !QUESTIONS_WITHOUT_FIELD_CODE.includes(question.kind)\n );\n};\n\nexport const buildQueryParameters = (responses, questions) => {\n const filteredResponses = filter(isPresent, responses);\n\n const queryParameters = {};\n questions.forEach(question => {\n const { id, kind, fieldCode, optionsAttributes, isSplitMode } = question;\n\n if (QUESTIONS_WITHOUT_FIELD_CODE.includes(kind)) return;\n\n const response = filteredResponses[id];\n\n if (!response) return;\n\n switch (kind) {\n case QUESTION_KIND.NAME.value: {\n if (isSplitMode) {\n queryParameters[`${fieldCode}.first_name`] = response.firstName;\n queryParameters[`${fieldCode}.last_name`] = response.lastName;\n } else {\n queryParameters[fieldCode] = response.fullName;\n }\n\n return;\n }\n case QUESTION_KIND.ADDITIONAL_GUESTS.value: {\n queryParameters[fieldCode] = pluck(\"label\", response).join(\",\");\n\n return;\n }\n case QUESTION_KIND.CHECKBOX.value: {\n const selectedLabels = response\n .map((value, index) => value && optionsAttributes[index]?.label)\n .filter(Boolean);\n\n queryParameters[fieldCode] = isPresent(selectedLabels)\n ? selectedLabels.join(\",\")\n : undefined;\n\n return;\n }\n case QUESTION_KIND.RADIO.value:\n case QUESTION_KIND.DROPDOWN.value: {\n queryParameters[fieldCode] = findById(\n response,\n optionsAttributes\n )?.label;\n\n return;\n }\n case QUESTION_KIND.PHONE.value:\n case QUESTION_KIND.SMS_REMINDER.value: {\n const parsedNumber = parsePhoneNumber(response);\n queryParameters[`${fieldCode}.country`] = parsedNumber.country;\n queryParameters[`${fieldCode}.number`] = parsedNumber.nationalNumber;\n\n return;\n }\n case QUESTION_KIND.STAR_RATING.value: {\n queryParameters[fieldCode] = parseInt(response);\n\n return;\n }\n default: {\n queryParameters[fieldCode] = response;\n\n return;\n }\n }\n });\n\n return queryParameters;\n};\n","import { useRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Formik, Form } from \"formik\";\nimport { noop } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Typography, Button, NoData } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FormikWrap from \"components/Common/FormikWrap\";\nimport { usePublicForm } from \"hooks/useFormApi\";\n\nimport { buildQueryParameters, getPreFillableQuestions } from \"./utils\";\n\nimport { getFieldComponent } from \"../ExternalForm/Fields/utils\";\nimport {\n generateInitValues,\n mergeRefs,\n buildAutoCompleteAttribute,\n} from \"../ExternalForm/utils\";\n\nconst UrlBuilder = ({\n formId,\n showTitle = true,\n formTitle,\n titleProps,\n onSubmitSuccess,\n submitButtonProps,\n cancelButtonProps,\n resetButtonProps,\n showEmptyState = true,\n className,\n onChange,\n formDomProps,\n editorProps = {},\n customValidator,\n autoCompleteKinds = [],\n}) => {\n const formRef = useRef();\n const formikInnerRef = useRef();\n const editorRef = useRef();\n\n const { t } = useTranslation();\n\n const onSubmit = (values, { setSubmitting }) => {\n onSubmitSuccess?.({\n values,\n queryParameters: buildQueryParameters(values, questions),\n });\n\n setSubmitting(false);\n };\n\n const onReset = (e, handleReset) => {\n editorRef?.current?.editor?.commands?.setContent(\"\");\n handleReset(e);\n formDomProps?.onReset?.(e);\n };\n\n const handleScrollToError = errors => {\n if (!formRef.current) return;\n const errorKeys = Object.keys(errors);\n if (isEmpty(errorKeys)) return;\n for (const formElement of formRef.current) {\n if (errorKeys.includes(formElement.name)) {\n formElement.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n break;\n }\n }\n };\n\n const { data: form = { title: \"\", questions: [] }, isLoading } =\n usePublicForm({\n formId,\n placeholderData: { isQuestionsLoading: true },\n });\n\n const keyPressRef = useHotkeys(\n \"command+enter\",\n formikInnerRef.current?.handleSubmit || noop,\n { mode: \"scoped\" }\n );\n\n if (isLoading || form.isQuestionsLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <PageLoader />\n </div>\n );\n }\n\n const { title, questions } = form;\n\n const modifiedQuestions = getPreFillableQuestions(questions);\n\n return (\n <>\n {showTitle && (\n <div className=\"py-6 text-center\">\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h4\"\n weight=\"semibold\"\n {...titleProps}\n >\n {formTitle || title}\n </Typography>\n </div>\n )}\n <Formik\n {...{ onSubmit }}\n enableReinitialize\n initialValues={generateInitValues({ questions: modifiedQuestions })}\n innerRef={formikInnerRef}\n >\n {({ isSubmitting, errors, setFieldError, handleReset }) => (\n <FormikWrap\n {...{ formId }}\n preserveValues={false}\n onError={handleScrollToError}\n onValuesChange={onChange}\n >\n <Form\n noValidate\n ref={mergeRefs(formRef, keyPressRef)}\n className={classNames(\n \"neeto-form-engine-form relative space-y-4\",\n className\n )}\n onChange={event => {\n if (isEmpty(errors)) return;\n setFieldError(event.target.name, \"\");\n }}\n {...formDomProps}\n onReset={e => onReset(e, handleReset)}\n >\n <div className=\"neeto-form-engine-questions-wrapper space-y-4 overflow-auto pr-4\">\n {modifiedQuestions.map(question => {\n const FieldComponent = getFieldComponent(question);\n\n return (\n <FieldComponent\n {...{ editorProps, editorRef, question }}\n isUrlBuilderPreview\n customValidator={customValidator?.(question)}\n key={question.id ?? question.nodeId}\n autoComplete={buildAutoCompleteAttribute(\n question.kind,\n autoCompleteKinds,\n formDomProps\n )}\n />\n );\n })}\n {showEmptyState && isEmpty(modifiedQuestions) && (\n <div className=\"flex flex-col items-center justify-center gap-y-4 py-8\">\n <NoData\n className=\"min-h-80\"\n title={t(\"neetoForm.questions.common.noData\")}\n />\n </div>\n )}\n </div>\n {!isEmpty(modifiedQuestions) && (\n <div className=\"mt-8 flex items-center justify-start gap-x-2\">\n <Button\n disabled={isSubmitting}\n label={t(\"neetoForm.common.generateLink\")}\n loading={isSubmitting}\n type=\"submit\"\n {...submitButtonProps}\n />\n {resetButtonProps && (\n <Button\n label={t(\"neetoForm.common.reset\")}\n style=\"secondary\"\n type=\"reset\"\n {...resetButtonProps}\n />\n )}\n {cancelButtonProps && (\n <Button\n label={t(\"neetoForm.common.cancel\")}\n {...cancelButtonProps}\n />\n )}\n </div>\n )}\n </Form>\n </FormikWrap>\n )}\n </Formik>\n </>\n );\n};\n\nUrlBuilder.propTypes = {\n formId: PropTypes.string,\n onSubmitSuccess: PropTypes.func,\n showTitle: PropTypes.bool,\n submitButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n showSuccessToastr: PropTypes.bool,\n showEmptyState: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default UrlBuilder;\n"],"names":["getPreFillableQuestions","questions","modifiedQuestions","map","mergeLeft","isRequired","isReadOnly","filter","question","QUESTIONS_WITHOUT_FIELD_CODE","includes","kind","buildQueryParameters","responses","filteredResponses","isPresent","queryParameters","forEach","id","fieldCode","optionsAttributes","isSplitMode","response","QUESTION_KIND","NAME","value","concat","firstName","lastName","fullName","ADDITIONAL_GUESTS","pluck","join","CHECKBOX","selectedLabels","index","_optionsAttributes$in","label","Boolean","undefined","RADIO","DROPDOWN","_findById","findById","PHONE","SMS_REMINDER","parsedNumber","parsePhoneNumber","country","nationalNumber","STAR_RATING","parseInt","UrlBuilder","_ref","_formikInnerRef$curre","formId","_ref$showTitle","showTitle","formTitle","titleProps","onSubmitSuccess","submitButtonProps","cancelButtonProps","resetButtonProps","_ref$showEmptyState","showEmptyState","className","onChange","formDomProps","_ref$editorProps","editorProps","customValidator","_ref$autoCompleteKind","autoCompleteKinds","formRef","useRef","formikInnerRef","editorRef","_useTranslation","useTranslation","t","onSubmit","values","_ref2","setSubmitting","onReset","e","handleReset","_editorRef$current","_formDomProps$onReset","current","editor","commands","setContent","call","handleScrollToError","errors","errorKeys","Object","keys","isEmpty","_iterator","_createForOfIteratorHelper","_step","s","n","done","formElement","name","scrollIntoView","behavior","block","err","f","_usePublicForm","usePublicForm","placeholderData","isQuestionsLoading","_usePublicForm$data","data","form","title","isLoading","keyPressRef","useHotkeys","handleSubmit","noop","mode","_jsx","children","PageLoader","_jsxs","_Fragment","Typography","_objectSpread","style","weight","Formik","enableReinitialize","initialValues","generateInitValues","innerRef","_ref3","isSubmitting","setFieldError","FormikWrap","preserveValues","onError","onValuesChange","Form","noValidate","ref","mergeRefs","classNames","event","target","_question$id","FieldComponent","getFieldComponent","_createElement","isUrlBuilderPreview","key","nodeId","autoComplete","buildAutoCompleteAttribute","NoData","Button","disabled","loading","type"],"mappings":"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"}
@@ -28,7 +28,7 @@ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProp
28
28
  var Check = require('@bigbinary/neeto-icons/Check');
29
29
  var jsxRuntime = require('react/jsx-runtime');
30
30
  var constants = require('../constants-Dmtgr5z3.js');
31
- var utils = require('../utils-Bhu45zuy.js');
31
+ var utils = require('../utils-D2hYV2RU.js');
32
32
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
33
33
  require('@babel/runtime/helpers/toConsumableArray');
34
34
  require('@bigbinary/neeto-commons-frontend/constants');
@@ -12,7 +12,7 @@ var Button = require('@bigbinary/neetoui/Button');
12
12
  var NoData = require('@bigbinary/neetoui/NoData');
13
13
  var ramda = require('ramda');
14
14
  var reactI18next = require('react-i18next');
15
- var utils = require('../utils-Bhu45zuy.js');
15
+ var utils = require('../utils-D2hYV2RU.js');
16
16
  var constants$1 = require('../constants-C9wKMfgo.js');
17
17
  var libphonenumberJs = require('libphonenumber-js');
18
18
  var constants = require('../constants-Dmtgr5z3.js');
@@ -270,6 +270,7 @@ var UrlBuilder = function UrlBuilder(_ref) {
270
270
  editorProps: editorProps,
271
271
  editorRef: editorRef,
272
272
  question: question,
273
+ isUrlBuilderPreview: true,
273
274
  customValidator: customValidator === null || customValidator === void 0 ? void 0 : customValidator(question),
274
275
  key: (_question$id = question.id) !== null && _question$id !== void 0 ? _question$id : question.nodeId,
275
276
  autoComplete: utils.buildAutoCompleteAttribute(question.kind, autoCompleteKinds, formDomProps)
@@ -1 +1 @@
1
- {"version":3,"file":"UrlBuilder.js","sources":["../../app/javascript/src/components/UrlBuilder/utils.js","../../app/javascript/src/components/UrlBuilder/index.jsx"],"sourcesContent":["import { parsePhoneNumber } from \"libphonenumber-js\";\nimport { findById, isPresent } from \"neetocist\";\nimport { filter, map, mergeLeft, pluck } from \"ramda\";\n\nimport { QUESTIONS_WITHOUT_FIELD_CODE } from \"components/BuildForm/constants\";\nimport { QUESTION_KIND } from \"components/ExternalForm/constants\";\n\nexport const getPreFillableQuestions = questions => {\n const modifiedQuestions = map(\n mergeLeft({ isRequired: false, isReadOnly: false }),\n questions\n );\n\n return modifiedQuestions.filter(\n question => !QUESTIONS_WITHOUT_FIELD_CODE.includes(question.kind)\n );\n};\n\nexport const buildQueryParameters = (responses, questions) => {\n const filteredResponses = filter(isPresent, responses);\n\n const queryParameters = {};\n questions.forEach(question => {\n const { id, kind, fieldCode, optionsAttributes, isSplitMode } = question;\n\n if (QUESTIONS_WITHOUT_FIELD_CODE.includes(kind)) return;\n\n const response = filteredResponses[id];\n\n if (!response) return;\n\n switch (kind) {\n case QUESTION_KIND.NAME.value: {\n if (isSplitMode) {\n queryParameters[`${fieldCode}.first_name`] = response.firstName;\n queryParameters[`${fieldCode}.last_name`] = response.lastName;\n } else {\n queryParameters[fieldCode] = response.fullName;\n }\n\n return;\n }\n case QUESTION_KIND.ADDITIONAL_GUESTS.value: {\n queryParameters[fieldCode] = pluck(\"label\", response).join(\",\");\n\n return;\n }\n case QUESTION_KIND.CHECKBOX.value: {\n const selectedLabels = response\n .map((value, index) => value && optionsAttributes[index]?.label)\n .filter(Boolean);\n\n queryParameters[fieldCode] = isPresent(selectedLabels)\n ? selectedLabels.join(\",\")\n : undefined;\n\n return;\n }\n case QUESTION_KIND.RADIO.value:\n case QUESTION_KIND.DROPDOWN.value: {\n queryParameters[fieldCode] = findById(\n response,\n optionsAttributes\n )?.label;\n\n return;\n }\n case QUESTION_KIND.PHONE.value:\n case QUESTION_KIND.SMS_REMINDER.value: {\n const parsedNumber = parsePhoneNumber(response);\n queryParameters[`${fieldCode}.country`] = parsedNumber.country;\n queryParameters[`${fieldCode}.number`] = parsedNumber.nationalNumber;\n\n return;\n }\n case QUESTION_KIND.STAR_RATING.value: {\n queryParameters[fieldCode] = parseInt(response);\n\n return;\n }\n default: {\n queryParameters[fieldCode] = response;\n\n return;\n }\n }\n });\n\n return queryParameters;\n};\n","import { useRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Formik, Form } from \"formik\";\nimport { noop } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Typography, Button, NoData } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FormikWrap from \"components/Common/FormikWrap\";\nimport { usePublicForm } from \"hooks/useFormApi\";\n\nimport { buildQueryParameters, getPreFillableQuestions } from \"./utils\";\n\nimport { getFieldComponent } from \"../ExternalForm/Fields/utils\";\nimport {\n generateInitValues,\n mergeRefs,\n buildAutoCompleteAttribute,\n} from \"../ExternalForm/utils\";\n\nconst UrlBuilder = ({\n formId,\n showTitle = true,\n formTitle,\n titleProps,\n onSubmitSuccess,\n submitButtonProps,\n cancelButtonProps,\n resetButtonProps,\n showEmptyState = true,\n className,\n onChange,\n formDomProps,\n editorProps = {},\n customValidator,\n autoCompleteKinds = [],\n}) => {\n const formRef = useRef();\n const formikInnerRef = useRef();\n const editorRef = useRef();\n\n const { t } = useTranslation();\n\n const onSubmit = (values, { setSubmitting }) => {\n onSubmitSuccess?.({\n values,\n queryParameters: buildQueryParameters(values, questions),\n });\n\n setSubmitting(false);\n };\n\n const onReset = (e, handleReset) => {\n editorRef?.current?.editor?.commands?.setContent(\"\");\n handleReset(e);\n formDomProps?.onReset?.(e);\n };\n\n const handleScrollToError = errors => {\n if (!formRef.current) return;\n const errorKeys = Object.keys(errors);\n if (isEmpty(errorKeys)) return;\n for (const formElement of formRef.current) {\n if (errorKeys.includes(formElement.name)) {\n formElement.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n break;\n }\n }\n };\n\n const { data: form = { title: \"\", questions: [] }, isLoading } =\n usePublicForm({\n formId,\n placeholderData: { isQuestionsLoading: true },\n });\n\n const keyPressRef = useHotkeys(\n \"command+enter\",\n formikInnerRef.current?.handleSubmit || noop,\n { mode: \"scoped\" }\n );\n\n if (isLoading || form.isQuestionsLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <PageLoader />\n </div>\n );\n }\n\n const { title, questions } = form;\n\n const modifiedQuestions = getPreFillableQuestions(questions);\n\n return (\n <>\n {showTitle && (\n <div className=\"py-6 text-center\">\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h4\"\n weight=\"semibold\"\n {...titleProps}\n >\n {formTitle || title}\n </Typography>\n </div>\n )}\n <Formik\n {...{ onSubmit }}\n enableReinitialize\n initialValues={generateInitValues({ questions: modifiedQuestions })}\n innerRef={formikInnerRef}\n >\n {({ isSubmitting, errors, setFieldError, handleReset }) => (\n <FormikWrap\n {...{ formId }}\n preserveValues={false}\n onError={handleScrollToError}\n onValuesChange={onChange}\n >\n <Form\n noValidate\n ref={mergeRefs(formRef, keyPressRef)}\n className={classNames(\n \"neeto-form-engine-form relative space-y-4\",\n className\n )}\n onChange={event => {\n if (isEmpty(errors)) return;\n setFieldError(event.target.name, \"\");\n }}\n {...formDomProps}\n onReset={e => onReset(e, handleReset)}\n >\n <div className=\"neeto-form-engine-questions-wrapper space-y-4 overflow-auto pr-4\">\n {modifiedQuestions.map(question => {\n const FieldComponent = getFieldComponent(question);\n\n return (\n <FieldComponent\n {...{ editorProps, editorRef, question }}\n customValidator={customValidator?.(question)}\n key={question.id ?? question.nodeId}\n autoComplete={buildAutoCompleteAttribute(\n question.kind,\n autoCompleteKinds,\n formDomProps\n )}\n />\n );\n })}\n {showEmptyState && isEmpty(modifiedQuestions) && (\n <div className=\"flex flex-col items-center justify-center gap-y-4 py-8\">\n <NoData\n className=\"min-h-80\"\n title={t(\"neetoForm.questions.common.noData\")}\n />\n </div>\n )}\n </div>\n {!isEmpty(modifiedQuestions) && (\n <div className=\"mt-8 flex items-center justify-start gap-x-2\">\n <Button\n disabled={isSubmitting}\n label={t(\"neetoForm.common.generateLink\")}\n loading={isSubmitting}\n type=\"submit\"\n {...submitButtonProps}\n />\n {resetButtonProps && (\n <Button\n label={t(\"neetoForm.common.reset\")}\n style=\"secondary\"\n type=\"reset\"\n {...resetButtonProps}\n />\n )}\n {cancelButtonProps && (\n <Button\n label={t(\"neetoForm.common.cancel\")}\n {...cancelButtonProps}\n />\n )}\n </div>\n )}\n </Form>\n </FormikWrap>\n )}\n </Formik>\n </>\n );\n};\n\nUrlBuilder.propTypes = {\n formId: PropTypes.string,\n onSubmitSuccess: PropTypes.func,\n showTitle: PropTypes.bool,\n submitButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n showSuccessToastr: PropTypes.bool,\n showEmptyState: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default UrlBuilder;\n"],"names":["getPreFillableQuestions","questions","modifiedQuestions","map","mergeLeft","isRequired","isReadOnly","filter","question","QUESTIONS_WITHOUT_FIELD_CODE","includes","kind","buildQueryParameters","responses","filteredResponses","isPresent","queryParameters","forEach","id","fieldCode","optionsAttributes","isSplitMode","response","QUESTION_KIND","NAME","value","concat","firstName","lastName","fullName","ADDITIONAL_GUESTS","pluck","join","CHECKBOX","selectedLabels","index","_optionsAttributes$in","label","Boolean","undefined","RADIO","DROPDOWN","_findById","findById","PHONE","SMS_REMINDER","parsedNumber","parsePhoneNumber","country","nationalNumber","STAR_RATING","parseInt","UrlBuilder","_ref","_formikInnerRef$curre","formId","_ref$showTitle","showTitle","formTitle","titleProps","onSubmitSuccess","submitButtonProps","cancelButtonProps","resetButtonProps","_ref$showEmptyState","showEmptyState","className","onChange","formDomProps","_ref$editorProps","editorProps","customValidator","_ref$autoCompleteKind","autoCompleteKinds","formRef","useRef","formikInnerRef","editorRef","_useTranslation","useTranslation","t","onSubmit","values","_ref2","setSubmitting","onReset","e","handleReset","_editorRef$current","_formDomProps$onReset","current","editor","commands","setContent","call","handleScrollToError","errors","errorKeys","Object","keys","isEmpty","_iterator","_createForOfIteratorHelper","_step","s","n","done","formElement","name","scrollIntoView","behavior","block","err","f","_usePublicForm","usePublicForm","placeholderData","isQuestionsLoading","_usePublicForm$data","data","form","title","isLoading","keyPressRef","useHotkeys","handleSubmit","noop","mode","_jsx","children","PageLoader","_jsxs","_Fragment","Typography","_objectSpread","style","weight","Formik","enableReinitialize","initialValues","generateInitValues","innerRef","_ref3","isSubmitting","setFieldError","FormikWrap","preserveValues","onError","onValuesChange","Form","noValidate","ref","mergeRefs","classNames","event","target","_question$id","FieldComponent","getFieldComponent","_createElement","key","nodeId","autoComplete","buildAutoCompleteAttribute","NoData","Button","disabled","loading","type"],"mappings":"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"}
1
+ {"version":3,"file":"UrlBuilder.js","sources":["../../app/javascript/src/components/UrlBuilder/utils.js","../../app/javascript/src/components/UrlBuilder/index.jsx"],"sourcesContent":["import { parsePhoneNumber } from \"libphonenumber-js\";\nimport { findById, isPresent } from \"neetocist\";\nimport { filter, map, mergeLeft, pluck } from \"ramda\";\n\nimport { QUESTIONS_WITHOUT_FIELD_CODE } from \"components/BuildForm/constants\";\nimport { QUESTION_KIND } from \"components/ExternalForm/constants\";\n\nexport const getPreFillableQuestions = questions => {\n const modifiedQuestions = map(\n mergeLeft({ isRequired: false, isReadOnly: false }),\n questions\n );\n\n return modifiedQuestions.filter(\n question => !QUESTIONS_WITHOUT_FIELD_CODE.includes(question.kind)\n );\n};\n\nexport const buildQueryParameters = (responses, questions) => {\n const filteredResponses = filter(isPresent, responses);\n\n const queryParameters = {};\n questions.forEach(question => {\n const { id, kind, fieldCode, optionsAttributes, isSplitMode } = question;\n\n if (QUESTIONS_WITHOUT_FIELD_CODE.includes(kind)) return;\n\n const response = filteredResponses[id];\n\n if (!response) return;\n\n switch (kind) {\n case QUESTION_KIND.NAME.value: {\n if (isSplitMode) {\n queryParameters[`${fieldCode}.first_name`] = response.firstName;\n queryParameters[`${fieldCode}.last_name`] = response.lastName;\n } else {\n queryParameters[fieldCode] = response.fullName;\n }\n\n return;\n }\n case QUESTION_KIND.ADDITIONAL_GUESTS.value: {\n queryParameters[fieldCode] = pluck(\"label\", response).join(\",\");\n\n return;\n }\n case QUESTION_KIND.CHECKBOX.value: {\n const selectedLabels = response\n .map((value, index) => value && optionsAttributes[index]?.label)\n .filter(Boolean);\n\n queryParameters[fieldCode] = isPresent(selectedLabels)\n ? selectedLabels.join(\",\")\n : undefined;\n\n return;\n }\n case QUESTION_KIND.RADIO.value:\n case QUESTION_KIND.DROPDOWN.value: {\n queryParameters[fieldCode] = findById(\n response,\n optionsAttributes\n )?.label;\n\n return;\n }\n case QUESTION_KIND.PHONE.value:\n case QUESTION_KIND.SMS_REMINDER.value: {\n const parsedNumber = parsePhoneNumber(response);\n queryParameters[`${fieldCode}.country`] = parsedNumber.country;\n queryParameters[`${fieldCode}.number`] = parsedNumber.nationalNumber;\n\n return;\n }\n case QUESTION_KIND.STAR_RATING.value: {\n queryParameters[fieldCode] = parseInt(response);\n\n return;\n }\n default: {\n queryParameters[fieldCode] = response;\n\n return;\n }\n }\n });\n\n return queryParameters;\n};\n","import { useRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Formik, Form } from \"formik\";\nimport { noop } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Typography, Button, NoData } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FormikWrap from \"components/Common/FormikWrap\";\nimport { usePublicForm } from \"hooks/useFormApi\";\n\nimport { buildQueryParameters, getPreFillableQuestions } from \"./utils\";\n\nimport { getFieldComponent } from \"../ExternalForm/Fields/utils\";\nimport {\n generateInitValues,\n mergeRefs,\n buildAutoCompleteAttribute,\n} from \"../ExternalForm/utils\";\n\nconst UrlBuilder = ({\n formId,\n showTitle = true,\n formTitle,\n titleProps,\n onSubmitSuccess,\n submitButtonProps,\n cancelButtonProps,\n resetButtonProps,\n showEmptyState = true,\n className,\n onChange,\n formDomProps,\n editorProps = {},\n customValidator,\n autoCompleteKinds = [],\n}) => {\n const formRef = useRef();\n const formikInnerRef = useRef();\n const editorRef = useRef();\n\n const { t } = useTranslation();\n\n const onSubmit = (values, { setSubmitting }) => {\n onSubmitSuccess?.({\n values,\n queryParameters: buildQueryParameters(values, questions),\n });\n\n setSubmitting(false);\n };\n\n const onReset = (e, handleReset) => {\n editorRef?.current?.editor?.commands?.setContent(\"\");\n handleReset(e);\n formDomProps?.onReset?.(e);\n };\n\n const handleScrollToError = errors => {\n if (!formRef.current) return;\n const errorKeys = Object.keys(errors);\n if (isEmpty(errorKeys)) return;\n for (const formElement of formRef.current) {\n if (errorKeys.includes(formElement.name)) {\n formElement.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n break;\n }\n }\n };\n\n const { data: form = { title: \"\", questions: [] }, isLoading } =\n usePublicForm({\n formId,\n placeholderData: { isQuestionsLoading: true },\n });\n\n const keyPressRef = useHotkeys(\n \"command+enter\",\n formikInnerRef.current?.handleSubmit || noop,\n { mode: \"scoped\" }\n );\n\n if (isLoading || form.isQuestionsLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <PageLoader />\n </div>\n );\n }\n\n const { title, questions } = form;\n\n const modifiedQuestions = getPreFillableQuestions(questions);\n\n return (\n <>\n {showTitle && (\n <div className=\"py-6 text-center\">\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"h4\"\n weight=\"semibold\"\n {...titleProps}\n >\n {formTitle || title}\n </Typography>\n </div>\n )}\n <Formik\n {...{ onSubmit }}\n enableReinitialize\n initialValues={generateInitValues({ questions: modifiedQuestions })}\n innerRef={formikInnerRef}\n >\n {({ isSubmitting, errors, setFieldError, handleReset }) => (\n <FormikWrap\n {...{ formId }}\n preserveValues={false}\n onError={handleScrollToError}\n onValuesChange={onChange}\n >\n <Form\n noValidate\n ref={mergeRefs(formRef, keyPressRef)}\n className={classNames(\n \"neeto-form-engine-form relative space-y-4\",\n className\n )}\n onChange={event => {\n if (isEmpty(errors)) return;\n setFieldError(event.target.name, \"\");\n }}\n {...formDomProps}\n onReset={e => onReset(e, handleReset)}\n >\n <div className=\"neeto-form-engine-questions-wrapper space-y-4 overflow-auto pr-4\">\n {modifiedQuestions.map(question => {\n const FieldComponent = getFieldComponent(question);\n\n return (\n <FieldComponent\n {...{ editorProps, editorRef, question }}\n isUrlBuilderPreview\n customValidator={customValidator?.(question)}\n key={question.id ?? question.nodeId}\n autoComplete={buildAutoCompleteAttribute(\n question.kind,\n autoCompleteKinds,\n formDomProps\n )}\n />\n );\n })}\n {showEmptyState && isEmpty(modifiedQuestions) && (\n <div className=\"flex flex-col items-center justify-center gap-y-4 py-8\">\n <NoData\n className=\"min-h-80\"\n title={t(\"neetoForm.questions.common.noData\")}\n />\n </div>\n )}\n </div>\n {!isEmpty(modifiedQuestions) && (\n <div className=\"mt-8 flex items-center justify-start gap-x-2\">\n <Button\n disabled={isSubmitting}\n label={t(\"neetoForm.common.generateLink\")}\n loading={isSubmitting}\n type=\"submit\"\n {...submitButtonProps}\n />\n {resetButtonProps && (\n <Button\n label={t(\"neetoForm.common.reset\")}\n style=\"secondary\"\n type=\"reset\"\n {...resetButtonProps}\n />\n )}\n {cancelButtonProps && (\n <Button\n label={t(\"neetoForm.common.cancel\")}\n {...cancelButtonProps}\n />\n )}\n </div>\n )}\n </Form>\n </FormikWrap>\n )}\n </Formik>\n </>\n );\n};\n\nUrlBuilder.propTypes = {\n formId: PropTypes.string,\n onSubmitSuccess: PropTypes.func,\n showTitle: PropTypes.bool,\n submitButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n showSuccessToastr: PropTypes.bool,\n showEmptyState: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default UrlBuilder;\n"],"names":["getPreFillableQuestions","questions","modifiedQuestions","map","mergeLeft","isRequired","isReadOnly","filter","question","QUESTIONS_WITHOUT_FIELD_CODE","includes","kind","buildQueryParameters","responses","filteredResponses","isPresent","queryParameters","forEach","id","fieldCode","optionsAttributes","isSplitMode","response","QUESTION_KIND","NAME","value","concat","firstName","lastName","fullName","ADDITIONAL_GUESTS","pluck","join","CHECKBOX","selectedLabels","index","_optionsAttributes$in","label","Boolean","undefined","RADIO","DROPDOWN","_findById","findById","PHONE","SMS_REMINDER","parsedNumber","parsePhoneNumber","country","nationalNumber","STAR_RATING","parseInt","UrlBuilder","_ref","_formikInnerRef$curre","formId","_ref$showTitle","showTitle","formTitle","titleProps","onSubmitSuccess","submitButtonProps","cancelButtonProps","resetButtonProps","_ref$showEmptyState","showEmptyState","className","onChange","formDomProps","_ref$editorProps","editorProps","customValidator","_ref$autoCompleteKind","autoCompleteKinds","formRef","useRef","formikInnerRef","editorRef","_useTranslation","useTranslation","t","onSubmit","values","_ref2","setSubmitting","onReset","e","handleReset","_editorRef$current","_formDomProps$onReset","current","editor","commands","setContent","call","handleScrollToError","errors","errorKeys","Object","keys","isEmpty","_iterator","_createForOfIteratorHelper","_step","s","n","done","formElement","name","scrollIntoView","behavior","block","err","f","_usePublicForm","usePublicForm","placeholderData","isQuestionsLoading","_usePublicForm$data","data","form","title","isLoading","keyPressRef","useHotkeys","handleSubmit","noop","mode","_jsx","children","PageLoader","_jsxs","_Fragment","Typography","_objectSpread","style","weight","Formik","enableReinitialize","initialValues","generateInitValues","innerRef","_ref3","isSubmitting","setFieldError","FormikWrap","preserveValues","onError","onValuesChange","Form","noValidate","ref","mergeRefs","classNames","event","target","_question$id","FieldComponent","getFieldComponent","_createElement","isUrlBuilderPreview","key","nodeId","autoComplete","buildAutoCompleteAttribute","NoData","Button","disabled","loading","type"],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -69,7 +69,7 @@ require('@bigbinary/neeto-icons/Warning');
69
69
  require('@bigbinary/neeto-molecules/PageLoader');
70
70
  require('@bigbinary/neetoui/Callout');
71
71
  require('@bigbinary/neeto-icons/Check');
72
- require('../utils-Bhu45zuy.js');
72
+ require('../utils-D2hYV2RU.js');
73
73
  require('libphonenumber-js');
74
74
  require('@bigbinary/neeto-editor/EditorContent');
75
75
  require('@bigbinary/neetoui/MultiEmailInput');
package/dist/index.js CHANGED
@@ -67,7 +67,7 @@ import '@bigbinary/neeto-icons/Warning';
67
67
  import '@bigbinary/neeto-molecules/PageLoader';
68
68
  import '@bigbinary/neetoui/Callout';
69
69
  import '@bigbinary/neeto-icons/Check';
70
- import './utils-DsI2Nrwl.js';
70
+ import './utils-MzF2E7FD.js';
71
71
  import 'libphonenumber-js';
72
72
  import '@bigbinary/neeto-editor/EditorContent';
73
73
  import '@bigbinary/neetoui/MultiEmailInput';
@@ -1430,7 +1430,8 @@ var EmailField = function EmailField(_ref) {
1430
1430
  var question = _ref.question,
1431
1431
  customValidator = _ref.customValidator,
1432
1432
  autoComplete = _ref.autoComplete,
1433
- isPreview = _ref.preview;
1433
+ isFormPreview = _ref.preview,
1434
+ isUrlBuilderPreview = _ref.isUrlBuilderPreview;
1434
1435
  var questionId = question.id,
1435
1436
  kind = question.kind,
1436
1437
  isRequired = question.isRequired,
@@ -1534,7 +1535,8 @@ var EmailField = function EmailField(_ref) {
1534
1535
  }
1535
1536
  });
1536
1537
  };
1537
- var shouldShowVerifyButton = isVerificationEnabled && (isPreview || neetoCist.isPresent(email) && neetoCist.isNotPresent(error));
1538
+ var shouldShowVerifyButton = isVerificationEnabled && !isUrlBuilderPreview && (isFormPreview || neetoCist.isPresent(email) && neetoCist.isNotPresent(error));
1539
+ var shouldShowVerificationCodeInput = shouldShowVerifyButton && !isFormPreview && !isCodeVerified;
1538
1540
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
1539
1541
  className: "flex-col space-y-2",
1540
1542
  children: [/*#__PURE__*/jsxRuntime.jsx(Input, _objectSpread$b(_objectSpread$b({}, _objectSpread$b(_objectSpread$b({
@@ -1546,7 +1548,7 @@ var EmailField = function EmailField(_ref) {
1546
1548
  suffix: /*#__PURE__*/jsxRuntime.jsx(SendCodeButton, {
1547
1549
  isCodeVerified: isCodeVerified,
1548
1550
  isSendingVerificationCode: isSendingVerificationCode,
1549
- handleClick: isPreview ? neetoCist.noop : handleSendVerificationCode,
1551
+ handleClick: isFormPreview ? neetoCist.noop : handleSendVerificationCode,
1550
1552
  isDisabled: isCodeVerified || hasSentVerificationCode
1551
1553
  })
1552
1554
  })), {}, {
@@ -1560,7 +1562,7 @@ var EmailField = function EmailField(_ref) {
1560
1562
  },
1561
1563
  onBlurCapture: utils.withEventTargetValue(resetVerifiedData),
1562
1564
  onChange: handleFieldChange
1563
- })), shouldShowVerifyButton && !isCodeVerified && /*#__PURE__*/jsxRuntime.jsx(VerifyCode, {
1565
+ })), shouldShowVerificationCodeInput && /*#__PURE__*/jsxRuntime.jsx(VerifyCode, {
1564
1566
  calloutDetails: calloutDetails,
1565
1567
  email: email,
1566
1568
  emailVerificationToken: emailVerificationToken,
@@ -1742,7 +1744,8 @@ var Choices = function Choices(_ref) {
1742
1744
  return /*#__PURE__*/jsxRuntime.jsx("label", {
1743
1745
  htmlFor: option.id,
1744
1746
  className: classnames("neeto-form-engine-choice", {
1745
- active: false
1747
+ active: false,
1748
+ "cursor-not-allowed": disabled
1746
1749
  }),
1747
1750
  children: /*#__PURE__*/jsxRuntime.jsx(Component, {
1748
1751
  disabled: disabled,
@@ -1752,6 +1755,11 @@ var Choices = function Choices(_ref) {
1752
1755
  "cursor-not-allowed": disabled
1753
1756
  }),
1754
1757
  id: option.id,
1758
+ labelProps: {
1759
+ className: classnames({
1760
+ "cursor-not-allowed": disabled
1761
+ })
1762
+ },
1755
1763
  label: option.label,
1756
1764
  name: isCheckBox ? "".concat(name, ".").concat(index) : name,
1757
1765
  value: option.id,
@@ -2007,7 +2015,7 @@ var RichTextEditor = function RichTextEditor(_ref) {
2007
2015
  var _editorRef$current, _editorRef$current$se;
2008
2016
  editorRef === null || editorRef === void 0 || (_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 || (_editorRef$current = _editorRef$current.editor) === null || _editorRef$current === void 0 || (_editorRef$current$se = _editorRef$current.setEditable) === null || _editorRef$current$se === void 0 || _editorRef$current$se.call(_editorRef$current, !isReadOnly);
2009
2017
  }, [editorRef === null || editorRef === void 0 ? void 0 : editorRef.current, isReadOnly]);
2010
- var propsToCompare = ["debouncedPlaceholder", "error", "touched"];
2018
+ var propsToCompare = ["debouncedPlaceholder", "error", "touched", "isReadOnly"];
2011
2019
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
2012
2020
  className: "neeto-form-engine-input__wrapper",
2013
2021
  children: [/*#__PURE__*/jsxRuntime.jsx("div", {
@@ -2019,6 +2027,7 @@ var RichTextEditor = function RichTextEditor(_ref) {
2019
2027
  })
2020
2028
  }), /*#__PURE__*/jsxRuntime.jsx(formik.FastField, {
2021
2029
  debouncedPlaceholder: debouncedPlaceholder,
2030
+ isReadOnly: isReadOnly,
2022
2031
  error: errors[name],
2023
2032
  name: name || nodeId,
2024
2033
  shouldUpdate: isPropsUnequal(propsToCompare),
@@ -2310,4 +2319,4 @@ exports.getFieldComponent = getFieldComponent;
2310
2319
  exports.getWithExpiry = getWithExpiry;
2311
2320
  exports.mergeRefs = mergeRefs;
2312
2321
  exports.renderButtonsInOrder = renderButtonsInOrder;
2313
- //# sourceMappingURL=utils-Bhu45zuy.js.map
2322
+ //# sourceMappingURL=utils-D2hYV2RU.js.map