@bigbinary/neeto-form-frontend 4.1.10 → 4.2.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.
- package/app/javascript/src/translations/en.json +5 -1
- package/dist/BuildForm.js +69 -26
- package/dist/BuildForm.js.map +1 -1
- package/dist/ExternalForm.js +3 -2
- package/dist/ExternalForm.js.map +1 -1
- package/dist/UrlBuilder.js +3 -2
- package/dist/UrlBuilder.js.map +1 -1
- package/dist/{buildForm-BwhLCvEE.js → buildForm-CooylMLL.js} +3 -2
- package/dist/buildForm-CooylMLL.js.map +1 -0
- package/dist/{buildForm-CsVQHcC7.js → buildForm-DcE5kFvR.js} +3 -2
- package/dist/buildForm-DcE5kFvR.js.map +1 -0
- package/dist/cjs/BuildForm.js +69 -26
- package/dist/cjs/BuildForm.js.map +1 -1
- package/dist/cjs/ExternalForm.js +3 -2
- package/dist/cjs/ExternalForm.js.map +1 -1
- package/dist/cjs/UrlBuilder.js +3 -2
- package/dist/cjs/UrlBuilder.js.map +1 -1
- package/dist/cjs/hooks.js +1 -1
- package/dist/cjs/index.js +5 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/{constants-BSbkmQ4t.js → constants-BjWWA3Oq.js} +10 -1
- package/dist/constants-BjWWA3Oq.js.map +1 -0
- package/dist/{constants-Da_Y-J4N.js → constants-QPLZ_r-D.js} +9 -2
- package/dist/constants-QPLZ_r-D.js.map +1 -0
- package/dist/hooks.js +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/main.css +1 -1
- package/dist/main.css.map +1 -1
- package/dist/{utils-BdTASoGp.js → utils-BwFLBXs2.js} +88 -13
- package/dist/utils-BwFLBXs2.js.map +1 -0
- package/dist/{utils-BUXD94aD.js → utils-GRfGBny0.js} +88 -13
- package/dist/utils-GRfGBny0.js.map +1 -0
- package/package.json +17 -17
- package/dist/buildForm-BwhLCvEE.js.map +0 -1
- package/dist/buildForm-CsVQHcC7.js.map +0 -1
- package/dist/constants-BSbkmQ4t.js.map +0 -1
- package/dist/constants-Da_Y-J4N.js.map +0 -1
- package/dist/utils-BUXD94aD.js.map +0 -1
- package/dist/utils-BdTASoGp.js.map +0 -1
package/dist/ExternalForm.js
CHANGED
|
@@ -25,8 +25,8 @@ import { a as isBlank, g as getComponentDisplayName, p as parseServerError } fro
|
|
|
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-
|
|
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-
|
|
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-GRfGBny0.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';
|
|
@@ -53,6 +53,7 @@ import '@bigbinary/neeto-molecules/FileUpload';
|
|
|
53
53
|
import '@bigbinary/neetoui/Label';
|
|
54
54
|
import '@bigbinary/neetoui/Select';
|
|
55
55
|
import '@bigbinary/neetoui/Radio';
|
|
56
|
+
import '@bigbinary/neeto-icons/Image';
|
|
56
57
|
import '@bigbinary/neeto-editor/Editor';
|
|
57
58
|
import '@bigbinary/neetoui/Textarea';
|
|
58
59
|
|
package/dist/ExternalForm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExternalForm.js","sources":["../app/javascript/src/components/Common/Spinner.jsx","../app/javascript/src/components/Common/Button.jsx","../app/javascript/src/components/Common/Callout.jsx","../app/javascript/src/hocs/withI18nInstance.jsx","../app/javascript/src/hooks/useIsMounted.js","../app/javascript/src/components/ExternalForm/Success.jsx","../app/javascript/src/components/ExternalForm/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nconst Spinner = ({ size = 24 }) => (\n <div className=\"neeto-form-engine-spinner\">\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 25 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.5 5.00098V8.75M17.4401 7.04867L14.9888 9.5M19.5008 11.9994H15.5M17.4401 16.9372L14.9888 14.4859M12.5023 18.9979V15M7.5516 16.9372L10.4888 14M5.50391 11.9994H9.5M7.5516 7.04867L10.0029 9.5\"\n stroke=\"#87929D\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.5\"\n />\n </svg>\n </div>\n);\n\nexport default memo(Spinner);\n","import classNames from \"classnames\";\nimport { Check } from \"neetoicons\";\n\nimport Spinner from \"./Spinner\";\n\nconst Button = ({\n label,\n loading = false,\n success = false,\n className = \"\",\n ...otherProps\n}) => (\n <button\n className={classNames(\"neeto-form-engine-button\", className)}\n {...otherProps}\n >\n {loading && <ButtonLoader />}\n {success && <Success />}\n {label}\n </button>\n);\n\nconst ButtonLoader = () => (\n <div className=\"neeto-form-engine-button__loader\">\n <Spinner />\n </div>\n);\n\nconst Success = () => (\n <div className=\"neeto-form-engine-button__success\">\n <Check />\n </div>\n);\n\nexport default Button;\n","import classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Close } from \"neetoicons\";\nimport { not } from \"ramda\";\n\nimport { isBlank } from \"utils\";\n\nimport Button from \"./Button\";\nimport { CALLOUT_POSITIONS, CALLOUT_STYLES } from \"./constants\";\n\nconst Callout = ({\n style = CALLOUT_STYLES.ERROR,\n position = CALLOUT_POSITIONS.ABSOLUTE,\n callout = {},\n children,\n className,\n onClose,\n}) => {\n const { isVisible, title, message, primaryButton, secondaryButton } = callout;\n\n if (!isVisible) return null;\n\n return (\n <div\n className={classnames(\"neeto-form-engine-callout\", {\n \"neeto-form-engine-callout--error\": style === CALLOUT_STYLES.ERROR,\n \"neeto-form-engine-callout--info\": style === CALLOUT_STYLES.INFO,\n \"neeto-form-engine-callout--static\":\n position === CALLOUT_POSITIONS.STATIC,\n \"neeto-form-engine-callout--absolute\":\n position === CALLOUT_POSITIONS.ABSOLUTE,\n [className]: className,\n })}\n >\n {isPresent(onClose) && (\n <button className=\"neeto-form-engine-callout__close\" onClick={onClose}>\n <Close size={16} />\n </button>\n )}\n <div className=\"neeto-form-engine-callout__content\">\n {not(isBlank(title)) && <h5>{title}</h5>}\n <p>{message}</p>\n </div>\n {primaryButton && (\n <Button\n label={primaryButton.label}\n size=\"small\"\n onClick={primaryButton.onClick}\n />\n )}\n {secondaryButton && (\n <Button\n label={secondaryButton.label}\n size=\"small\"\n onClick={secondaryButton.onClick}\n />\n )}\n {children}\n </div>\n );\n};\n\nexport default Callout;\n","import { I18nextProvider } from \"react-i18next\";\n\nimport { getComponentDisplayName } from \"utils\";\n\nconst withI18nInstance = (Component, i18n) => {\n const I18nWrapper = props => (\n <I18nextProvider {...{ i18n }}>\n <Component {...props} />\n </I18nextProvider>\n );\n\n I18nWrapper.displayName = `I18nWrapper(${getComponentDisplayName(\n Component\n )})`;\n\n return I18nWrapper;\n};\n\nexport default withI18nInstance;\n","import { useRef, useEffect } from \"react\";\n\nconst useIsMounted = () => {\n const isMounted = useRef(true);\n\n useEffect(\n () => () => {\n isMounted.current = false;\n },\n []\n );\n\n return () => isMounted.current;\n};\n\nexport default useIsMounted;\n","import { memo } from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography } from \"neetoui\";\n\nconst Success = withT(({ t }) => (\n <div className=\"neeto-form-nano-external-form-thank-you flex h-full w-full flex-col items-center justify-center space-y-3 py-20\">\n <Typography style=\"h1\">🎉</Typography>\n <Typography className=\"text-center\" style=\"h2\">\n {t(\"neetoForm.successPage.title1\")}\n </Typography>\n <Typography className=\"text-center\" style=\"body2\">\n {t(\"neetoForm.successPage.title2\")}\n </Typography>\n </div>\n));\nexport default memo(Success);\n","import { useState, useRef, useEffect } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport classNames from \"classnames\";\nimport { Formik, Form } from \"formik\";\nimport i18next from \"i18next\";\nimport { isPresent, noop, removeBy } from \"neetocist\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Warning } from \"neetoicons\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport {\n Typography,\n Button,\n Spinner,\n Callout as NeetoUICallout,\n NoData,\n} from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { equals, isEmpty, path } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { QUERY_KEYS } from \"common/constants\";\nimport Callout from \"components/Common/Callout\";\nimport FormikWrap from \"components/Common/FormikWrap\";\nimport withI18nInstance from \"hocs/withI18nInstance\";\nimport {\n useCreateSubmission,\n usePublicForm,\n useSubmission,\n useUpdateSubmission,\n} from \"hooks/useFormApi\";\nimport useIsMounted from \"hooks/useIsMounted\";\nimport { parseServerError } from \"utils\";\nimport { clearLocalStorageValues, getWithExpiry } from \"utils/localStorage\";\n\nimport { LAST_ELEMENTS_THRESHOLD } from \"./constants\";\nimport { clearEmailVerificationDetails } from \"./Fields/EmailField/utils\";\nimport { getFieldComponent } from \"./Fields/utils\";\nimport Success from \"./Success\";\nimport {\n generateInitValues,\n generateFormResponse,\n mergeRefs,\n buildAutoCompleteAttribute,\n renderButtonsInOrder,\n} from \"./utils\";\nimport { clientI18nInstance } from \"./utils/clientI18nInstance\";\n\nconst ExternalForm = ({\n size = \"medium\",\n preview = false,\n formId,\n submissionId,\n customSubmitHandler,\n onBeforeSubmit,\n onSubmitSuccess,\n showTitle = true,\n formTitle,\n submitButtonProps,\n cancelButtonProps,\n resetButtonProps,\n displayThankYou = true,\n showEmptyState = true,\n className,\n preserveValues = false,\n clearValuesOnReset = false,\n clearValuesOnSubmit = false,\n initialValues = {},\n onChange,\n formDomProps,\n editorProps = {},\n customValidator,\n autoCompleteKinds = [],\n enablePreFilling = false,\n language = i18next.resolvedLanguage,\n}) => {\n const [isSubmitted, setIsSubmitted] = useState(false);\n const [showSuccess, setShowSuccess] = useState(false);\n const [localValues, setLocalValues] = useState(\n getWithExpiry(`${formId}/values`)\n );\n const isMounted = useIsMounted();\n const [error, setError] = useState(null);\n\n const formRef = useRef();\n const formikInnerRef = useRef();\n const editorRef = useRef();\n const captchaRef = useRef(null);\n\n const queryClient = useQueryClient();\n\n const {\n data: form = { title: \"\", questions: [], isQuestionsLoading: true },\n isLoading,\n } = usePublicForm({ formId, language, preview, enabled: !preview });\n\n const { title, questions = [] } = form;\n const formUuid = path([0, \"formId\"], questions) ?? formId;\n\n useEffect(() => {\n if (equals(language, clientI18nInstance.resolvedLanguage)) return;\n\n clientI18nInstance.changeLanguage(language);\n }, [language]);\n\n useEffect(() => {\n if (!preserveValues) clearEmailVerificationDetails(formUuid);\n }, []);\n\n const { t } = useTranslation();\n\n useEffect(() => {\n setLocalValues(getWithExpiry(`${formId}/values`));\n }, [formId]);\n\n const { mutateAsync: createSubmission } = useCreateSubmission({\n enabled: !submissionId,\n });\n\n const { mutateAsync: updateSubmission } = useUpdateSubmission({\n enabled: !!submissionId,\n });\n\n const { data: submission } = useSubmission({\n formId,\n submissionId,\n placeholderData: submissionId ? { responses: [], isLoading: true } : {},\n enabled: !!submissionId,\n });\n\n const clearLocalFormValues = () =>\n clearLocalStorageValues(`${formId}/values`);\n\n const onSubmit = async (values, { setSubmitting }) => {\n setError(null);\n let responses = generateFormResponse(values, questions);\n try {\n if (preview) {\n await new Promise(resolve =>\n setTimeout(() => {\n resolve();\n setIsSubmitted(true);\n setTimeout(() => setShowSuccess(true), 1000);\n }, 1500)\n );\n } else {\n if (onBeforeSubmit) {\n const newResponses = await onBeforeSubmit(responses, values);\n if (newResponses) {\n responses = newResponses;\n }\n }\n let data;\n if (customSubmitHandler) {\n data = await customSubmitHandler(\n { responses, values },\n clearLocalFormValues\n );\n\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.SUBMISSION, formId, submissionId],\n });\n } else {\n if (submissionId) {\n data = await updateSubmission({\n formId,\n values: {\n neetoFormResponse: { submissionId, responses },\n },\n });\n } else {\n data = await createSubmission({\n formId,\n values: { neetoFormResponse: { responses } },\n });\n }\n }\n\n clearValuesOnSubmit && clearLocalFormValues();\n setTimeout(() => clearEmailVerificationDetails(formUuid), 1000);\n onSubmitSuccess?.({ values, responses, data }, clearLocalFormValues);\n if (isMounted()) {\n setIsSubmitted(true);\n setTimeout(() => setShowSuccess(true), 1000);\n }\n }\n } catch (error) {\n setError(parseServerError(error));\n } finally {\n if (isMounted()) {\n setSubmitting(false);\n }\n }\n };\n\n const onReset = (e, handleReset) => {\n if (clearValuesOnReset) {\n clearLocalStorageValues(`${formId}/values`);\n setLocalValues(generateInitValues({ questions }));\n submissionId &&\n queryClient.setQueryData(\n [QUERY_KEYS.SUBMISSION, formId, submissionId],\n { responses: [] }\n );\n }\n editorRef?.current?.editor?.commands?.setContent(\"\");\n captchaRef.current?.reset();\n handleReset(e);\n formDomProps?.onReset?.(e);\n clearEmailVerificationDetails(formUuid);\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 { dataUpdateCount } = queryClient.getQueryState([\n QUERY_KEYS.QUESTIONS,\n formId,\n language,\n ]);\n\n const keyPressRef = useHotkeys(\n \"command+enter\",\n formikInnerRef.current?.handleSubmit || noop,\n { mode: \"scoped\" }\n );\n\n if (\n isLoading ||\n form.isQuestionsLoading ||\n (!!submissionId && submission?.isLoading)\n ) {\n return (\n <div className=\"loader flex h-full w-full items-center justify-center\">\n <PageLoader />\n </div>\n );\n }\n\n const displayTitle = formTitle || title;\n\n const renderedQuestions = preview\n ? questions\n : removeBy({ isHidden: true }, questions);\n\n if (displayThankYou && showSuccess) {\n return <Success />;\n }\n\n return (\n <div\n className={classNames(\"neeto-form-nano-external-form\", {\n \"neeto-form-nano-external-form--size-large\": size === \"large\",\n \"neeto-form-nano-external-form--size-medium\": size === \"medium\",\n })}\n >\n {showTitle && displayTitle && (\n <div className=\"neeto-form-nano-external-form-header py-6\">\n <Typography\n className=\"neeto-ui-text-gray-800 neeto-form-nano-external-form-title\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {displayTitle}\n </Typography>\n </div>\n )}\n <Formik\n {...{ onSubmit }}\n enableReinitialize\n innerRef={formikInnerRef}\n initialValues={generateInitValues({\n questions,\n initialValues: submission?.responses,\n localValues: preserveValues ? localValues : initialValues,\n fieldCodes: enablePreFilling\n ? getQueryParams({ toCamelCase: false })\n : {},\n })}\n >\n {({ isSubmitting, errors, setFieldError, handleReset }) => (\n <FormikWrap\n {...{ dataUpdateCount, formId, preserveValues }}\n onError={handleScrollToError}\n onValuesChange={onChange}\n >\n <Form\n noValidate\n ref={mergeRefs(formRef, keyPressRef)}\n className={classNames(\"neeto-form-engine-form relative\", {\n \"space-y-6\": size === \"large\",\n \"space-y-4\": size === \"medium\",\n [className]: 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 {submission?.isLoading && (\n <div className=\"neeto-ui-bg-gray-100 absolute bottom-0 start-0 end-0 top-0 flex items-center justify-center opacity-75\">\n <Spinner />\n </div>\n )}\n {renderedQuestions.map((question, index) => {\n const FieldComponent = getFieldComponent(question);\n const isLastFewElements =\n index >= renderedQuestions.length - LAST_ELEMENTS_THRESHOLD;\n\n return (\n <div\n className=\"w-full flex flex-col gap-2\"\n key={question.id ?? question.nodeId}\n >\n <FieldComponent\n {...{\n captchaRef,\n editorProps,\n editorRef,\n isLastFewElements,\n preview,\n question,\n }}\n customValidator={customValidator?.(question)}\n autoComplete={buildAutoCompleteAttribute(\n question.kind,\n autoCompleteKinds,\n formDomProps\n )}\n />\n {question.isHidden && (\n <NeetoUICallout\n data-testid=\"hidden-question-callout\"\n icon={Warning}\n style=\"warning\"\n >\n <Typography style=\"body2\">\n {t(\"neetoForm.callouts.hiddenQuestion\")}\n </Typography>\n </NeetoUICallout>\n )}\n {preview && question.isResponseVisibleOnlyToHost && (\n <NeetoUICallout\n data-testid=\"response-visible-only-to-host-callout\"\n icon={Warning}\n style=\"warning\"\n >\n <Typography style=\"body2\">\n {t(\"neetoForm.callouts.responseVisibleOnlyToHost\")}\n </Typography>\n </NeetoUICallout>\n )}\n </div>\n );\n })}\n {showEmptyState && isEmpty(renderedQuestions) && (\n <div className=\"flex w-full grow items-center justify-center py-8\">\n <NoData\n className=\"min-h-80\"\n title={t(\"neetoForm.questions.common.noData\")}\n />\n </div>\n )}\n {!isEmpty(renderedQuestions) && (\n <div className=\"neeto-form-nano-form-footer mt-8 flex items-center justify-between\">\n {cancelButtonProps && (\n <Button\n label={t(\"neetoForm.common.cancel\")}\n style=\"secondary\"\n {...cancelButtonProps}\n />\n )}\n <div className=\"flex gap-x-2\">\n {renderButtonsInOrder(\n [\n <Button\n disabled={isSubmitting || isSubmitted}\n key=\"submit\"\n label={t(\"neetoForm.common.submit\")}\n loading={isSubmitting}\n type=\"submit\"\n {...submitButtonProps}\n />,\n <Button\n key=\"reset\"\n label={t(\"neetoForm.common.reset\")}\n style=\"secondary\"\n type=\"reset\"\n {...resetButtonProps}\n />,\n ],\n isPresent(cancelButtonProps)\n )}\n </div>\n </div>\n )}\n </Form>\n {!customSubmitHandler && (\n <Callout\n callout={{\n isVisible: isPresent(error),\n title: t(\"neetoForm.callouts.submitError\"),\n message: error,\n }}\n onClose={() => setError(null)}\n />\n )}\n </FormikWrap>\n )}\n </Formik>\n </div>\n );\n};\n\nExternalForm.propTypes = {\n preview: PropTypes.bool,\n formId: PropTypes.string,\n submissionId: PropTypes.string,\n onBeforeSubmit: PropTypes.func,\n onSubmitSuccess: PropTypes.func,\n showTitle: PropTypes.bool,\n submitButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n displayThankYou: PropTypes.bool,\n showEmptyState: PropTypes.bool,\n initialValues: PropTypes.object,\n className: PropTypes.string,\n enablePreFilling: PropTypes.bool,\n};\n\nexport default withI18nInstance(ExternalForm, clientI18nInstance);\n"],"names":["Spinner","_ref","_ref$size","size","_jsx","className","children","fill","height","viewBox","width","xmlns","d","stroke","strokeLinecap","strokeLinejoin","strokeWidth","memo","Button","label","_ref$loading","loading","_ref$success","success","_ref$className","otherProps","_objectWithoutProperties","_excluded","_jsxs","_objectSpread","classNames","ButtonLoader","Success","Check","Callout","_ref$style","style","CALLOUT_STYLES","ERROR","_ref$position","position","CALLOUT_POSITIONS","ABSOLUTE","_ref$callout","callout","onClose","isVisible","title","message","primaryButton","secondaryButton","classnames","_defineProperty","INFO","STATIC","isPresent","onClick","Close","not","isBlank","withI18nInstance","Component","i18n","I18nWrapper","props","I18nextProvider","displayName","concat","getComponentDisplayName","useIsMounted","isMounted","useRef","useEffect","current","withT","t","Typography","ExternalForm","_path","_formikInnerRef$curre","_ref$preview","preview","formId","submissionId","customSubmitHandler","onBeforeSubmit","onSubmitSuccess","_ref$showTitle","showTitle","formTitle","submitButtonProps","cancelButtonProps","resetButtonProps","_ref$displayThankYou","displayThankYou","_ref$showEmptyState","showEmptyState","_ref$preserveValues","preserveValues","_ref$clearValuesOnRes","clearValuesOnReset","_ref$clearValuesOnSub","clearValuesOnSubmit","_ref$initialValues","initialValues","onChange","formDomProps","_ref$editorProps","editorProps","customValidator","_ref$autoCompleteKind","autoCompleteKinds","_ref$enablePreFilling","enablePreFilling","_ref$language","language","i18next","resolvedLanguage","_useState","useState","_useState2","_slicedToArray","isSubmitted","setIsSubmitted","_useState3","_useState4","showSuccess","setShowSuccess","_useState5","getWithExpiry","_useState6","localValues","setLocalValues","_useState7","_useState8","error","setError","formRef","formikInnerRef","editorRef","captchaRef","queryClient","useQueryClient","_usePublicForm","usePublicForm","enabled","_usePublicForm$data","data","form","questions","isQuestionsLoading","isLoading","_form$questions","formUuid","path","equals","clientI18nInstance","changeLanguage","clearEmailVerificationDetails","_useTranslation","useTranslation","_useCreateSubmission","useCreateSubmission","createSubmission","mutateAsync","_useUpdateSubmission","useUpdateSubmission","updateSubmission","_useSubmission","useSubmission","placeholderData","responses","submission","clearLocalFormValues","clearLocalStorageValues","onSubmit","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","values","_ref2","setSubmitting","newResponses","wrap","_callee$","_context","prev","next","generateFormResponse","Promise","resolve","setTimeout","sent","invalidateQueries","queryKey","QUERY_KEYS","SUBMISSION","neetoFormResponse","t0","parseServerError","finish","stop","_x","_x2","apply","arguments","onReset","e","handleReset","_editorRef$current","_captchaRef$current","_formDomProps$onReset","generateInitValues","setQueryData","editor","commands","setContent","reset","call","handleScrollToError","errors","errorKeys","Object","keys","isEmpty","_iterator","_createForOfIteratorHelper","_step","s","n","done","formElement","value","includes","name","scrollIntoView","behavior","block","err","f","_queryClient$getQuery","getQueryState","QUESTIONS","dataUpdateCount","keyPressRef","useHotkeys","handleSubmit","noop","mode","PageLoader","displayTitle","renderedQuestions","removeBy","isHidden","weight","Formik","enableReinitialize","innerRef","fieldCodes","getQueryParams","toCamelCase","_ref4","isSubmitting","setFieldError","FormikWrap","onError","onValuesChange","Form","noValidate","ref","mergeRefs","event","target","map","question","index","_question$id","FieldComponent","getFieldComponent","isLastFewElements","length","LAST_ELEMENTS_THRESHOLD","autoComplete","buildAutoCompleteAttribute","kind","NeetoUICallout","icon","Warning","isResponseVisibleOnlyToHost","id","nodeId","NoData","renderButtonsInOrder","disabled","type"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ExternalForm.js","sources":["../app/javascript/src/components/Common/Spinner.jsx","../app/javascript/src/components/Common/Button.jsx","../app/javascript/src/components/Common/Callout.jsx","../app/javascript/src/hocs/withI18nInstance.jsx","../app/javascript/src/hooks/useIsMounted.js","../app/javascript/src/components/ExternalForm/Success.jsx","../app/javascript/src/components/ExternalForm/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nconst Spinner = ({ size = 24 }) => (\n <div className=\"neeto-form-engine-spinner\">\n <svg\n fill=\"none\"\n height={size}\n viewBox=\"0 0 25 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.5 5.00098V8.75M17.4401 7.04867L14.9888 9.5M19.5008 11.9994H15.5M17.4401 16.9372L14.9888 14.4859M12.5023 18.9979V15M7.5516 16.9372L10.4888 14M5.50391 11.9994H9.5M7.5516 7.04867L10.0029 9.5\"\n stroke=\"#87929D\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.5\"\n />\n </svg>\n </div>\n);\n\nexport default memo(Spinner);\n","import classNames from \"classnames\";\nimport { Check } from \"neetoicons\";\n\nimport Spinner from \"./Spinner\";\n\nconst Button = ({\n label,\n loading = false,\n success = false,\n className = \"\",\n ...otherProps\n}) => (\n <button\n className={classNames(\"neeto-form-engine-button\", className)}\n {...otherProps}\n >\n {loading && <ButtonLoader />}\n {success && <Success />}\n {label}\n </button>\n);\n\nconst ButtonLoader = () => (\n <div className=\"neeto-form-engine-button__loader\">\n <Spinner />\n </div>\n);\n\nconst Success = () => (\n <div className=\"neeto-form-engine-button__success\">\n <Check />\n </div>\n);\n\nexport default Button;\n","import classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Close } from \"neetoicons\";\nimport { not } from \"ramda\";\n\nimport { isBlank } from \"utils\";\n\nimport Button from \"./Button\";\nimport { CALLOUT_POSITIONS, CALLOUT_STYLES } from \"./constants\";\n\nconst Callout = ({\n style = CALLOUT_STYLES.ERROR,\n position = CALLOUT_POSITIONS.ABSOLUTE,\n callout = {},\n children,\n className,\n onClose,\n}) => {\n const { isVisible, title, message, primaryButton, secondaryButton } = callout;\n\n if (!isVisible) return null;\n\n return (\n <div\n className={classnames(\"neeto-form-engine-callout\", {\n \"neeto-form-engine-callout--error\": style === CALLOUT_STYLES.ERROR,\n \"neeto-form-engine-callout--info\": style === CALLOUT_STYLES.INFO,\n \"neeto-form-engine-callout--static\":\n position === CALLOUT_POSITIONS.STATIC,\n \"neeto-form-engine-callout--absolute\":\n position === CALLOUT_POSITIONS.ABSOLUTE,\n [className]: className,\n })}\n >\n {isPresent(onClose) && (\n <button className=\"neeto-form-engine-callout__close\" onClick={onClose}>\n <Close size={16} />\n </button>\n )}\n <div className=\"neeto-form-engine-callout__content\">\n {not(isBlank(title)) && <h5>{title}</h5>}\n <p>{message}</p>\n </div>\n {primaryButton && (\n <Button\n label={primaryButton.label}\n size=\"small\"\n onClick={primaryButton.onClick}\n />\n )}\n {secondaryButton && (\n <Button\n label={secondaryButton.label}\n size=\"small\"\n onClick={secondaryButton.onClick}\n />\n )}\n {children}\n </div>\n );\n};\n\nexport default Callout;\n","import { I18nextProvider } from \"react-i18next\";\n\nimport { getComponentDisplayName } from \"utils\";\n\nconst withI18nInstance = (Component, i18n) => {\n const I18nWrapper = props => (\n <I18nextProvider {...{ i18n }}>\n <Component {...props} />\n </I18nextProvider>\n );\n\n I18nWrapper.displayName = `I18nWrapper(${getComponentDisplayName(\n Component\n )})`;\n\n return I18nWrapper;\n};\n\nexport default withI18nInstance;\n","import { useRef, useEffect } from \"react\";\n\nconst useIsMounted = () => {\n const isMounted = useRef(true);\n\n useEffect(\n () => () => {\n isMounted.current = false;\n },\n []\n );\n\n return () => isMounted.current;\n};\n\nexport default useIsMounted;\n","import { memo } from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography } from \"neetoui\";\n\nconst Success = withT(({ t }) => (\n <div className=\"neeto-form-nano-external-form-thank-you flex h-full w-full flex-col items-center justify-center space-y-3 py-20\">\n <Typography style=\"h1\">🎉</Typography>\n <Typography className=\"text-center\" style=\"h2\">\n {t(\"neetoForm.successPage.title1\")}\n </Typography>\n <Typography className=\"text-center\" style=\"body2\">\n {t(\"neetoForm.successPage.title2\")}\n </Typography>\n </div>\n));\nexport default memo(Success);\n","import { useState, useRef, useEffect } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport classNames from \"classnames\";\nimport { Formik, Form } from \"formik\";\nimport i18next from \"i18next\";\nimport { isPresent, noop, removeBy } from \"neetocist\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Warning } from \"neetoicons\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport {\n Typography,\n Button,\n Spinner,\n Callout as NeetoUICallout,\n NoData,\n} from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { equals, isEmpty, path } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { QUERY_KEYS } from \"common/constants\";\nimport Callout from \"components/Common/Callout\";\nimport FormikWrap from \"components/Common/FormikWrap\";\nimport withI18nInstance from \"hocs/withI18nInstance\";\nimport {\n useCreateSubmission,\n usePublicForm,\n useSubmission,\n useUpdateSubmission,\n} from \"hooks/useFormApi\";\nimport useIsMounted from \"hooks/useIsMounted\";\nimport { parseServerError } from \"utils\";\nimport { clearLocalStorageValues, getWithExpiry } from \"utils/localStorage\";\n\nimport { LAST_ELEMENTS_THRESHOLD } from \"./constants\";\nimport { clearEmailVerificationDetails } from \"./Fields/EmailField/utils\";\nimport { getFieldComponent } from \"./Fields/utils\";\nimport Success from \"./Success\";\nimport {\n generateInitValues,\n generateFormResponse,\n mergeRefs,\n buildAutoCompleteAttribute,\n renderButtonsInOrder,\n} from \"./utils\";\nimport { clientI18nInstance } from \"./utils/clientI18nInstance\";\n\nconst ExternalForm = ({\n size = \"medium\",\n preview = false,\n formId,\n submissionId,\n customSubmitHandler,\n onBeforeSubmit,\n onSubmitSuccess,\n showTitle = true,\n formTitle,\n submitButtonProps,\n cancelButtonProps,\n resetButtonProps,\n displayThankYou = true,\n showEmptyState = true,\n className,\n preserveValues = false,\n clearValuesOnReset = false,\n clearValuesOnSubmit = false,\n initialValues = {},\n onChange,\n formDomProps,\n editorProps = {},\n customValidator,\n autoCompleteKinds = [],\n enablePreFilling = false,\n language = i18next.resolvedLanguage,\n}) => {\n const [isSubmitted, setIsSubmitted] = useState(false);\n const [showSuccess, setShowSuccess] = useState(false);\n const [localValues, setLocalValues] = useState(\n getWithExpiry(`${formId}/values`)\n );\n const isMounted = useIsMounted();\n const [error, setError] = useState(null);\n\n const formRef = useRef();\n const formikInnerRef = useRef();\n const editorRef = useRef();\n const captchaRef = useRef(null);\n\n const queryClient = useQueryClient();\n\n const {\n data: form = { title: \"\", questions: [], isQuestionsLoading: true },\n isLoading,\n } = usePublicForm({ formId, language, preview, enabled: !preview });\n\n const { title, questions = [] } = form;\n const formUuid = path([0, \"formId\"], questions) ?? formId;\n\n useEffect(() => {\n if (equals(language, clientI18nInstance.resolvedLanguage)) return;\n\n clientI18nInstance.changeLanguage(language);\n }, [language]);\n\n useEffect(() => {\n if (!preserveValues) clearEmailVerificationDetails(formUuid);\n }, []);\n\n const { t } = useTranslation();\n\n useEffect(() => {\n setLocalValues(getWithExpiry(`${formId}/values`));\n }, [formId]);\n\n const { mutateAsync: createSubmission } = useCreateSubmission({\n enabled: !submissionId,\n });\n\n const { mutateAsync: updateSubmission } = useUpdateSubmission({\n enabled: !!submissionId,\n });\n\n const { data: submission } = useSubmission({\n formId,\n submissionId,\n placeholderData: submissionId ? { responses: [], isLoading: true } : {},\n enabled: !!submissionId,\n });\n\n const clearLocalFormValues = () =>\n clearLocalStorageValues(`${formId}/values`);\n\n const onSubmit = async (values, { setSubmitting }) => {\n setError(null);\n let responses = generateFormResponse(values, questions);\n try {\n if (preview) {\n await new Promise(resolve =>\n setTimeout(() => {\n resolve();\n setIsSubmitted(true);\n setTimeout(() => setShowSuccess(true), 1000);\n }, 1500)\n );\n } else {\n if (onBeforeSubmit) {\n const newResponses = await onBeforeSubmit(responses, values);\n if (newResponses) {\n responses = newResponses;\n }\n }\n let data;\n if (customSubmitHandler) {\n data = await customSubmitHandler(\n { responses, values },\n clearLocalFormValues\n );\n\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.SUBMISSION, formId, submissionId],\n });\n } else {\n if (submissionId) {\n data = await updateSubmission({\n formId,\n values: {\n neetoFormResponse: { submissionId, responses },\n },\n });\n } else {\n data = await createSubmission({\n formId,\n values: { neetoFormResponse: { responses } },\n });\n }\n }\n\n clearValuesOnSubmit && clearLocalFormValues();\n setTimeout(() => clearEmailVerificationDetails(formUuid), 1000);\n onSubmitSuccess?.({ values, responses, data }, clearLocalFormValues);\n if (isMounted()) {\n setIsSubmitted(true);\n setTimeout(() => setShowSuccess(true), 1000);\n }\n }\n } catch (error) {\n setError(parseServerError(error));\n } finally {\n if (isMounted()) {\n setSubmitting(false);\n }\n }\n };\n\n const onReset = (e, handleReset) => {\n if (clearValuesOnReset) {\n clearLocalStorageValues(`${formId}/values`);\n setLocalValues(generateInitValues({ questions }));\n submissionId &&\n queryClient.setQueryData(\n [QUERY_KEYS.SUBMISSION, formId, submissionId],\n { responses: [] }\n );\n }\n editorRef?.current?.editor?.commands?.setContent(\"\");\n captchaRef.current?.reset();\n handleReset(e);\n formDomProps?.onReset?.(e);\n clearEmailVerificationDetails(formUuid);\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 { dataUpdateCount } = queryClient.getQueryState([\n QUERY_KEYS.QUESTIONS,\n formId,\n language,\n ]);\n\n const keyPressRef = useHotkeys(\n \"command+enter\",\n formikInnerRef.current?.handleSubmit || noop,\n { mode: \"scoped\" }\n );\n\n if (\n isLoading ||\n form.isQuestionsLoading ||\n (!!submissionId && submission?.isLoading)\n ) {\n return (\n <div className=\"loader flex h-full w-full items-center justify-center\">\n <PageLoader />\n </div>\n );\n }\n\n const displayTitle = formTitle || title;\n\n const renderedQuestions = preview\n ? questions\n : removeBy({ isHidden: true }, questions);\n\n if (displayThankYou && showSuccess) {\n return <Success />;\n }\n\n return (\n <div\n className={classNames(\"neeto-form-nano-external-form\", {\n \"neeto-form-nano-external-form--size-large\": size === \"large\",\n \"neeto-form-nano-external-form--size-medium\": size === \"medium\",\n })}\n >\n {showTitle && displayTitle && (\n <div className=\"neeto-form-nano-external-form-header py-6\">\n <Typography\n className=\"neeto-ui-text-gray-800 neeto-form-nano-external-form-title\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {displayTitle}\n </Typography>\n </div>\n )}\n <Formik\n {...{ onSubmit }}\n enableReinitialize\n innerRef={formikInnerRef}\n initialValues={generateInitValues({\n questions,\n initialValues: submission?.responses,\n localValues: preserveValues ? localValues : initialValues,\n fieldCodes: enablePreFilling\n ? getQueryParams({ toCamelCase: false })\n : {},\n })}\n >\n {({ isSubmitting, errors, setFieldError, handleReset }) => (\n <FormikWrap\n {...{ dataUpdateCount, formId, preserveValues }}\n onError={handleScrollToError}\n onValuesChange={onChange}\n >\n <Form\n noValidate\n ref={mergeRefs(formRef, keyPressRef)}\n className={classNames(\"neeto-form-engine-form relative\", {\n \"space-y-6\": size === \"large\",\n \"space-y-4\": size === \"medium\",\n [className]: 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 {submission?.isLoading && (\n <div className=\"neeto-ui-bg-gray-100 absolute bottom-0 start-0 end-0 top-0 flex items-center justify-center opacity-75\">\n <Spinner />\n </div>\n )}\n {renderedQuestions.map((question, index) => {\n const FieldComponent = getFieldComponent(question);\n const isLastFewElements =\n index >= renderedQuestions.length - LAST_ELEMENTS_THRESHOLD;\n\n return (\n <div\n className=\"w-full flex flex-col gap-2\"\n key={question.id ?? question.nodeId}\n >\n <FieldComponent\n {...{\n captchaRef,\n editorProps,\n editorRef,\n isLastFewElements,\n preview,\n question,\n }}\n customValidator={customValidator?.(question)}\n autoComplete={buildAutoCompleteAttribute(\n question.kind,\n autoCompleteKinds,\n formDomProps\n )}\n />\n {question.isHidden && (\n <NeetoUICallout\n data-testid=\"hidden-question-callout\"\n icon={Warning}\n style=\"warning\"\n >\n <Typography style=\"body2\">\n {t(\"neetoForm.callouts.hiddenQuestion\")}\n </Typography>\n </NeetoUICallout>\n )}\n {preview && question.isResponseVisibleOnlyToHost && (\n <NeetoUICallout\n data-testid=\"response-visible-only-to-host-callout\"\n icon={Warning}\n style=\"warning\"\n >\n <Typography style=\"body2\">\n {t(\"neetoForm.callouts.responseVisibleOnlyToHost\")}\n </Typography>\n </NeetoUICallout>\n )}\n </div>\n );\n })}\n {showEmptyState && isEmpty(renderedQuestions) && (\n <div className=\"flex w-full grow items-center justify-center py-8\">\n <NoData\n className=\"min-h-80\"\n title={t(\"neetoForm.questions.common.noData\")}\n />\n </div>\n )}\n {!isEmpty(renderedQuestions) && (\n <div className=\"neeto-form-nano-form-footer mt-8 flex items-center justify-between\">\n {cancelButtonProps && (\n <Button\n label={t(\"neetoForm.common.cancel\")}\n style=\"secondary\"\n {...cancelButtonProps}\n />\n )}\n <div className=\"flex gap-x-2\">\n {renderButtonsInOrder(\n [\n <Button\n disabled={isSubmitting || isSubmitted}\n key=\"submit\"\n label={t(\"neetoForm.common.submit\")}\n loading={isSubmitting}\n type=\"submit\"\n {...submitButtonProps}\n />,\n <Button\n key=\"reset\"\n label={t(\"neetoForm.common.reset\")}\n style=\"secondary\"\n type=\"reset\"\n {...resetButtonProps}\n />,\n ],\n isPresent(cancelButtonProps)\n )}\n </div>\n </div>\n )}\n </Form>\n {!customSubmitHandler && (\n <Callout\n callout={{\n isVisible: isPresent(error),\n title: t(\"neetoForm.callouts.submitError\"),\n message: error,\n }}\n onClose={() => setError(null)}\n />\n )}\n </FormikWrap>\n )}\n </Formik>\n </div>\n );\n};\n\nExternalForm.propTypes = {\n preview: PropTypes.bool,\n formId: PropTypes.string,\n submissionId: PropTypes.string,\n onBeforeSubmit: PropTypes.func,\n onSubmitSuccess: PropTypes.func,\n showTitle: PropTypes.bool,\n submitButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n displayThankYou: PropTypes.bool,\n showEmptyState: PropTypes.bool,\n initialValues: PropTypes.object,\n className: PropTypes.string,\n enablePreFilling: PropTypes.bool,\n};\n\nexport default withI18nInstance(ExternalForm, clientI18nInstance);\n"],"names":["Spinner","_ref","_ref$size","size","_jsx","className","children","fill","height","viewBox","width","xmlns","d","stroke","strokeLinecap","strokeLinejoin","strokeWidth","memo","Button","label","_ref$loading","loading","_ref$success","success","_ref$className","otherProps","_objectWithoutProperties","_excluded","_jsxs","_objectSpread","classNames","ButtonLoader","Success","Check","Callout","_ref$style","style","CALLOUT_STYLES","ERROR","_ref$position","position","CALLOUT_POSITIONS","ABSOLUTE","_ref$callout","callout","onClose","isVisible","title","message","primaryButton","secondaryButton","classnames","_defineProperty","INFO","STATIC","isPresent","onClick","Close","not","isBlank","withI18nInstance","Component","i18n","I18nWrapper","props","I18nextProvider","displayName","concat","getComponentDisplayName","useIsMounted","isMounted","useRef","useEffect","current","withT","t","Typography","ExternalForm","_path","_formikInnerRef$curre","_ref$preview","preview","formId","submissionId","customSubmitHandler","onBeforeSubmit","onSubmitSuccess","_ref$showTitle","showTitle","formTitle","submitButtonProps","cancelButtonProps","resetButtonProps","_ref$displayThankYou","displayThankYou","_ref$showEmptyState","showEmptyState","_ref$preserveValues","preserveValues","_ref$clearValuesOnRes","clearValuesOnReset","_ref$clearValuesOnSub","clearValuesOnSubmit","_ref$initialValues","initialValues","onChange","formDomProps","_ref$editorProps","editorProps","customValidator","_ref$autoCompleteKind","autoCompleteKinds","_ref$enablePreFilling","enablePreFilling","_ref$language","language","i18next","resolvedLanguage","_useState","useState","_useState2","_slicedToArray","isSubmitted","setIsSubmitted","_useState3","_useState4","showSuccess","setShowSuccess","_useState5","getWithExpiry","_useState6","localValues","setLocalValues","_useState7","_useState8","error","setError","formRef","formikInnerRef","editorRef","captchaRef","queryClient","useQueryClient","_usePublicForm","usePublicForm","enabled","_usePublicForm$data","data","form","questions","isQuestionsLoading","isLoading","_form$questions","formUuid","path","equals","clientI18nInstance","changeLanguage","clearEmailVerificationDetails","_useTranslation","useTranslation","_useCreateSubmission","useCreateSubmission","createSubmission","mutateAsync","_useUpdateSubmission","useUpdateSubmission","updateSubmission","_useSubmission","useSubmission","placeholderData","responses","submission","clearLocalFormValues","clearLocalStorageValues","onSubmit","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","values","_ref2","setSubmitting","newResponses","wrap","_callee$","_context","prev","next","generateFormResponse","Promise","resolve","setTimeout","sent","invalidateQueries","queryKey","QUERY_KEYS","SUBMISSION","neetoFormResponse","t0","parseServerError","finish","stop","_x","_x2","apply","arguments","onReset","e","handleReset","_editorRef$current","_captchaRef$current","_formDomProps$onReset","generateInitValues","setQueryData","editor","commands","setContent","reset","call","handleScrollToError","errors","errorKeys","Object","keys","isEmpty","_iterator","_createForOfIteratorHelper","_step","s","n","done","formElement","value","includes","name","scrollIntoView","behavior","block","err","f","_queryClient$getQuery","getQueryState","QUESTIONS","dataUpdateCount","keyPressRef","useHotkeys","handleSubmit","noop","mode","PageLoader","displayTitle","renderedQuestions","removeBy","isHidden","weight","Formik","enableReinitialize","innerRef","fieldCodes","getQueryParams","toCamelCase","_ref4","isSubmitting","setFieldError","FormikWrap","onError","onValuesChange","Form","noValidate","ref","mergeRefs","event","target","map","question","index","_question$id","FieldComponent","getFieldComponent","isLastFewElements","length","LAST_ELEMENTS_THRESHOLD","autoComplete","buildAutoCompleteAttribute","kind","NeetoUICallout","icon","Warning","isResponseVisibleOnlyToHost","id","nodeId","NoData","renderButtonsInOrder","disabled","type"],"mappings":"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"}
|
package/dist/UrlBuilder.js
CHANGED
|
@@ -10,10 +10,10 @@ 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-
|
|
13
|
+
import { g as generateInitValues, F as FormikWrap, a as getFieldComponent, b as buildAutoCompleteAttribute, m as mergeRefs } from './utils-GRfGBny0.js';
|
|
14
14
|
import { b as usePublicForm } from './constants-51SEJjzI.js';
|
|
15
15
|
import { parsePhoneNumber } from 'libphonenumber-js';
|
|
16
|
-
import { Q as QUESTIONS_WITHOUT_FIELD_CODE, a as QUESTION_KIND } from './constants-
|
|
16
|
+
import { Q as QUESTIONS_WITHOUT_FIELD_CODE, a as QUESTION_KIND } from './constants-QPLZ_r-D.js';
|
|
17
17
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
18
18
|
import './index-DnHrq-hl.js';
|
|
19
19
|
import '@babel/runtime/helpers/typeof';
|
|
@@ -48,6 +48,7 @@ import '@bigbinary/neeto-molecules/FileUpload';
|
|
|
48
48
|
import '@bigbinary/neetoui/Label';
|
|
49
49
|
import '@bigbinary/neetoui/Select';
|
|
50
50
|
import '@bigbinary/neetoui/Radio';
|
|
51
|
+
import '@bigbinary/neeto-icons/Image';
|
|
51
52
|
import '@bigbinary/neeto-editor/Editor';
|
|
52
53
|
import '@bigbinary/neetoui/Textarea';
|
|
53
54
|
import '@bigbinary/neeto-commons-frontend/constants';
|
package/dist/UrlBuilder.js.map
CHANGED
|
@@ -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 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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"}
|
|
@@ -21,7 +21,8 @@ var useBuildFormStore = zustand.create(reactUtils.withImmutableActions(function
|
|
|
21
21
|
usesCustomSubmissionComponent: false,
|
|
22
22
|
hostSpecificData: {},
|
|
23
23
|
isReorderingQuestions: false,
|
|
24
|
-
onMutateSuccess: neetoCist.noop
|
|
24
|
+
onMutateSuccess: neetoCist.noop,
|
|
25
|
+
isPictureChoiceEnabled: false
|
|
25
26
|
},
|
|
26
27
|
setFormData: function setFormData(arg) {
|
|
27
28
|
return set(ramda.modify("formState", index.isFunction(arg) ? arg : ramda.mergeLeft(arg)));
|
|
@@ -34,4 +35,4 @@ var useBuildFormState = function useBuildFormState() {
|
|
|
34
35
|
|
|
35
36
|
exports.useBuildFormState = useBuildFormState;
|
|
36
37
|
exports.useBuildFormStore = useBuildFormStore;
|
|
37
|
-
//# sourceMappingURL=buildForm-
|
|
38
|
+
//# sourceMappingURL=buildForm-CooylMLL.js.map
|
|
@@ -0,0 +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;;;;;"}
|
|
@@ -19,7 +19,8 @@ var useBuildFormStore = create(withImmutableActions(function (set) {
|
|
|
19
19
|
usesCustomSubmissionComponent: false,
|
|
20
20
|
hostSpecificData: {},
|
|
21
21
|
isReorderingQuestions: false,
|
|
22
|
-
onMutateSuccess: noop
|
|
22
|
+
onMutateSuccess: noop,
|
|
23
|
+
isPictureChoiceEnabled: false
|
|
23
24
|
},
|
|
24
25
|
setFormData: function setFormData(arg) {
|
|
25
26
|
return set(modify("formState", isFunction(arg) ? arg : mergeLeft(arg)));
|
|
@@ -31,4 +32,4 @@ var useBuildFormState = function useBuildFormState() {
|
|
|
31
32
|
};
|
|
32
33
|
|
|
33
34
|
export { useBuildFormStore as a, useBuildFormState as u };
|
|
34
|
-
//# sourceMappingURL=buildForm-
|
|
35
|
+
//# sourceMappingURL=buildForm-DcE5kFvR.js.map
|
|
@@ -0,0 +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;;;;"}
|
package/dist/cjs/BuildForm.js
CHANGED
|
@@ -6,13 +6,13 @@ var neetoCist = require('@bigbinary/neeto-cist');
|
|
|
6
6
|
var Spinner = require('@bigbinary/neetoui/Spinner');
|
|
7
7
|
var ramda = require('ramda');
|
|
8
8
|
var constants = require('../constants-C9wKMfgo.js');
|
|
9
|
-
var constants$1 = require('../constants-
|
|
9
|
+
var constants$1 = require('../constants-BjWWA3Oq.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-
|
|
15
|
+
var buildForm = require('../buildForm-CooylMLL.js');
|
|
16
16
|
var shallow = require('zustand/shallow');
|
|
17
17
|
var Alert = require('@bigbinary/neetoui/Alert');
|
|
18
18
|
var reactI18next = require('react-i18next');
|
|
@@ -55,6 +55,7 @@ var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
|
55
55
|
var Checkbox$1 = require('@bigbinary/neetoui/formik/Checkbox');
|
|
56
56
|
var Checkbox = require('@bigbinary/neetoui/Checkbox');
|
|
57
57
|
var OptionFields = require('@bigbinary/neeto-molecules/OptionFields');
|
|
58
|
+
var Slider = require('@bigbinary/neetoui/Slider');
|
|
58
59
|
require('@bigbinary/neeto-commons-frontend/constants');
|
|
59
60
|
require('axios');
|
|
60
61
|
require('dompurify');
|
|
@@ -1895,12 +1896,17 @@ var Options = function Options(_ref) {
|
|
|
1895
1896
|
var _useTranslation = reactI18next.useTranslation(),
|
|
1896
1897
|
t = _useTranslation.t;
|
|
1897
1898
|
var _useBuildFormStore = buildForm.useBuildFormStore(function (store) {
|
|
1898
|
-
var _store$formState;
|
|
1899
|
+
var _store$formState, _store$formState2;
|
|
1899
1900
|
return {
|
|
1900
|
-
selectedLanguage: (_store$formState = store["formState"]) === null || _store$formState === void 0 ? void 0 : _store$formState["selectedLanguage"]
|
|
1901
|
+
selectedLanguage: (_store$formState = store["formState"]) === null || _store$formState === void 0 ? void 0 : _store$formState["selectedLanguage"],
|
|
1902
|
+
isPictureChoiceEnabled: (_store$formState2 = store["formState"]) === null || _store$formState2 === void 0 ? void 0 : _store$formState2["isPictureChoiceEnabled"]
|
|
1901
1903
|
};
|
|
1902
1904
|
}, shallow.shallow),
|
|
1903
|
-
selectedLanguage = _useBuildFormStore.selectedLanguage
|
|
1905
|
+
selectedLanguage = _useBuildFormStore.selectedLanguage,
|
|
1906
|
+
isPictureChoiceEnabled = _useBuildFormStore.isPictureChoiceEnabled;
|
|
1907
|
+
var _useFormikContext = formik.useFormikContext(),
|
|
1908
|
+
values = _useFormikContext.values,
|
|
1909
|
+
setFieldValue = _useFormikContext.setFieldValue;
|
|
1904
1910
|
var name = "optionsAttributes";
|
|
1905
1911
|
var _useField = formik.useField(name),
|
|
1906
1912
|
_useField2 = _slicedToArray(_useField, 3);
|
|
@@ -1919,24 +1925,56 @@ var Options = function Options(_ref) {
|
|
|
1919
1925
|
var isManageOptionDisabled = index.isFunction(freezeOptions) ? freezeOptions(selectedLanguage) : freezeOptions;
|
|
1920
1926
|
var isAddOptionDisabled = disableAddOption || isManageOptionDisabled;
|
|
1921
1927
|
var isRemoveOptionDisabled = disableRemoveOption || isManageOptionDisabled;
|
|
1928
|
+
var isDropdown = values.kind === constants.QUESTION_TYPES.DROPDOWN;
|
|
1929
|
+
var isPictureChoice = isPictureChoiceEnabled && !isDropdown && (values.isPictureChoice || constants$1.DEFAULT_CHOICE_QUESTION_ATTRIBUTES.isPictureChoice);
|
|
1930
|
+
var imageHeight = values.imageHeight || constants$1.DEFAULT_CHOICE_QUESTION_ATTRIBUTES.imageHeight;
|
|
1931
|
+
var handleImageHeightChange = function handleImageHeightChange(value) {
|
|
1932
|
+
setFieldValue("imageHeight", value);
|
|
1933
|
+
};
|
|
1922
1934
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1923
|
-
className: "w-full",
|
|
1924
|
-
children: [/*#__PURE__*/jsxRuntime.
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1935
|
+
className: "w-full space-y-4",
|
|
1936
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1937
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Label, _objectSpread$2(_objectSpread$2({
|
|
1938
|
+
className: "mb-2 block"
|
|
1939
|
+
}, optionLabelProps), {}, {
|
|
1940
|
+
children: t("neetoForm.questions.common.questionFields.field.options")
|
|
1941
|
+
})), /*#__PURE__*/jsxRuntime.jsx(OptionFields, {
|
|
1942
|
+
isPictureChoice: isPictureChoice,
|
|
1943
|
+
name: name,
|
|
1944
|
+
shouldDestroy: true,
|
|
1945
|
+
destroyFlagName: "_destroy",
|
|
1946
|
+
disabled: isManageOptionDisabled,
|
|
1947
|
+
draggable: !isManageOptionDisabled,
|
|
1948
|
+
isAddOptionEnabled: !isAddOptionDisabled,
|
|
1949
|
+
isDeleteOptionEnabled: !isRemoveOptionDisabled,
|
|
1950
|
+
isNewItemsPrefilled: constants$1.isDefaultLanguage(selectedLanguage),
|
|
1951
|
+
minOptions: constants$1.MINIMUM_OPTIONS,
|
|
1952
|
+
shouldResetEmptyOptionOnBlur: false,
|
|
1953
|
+
onChange: setOptionsAttributes
|
|
1954
|
+
})]
|
|
1955
|
+
}), !isDropdown && isPictureChoiceEnabled && /*#__PURE__*/jsxRuntime.jsxs(Block, {
|
|
1956
|
+
title: t("neetoForm.questions.common.questionFields.field.pictureChoiceSettings"),
|
|
1957
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Switch, {
|
|
1958
|
+
name: "isPictureChoice",
|
|
1959
|
+
label: t("neetoForm.questions.common.questionFields.field.addPicturesToOptions")
|
|
1960
|
+
}), isPictureChoice && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1961
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Switch, {
|
|
1962
|
+
name: "shouldFitImages",
|
|
1963
|
+
label: t("neetoForm.questions.common.questionFields.field.fitImages")
|
|
1964
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1965
|
+
className: "mt-4",
|
|
1966
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
1967
|
+
style: "body2",
|
|
1968
|
+
weight: "medium",
|
|
1969
|
+
children: t("neetoForm.questions.common.questionFields.field.imageHeight")
|
|
1970
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Slider, {
|
|
1971
|
+
max: constants$1.IMAGE_HEIGHT_SLIDER_DEFAULTS.max,
|
|
1972
|
+
min: constants$1.IMAGE_HEIGHT_SLIDER_DEFAULTS.min,
|
|
1973
|
+
value: imageHeight,
|
|
1974
|
+
onChange: handleImageHeightChange
|
|
1975
|
+
})]
|
|
1976
|
+
})]
|
|
1977
|
+
})]
|
|
1940
1978
|
})]
|
|
1941
1979
|
});
|
|
1942
1980
|
};
|
|
@@ -2209,7 +2247,8 @@ var Form = function Form(_ref) {
|
|
|
2209
2247
|
usesCustomSubmissionComponent = _ref.usesCustomSubmissionComponent,
|
|
2210
2248
|
questionsFromCache = _ref.questionsFromCache,
|
|
2211
2249
|
onMutateSuccess = _ref.onMutateSuccess,
|
|
2212
|
-
advancedFeatures = _ref.advancedFeatures
|
|
2250
|
+
advancedFeatures = _ref.advancedFeatures,
|
|
2251
|
+
isPictureChoiceEnabled = _ref.isPictureChoiceEnabled;
|
|
2213
2252
|
var containerRef = React.useRef();
|
|
2214
2253
|
var _useStateWithDependen = reactUtils.useStateWithDependency(questionsFromCache),
|
|
2215
2254
|
_useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
|
|
@@ -2283,9 +2322,10 @@ var Form = function Form(_ref) {
|
|
|
2283
2322
|
hostSpecificData: hostSpecificData,
|
|
2284
2323
|
onMutateSuccess: onMutateSuccess,
|
|
2285
2324
|
advancedFeatures: advancedFeatures,
|
|
2286
|
-
onLanguageChange: onLanguageChange
|
|
2325
|
+
onLanguageChange: onLanguageChange,
|
|
2326
|
+
isPictureChoiceEnabled: isPictureChoiceEnabled
|
|
2287
2327
|
});
|
|
2288
|
-
}, [formId, isFormEnabled, savedTitle, setFormData, selectedLanguage, helpDocUrls, isUsingDefaultQuestionKinds, usesCustomSubmissionComponent, hostSpecificData, onMutateSuccess, advancedFeatures, onLanguageChange]);
|
|
2328
|
+
}, [formId, isFormEnabled, savedTitle, setFormData, selectedLanguage, helpDocUrls, isUsingDefaultQuestionKinds, usesCustomSubmissionComponent, hostSpecificData, onMutateSuccess, advancedFeatures, onLanguageChange, isPictureChoiceEnabled]);
|
|
2289
2329
|
var handleSelect = function handleSelect(question) {
|
|
2290
2330
|
setSelectedQuestion(question);
|
|
2291
2331
|
};
|
|
@@ -2468,7 +2508,9 @@ var BuildForm = function BuildForm(_ref) {
|
|
|
2468
2508
|
onMutateSuccess = _ref$onMutateSuccess === void 0 ? neetoCist.noop : _ref$onMutateSuccess,
|
|
2469
2509
|
hostSpecificData = _ref.hostSpecificData,
|
|
2470
2510
|
_ref$canManageQuestio = _ref.canManageQuestions,
|
|
2471
|
-
canManageQuestions = _ref$canManageQuestio === void 0 ? false : _ref$canManageQuestio
|
|
2511
|
+
canManageQuestions = _ref$canManageQuestio === void 0 ? false : _ref$canManageQuestio,
|
|
2512
|
+
_ref$isPictureChoiceE = _ref.isPictureChoiceEnabled,
|
|
2513
|
+
isPictureChoiceEnabled = _ref$isPictureChoiceE === void 0 ? false : _ref$isPictureChoiceE;
|
|
2472
2514
|
var queryClient = reactQuery.useQueryClient();
|
|
2473
2515
|
var _useForm = constants.useForm({
|
|
2474
2516
|
formId: id,
|
|
@@ -2520,6 +2562,7 @@ var BuildForm = function BuildForm(_ref) {
|
|
|
2520
2562
|
isDisabledFieldLabel: isDisabledFieldLabel,
|
|
2521
2563
|
isFormEnabled: isFormEnabled,
|
|
2522
2564
|
isKindAlreadyActive: isKindAlreadyActive,
|
|
2565
|
+
isPictureChoiceEnabled: isPictureChoiceEnabled,
|
|
2523
2566
|
isRequiredField: isRequiredField,
|
|
2524
2567
|
isUsingDefaultQuestionKinds: isUsingDefaultQuestionKinds,
|
|
2525
2568
|
kindUniqueOn: kindUniqueOn,
|