@bigbinary/neeto-form-frontend 4.2.11 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/app/javascript/src/translations/en.json +12 -1
  2. package/dist/BuildForm.js +73 -6
  3. package/dist/BuildForm.js.map +1 -1
  4. package/dist/ExternalForm.js +4 -4
  5. package/dist/Submission.js +1 -1
  6. package/dist/UrlBuilder.js +5 -4
  7. package/dist/UrlBuilder.js.map +1 -1
  8. package/dist/{buildForm-DcE5kFvR.js → buildForm-DA1LRDwr.js} +2 -2
  9. package/dist/{buildForm-DcE5kFvR.js.map → buildForm-DA1LRDwr.js.map} +1 -1
  10. package/dist/{buildForm-CooylMLL.js → buildForm-vzjjarhs.js} +2 -2
  11. package/dist/{buildForm-CooylMLL.js.map → buildForm-vzjjarhs.js.map} +1 -1
  12. package/dist/cjs/BuildForm.js +73 -6
  13. package/dist/cjs/BuildForm.js.map +1 -1
  14. package/dist/cjs/ExternalForm.js +4 -4
  15. package/dist/cjs/Submission.js +1 -1
  16. package/dist/cjs/UrlBuilder.js +5 -4
  17. package/dist/cjs/UrlBuilder.js.map +1 -1
  18. package/dist/cjs/hooks.js +4 -4
  19. package/dist/cjs/index.js +6 -6
  20. package/dist/{constants-BjWWA3Oq.js → constants-BEKfDeAd.js} +53 -25
  21. package/dist/constants-BEKfDeAd.js.map +1 -0
  22. package/dist/{constants-51SEJjzI.js → constants-B_OEW8Yc.js} +2 -1
  23. package/dist/constants-B_OEW8Yc.js.map +1 -0
  24. package/dist/{constants-C9wKMfgo.js → constants-DcN-Mvx7.js} +2 -1
  25. package/dist/constants-DcN-Mvx7.js.map +1 -0
  26. package/dist/{constants-QPLZ_r-D.js → constants-Dcy0vCkf.js} +51 -26
  27. package/dist/constants-Dcy0vCkf.js.map +1 -0
  28. package/dist/hooks.js +4 -4
  29. package/dist/{index-D4URTv1p.js → index-BQf-XQOv.js} +2 -2
  30. package/dist/{index-D4URTv1p.js.map → index-BQf-XQOv.js.map} +1 -1
  31. package/dist/{index-DnHrq-hl.js → index-DGvqFcqA.js} +2 -2
  32. package/dist/{index-DnHrq-hl.js.map → index-DGvqFcqA.js.map} +1 -1
  33. package/dist/index.js +6 -6
  34. package/dist/main.css +1 -1
  35. package/dist/main.css.map +1 -1
  36. package/dist/{useFormSubmission-BGNEnxvm.js → useFormSubmission-C7RL4Doz.js} +2 -2
  37. package/dist/{useFormSubmission-BGNEnxvm.js.map → useFormSubmission-C7RL4Doz.js.map} +1 -1
  38. package/dist/{useFormSubmission-BUPnuOSG.js → useFormSubmission-CzjIcsVB.js} +2 -2
  39. package/dist/{useFormSubmission-BUPnuOSG.js.map → useFormSubmission-CzjIcsVB.js.map} +1 -1
  40. package/dist/{utils-Dn-q4QBc.js → utils-BgH6USlj.js} +148 -33
  41. package/dist/utils-BgH6USlj.js.map +1 -0
  42. package/dist/{utils-Ch7Ggngj.js → utils-CjySOwOO.js} +148 -33
  43. package/dist/utils-CjySOwOO.js.map +1 -0
  44. package/package.json +18 -19
  45. package/types.d.ts +3 -0
  46. package/dist/constants-51SEJjzI.js.map +0 -1
  47. package/dist/constants-BjWWA3Oq.js.map +0 -1
  48. package/dist/constants-C9wKMfgo.js.map +0 -1
  49. package/dist/constants-QPLZ_r-D.js.map +0 -1
  50. package/dist/utils-Ch7Ggngj.js.map +0 -1
  51. package/dist/utils-Dn-q4QBc.js.map +0 -1
@@ -19,14 +19,14 @@ import NeetoUICallout from '@bigbinary/neetoui/Callout';
19
19
  import NoData from '@bigbinary/neetoui/NoData';
20
20
  import { not, path, equals, isEmpty } from 'ramda';
