{"version":3,"sources":["js/components/formfields/RTE.js","js/components/formfields/GalleryImageField.js","js/modules/ReactFormBuilder.js"],"names":["useState","React","RTE","props","componentClassname","concat","labelPlaceholderClassname","labelplaceholder","hasErrors","hideErrors","errors","length","showErrors","maxMatch","className","match","_useState","RichTextEditor","createValueFromString","value","_useState2","Object","slicedToArray","content","setContent","react_default","a","createElement","type","classes","inheritedClasses","isDisabled","isIncomplete","isFocused","hasValue","isValid","isInvalid","checked","htmlFor","accessibilityIds","input","label","id","required","hideOptional","info","description","icon","react_rte_default","onChange","target","toString","name","ref","inputElement","current","_","get","onFocus","onBlur","error","GalleryImageField","cloneElement","aria-labelledby","aria-describedby","href","defaultImage","file","src","URL","createObjectURL","alt","onClick","event","preventDefault","files","document","getElementById","ReactFormBuilder","_React$useState","_React$useState2","activeStep","setStep","defaultValues","fieldReferences","reactFormReference","useRef","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","_step","_iterator","formData","Symbol","iterator","next","done","section","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_loop2","field","gallery","forEach","row","idx","captionName","youtubeIdName","imageName","indexName","fileName","filefield","actionName","caption","youtube","image","options","map","option","_iterator4","fields","err","return","useEffect","PubSub","subscribe","data","setInputValues","defineProperty","date","focus","_useMergableState","useMergableState","_useMergableState2","inputValues","customValidators","push","ID","validate","replace","isLastStep","steps","addCustomValidator","validatorsList","fieldName","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_loop","validationObject","validatorId","errorMessage","regex","RegExp","size","extension","split","pop","toLowerCase","includes","moment","Config","dateFormat","dateBefore","isBefore","isSame","_iterator2","mapValidators","validatorKeys","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","mapPropsToReactField","text","tel","email","textarea","select","mappedFields","placeholder","title","tooltip","validators","validations","each","validation","errorMessages","autoFormatDate","format","renderElement","element","index","isActive","arguments","disabled","react","build","assign","fieldComponent","TextField","customProps","TextArea","RadioGroup","key","CustomField","CheckboxGroup","newValue","FileUploadField","accept","_setInputValues9","_setInputValues10","HiddenField","rteCustomProps","min","roundedPrice","Math","round","autoFormatPrice","renderSection","sectionIndex","halfSize","subHeading","data-sub-heading","publish","aria-label","onSuccess","state","e","formDataObject","resetErrors","scrollTo","formRef","formProcessor","step","Title","stepIndex","Sections","RecaptchaField","hideGoogleRecaptcha","recaptchaSiteKey","cancelUrl","window","open","cancelText","history","back","submitText"],"mappings":"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","file":"static/js/1.c523a8bf.chunk.js","sourcesContent":["import React from \"react\";\r\nimport RichTextEditor from \"react-rte\";\r\nimport _ from \"lodash\";\r\nconst { useState } = React;\r\n\r\nconst parentClassname = \"react-form\";\r\n\r\nconst RTE = props => {\r\n const componentClassname = parentClassname\r\n ? `${parentClassname}__field`\r\n : \"field\";\r\n\r\n const labelPlaceholderClassname = props.labelplaceholder\r\n ? `${componentClassname}__label--labelplaceholder`\r\n : \"\";\r\n\r\n const hasErrors =\r\n !props.hideErrors &&\r\n props.errors &&\r\n props.errors.length &&\r\n props.showErrors;\r\n\r\n const maxRegex = /max-(\\d+)/i;\r\n const maxMatch = props.className && props.className.match(maxRegex);\r\n\r\n const [content, setContent] = useState(\r\n RichTextEditor.createValueFromString(props.value, \"html\")\r\n );\r\n\r\n const handleEditorChange = content => {\r\n setContent(content);\r\n if (props.onChange) {\r\n props.onChange({\r\n target: {\r\n value: content.toString(\"html\"),\r\n name: props.name,\r\n },\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n ) : null}\r\n {/*input element*/}\r\n {\r\n props.inputElement.ref.current = _.get(\r\n input,\r\n \"refs.editor.editor\",\r\n null\r\n );\r\n }}\r\n onFocus={() => {\r\n props.onFocus &&\r\n props.onFocus({\r\n target: {\r\n value: content.toString(\"html\"),\r\n name: props.name,\r\n },\r\n });\r\n }}\r\n onBlur={() => {\r\n props.onBlur &&\r\n props.onBlur({\r\n target: {\r\n value: content.toString(\"html\"),\r\n name: props.name,\r\n },\r\n });\r\n }}\r\n />\r\n {/* Error icon */}\r\n {hasErrors ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n \r\n {maxMatch && (\r\n
\r\n {props.inputElement.props.value.length} / {maxMatch[1]}\r\n
\r\n )}\r\n \r\n\r\n {/*errors*/}\r\n {hasErrors ? (\r\n
\r\n \r\n Error: {props.errors[0]}\r\n
\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default RTE;\r\n","import React from \"react\";\r\n\r\nconst GalleryImageField = props => {\r\n const componentClassname = \"gallery-image__field\";\r\n\r\n const hasErrors =\r\n !props.hideErrors &&\r\n props.errors &&\r\n props.showErrors &&\r\n props.errors.length;\r\n\r\n return (\r\n \r\n {/*label*/}\r\n
\r\n {/*input element*/}\r\n {React.cloneElement(props.inputElement, {\r\n \"aria-labelledby\": props.label\r\n ? props.accessibilityIds.label\r\n : null,\r\n \"aria-describedby\": props.info\r\n ? props.accessibilityIds.description\r\n : null,\r\n })}\r\n
\r\n \r\n {/*errors*/}\r\n {hasErrors ? (\r\n
\r\n \r\n Error: {props.errors[0]}\r\n
\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default GalleryImageField;\r\n","// @flow\r\nimport RadioGroup from \"../components/formfields/RadioGroup\";\r\nimport CheckboxGroup from \"../components/formfields/CheckboxGroup\";\r\nimport CustomField from \"../components/formfields/CustomField\";\r\nimport HiddenField from \"../components/formfields/HiddenField\";\r\nimport TextField from \"../components/formfields/TextField\";\r\nimport TextArea from \"../components/formfields/TextArea\";\r\nimport RTE from \"../components/formfields/RTE\";\r\nimport FileUploadField from \"../components/formfields/FileUpload\";\r\nimport GalleryImageField from \"../components/formfields/GalleryImageField\";\r\n\r\nimport RecaptchaField from \"../components/formfields/RecaptchaField\";\r\nimport * as React from \"react\";\r\nimport PubSub from \"../utils/pubsub\";\r\nimport moment from \"moment\";\r\nimport Config from \"../constants/Config\";\r\nimport _ from \"lodash\";\r\nimport { scrollTo } from \"@utils/\";\r\n\r\nimport { ReactForm, ReactFormField } from \"@adrenalin/react-form\";\r\n\r\n// $FlowFixMe\r\n//import { ReactForm, ReactFormField } from \"../../../../../adrenalin/react-form/build\"; // prettier-ignore\r\n\r\nimport useMergableState from \"../hooks/useMergableState\";\r\nimport { useEffect, useRef } from \"react\";\r\n\r\ntype PropsType = {\r\n formData: Object,\r\n steps: ?Array,\r\n formProcessor: Function,\r\n recaptchaSiteKey: string,\r\n submitText: ?string,\r\n cancelUrl: ?string,\r\n cancelText: ?string,\r\n hideGoogleRecaptcha: ?boolean,\r\n};\r\n\r\nconst ReactFormBuilder = (props: PropsType): React.Node => {\r\n const [activeStep, setStep] = React.useState(0);\r\n const defaultValues = {};\r\n const fieldReferences = {};\r\n const reactFormReference: any = useRef(null);\r\n for (const section of props.formData) {\r\n for (const field of section.fields) {\r\n if (field.type === \"gallery\") {\r\n field.gallery.forEach((row: Object, idx: number): any => {\r\n const captionName = `${field.name}_${idx + 1}_caption`;\r\n const youtubeIdName = `${field.name}_${idx + 1}_youtubeId`;\r\n const imageName = `${field.name}_${idx + 1}_image`;\r\n const indexName = `${field.name}_${idx + 1}_orderIndex`;\r\n const fileName = `${field.name}_${idx + 1}_file`;\r\n const filefield = `${field.name}_${idx + 1}_filefield`;\r\n const actionName = `${field.name}_${idx + 1}_action`;\r\n defaultValues[captionName] = `${row.caption}`;\r\n defaultValues[youtubeIdName] = `${row.youtube}`;\r\n defaultValues[imageName] = `${row.image}`;\r\n defaultValues[indexName] = `${idx + 1}`;\r\n defaultValues[filefield] = fileName;\r\n defaultValues[actionName] = `ignore`;\r\n });\r\n continue;\r\n }\r\n let value = field.value;\r\n if (field.type === \"checkbox\") {\r\n value = {};\r\n field.options.map((option: Object): any => {\r\n value[option.value] = option.checked;\r\n return null;\r\n });\r\n }\r\n defaultValues[field.name] = value;\r\n }\r\n }\r\n useEffect(() => {\r\n PubSub.subscribe(`datepicker`, (data: any) => {\r\n if (data.type === \"dateSelection\") {\r\n setInputValues({\r\n [data.id]: data.date,\r\n });\r\n if (fieldReferences[data.id].current) {\r\n fieldReferences[data.id].current.focus();\r\n }\r\n }\r\n });\r\n }, []);\r\n\r\n const [inputValues, setInputValues] = useMergableState(defaultValues);\r\n const customValidators = [];\r\n\r\n customValidators.push({\r\n ID: \"notEmptyHtml\",\r\n validate: (input: Object): boolean => {\r\n return (\r\n !!input.value && input.value.replace(/<[^>]*>/g, \"\").length > 0\r\n );\r\n },\r\n error: \"Please enter a value for this field.\",\r\n });\r\n\r\n const isLastStep =\r\n !props.steps ||\r\n props.steps.length === 0 ||\r\n activeStep === props.steps.length - 1;\r\n\r\n const addCustomValidator = (validatorsList: Object, fieldName: string) => {\r\n for (const validationObject of validatorsList) {\r\n const validatorId = `${fieldName}_${validationObject.type}`;\r\n\r\n if (validationObject.type === \"minCharLength\") {\r\n customValidators.push({\r\n ID: validatorId,\r\n validate: (input: Object): boolean => {\r\n return input.value.length >= validationObject.value;\r\n },\r\n error: validationObject.errorMessage,\r\n });\r\n } else if (validationObject.type === \"maxCharLength\") {\r\n customValidators.push({\r\n ID: validatorId,\r\n validate: (input: Object): boolean => {\r\n return input.value.length <= validationObject.value;\r\n },\r\n error: validationObject.errorMessage,\r\n });\r\n } else if (validationObject.type === \"regularExpression\") {\r\n const regex = new RegExp(validationObject.value);\r\n customValidators.push({\r\n ID: validatorId,\r\n validate: (input: Object): boolean => {\r\n return input.value.match(regex);\r\n },\r\n error: validationObject.errorMessage,\r\n });\r\n } else if (validationObject.type === \"fileSize\") {\r\n customValidators.push({\r\n ID: validatorId,\r\n validate: (input: Object): boolean => {\r\n return (\r\n input.value &&\r\n input.value.size <= validationObject.value\r\n );\r\n },\r\n error: validationObject.errorMessage,\r\n });\r\n } else if (validationObject.type === \"fileType\") {\r\n customValidators.push({\r\n ID: validatorId,\r\n validate: (input: Object): boolean => {\r\n const extension = input.value.name\r\n .split(\".\")\r\n .pop()\r\n .toLowerCase();\r\n\r\n //return false;\r\n return validationObject.value.includes(extension);\r\n },\r\n error: validationObject.errorMessage,\r\n });\r\n } else if (validationObject.type === \"validDate\") {\r\n customValidators.push({\r\n ID: validatorId,\r\n validate: (input: Object): boolean => {\r\n const date = moment(input.value, Config.dateFormat);\r\n return date.isValid();\r\n },\r\n error: \"Invalid date format\",\r\n });\r\n } else if (validationObject.type === \"beforeDate\") {\r\n //This validator doesn't work because the validation function can't access state from other components\r\n customValidators.push({\r\n ID: validatorId,\r\n validate: (input: Object): boolean => {\r\n const date = moment(input.value, Config.dateFormat);\r\n const dateBefore = moment(\r\n fieldReferences[validationObject.value].current\r\n .value,\r\n Config.dateFormat\r\n );\r\n return (\r\n date.isValid() &&\r\n dateBefore.isValid() &&\r\n (dateBefore.isBefore(date) ||\r\n dateBefore.isSame(date))\r\n );\r\n },\r\n error: \"Date must be after start date\",\r\n });\r\n }\r\n }\r\n };\r\n const mapValidators = (validatorsList: Object, fieldName: string): any => {\r\n const validatorKeys = [];\r\n for (const validationObject of validatorsList) {\r\n const validatorId = `${fieldName}_${validationObject.type}`;\r\n validatorKeys.push(validatorId);\r\n validatorKeys.push(validationObject.type);\r\n }\r\n return validatorKeys;\r\n };\r\n const mapPropsToReactField = (input: any): any => {\r\n const typeMapping = {\r\n text: \"text\",\r\n tel: \"tel\",\r\n email: \"email\",\r\n textarea: \"textarea\",\r\n select: \"select\",\r\n file: \"file\",\r\n date: \"date\",\r\n label: \"label\",\r\n };\r\n\r\n const type = typeMapping[input.type];\r\n\r\n const mappedFields: any = {\r\n type,\r\n label: input.label,\r\n name: input.name,\r\n placeholder: input.placeholder || \"\",\r\n required: input.required || false,\r\n title: input.tooltip || \"\",\r\n info: input.info,\r\n validators: mapValidators(input.validations, input.name),\r\n };\r\n addCustomValidator(input.validations, input.name);\r\n\r\n if (type !== \"file\") {\r\n mappedFields.value = input.value || \"\";\r\n }\r\n\r\n // Add validators\r\n if (input.type === \"tel\") {\r\n mappedFields.validators.push(\"mobile\");\r\n }\r\n if (input.type === \"email\") {\r\n mappedFields.validators.push(\"email\");\r\n }\r\n\r\n _.each(input.validations, (validation: Object) => {\r\n if (validation.type === \"required\") {\r\n mappedFields.errorMessages = {\r\n required: validation.errorMessage,\r\n };\r\n mappedFields.required = true;\r\n }\r\n });\r\n\r\n if (input.type === \"date\") {\r\n addCustomValidator(\r\n [\r\n {\r\n type: \"validDate\",\r\n },\r\n ],\r\n input.name\r\n );\r\n mappedFields.validators.push(`${input.name}_validDate`);\r\n }\r\n if (input.type === \"file\") {\r\n addCustomValidator(\r\n [\r\n {\r\n type: \"fileType\",\r\n value: [\r\n \"jpg\",\r\n \"jpeg\",\r\n \"png\",\r\n \"pdf\",\r\n \"txt\",\r\n \"doc\",\r\n \"docx\",\r\n \"xls\",\r\n \"xlsx\",\r\n \"zip\",\r\n \"csv\",\r\n ],\r\n errorMessage:\r\n \"Invalid File Type or size for images. Only images with type: jpg or png and maximum size: 4mb can be uploaded.\",\r\n },\r\n {\r\n type: \"fileSize\",\r\n value: 4194304,\r\n errorMessage:\r\n \"Invalid File Type or size for images. Only images with type: jpg or png and maximum size: 4mb can be uploaded.\",\r\n },\r\n ],\r\n input.name\r\n );\r\n mappedFields.validators.push(`${input.name}_fileSize`);\r\n mappedFields.validators.push(`${input.name}_fileType`);\r\n }\r\n\r\n return mappedFields;\r\n };\r\n\r\n const autoFormatDate = (event: any, type: string, name: string) => {\r\n if (type === \"date\") {\r\n const date = moment(event.target.value, Config.dateFormat);\r\n if (date.isValid()) {\r\n setInputValues({\r\n [name]: date.format(Config.dateFormat),\r\n });\r\n }\r\n }\r\n };\r\n\r\n const autoFormatPrice = (event: any, type: string, name: string) => {\r\n if (type === \"price\") {\r\n const roundedPrice = Math.round(event.target.value * 100) / 100;\r\n setInputValues({\r\n [name]: roundedPrice,\r\n });\r\n }\r\n };\r\n\r\n const renderElement = (\r\n element: any,\r\n index: number,\r\n isActive: boolean = true\r\n ): React.Node => {\r\n switch (element.type) {\r\n case \"text\":\r\n case \"number\":\r\n case \"email\":\r\n case \"tel\":\r\n case \"date\":\r\n fieldReferences[element.name] = useRef(null);\r\n let disabled = false;\r\n if (\r\n element.name === \"SuppliedPrice\" &&\r\n inputValues[\"Free\"] &&\r\n inputValues[\"Free\"][\"Free\"]\r\n ) {\r\n disabled = true;\r\n }\r\n return (\r\n {\r\n setInputValues({\r\n [element.name]: event.target.value,\r\n });\r\n }}\r\n onBlur={(event: any) => {\r\n autoFormatDate(event, element.type, element.name);\r\n }}\r\n disabled={disabled}\r\n >\r\n );\r\n case \"textarea\":\r\n const customProps = {};\r\n _.each(element.validations, (validation: Object) => {\r\n if (validation.type === \"maxCharLength\") {\r\n customProps[\"className\"] = `max-${validation.value}`;\r\n }\r\n });\r\n\r\n return (\r\n {\r\n setInputValues({\r\n [element.name]: event.target.value,\r\n });\r\n }}\r\n >\r\n );\r\n case \"radio\":\r\n return (\r\n \r\n
\r\n {element.options.map(\r\n (option: any, index: number): React.Node => (\r\n {\r\n setInputValues({\r\n [option.name]: option.value,\r\n });\r\n }}\r\n required={element.required}\r\n >\r\n )\r\n )}\r\n
\r\n \r\n );\r\n case \"checkbox\":\r\n return (\r\n \r\n
\r\n {element.options.map(\r\n (option: any, index: number): React.Node => (\r\n {\r\n const newValue =\r\n inputValues[option.name];\r\n newValue[option.value] =\r\n event.target.checked;\r\n setInputValues({\r\n [option.name]: newValue,\r\n });\r\n }}\r\n >\r\n )\r\n )}\r\n
\r\n \r\n );\r\n case \"select\":\r\n return (\r\n {\r\n setInputValues({\r\n [element.name]: event.target.value,\r\n });\r\n }}\r\n >\r\n {element.placeholder && !inputValues[element.name] && (\r\n \r\n )}\r\n {element.options.map(\r\n (option: any, index: number): React.Node => (\r\n \r\n )\r\n )}\r\n \r\n );\r\n case \"file\":\r\n return (\r\n \r\n );\r\n case \"label\":\r\n return (\r\n <>\r\n

{element.title}

\r\n

\r\n {element.description}\r\n

\r\n \r\n );\r\n case \"heading\":\r\n return (\r\n <>\r\n

{element.label}

\r\n \r\n );\r\n case \"gallery\":\r\n return (\r\n <>\r\n {element.gallery.map(\r\n (row: Object, idx: number): React.Node => {\r\n const filefield = `${element.name}_${idx +\r\n 1}_filefield`;\r\n const fileName = `${element.name}_${idx +\r\n 1}_file`;\r\n const captionName = `${element.name}_${idx +\r\n 1}_caption`;\r\n const youtubeIdName = `${element.name}_${idx +\r\n 1}_youtubeId`;\r\n const indexName = `${element.name}_${idx +\r\n 1}_orderIndex`;\r\n const actionName = `${element.name}_${idx +\r\n 1}_action`;\r\n const imageName = `${element.name}_${idx +\r\n 1}_image`;\r\n return (\r\n \r\n {\r\n if (\r\n event.target.files.length >\r\n 0\r\n ) {\r\n setInputValues({\r\n [fileName]:\r\n event.target\r\n .files[0],\r\n [actionName]: \"upload\",\r\n [imageName]: \"\",\r\n });\r\n } else {\r\n setInputValues({\r\n [fileName]: null,\r\n [actionName]: \"delete\",\r\n [imageName]: \"\",\r\n });\r\n }\r\n }}\r\n >\r\n
\r\n {\r\n setInputValues({\r\n [captionName]:\r\n event.target.value,\r\n });\r\n }}\r\n onBlur={(event: any) => {\r\n autoFormatDate(\r\n event,\r\n \"text\",\r\n captionName\r\n );\r\n }}\r\n >\r\n {\r\n setInputValues({\r\n [youtubeIdName]:\r\n event.target.value,\r\n });\r\n }}\r\n onBlur={(event: any) => {\r\n autoFormatDate(\r\n event,\r\n \"text\",\r\n youtubeIdName\r\n );\r\n }}\r\n >\r\n
\r\n
\r\n {\r\n setInputValues({\r\n [indexName]:\r\n event.target.value,\r\n });\r\n }}\r\n onBlur={(event: any) => {\r\n autoFormatDate(\r\n event,\r\n \"text\",\r\n indexName\r\n );\r\n }}\r\n >\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n );\r\n }\r\n )}\r\n \r\n );\r\n case \"rte\":\r\n const rteCustomProps = {};\r\n _.each(element.validations, (validation: Object) => {\r\n if (validation.type === \"maxCharLength\") {\r\n rteCustomProps[\"className\"] = `max-${validation.value}`;\r\n }\r\n });\r\n const validators = mapPropsToReactField(element).validators;\r\n if (isActive && mapPropsToReactField(element).required) {\r\n validators.push(\"notEmptyHtml\");\r\n }\r\n return (\r\n {\r\n setInputValues({\r\n [element.name]: event.target.value,\r\n });\r\n }}\r\n >\r\n );\r\n case \"recaptcha\":\r\n return
;\r\n case \"price\":\r\n fieldReferences[element.name] = useRef(null);\r\n return (\r\n {\r\n setInputValues({\r\n [element.name]: event.target.value,\r\n });\r\n }}\r\n onBlur={(event: any) => {\r\n autoFormatPrice(event, element.type, element.name);\r\n }}\r\n >\r\n );\r\n default:\r\n return

Unkown form element type: {element.type}

;\r\n }\r\n };\r\n\r\n const renderSection = (\r\n section: any,\r\n sectionIndex: number,\r\n isActive: boolean = true\r\n ): React.Node => (\r\n
\r\n {section.title && (\r\n \r\n {section.title}\r\n \r\n )}\r\n\r\n
\r\n {section.fields.map(\r\n (element: any, index: number): React.Node => (\r\n \r\n {renderElement(element, index, isActive)}\r\n {element.type === \"date\" ? (\r\n {\r\n event.preventDefault();\r\n PubSub.publish(\"datepicker\", {\r\n type: \"openLightbox\",\r\n id: element.name,\r\n });\r\n }}\r\n aria-label=\"Open Datepicker\"\r\n >\r\n \r\n \r\n ) : null}\r\n
\r\n )\r\n )}\r\n \r\n
\r\n );\r\n return (\r\n {\r\n if (\r\n props.steps &&\r\n props.steps.length > 0 &&\r\n activeStep < props.steps.length - 1\r\n ) {\r\n reactFormReference.current.resetErrors();\r\n setStep(activeStep + 1);\r\n scrollTo(\r\n reactFormReference.current.formRef.current,\r\n 0,\r\n 500\r\n );\r\n return;\r\n }\r\n props.formProcessor(formDataObject);\r\n }}\r\n className=\"react-form__form\"\r\n ref={reactFormReference}\r\n >\r\n {props.steps && props.steps.length && (\r\n
\r\n {props.steps.map((step: any, index: number): React.Node => {\r\n return (\r\n \r\n
\r\n {index < activeStep ? (\r\n \r\n ) : (\r\n index + 1\r\n )}\r\n
\r\n
\r\n {step.Title}\r\n
\r\n
\r\n );\r\n })}\r\n \r\n )}\r\n {props.steps && props.steps.length\r\n ? props.steps.map(\r\n (step: any, stepIndex: number): React.Node => (\r\n \r\n {step.Title && (\r\n \r\n {step.Title}\r\n \r\n )}\r\n
\r\n {step.Sections.map(\r\n (\r\n sectionIndex: number,\r\n index: number\r\n ): React.Node =>\r\n renderSection(\r\n props.formData[sectionIndex],\r\n index,\r\n stepIndex <= activeStep\r\n )\r\n )}\r\n
\r\n \r\n )\r\n )\r\n : props.formData.map(renderSection)}\r\n {/* Render main inputs of form */}\r\n\r\n {\r\n setInputValues({\r\n [event.target.name]: event.target.value,\r\n });\r\n }}\r\n >\r\n\r\n {props.cancelUrl && isLastStep ? (\r\n {\r\n window.open(props.cancelUrl, \"_self\");\r\n }}\r\n >\r\n {props.cancelText || \"Cancel\"}\r\n \r\n ) : (\r\n props.steps &&\r\n props.steps.length > 0 && (\r\n {\r\n if (activeStep === 0) {\r\n window.history.back();\r\n } else {\r\n reactFormReference.current.resetErrors();\r\n setStep(activeStep - 1);\r\n scrollTo(\r\n reactFormReference.current.formRef.current,\r\n 0,\r\n 500\r\n );\r\n }\r\n }}\r\n >\r\n {\"Previous\"}\r\n \r\n )\r\n )}\r\n \r\n {props.steps &&\r\n props.steps.length > 0 &&\r\n activeStep < props.steps.length - 1\r\n ? \"Next\"\r\n : props.submitText || \"Submit\"}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ReactFormBuilder;\r\n"],"sourceRoot":""}