21
21
  import { I18nextProvider, useTranslation } from 'react-i18next';
22
- import { b as usePublicForm, g as useCreateSubmission, h as useUpdateSubmission, f as useSubmission, i as QUERY_KEYS } from './constants-51SEJjzI.js';
22
+ import { b as usePublicForm, g as useCreateSubmission, h as useUpdateSubmission, f as useSubmission, i as QUERY_KEYS } from './constants-B_OEW8Yc.js';
23
23
  import Close from '@bigbinary/neeto-icons/Close';
24
- import { a as isBlank, g as getComponentDisplayName, p as parseServerError } from './index-DnHrq-hl.js';
24
+ import { a as isBlank, g as getComponentDisplayName, p as parseServerError } from './index-DGvqFcqA.js';
25
25
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
26
26
  import Check from '@bigbinary/neeto-icons/Check';
27
27
  import { jsx, jsxs } from 'react/jsx-runtime';
28
- import { C as CALLOUT_STYLES, b as CALLOUT_POSITIONS, L as LAST_ELEMENTS_THRESHOLD } from './constants-QPLZ_r-D.js';
29
- import { c as clientI18nInstance, d as getWithExpiry, e as clearEmailVerificationDetails, g as generateInitValues, F as FormikWrap, a as getFieldComponent, b as buildAutoCompleteAttribute, r as renderButtonsInOrder, m as mergeRefs, f as generateFormResponse, h as clearLocalStorageValues } from './utils-Dn-q4QBc.js';
28
+ import { C as CALLOUT_STYLES, b as CALLOUT_POSITIONS, L as LAST_ELEMENTS_THRESHOLD } from './constants-Dcy0vCkf.js';
29
+ import { c as clientI18nInstance, d as getWithExpiry, e as clearEmailVerificationDetails, g as generateInitValues, F as FormikWrap, a as getFieldComponent, b as buildAutoCompleteAttribute, r as renderButtonsInOrder, m as mergeRefs, f as generateFormResponse, h as clearLocalStorageValues } from './utils-BgH6USlj.js';
30
30
  import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
31
31
  import '@babel/runtime/helpers/toConsumableArray';
32
32
  import '@bigbinary/neeto-commons-frontend/constants';
@@ -5,7 +5,7 @@ import classnames from 'classnames';
5
5
  import { isNotPresent, hyphenate } from '@bigbinary/neeto-cist';
6
6
  import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
7
7
  import Typography from '@bigbinary/neetoui/Typography';
8
- import { Q as QUESTION_TYPES, f as useSubmission } from './constants-51SEJjzI.js';
8
+ import { Q as QUESTION_TYPES, f as useSubmission } from './constants-B_OEW8Yc.js';
9
9
  import { t } from 'i18next';
10
10
  import { dateFormat } from '@bigbinary/neeto-commons-frontend/utils';
11
11
  import EditorContent from '@bigbinary/neeto-editor/EditorContent';
@@ -10,12 +10,12 @@ import Button from '@bigbinary/neetoui/Button';
10
10
  import NoData from '@bigbinary/neetoui/NoData';
11
11
  import { map, mergeLeft, filter, pluck, isEmpty } from 'ramda';
12
12
  import { useTranslation } from 'react-i18next';
13
- import { g as generateInitValues, F as FormikWrap, a as getFieldComponent, b as buildAutoCompleteAttribute, m as mergeRefs } from './utils-Dn-q4QBc.js';
14
- import { b as usePublicForm } from './constants-51SEJjzI.js';
13
+ import { g as generateInitValues, F as FormikWrap, a as getFieldComponent, b as buildAutoCompleteAttribute, m as mergeRefs } from './utils-BgH6USlj.js';
14
+ import { b as usePublicForm } from './constants-B_OEW8Yc.js';
15
15
  import { parsePhoneNumber } from 'libphonenumber-js';
16
- import { Q as QUESTIONS_WITHOUT_FIELD_CODE, a as QUESTION_KIND } from './constants-QPLZ_r-D.js';
16
+ import { Q as QUESTIONS_WITHOUT_FIELD_CODE, a as QUESTION_KIND } from './constants-Dcy0vCkf.js';
17
17
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
18
- import './index-DnHrq-hl.js';
18
+ import './index-DGvqFcqA.js';
19
19
  import '@babel/runtime/helpers/typeof';
20
20
  import 'i18next';
21
21
  import '@bigbinary/neeto-editor/utils';
@@ -116,6 +116,7 @@ var buildQueryParameters = function buildQueryParameters(responses, questions) {
116
116
  return;
117
117
  }
118
118
  case QUESTION_KIND.STAR_RATING.value:
119
+ case QUESTION_KIND.OPINION_SCALE.value:
119
120
  {
120
121
  queryParameters[fieldCode] = parseInt(response);
121
122
  return;
@@ -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 pe-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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"}
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 case QUESTION_KIND.OPINION_SCALE.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 pe-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","OPINION_SCALE","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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"}
@@ -3,7 +3,7 @@ import { noop } from '@bigbinary/neeto-cist';
3
3
  import { withImmutableActions } from '@bigbinary/neeto-commons-frontend/react-utils';
4
4
  import { modify, mergeLeft, prop } from 'ramda';
5
5
  import { create } from 'zustand';
6
- import { i as isFunction } from './index-DnHrq-hl.js';
6
+ import { i as isFunction } from './index-DGvqFcqA.js';
7
7
 
8
8
  /** @type {import("neetocommons/react-utils").ZustandStoreHook} */
9
9
  var useBuildFormStore = create(withImmutableActions(function (set) {
@@ -32,4 +32,4 @@ var useBuildFormState = function useBuildFormState() {
32
32
  };
33
33
 
34
34
  export { useBuildFormStore as a, useBuildFormState as u };
35
- //# sourceMappingURL=buildForm-DcE5kFvR.js.map
35
+ //# sourceMappingURL=buildForm-DA1LRDwr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildForm-DcE5kFvR.js","sources":["../app/javascript/src/stores/buildForm.js"],"sourcesContent":["import i18next from \"i18next\";\nimport { noop } from \"neetocist\";\nimport { withImmutableActions } from \"neetocommons/react-utils\";\nimport { mergeLeft, modify, prop } from \"ramda\";\nimport { create } from \"zustand\";\n\nimport { isFunction } from \"utils\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useBuildFormStore = create(\n withImmutableActions(set => ({\n formState: {\n selectedLanguage: i18next.resolvedLanguage,\n onLanguageChange: noop,\n formId: null,\n enabled: false,\n title: \"\",\n helpDocUrls: {},\n isUsingDefaultQuestionKinds: true,\n usesCustomSubmissionComponent: false,\n hostSpecificData: {},\n isReorderingQuestions: false,\n onMutateSuccess: noop,\n isPictureChoiceEnabled: false,\n },\n\n setFormData: arg =>\n set(modify(\"formState\", isFunction(arg) ? arg : mergeLeft(arg))),\n }))\n);\n\nexport const useBuildFormState = () => useBuildFormStore(prop(\"formState\"));\n\nexport default useBuildFormStore;\n"],"names":["useBuildFormStore","create","withImmutableActions","set","formState","selectedLanguage","i18next","resolvedLanguage","onLanguageChange","noop","formId","enabled","title","helpDocUrls","isUsingDefaultQuestionKinds","usesCustomSubmissionComponent","hostSpecificData","isReorderingQuestions","onMutateSuccess","isPictureChoiceEnabled","setFormData","arg","modify","isFunction","mergeLeft","useBuildFormState","prop"],"mappings":";;;;;;;AAQA;AACA,IAAMA,iBAAiB,GAAGC,MAAM,CAC9BC,oBAAoB,CAAC,UAAAC,GAAG,EAAA;EAAA,OAAK;AAC3BC,IAAAA,SAAS,EAAE;MACTC,gBAAgB,EAAEC,OAAO,CAACC,gBAAgB;AAC1CC,MAAAA,gBAAgB,EAAEC,IAAI;AACtBC,MAAAA,MAAM,EAAE,IAAI;AACZC,MAAAA,OAAO,EAAE,KAAK;AACdC,MAAAA,KAAK,EAAE,EAAE;MACTC,WAAW,EAAE,EAAE;AACfC,MAAAA,2BAA2B,EAAE,IAAI;AACjCC,MAAAA,6BAA6B,EAAE,KAAK;MACpCC,gBAAgB,EAAE,EAAE;AACpBC,MAAAA,qBAAqB,EAAE,KAAK;AAC5BC,MAAAA,eAAe,EAAET,IAAI;AACrBU,MAAAA,sBAAsB,EAAE;KACzB;AAEDC,IAAAA,WAAW,EAAE,SAAbA,WAAWA,CAAEC,GAAG,EAAA;AAAA,MAAA,OACdlB,GAAG,CAACmB,MAAM,CAAC,WAAW,EAAEC,UAAU,CAACF,GAAG,CAAC,GAAGA,GAAG,GAAGG,SAAS,CAACH,GAAG,CAAC,CAAC,CAAC;AAAA;GACnE;AAAA,CAAC,CACJ;AAEaI,IAAAA,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;AAAA,EAAA,OAASzB,iBAAiB,CAAC0B,IAAI,CAAC,WAAW,CAAC,CAAC;AAAA;;;;"}
1
+ {"version":3,"file":"buildForm-DA1LRDwr.js","sources":["../app/javascript/src/stores/buildForm.js"],"sourcesContent":["import i18next from \"i18next\";\nimport { noop } from \"neetocist\";\nimport { withImmutableActions } from \"neetocommons/react-utils\";\nimport { mergeLeft, modify, prop } from \"ramda\";\nimport { create } from \"zustand\";\n\nimport { isFunction } from \"utils\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useBuildFormStore = create(\n withImmutableActions(set => ({\n formState: {\n selectedLanguage: i18next.resolvedLanguage,\n onLanguageChange: noop,\n formId: null,\n enabled: false,\n title: \"\",\n helpDocUrls: {},\n isUsingDefaultQuestionKinds: true,\n usesCustomSubmissionComponent: false,\n hostSpecificData: {},\n isReorderingQuestions: false,\n onMutateSuccess: noop,\n isPictureChoiceEnabled: false,\n },\n\n setFormData: arg =>\n set(modify(\"formState\", isFunction(arg) ? arg : mergeLeft(arg))),\n }))\n);\n\nexport const useBuildFormState = () => useBuildFormStore(prop(\"formState\"));\n\nexport default useBuildFormStore;\n"],"names":["useBuildFormStore","create","withImmutableActions","set","formState","selectedLanguage","i18next","resolvedLanguage","onLanguageChange","noop","formId","enabled","title","helpDocUrls","isUsingDefaultQuestionKinds","usesCustomSubmissionComponent","hostSpecificData","isReorderingQuestions","onMutateSuccess","isPictureChoiceEnabled","setFormData","arg","modify","isFunction","mergeLeft","useBuildFormState","prop"],"mappings":";;;;;;;AAQA;AACA,IAAMA,iBAAiB,GAAGC,MAAM,CAC9BC,oBAAoB,CAAC,UAAAC,GAAG,EAAA;EAAA,OAAK;AAC3BC,IAAAA,SAAS,EAAE;MACTC,gBAAgB,EAAEC,OAAO,CAACC,gBAAgB;AAC1CC,MAAAA,gBAAgB,EAAEC,IAAI;AACtBC,MAAAA,MAAM,EAAE,IAAI;AACZC,MAAAA,OAAO,EAAE,KAAK;AACdC,MAAAA,KAAK,EAAE,EAAE;MACTC,WAAW,EAAE,EAAE;AACfC,MAAAA,2BAA2B,EAAE,IAAI;AACjCC,MAAAA,6BAA6B,EAAE,KAAK;MACpCC,gBAAgB,EAAE,EAAE;AACpBC,MAAAA,qBAAqB,EAAE,KAAK;AAC5BC,MAAAA,eAAe,EAAET,IAAI;AACrBU,MAAAA,sBAAsB,EAAE;KACzB;AAEDC,IAAAA,WAAW,EAAE,SAAbA,WAAWA,CAAEC,GAAG,EAAA;AAAA,MAAA,OACdlB,GAAG,CAACmB,MAAM,CAAC,WAAW,EAAEC,UAAU,CAACF,GAAG,CAAC,GAAGA,GAAG,GAAGG,SAAS,CAACH,GAAG,CAAC,CAAC,CAAC;AAAA;GACnE;AAAA,CAAC,CACJ;AAEaI,IAAAA,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;AAAA,EAAA,OAASzB,iBAAiB,CAAC0B,IAAI,CAAC,WAAW,CAAC,CAAC;AAAA;;;;"}
@@ -5,7 +5,7 @@ var neetoCist = require('@bigbinary/neeto-cist');
5
5
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
6
6
  var ramda = require('ramda');
7
7
  var zustand = require('zustand');
8
- var index = require('./index-D4URTv1p.js');
8
+ var index = require('./index-BQf-XQOv.js');
9
9
 
10
10
  /** @type {import("neetocommons/react-utils").ZustandStoreHook} */
11
11
  var useBuildFormStore = zustand.create(reactUtils.withImmutableActions(function (set) {
@@ -35,4 +35,4 @@ var useBuildFormState = function useBuildFormState() {
35
35
 
36
36
  exports.useBuildFormState = useBuildFormState;
37
37
  exports.useBuildFormStore = useBuildFormStore;
38
- //# sourceMappingURL=buildForm-CooylMLL.js.map
38
+ //# sourceMappingURL=buildForm-vzjjarhs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildForm-CooylMLL.js","sources":["../app/javascript/src/stores/buildForm.js"],"sourcesContent":["import i18next from \"i18next\";\nimport { noop } from \"neetocist\";\nimport { withImmutableActions } from \"neetocommons/react-utils\";\nimport { mergeLeft, modify, prop } from \"ramda\";\nimport { create } from \"zustand\";\n\nimport { isFunction } from \"utils\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useBuildFormStore = create(\n withImmutableActions(set => ({\n formState: {\n selectedLanguage: i18next.resolvedLanguage,\n onLanguageChange: noop,\n formId: null,\n enabled: false,\n title: \"\",\n helpDocUrls: {},\n isUsingDefaultQuestionKinds: true,\n usesCustomSubmissionComponent: false,\n hostSpecificData: {},\n isReorderingQuestions: false,\n onMutateSuccess: noop,\n isPictureChoiceEnabled: false,\n },\n\n setFormData: arg =>\n set(modify(\"formState\", isFunction(arg) ? arg : mergeLeft(arg))),\n }))\n);\n\nexport const useBuildFormState = () => useBuildFormStore(prop(\"formState\"));\n\nexport default useBuildFormStore;\n"],"names":["useBuildFormStore","create","withImmutableActions","set","formState","selectedLanguage","i18next","resolvedLanguage","onLanguageChange","noop","formId","enabled","title","helpDocUrls","isUsingDefaultQuestionKinds","usesCustomSubmissionComponent","hostSpecificData","isReorderingQuestions","onMutateSuccess","isPictureChoiceEnabled","setFormData","arg","modify","isFunction","mergeLeft","useBuildFormState","prop"],"mappings":";;;;;;;;;AAQA;AACA,IAAMA,iBAAiB,GAAGC,cAAM,CAC9BC,+BAAoB,CAAC,UAAAC,GAAG,EAAA;EAAA,OAAK;AAC3BC,IAAAA,SAAS,EAAE;MACTC,gBAAgB,EAAEC,OAAO,CAACC,gBAAgB;AAC1CC,MAAAA,gBAAgB,EAAEC,cAAI;AACtBC,MAAAA,MAAM,EAAE,IAAI;AACZC,MAAAA,OAAO,EAAE,KAAK;AACdC,MAAAA,KAAK,EAAE,EAAE;MACTC,WAAW,EAAE,EAAE;AACfC,MAAAA,2BAA2B,EAAE,IAAI;AACjCC,MAAAA,6BAA6B,EAAE,KAAK;MACpCC,gBAAgB,EAAE,EAAE;AACpBC,MAAAA,qBAAqB,EAAE,KAAK;AAC5BC,MAAAA,eAAe,EAAET,cAAI;AACrBU,MAAAA,sBAAsB,EAAE;KACzB;AAEDC,IAAAA,WAAW,EAAE,SAAbA,WAAWA,CAAEC,GAAG,EAAA;AAAA,MAAA,OACdlB,GAAG,CAACmB,YAAM,CAAC,WAAW,EAAEC,gBAAU,CAACF,GAAG,CAAC,GAAGA,GAAG,GAAGG,eAAS,CAACH,GAAG,CAAC,CAAC,CAAC;AAAA;GACnE;AAAA,CAAC,CACJ;AAEaI,IAAAA,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;AAAA,EAAA,OAASzB,iBAAiB,CAAC0B,UAAI,CAAC,WAAW,CAAC,CAAC;AAAA;;;;;"}
1
+ {"version":3,"file":"buildForm-vzjjarhs.js","sources":["../app/javascript/src/stores/buildForm.js"],"sourcesContent":["import i18next from \"i18next\";\nimport { noop } from \"neetocist\";\nimport { withImmutableActions } from \"neetocommons/react-utils\";\nimport { mergeLeft, modify, prop } from \"ramda\";\nimport { create } from \"zustand\";\n\nimport { isFunction } from \"utils\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useBuildFormStore = create(\n withImmutableActions(set => ({\n formState: {\n selectedLanguage: i18next.resolvedLanguage,\n onLanguageChange: noop,\n formId: null,\n enabled: false,\n title: \"\",\n helpDocUrls: {},\n isUsingDefaultQuestionKinds: true,\n usesCustomSubmissionComponent: false,\n hostSpecificData: {},\n isReorderingQuestions: false,\n onMutateSuccess: noop,\n isPictureChoiceEnabled: false,\n },\n\n setFormData: arg =>\n set(modify(\"formState\", isFunction(arg) ? arg : mergeLeft(arg))),\n }))\n);\n\nexport const useBuildFormState = () => useBuildFormStore(prop(\"formState\"));\n\nexport default useBuildFormStore;\n"],"names":["useBuildFormStore","create","withImmutableActions","set","formState","selectedLanguage","i18next","resolvedLanguage","onLanguageChange","noop","formId","enabled","title","helpDocUrls","isUsingDefaultQuestionKinds","usesCustomSubmissionComponent","hostSpecificData","isReorderingQuestions","onMutateSuccess","isPictureChoiceEnabled","setFormData","arg","modify","isFunction","mergeLeft","useBuildFormState","prop"],"mappings":";;;;;;;;;AAQA;AACA,IAAMA,iBAAiB,GAAGC,cAAM,CAC9BC,+BAAoB,CAAC,UAAAC,GAAG,EAAA;EAAA,OAAK;AAC3BC,IAAAA,SAAS,EAAE;MACTC,gBAAgB,EAAEC,OAAO,CAACC,gBAAgB;AAC1CC,MAAAA,gBAAgB,EAAEC,cAAI;AACtBC,MAAAA,MAAM,EAAE,IAAI;AACZC,MAAAA,OAAO,EAAE,KAAK;AACdC,MAAAA,KAAK,EAAE,EAAE;MACTC,WAAW,EAAE,EAAE;AACfC,MAAAA,2BAA2B,EAAE,IAAI;AACjCC,MAAAA,6BAA6B,EAAE,KAAK;MACpCC,gBAAgB,EAAE,EAAE;AACpBC,MAAAA,qBAAqB,EAAE,KAAK;AAC5BC,MAAAA,eAAe,EAAET,cAAI;AACrBU,MAAAA,sBAAsB,EAAE;KACzB;AAEDC,IAAAA,WAAW,EAAE,SAAbA,WAAWA,CAAEC,GAAG,EAAA;AAAA,MAAA,OACdlB,GAAG,CAACmB,YAAM,CAAC,WAAW,EAAEC,gBAAU,CAACF,GAAG,CAAC,GAAGA,GAAG,GAAGG,eAAS,CAACH,GAAG,CAAC,CAAC,CAAC;AAAA;GACnE;AAAA,CAAC,CACJ;AAEaI,IAAAA,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;AAAA,EAAA,OAASzB,iBAAiB,CAAC0B,UAAI,CAAC,WAAW,CAAC,CAAC;AAAA;;;;;"}
@@ -5,14 +5,14 @@ var classnames = require('classnames');
5
5
  var neetoCist = require('@bigbinary/neeto-cist');
6
6
  var Spinner = require('@bigbinary/neetoui/Spinner');
7
7
  var ramda = require('ramda');
8
- var constants = require('../constants-C9wKMfgo.js');
9
- var constants$1 = require('../constants-BjWWA3Oq.js');
8
+ var constants = require('../constants-DcN-Mvx7.js');
9
+ var constants$1 = require('../constants-BEKfDeAd.js');
10
10
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
11
11
  var React = require('react');
12
12
  var dnd = require('@hello-pangea/dnd');
13
13
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
14
14
  var utils = require('@bigbinary/neeto-commons-frontend/utils');
15
- var buildForm = require('../buildForm-CooylMLL.js');
15
+ var buildForm = require('../buildForm-vzjjarhs.js');
16
16
  var shallow = require('zustand/shallow');
17
17
  var Alert = require('@bigbinary/neetoui/Alert');
18
18
  var reactI18next = require('react-i18next');
@@ -23,7 +23,7 @@ var MoreDropdown = require('@bigbinary/neeto-molecules/MoreDropdown');
23
23
  var Dropdown = require('@bigbinary/neetoui/Dropdown');
24
24
  var Tooltip = require('@bigbinary/neetoui/Tooltip');
25
25
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
26
- var index = require('../index-D4URTv1p.js');
26
+ var index = require('../index-BQf-XQOv.js');
27
27
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
28
28
  var i18next = require('i18next');
29
29
  var uuid = require('uuid');
@@ -621,12 +621,13 @@ var NAME = constants.QUESTION_TYPES.NAME,
621
621
  INTEGER = constants.QUESTION_TYPES.INTEGER,
622
622
  DECIMAL = constants.QUESTION_TYPES.DECIMAL,
623
623
  STAR_RATING$1 = constants.QUESTION_TYPES.STAR_RATING,
624
+ OPINION_SCALE$1 = constants.QUESTION_TYPES.OPINION_SCALE,
624
625
  RATING$1 = constants.QUESTION_TYPES.RATING,
625
626
  DATE = constants.QUESTION_TYPES.DATE,
626
627
  FILE_UPLOAD$1 = constants.QUESTION_TYPES.FILE_UPLOAD,
627
628
  CAPTCHA$1 = constants.QUESTION_TYPES.CAPTCHA,
628
629
  SMS_REMINDER = constants.QUESTION_TYPES.SMS_REMINDER;
629
- var QUESTIONS_WITH_ADDITIONAL_DATA = [].concat(_toConsumableArray(constants$1.SELECTABLE_KINDS), [STAR_RATING$1, RATING$1, FILE_UPLOAD$1, CAPTCHA$1, EMAIL$1]);
630
+ var QUESTIONS_WITH_ADDITIONAL_DATA = [].concat(_toConsumableArray(constants$1.SELECTABLE_KINDS), [STAR_RATING$1, OPINION_SCALE$1, RATING$1, FILE_UPLOAD$1, CAPTCHA$1, EMAIL$1]);
630
631
  var QUESTIONS_WITH_PLACEHOLDERS = [NAME, PHONE, EMAIL$1, ADDITIONAL_GUESTS, TEXT, TEXTAREA, RICH_TEXT, INTEGER, DECIMAL, DATE, SMS_REMINDER];
631
632
  var DEFAULT_PLACEHOLDERS = {
632
633
  CHECKBOX: i18next.t("neetoForm.questions.common.questionFields.field.labelExample", {
@@ -1174,6 +1175,15 @@ var buildNameLabelValidationSchema = function buildNameLabelValidationSchema(que
1174
1175
  var isRequired = isFullName ? !question.isSplitMode : question.isSplitMode;
1175
1176
  return index.isNameQuestion(question.kind) && isRequired ? requiredLabelValidation(schema, i18next.t("neetoForm.questions.common.questionFields.field.question")) : schema.notRequired();
1176
1177
  };
1178
+ var buildOpinionScaleLabelValidationSchema = function buildOpinionScaleLabelValidationSchema(label) {
1179
+ return stringSchema.when("hasOpinionLabels", {
1180
+ is: true,
1181
+ then: requiredLabelValidation(stringSchema, label).max(constants$1.OPINION_LABEL_MAX_LENGTH, i18next.t("neetoForm.error.mustBeOrLessThanOrEqualTo", {
1182
+ value: constants$1.OPINION_LABEL_MAX_LENGTH
1183
+ })),
1184
+ otherwise: stringSchema.notRequired()
1185
+ });
1186
+ };
1177
1187
  var stringSchema = yup__namespace.string();
1178
1188
  var formValidationSchema = function formValidationSchema(question) {
1179
1189
  var isFieldCodeEnabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
@@ -1198,7 +1208,9 @@ var formValidationSchema = function formValidationSchema(question) {
1198
1208
  }),
1199
1209
  highestRatingLabel: yup__namespace.string().nullable(),
1200
1210
  averageRatingLabel: yup__namespace.string().nullable(),
1201
- lowestRatingLabel: yup__namespace.string().nullable()
1211
+ lowestRatingLabel: yup__namespace.string().nullable(),
1212
+ leftOpinionLabel: buildOpinionScaleLabelValidationSchema(i18next.t("neetoForm.questions.opinionScale.leftLabel")),
1213
+ rightOpinionLabel: buildOpinionScaleLabelValidationSchema(i18next.t("neetoForm.questions.opinionScale.rightLabel"))
1202
1214
  });
1203
1215
  };
1204
1216
 
@@ -1878,6 +1890,58 @@ var FileUpload = function FileUpload() {
1878
1890
  });
1879
1891
  };
1880
1892
 
1893
+ var OpinionScale = function OpinionScale() {
1894
+ var _useTranslation = reactI18next.useTranslation(),
1895
+ t = _useTranslation.t;
1896
+ var _useFormikContext = formik.useFormikContext(),
1897
+ setFieldValue = _useFormikContext.setFieldValue,
1898
+ _useFormikContext$val = _useFormikContext.values.hasOpinionLabels,
1899
+ hasOpinionLabels = _useFormikContext$val === void 0 ? false : _useFormikContext$val;
1900
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
1901
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
1902
+ className: "flex space-x-4",
1903
+ children: [/*#__PURE__*/jsxRuntime.jsx(Select, {
1904
+ className: "w-1/2",
1905
+ "data-testid": "neeto-form-engine-opinion-scale-min-value",
1906
+ label: t("neetoForm.common.start"),
1907
+ name: "minValue",
1908
+ options: constants$1.OPINION_SCALE_MIN_VALUE_OPTIONS,
1909
+ onChange: function onChange(option) {
1910
+ return setFieldValue("minValue", option === null || option === void 0 ? void 0 : option.value);
1911
+ }
1912
+ }), /*#__PURE__*/jsxRuntime.jsx(Select, {
1913
+ className: "w-1/2",
1914
+ "data-testid": "neeto-form-engine-opinion-scale-max-value",
1915
+ label: t("neetoForm.common.end"),
1916
+ name: "maxValue",
1917
+ options: constants$1.OPINION_SCALE_MAX_VALUE_OPTIONS,
1918
+ onChange: function onChange(option) {
1919
+ return setFieldValue("maxValue", option === null || option === void 0 ? void 0 : option.value);
1920
+ }
1921
+ })]
1922
+ }), /*#__PURE__*/jsxRuntime.jsx(Switch, {
1923
+ "data-testid": "neeto-form-engine-opinion-scale-show-labels-switch",
1924
+ label: t("neetoForm.questions.opinionScale.showLabels"),
1925
+ name: "hasOpinionLabels"
1926
+ }), hasOpinionLabels && /*#__PURE__*/jsxRuntime.jsxs("div", {
1927
+ className: "flex space-x-4",
1928
+ children: [/*#__PURE__*/jsxRuntime.jsx(Input, {
1929
+ className: "w-1/2",
1930
+ "data-testid": "neeto-form-engine-opinion-scale-left-label",
1931
+ label: t("neetoForm.questions.opinionScale.leftLabel"),
1932
+ maxLength: constants$1.OPINION_LABEL_MAX_LENGTH,
1933
+ name: "leftOpinionLabel"
1934
+ }), /*#__PURE__*/jsxRuntime.jsx(Input, {
1935
+ className: "w-1/2",
1936
+ "data-testid": "neeto-form-engine-opinion-scale-right-label",
1937
+ label: t("neetoForm.questions.opinionScale.rightLabel"),
1938
+ maxLength: constants$1.OPINION_LABEL_MAX_LENGTH,
1939
+ name: "rightOpinionLabel"
1940
+ })]
1941
+ })]
1942
+ });
1943
+ };
1944
+
1881
1945
  function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1882
1946
  function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1883
1947
  var Options = function Options(_ref) {
@@ -2084,6 +2148,7 @@ var CHECKBOX = constants.QUESTION_TYPES.CHECKBOX,
2084
2148
  RADIO = constants.QUESTION_TYPES.RADIO,
2085
2149
  DROPDOWN = constants.QUESTION_TYPES.DROPDOWN,
2086
2150
  STAR_RATING = constants.QUESTION_TYPES.STAR_RATING,
2151
+ OPINION_SCALE = constants.QUESTION_TYPES.OPINION_SCALE,
2087
2152
  RATING = constants.QUESTION_TYPES.RATING,
2088
2153
  FILE_UPLOAD = constants.QUESTION_TYPES.FILE_UPLOAD,
2089
2154
  CAPTCHA = constants.QUESTION_TYPES.CAPTCHA,
@@ -2108,6 +2173,8 @@ var renderAdditionalData = function renderAdditionalData(_ref2) {
2108
2173
  return /*#__PURE__*/jsxRuntime.jsx(Rating, {});
2109
2174
  case STAR_RATING:
2110
2175
  return /*#__PURE__*/jsxRuntime.jsx(StarRating, {});
2176
+ case OPINION_SCALE:
2177
+ return /*#__PURE__*/jsxRuntime.jsx(OpinionScale, {});
2111
2178
  case FILE_UPLOAD:
2112
2179
  return /*#__PURE__*/jsxRuntime.jsx(FileUpload, {});
2113
2180
  case CAPTCHA: