{"version":3,"sources":["webpack:///./scss/exports.scss","webpack:///./components/AdvancedForm/AdvancedForm.js","webpack:///./components/AdvancedForm/ChangeButton/ChangeButton.js","webpack:///./components/AdvancedForm/ChangeButton/index.js","webpack:///./components/AdvancedForm/Confirmation/Confirmation.js","webpack:///./components/AdvancedForm/Confirmation/index.js","webpack:///./components/AdvancedForm/Field/Field.js","webpack:///./components/AdvancedForm/Field/helpers/index.js","webpack:///./components/AdvancedForm/Field/index.js","webpack:///./components/AdvancedForm/FormSection/FormSection.js","webpack:///./components/AdvancedForm/FormSection/index.js","webpack:///./components/AdvancedForm/Progress/Progress.js","webpack:///./components/AdvancedForm/Progress/index.js","webpack:///./components/AdvancedForm/index.js","webpack:///./components/RawHtml/RawHtml.js","webpack:///./components/RawHtml/index.js","webpack:///./components/hooks/index.js","webpack:///./components/hooks/useDebouncedValue.js","webpack:///./components/hooks/useMediaQuery.js","webpack:///./components/hooks/useRunOnceForSetNonEmptyValue.js","webpack:///./components/hooks/useWindowSize.js","webpack:///./i18n/index.js","webpack:///./scss/exports.scss?10b4","webpack:///./utils/scrollToElement.js","webpack:///./utils/snakeCaseToCamelCase.js","webpack:///./utils/tracking.js","webpack:///./utils/utils.js","webpack:///./utils/wpClient.js","webpack:///./utils/wpUtils.js"],"names":["AdvancedForm","formId","useState","formLayout","setFormLayout","loaded","sections","validationSchema","initialValues","initialTouched","submitButtonText","sectionLabels","privacyPolicyUrl","icons","infoTexts","sectionIndex","setSectionIndex","sectionTouchedMaxIndex","setSectionTouchedMaxIndex","isSubmitting","setIsSubmitting","formRef","useRef","containerRef","respContainerRef","sectionRefs","isDesktop","useMediaQuery","styleDefs","breakMediumXLarge","useWindowSize","windowWidth","width","debouncedWindowWidth","useDebouncedValue","useEffect","triggerTransitionAnimation","captchaEl","document","querySelector","style","visibility","zIndex","getForm","form","currentSection","current","sectionDims","getBoundingClientRect","minHeight","height","useRunOnceForSetNonEmptyValue","setTimeout","activateConditionalSections","formik","_sections","conditionalSections","filter","s","isConditional","allValues","values","logicType","conditionalLogic","actionType","allConditionValues","conditionalRules","r","id","fieldId","op","operator","ruleValue","value","fieldValue","Array","isArray","indexOf","push","shouldRender","length","v","conditionalActive","maxActiveSectionIndex","i","isLastSection","updateSectionsDims","scaleX","offsetWidth","useSprings","to","x","window","innerWidth","sc","display","config","tension","friction","animProps","setAnimProps","scrollToContainerTop","scrollToElement","getNextSectionIndex","newIndex","getPrevSectionIndex","nextSection","confirmationSection","confirmationIndex","prevSection","setSection","index","clamp","handleSubmit","actions","captchaKey","__mentorSettings","google","captchaSiteKey","showLoaderMinMs","ts","performance","now","grecaptcha","execute","action","token","verifyCaptcha","captchaResult","error","setErrors","submitError","i18n","t","console","allFields","reduce","acc","fields","enabledValues","f","shouldRenderField","replace","submitForm","result","elapsedMs","sleep","trackFormSubmission","title","fbq","resetForm","showRespSectionProgress","isRtlLang","dir","currentActiveSectionCount","formRevision","map","transform","isConfirmationSection","el","conditionalOptions","confirmation","message","propTypes","PropTypes","string","isRequired","CloseIcon","NotePencil","ChangeButton","currentSectionIndex","isActive","setIsActive","isDisabled","items","classes","classNames","item","ListItem","label","step","isLinkable","handleClick","Confirmation","React","forwardRef","ref","content","ChevronDownIcon","InfoIcon","Field","type","choices","inputs","cssClass","placeholder","description","errorMessage","consentDescriptionRevision","checkboxLabel","fieldWidthPercentage","customValidationRules","enableEnhancedUI","touched","errors","setFieldValue","handleBlur","currValue","get","Component","formComponents","input","hasFieldError","errorTransition","useTransition","from","opacity","y","enter","leave","fieldClasses","fieldErrorClasses","oneOfType","array","number","bool","object","Input","name","inputMode","__html","fieldDescription","SelectOption","formikContext","useFormikContext","isFocused","setIsFocused","selectClasses","options","text","isSearchable","styles","control","baseStyles","state","padding","backgroundColor","borderRadius","border","boxShadow","indicatorSeparator","dropdownIndicator","valueContainer","fontSize","color","singleValue","overflow","menu","option","provided","isSelected","handleChange","selectedOption","find","Checkbox","convertFormikKeys","cleanedId","split","getConditionalOptionsForField","o","conditionalOptionsTargetField","optionsForField","disabledOptions","fieldOptions","condition","conditionalOptionsCondition","sourceField","conditionalOptionsSourceField","sourceValue","conditionalOptionsSourceFieldValue","targetOption","conditionalOptionsTargetOption","currentSourceValue","fixLabel","l","onBlur","infoBoxActive","setInfoBoxActive","handleInfoButtonClick","n","listener","event","addEventListener","removeEventListener","LabelIcon","getIconForLabel","FlagIcon","getFlagForLabel","infoText","getInfoTextForLabel","infoBoxCls","undefined","colorPurple","func","Radio","Textarea","Consent","visibleInputs","isHidden","hiddenInputs","injectPrivacyPolicyLink","KEYWORD","re","RegExp","e","target","checked","hiddenValues","UploadFile","handleFileChange","file","files","log","size","select","checkbox","radio","textarea","consent","fileupload","SwedishFlag","SpanishFlag","AfghanFlag","EthiopianFlag","GbFlag","IranianFlag","PolishFlag","EritreanFlag","SaudiFlag","SomaliFlag","RussianFlag","FrenchFlag","FinnishFlag","DannishFlag","BosnianFlag","CroatianFlag","SerbianFlag","MontenegrinFlag","GermanFlag","NorwegianFlag","AlbanianFlag","ThaiFlag","HungarianFlag","TurkishFlag","CantoneseFlag","KurdistanFlag","ArameanFlag","labelFlagMap","trim","FlagIconSvg","iconOptionsMap","camelName","toUpperCase","iconName","slice","Icon","infoTextMap","obj","inputRegex","convertedObj","Object","entries","key","convertedKey","ArrowIcon","ArrowLongIcon","field","formValues","enabled","rules","ruleLoop","mainSwitch","FormSection","section","onSubmit","sectionIsValid","validateCurrentSection","forEach","setFieldTouched","handleNextSection","nextButtonCls","isFirstSection","Progress","currentLabel","sectionProgressCls","handleSectionLink","preventDefault","RawHtml","children","className","cls","delay","debouncedValue","setDebouncedValue","handler","clearTimeout","query","matches","setMatches","media","matchMedia","debounce","fn","triggered","keys","hasBeenTriggered","windowSize","setWindowSize","handleResize","innerHeight","i18next","init","languages","fallbackLng","resources","sv","translation","en","ar","lv","lang","langCode","getElementsByTagName","getAttribute","changeLanguage","element","offset","behavior","bodyRect","body","top","elementRect","elementPosition","offsetPosition","scrollTo","snakeToCamel","convertObjectKeys","removeNull","formName","trackedMeta","form_name","form_id","dataLayer","ms","Promise","resolve","isInViewport","rect","left","bottom","documentElement","clientHeight","right","clientWidth","getCookie","cookieArr","cookie","cookiePair","decodeURIComponent","endpoints","post","posts","postOffset","perPage","captchaVerify","getPosts","contentLimit","imageSize","fetch","headers","response","json","data","mapPosts","getPost","shouldMapForm","mapForm","method","JSON","stringify","ok","status","formData","FormData","append","hasOwnProperty","pair","validation_messages","slugify","toLowerCase","stripHtmlTags","html","limitContent","limit","join","getImageUrl","wpPost","wpResponse","stripHtml","date","rendered","link","imageUrl","customFields","camelcaseKeys","customfields","deep","formOptions","formRevisionId","button","customRequiredIndicator","formIcons","formSections","a","inActiveFieldIds","allRules","GF_GRID_COLS","parseInt","layoutGridColumnSpan","emailConfirmEnabled","confirmFieldId","idx","isConfirmField","confirmations","c","isDefault","allSections","sectionCount","Yup","warn","rule","required","min","max","email","when","is","val","then","oneOf","numeric","excludeEmptyString","len","selected","defaultValue","formatFormSubmission","k"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAA,W;;;;;IACAC,U,YAAAA,U;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAA,U;;;;;;IACAC,a,YAAAA,a;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAA,a;;;;;IACAC,M,YAAAA,M;;;;;;;;;;;;;;;;;;;AAAAA,M;;;;;IACAC,W,YAAAA,W;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAA,W;;;;;IACAC,U,YAAAA,U;;;;;;;;;;;;AAAAA,U;;;;;IACAC,Y,YAAAA,Y;;;;;;;;;;;;;;;;;;AAAAA,Y;;;;;IACAC,S,YAAAA,S;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAA,S;;;;;IACAC,U,YAAAA,U;;;;;;;;;;;;;;;;;;;AAAAA,U;;;;;IACAC,W,YAAAA,W;;;;;;;;;;;;;;;;AAAAA,W;;;;;IACAC,U,YAAAA,U;;;;;;;;;;;;;;;;AAAAA,U;;;;;IACAC,W,YAAAA,W;;;;;;;;;;;;;AAAAA,W;;;;;IACAC,W,YAAAA,W;;;;;;;;;;;;;AAAAA,W;;;;;IACAC,W,YAAAA,W;;;;;;;;;;;;;;;;;;;;;;AAAAA,W;;;;;IACAC,Y,YAAAA,Y;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAA,Y;;;;;;IACAC,W,YAAAA,W;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAA,W;;;;;;IACAC,e,YAAAA,e;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAA,e;;;;;IACAC,U,YAAAA,U;;;;;;;;;;;;AAAAA,U;;;;;IACAC,a,YAAAA,a;;;;;;;;;;;;;;;;;;;AAAAA,a;;;;;IACAC,Y,YAAAA,Y;;;;;;;;;;;;;;;AAAAA,Y;;;;;;IACAC,Q,YAAAA,Q;;;;;;;;;;;;;;;AAAAA,Q;;;;;IACAC,a,YAAAA,a;;;;;;;;;;;;;;;AAAAA,a;;;;;IACAC,W,YAAAA,W;;;;;;;;;;;;;;;;;;AAAAA,W;;;;;IACAC,a,YAAAA,a;;;;;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","file":"advanced-form.js","sourcesContent":["exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"breakSmall\": \"360px\",\n\t\"breakMediumSmall\": \"480px\",\n\t\"breakMedium\": \"768px\",\n\t\"breakMediumLarge\": \"1024px\",\n\t\"breakMediumXLarge\": \"1180px\",\n\t\"breakLarge\": \"1280px\",\n\t\"breakXLarge\": \"1360px\",\n\t\"breakXXLarge\": \"1680px\",\n\t\"colorBlack\": \"#000000\",\n\t\"colorWhite\": \"#ffffff\",\n\t\"colorGray\": \"#efeee6\",\n\t\"colorRed\": \"#db3351\",\n\t\"colorGreen\": \"#00b469\",\n\t\"colorGreenDark\": \"#00a55d\",\n\t\"colorApricot\": \"#ffbc8c\",\n\t\"colorApricotDark\": \"#fea45b\",\n\t\"colorPurple\": \"#af74ff\",\n\t\"colorPurpleDark\": \"#9850fe\",\n\t\"colorYellow\": \"#ffff5c\",\n\t\"colorYellowDark\": \"#ffeb64\"\n};","import React, {\n useEffect,\n useState,\n useRef\n} from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport { useSprings, animated } from 'react-spring';\nimport clamp from 'lodash-es/clamp';\n\nimport { Formik } from 'formik';\nimport { Persist as FormikLocalStoragePersist } from 'formik-persist';\n\nimport Sticky from 'react-sticky-el';\n\nimport FormSection from './FormSection';\nimport Confirmation from './Confirmation';\nimport Progress from './Progress';\n\nimport {\n getForm,\n verifyCaptcha,\n submitForm\n} from '../../utils/wpClient';\n\nimport { sleep } from '../../utils/utils';\nimport scrollToElement from '../../utils/scrollToElement';\nimport i18n from '../../i18n';\n\nimport { shouldRenderField } from './FormSection';\n\nimport {\n useDebouncedValue,\n useMediaQuery,\n useWindowSize,\n useRunOnceForSetNonEmptyValue\n} from '../hooks';\n\nimport {\n trackFormSubmission\n} from '../../utils/tracking';\n\nimport styleDefs from '../../scss/exports.scss';\n\n\nconst AdvancedForm = ({ formId }) => {\n const [formLayout, setFormLayout] = useState({});\n\n const {\n loaded = false,\n sections = [],\n validationSchema,\n initialValues,\n initialTouched,\n submitButtonText,\n sectionLabels = [],\n privacyPolicyUrl,\n icons,\n infoTexts\n } = formLayout;\n\n const [sectionIndex, setSectionIndex] = useState(0);\n const [sectionTouchedMaxIndex, setSectionTouchedMaxIndex] = useState(0);\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const formRef = useRef(null);\n const containerRef = useRef(null);\n const respContainerRef = useRef(null);\n const sectionRefs = useRef([]);\n\n const isDesktop = useMediaQuery(\n `(min-width: ${styleDefs.breakMediumXLarge})`\n );\n\n const { width: windowWidth } = useWindowSize();\n const debouncedWindowWidth = useDebouncedValue(windowWidth, 150);\n\n // triggger the same section on window resize to adjust heights etc.\n useEffect(() => {\n triggerTransitionAnimation(sectionIndex);\n }, [debouncedWindowWidth]);\n\n // init\n useEffect(() => {\n // only display captcha badge on pages with this component\n const captchaEl = document.querySelector('.grecaptcha-badge');\n if(captchaEl) {\n captchaEl.style.visibility = 'visible';\n captchaEl.style.zIndex = '999';\n\n }\n\n (async () => {\n const form = await getForm(formId);\n\n setFormLayout(form);\n\n const currentSection = sectionRefs.current[sectionIndex];\n if (currentSection) {\n const sectionDims = currentSection.getBoundingClientRect();\n containerRef.current.style.minHeight = `${sectionDims.height}px`;\n }\n })();\n }, []);\n\n // activate conditional sections if we have persisted form state on mount:\n // this hook waits for the form layout & sections to be loaded, then\n // run this effect _once_\n //\n // (timeout is used to give FormikLocalStoragePersist some time to inject persisted state\n // in form before activating conditional sections, if any)\n\n useRunOnceForSetNonEmptyValue(() => {\n setTimeout(() => {\n activateConditionalSections();\n }, 300);\n }, formLayout);\n\n const activateConditionalSections = () => {\n if(!formRef.current) {\n return;\n }\n\n const formik = formRef.current;\n\n let _sections = [...sections];\n const conditionalSections = sections\n .filter(s => s.isConditional);\n\n // keyed by 'input_{id}'\n const allValues = formik.values;\n\n for(const s of conditionalSections) {\n const logicType = s.conditionalLogic?.logicType || 'all';\n const actionType = s.conditionalLogic?.actionType || 'show';\n\n let allConditionValues = [];\n\n for (const r of s.conditionalRules) {\n const id = r.fieldId;\n const op = r.operator;\n const ruleValue = r.value;\n\n const fieldValue = allValues[`input_${id}`] ;\n\n switch(op) {\n case 'is':\n if(fieldValue === ruleValue\n || Array.isArray(fieldValue) && fieldValue.indexOf(ruleValue) > -1)\n {\n allConditionValues.push(true)\n } else {\n allConditionValues.push(false)\n }\n\n break;\n\n case 'isnot':\n if(fieldValue === ruleValue\n || Array.isArray(fieldValue) && fieldValue.indexOf(ruleValue) > -1)\n {\n allConditionValues.push(false);\n } else {\n allConditionValues.push(true);\n }\n\n break;\n\n default:\n throw `[AdvancedForm] Conditional operator ${op} not supported!`;\n }\n }\n\n let shouldRender = true;\n\n if (allConditionValues.length && logicType === 'all') {\n shouldRender = allConditionValues\n .filter(v => v === false)\n .length === 0;\n }\n\n if (allConditionValues.length && logicType === 'any') {\n shouldRender = allConditionValues\n .filter(v => v === true)\n .length > 0;\n }\n\n if (actionType === 'hide') {\n shouldRender = !shouldRender;\n }\n\n _sections[s.sectionIndex] = {\n ...sections[s.sectionIndex],\n conditionalActive: shouldRender\n };\n }\n\n let maxActiveSectionIndex = 0;\n for(let i = 0; i < _sections.length - 1; i++) {\n _sections[i].isLastSection = false;\n\n const s = _sections[i];\n if(s.isConditional && s.conditionalActive && i > maxActiveSectionIndex) {\n maxActiveSectionIndex = i;\n } else if (!s.isConditional && i > maxActiveSectionIndex) {\n maxActiveSectionIndex = i;\n }\n\n }\n\n _sections[maxActiveSectionIndex].isLastSection = true;\n\n setFormLayout({\n ...formLayout,\n sections: _sections\n });\n\n return _sections;\n }\n\n const updateSectionsDims = () => {\n setTimeout(() => {\n const currentSection = sectionRefs.current[sectionIndex];\n if (!currentSection) {\n return;\n }\n\n const sectionDims = currentSection.getBoundingClientRect();\n const scaleX = 1 / (sectionDims.width / currentSection.offsetWidth);\n\n containerRef.current.style.minHeight = `${sectionDims.height * scaleX}px`;\n }, 60);\n }\n\n\n // section transition animation\n\n const [animProps, setAnimProps] = useSprings(\n sections.length, i => ({\n to: {\n x: i * window.innerWidth,\n sc: 1,\n display: 'block'\n },\n // https://react-spring-visualizer.com/\n config: {\n tension: 248,\n friction: 27\n }\n })\n );\n\n const triggerTransitionAnimation = (sectionIndex) => {\n // :S ¯\\_(ツ)_/¯ :D\n // adjust container height for abs positioned sections\n updateSectionsDims();\n\n // start animation\n setAnimProps(i => {\n // NOTE: don't remember why this was added,\n // but it messes with the transition animation if animating\n // from, i.e., section 2 to 0\n //\n // leaving this commented in case issues arise in the future\n\n // if (i < sectionIndex - 1\n // || i > sectionIndex + 1)\n // {\n // return {\n // display: 'none'\n // };\n // }\n\n const x = (i - sectionIndex) * window.innerWidth;\n const sc = sectionIndex === i ? 1 : 0.5;\n\n return {\n x,\n sc,\n display: 'block'\n };\n });\n }\n\n const scrollToContainerTop = () => {\n if(isDesktop) {\n scrollToElement(containerRef.current, 45);\n } else {\n scrollToElement(respContainerRef.current, 0);\n }\n };\n\n const getNextSectionIndex = () => {\n const _sections = activateConditionalSections();\n\n let newIndex;\n for (newIndex = sectionIndex + 1; newIndex < _sections.length; newIndex++) {\n const s = _sections[newIndex];\n if (!s.isConditional || s.isConditional && s.conditionalActive) {\n break;\n }\n }\n\n return newIndex;\n }\n\n const getPrevSectionIndex = () => {\n const _sections = activateConditionalSections();\n\n let newIndex;\n for (newIndex = sectionIndex - 1; newIndex > 0; newIndex--) {\n const s = _sections[newIndex];\n if (!s.isConditional || s.isConditional && s.conditionalActive) {\n break;\n }\n }\n\n return newIndex;\n }\n\n const nextSection = () => {\n scrollToContainerTop();\n\n const newIndex = getNextSectionIndex();\n setSectionIndex(newIndex);\n\n if (sectionTouchedMaxIndex < newIndex) {\n setSectionTouchedMaxIndex(newIndex);\n }\n\n triggerTransitionAnimation(newIndex);\n };\n\n const confirmationSection = () => {\n const confirmationIndex = sections.length - 1;\n\n scrollToContainerTop();\n setSectionIndex(confirmationIndex);\n triggerTransitionAnimation(confirmationIndex);\n }\n\n const prevSection = () => {\n scrollToContainerTop();\n\n const newIndex = getPrevSectionIndex();\n setSectionIndex(newIndex);\n\n triggerTransitionAnimation(newIndex);\n };\n\n const setSection = (index) => {\n scrollToContainerTop();\n\n const newIndex = clamp(\n index,\n 0,\n sections.length - 1\n );\n\n setSectionIndex(newIndex);\n triggerTransitionAnimation(newIndex);\n };\n\n const handleSubmit = async () => {\n const values = formRef.current.values;\n const actions = formRef.current;\n\n // we use local state instead of built-in formik state\n // since we want to be able to ignore conditional sections/fields,\n // and formik will treat this as an invalid form state and refuse to\n // set the submitting state to true;\n // thus this hack to avoid setting up conditional validation via Yup\n setIsSubmitting(true);\n\n const captchaKey = window?.__mentorSettings?.google?.captchaSiteKey;\n\n const showLoaderMinMs = 1500;\n const ts = performance.now();\n\n // handle recaptcha validation if available\n if(window.grecaptcha && captchaKey) {\n const token = await window.grecaptcha.execute(captchaKey, { action: 'submit' });\n const captchaResult = await verifyCaptcha(token);\n\n if (captchaResult.error) {\n setIsSubmitting(false);\n\n actions.setErrors({\n submitError: i18n.t('advancedForm.submitError')\n });\n\n console.error('[AdvancedForm] Failed to submit form - captcha not valid!');\n\n return;\n }\n }\n\n const allFields = sections.reduce((acc, s) => {\n acc.push(...s.fields);\n return acc;\n }, []);\n\n const enabledValues = allFields.reduce((acc, f) => {\n if(f.isConditional && !f.conditionalActive) {\n return acc;\n }\n\n if (shouldRenderField(f, values)) {\n const id = (f.id + '').replace('.', '_');\n const value = values[`input_${id}`];\n\n acc[`input_${id}`] = value;\n }\n\n return acc;\n }, []);\n\n // submit form data\n const result = await submitForm(formId, enabledValues);\n\n // show loader animation for at least 1500ms :)\n const elapsedMs = performance.now() - ts;\n if(elapsedMs < showLoaderMinMs) {\n await sleep(showLoaderMinMs - elapsedMs);\n }\n\n setIsSubmitting(false);\n\n if(result.error) {\n actions.setErrors({\n submitError: i18n.t('advancedForm.submitError')\n });\n\n console.error('[AdvancedForm] Failed to submit form: ', result);\n return;\n }\n\n trackFormSubmission(formLayout.title, formId);\n\n // trigger FB pixel event if applicable\n if(window.fbq) {\n window.fbq('track', 'CompleteRegistration');\n }\n\n actions.resetForm();\n confirmationSection();\n }\n\n if (!loaded) {\n return null;\n }\n\n const showRespSectionProgress = sectionLabels.length > 2\n && sectionIndex < sectionLabels.length && !isDesktop;\n\n const isRtlLang = document.dir === 'rtl';\n\n const currentActiveSectionCount = sections\n .filter(s => (!s.isConditional) || (s.isConditional && s.conditionalActive))\n .length - 1;\n\n return (\n <div className=\"AdvancedFormRespContainer\" ref={respContainerRef}>\n <Formik\n innerRef={formRef}\n validationSchema={validationSchema}\n initialValues={initialValues}\n initialTouched={initialTouched}\n validateOnMount={false}\n\n // we handle submit manually, since we want to be able to ignore conditional sections/fields,\n // and formik will treat this as an invalid form state and refuse to submit the form\n onSubmit={() => {}}\n >\n {formik => (\n <React.Fragment>\n <FormikLocalStoragePersist\n name={`form-${formLayout.formId}-${formLayout.formRevision}`}\n debounce={600}\n />\n\n {showRespSectionProgress &&\n <Sticky \n boundaryElement=\".AdvancedFormRespContainer\" \n isIOSFixEnabled={false}\n >\n <Progress\n sections={sections}\n currentActiveSectionCount={currentActiveSectionCount}\n currentSectionIndex={sectionIndex}\n sectionTouchedMaxIndex={sectionTouchedMaxIndex}\n setSection={setSection}\n />\n </Sticky>\n }\n\n <div className=\"AdvancedForm\" ref={containerRef}>\n <div className=\"AdvancedForm__Inner\">\n {animProps.map(({ x, display, sc }, i) =>\n <animated.div\n className=\"AdvancedForm__TransWrappper\"\n key={i}\n style={{\n transform: x.to(x => `translate3d(${isRtlLang ? -x : x}px, 0, 0)`),\n display\n }}\n >\n <animated.div\n className=\"AdvancedForm__ScaleWrapper\"\n style={{ transform: sc.to(s => `scale(${s})`) }}\n >\n {!sections[i].isConfirmationSection ? (\n <FormSection\n ref={el => sectionRefs.current[i] = el}\n\n section={sections[i]}\n sections={sections}\n\n currentActiveSectionCount={currentActiveSectionCount}\n sectionTouchedMaxIndex={sectionTouchedMaxIndex}\n\n submitButtonText={submitButtonText}\n privacyPolicyUrl={privacyPolicyUrl}\n icons={icons}\n infoTexts={infoTexts}\n\n activateConditionalSections={activateConditionalSections}\n updateSectionsDims={updateSectionsDims}\n setSection={setSection}\n nextSection={nextSection}\n prevSection={prevSection}\n onSubmit={handleSubmit}\n isSubmitting={isSubmitting}\n\n formik={formik}\n conditionalOptions={formLayout.conditionalOptions}\n />\n ) : (\n <Confirmation\n ref={el => sectionRefs.current[i] = el}\n content={sections[i].confirmation?.message}\n />\n )}\n </animated.div>\n </animated.div>\n )}\n </div>\n </div>\n </React.Fragment>\n )}\n </Formik>\n </div>\n );\n};\n\nAdvancedForm.propTypes = {\n formId: PropTypes.string.isRequired,\n};\n\nexport default AdvancedForm;\n\n","import React, { useState } from \"react\";\nimport classNames from \"classnames\";\nimport i18n from \"../../../i18n\";\nimport CloseIcon from \"../../../assets/svg/icons/menu-close.svg\";\nimport NotePencil from \"../../../assets/svg/icons/note-pencil.svg\";\n\nconst ChangeButton = ({\n sections = [],\n sectionTouchedMaxIndex = null,\n currentSectionIndex = null,\n setSection\n}) => {\n const [isActive, setIsActive] = useState(false);\n const isDisabled = currentSectionIndex < 0 || sectionTouchedMaxIndex <= 0;\n\n const items = sections.filter(\n s =>\n !(s.isConditional && !s.conditionalActive) &&\n !s.isConfirmationSection\n );\n\n if (items.length <= 1) {\n return null;\n }\n\n const classes = classNames(\"ChangeButton\", {\n \"ChangeButton--Active\": isActive\n });\n\n return (\n <div className={classes}>\n <button\n className=\"ChangeButton__Button\"\n disabled={isDisabled}\n onClick={() => {\n setIsActive(!isActive);\n }}\n >\n <NotePencil />\n {i18n.t(\"advancedForm.changeAnswer\")}\n </button>\n <div className=\"ChangeButton__Menu\">\n <span className=\"ChangeButton__Title\">\n {i18n.t(\"advancedForm.changeStep\")}\n </span>\n <button\n className=\"ChangeButton__CloseButton\"\n onClick={() => {\n setIsActive(!isActive);\n }}\n >\n <CloseIcon className=\"ChangeButton__Icon\" />\n <span className=\"sr-only\">\n {i18n.t(\"advancedForm.close\")}\n </span>\n </button>\n <ul className=\"ChangeButton__List\">\n {items.map((item, i) => {\n return (\n <ListItem\n key={item.id}\n step={i + 1}\n isLinkable={\n i < currentSectionIndex ||\n i <= sectionTouchedMaxIndex\n }\n currentSectionIndex={currentSectionIndex}\n sectionTouchedMaxIndex={sectionTouchedMaxIndex}\n setIsActive={setIsActive}\n setSection={setSection}\n {...item}\n />\n );\n })}\n </ul>\n </div>\n </div>\n );\n};\n\nconst ListItem = ({\n label = \"\",\n step = null,\n isLinkable = false,\n setSection,\n setIsActive\n}) => {\n const handleClick = () => {\n setSection(step - 1);\n setIsActive(false);\n };\n const classes = classNames(\"ChangeButton__Item\", {\n \"ChangeButton__Item--Clickable\": isLinkable\n });\n\n return (\n <li className={classes}>\n {isLinkable ? (\n <button className=\"ChangeButton__Link\" onClick={handleClick}>\n {step}. {label}\n </button>\n ) : (\n <span className=\"ChangeButton__Link\">\n {step}. {label}\n </span>\n )}\n </li>\n );\n};\nexport default ChangeButton;\n","import ChangeButton from './ChangeButton';\n\nexport default ChangeButton;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport RawHtml from '../../RawHtml';\n\nconst Confirmation = React.forwardRef(({ content }, ref) => {\n return (\n <div className=\"FormSection Confirmation\" ref={ref}>\n <div className=\"FormSection__Inner Confirmation__Inner\">\n <RawHtml>{content}</RawHtml>\n </div>\n </div>\n );\n});\n\nConfirmation.propTypes = {\n content: PropTypes.string.isRequired,\n};\n\nexport default Confirmation;\n","import Confirmation from './Confirmation';\n\nexport default Confirmation;\nexport {\n Confirmation\n};\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport Select from 'react-select'\n\nimport { useTransition, animated } from 'react-spring';\nimport {\n useFormikContext,\n Field as FormikField,\n FastField as FormikFastField,\n} from 'formik';\n\nimport get from 'lodash-es/get';\nimport classNames from 'classnames';\n\nimport {\n getFlagForLabel,\n getIconForLabel,\n getInfoTextForLabel,\n convertFormikKeys\n} from './helpers';\n\nimport ChevronDownIcon from '../../../assets/svg/icons/chevron-down.svg';\nimport InfoIcon from '../../../assets/svg/icons/info-circle-solid.svg';\n\nimport styleDefs from '../../../scss/exports.scss';\nimport i18n from '../../../i18n';\n\nconst Field = ({\n fieldId,\n type,\n\n choices,\n inputs,\n cssClass,\n\n label,\n placeholder,\n description,\n errorMessage,\n consentDescriptionRevision,\n checkboxLabel,\n\n fieldWidthPercentage,\n isRequired,\n customValidationRules,\n conditionalOptions,\n visibility,\n enableEnhancedUI,\n\n icons,\n infoTexts,\n privacyPolicyUrl,\n\n formik,\n activateConditionalSections\n}) => {\n if(visibility === 'hidden') {\n return null;\n }\n\n const {\n values,\n touched,\n errors,\n setFieldValue,\n handleBlur\n } = formik;\n\n const currValue = get(values, fieldId, '');\n const Component = type in formComponents\n ? formComponents[type]\n : formComponents.input;\n\n const hasFieldError = touched[fieldId] && errors[fieldId];\n const errorTransition = useTransition(hasFieldError, {\n from: {\n opacity: -1,\n y: -15\n },\n enter: {\n opacity: 1,\n y: 0\n },\n leave: {\n opacity: 0,\n y: -15\n },\n });\n\n const fieldClasses = classNames('Field', {\n [`Field--W${fieldWidthPercentage}`]: true\n });\n\n const fieldErrorClasses = classNames('Field__FieldError', {\n [`Field__FieldError--${type}`]: true\n });\n return (\n <div className={fieldClasses}>\n <Component\n name={fieldId}\n id={fieldId}\n type={type}\n\n label={label}\n placeholder={placeholder}\n errorMessage={errorMessage}\n description={description}\n checkboxLabel={checkboxLabel}\n privacyPolicyUrl={privacyPolicyUrl}\n icons={icons}\n infoTexts={infoTexts}\n\n value={currValue}\n choices={choices}\n inputs={inputs}\n cssClass={cssClass}\n formik={type === 'checkbox' ? formik : null}\n conditionalOptions={conditionalOptions}\n enableEnhancedUI={enableEnhancedUI}\n\n activateConditionalSections={activateConditionalSections}\n setFieldValue={setFieldValue}\n handleBlur={handleBlur}\n\n isRequired={isRequired}\n customValidationRules={customValidationRules}\n consentDescriptionRevision={consentDescriptionRevision}\n />\n {errorTransition((({ opacity, y }, item) => item &&\n <animated.div\n className={fieldErrorClasses}\n style={{\n opacity,\n transform: y.to(y => `translate3d(0, ${-y}px, 0)`)\n }}\n >\n <InfoIcon />\n {errors[fieldId]}\n </animated.div>\n ))}\n </div>\n );\n};\n\nField.propTypes = {\n fieldId: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n choices: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n inputs: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n\n label: PropTypes.string,\n placeholder: PropTypes.string,\n description: PropTypes.string,\n errorMessage: PropTypes.string,\n consentDescriptionRevision: PropTypes.string,\n checkboxLabel: PropTypes.string,\n\n fieldWidthPercentage: PropTypes.number,\n isRequired: PropTypes.bool,\n customValidationRules: PropTypes.object,\n visibility: PropTypes.string,\n\n icons: PropTypes.object,\n infoTexts: PropTypes.object,\n privacyPolicyUrl: PropTypes.string,\n formik: PropTypes.object.isRequired,\n conditionalOptions: PropTypes.array,\n};\n\nexport default Field;\n\n\nconst Input = ({\n name,\n id,\n type,\n label,\n description,\n placeholder,\n isRequired,\n customValidationRules\n}) => {\n\n let inputMode = '';\n if (customValidationRules) {\n if ('numeric' in customValidationRules) {\n inputMode = 'numeric';\n } else if ('email' in customValidationRules) {\n inputMode = 'email';\n }\n }\n\n return (\n <div className=\"Field__Input\">\n <label className=\"Field__Label\" htmlFor={id}>\n {label}\n <span className=\"Field__RequiredSymbol\">\n {isRequired && '*'}\n </span>\n </label>\n <FormikFastField\n name={name}\n id={id}\n placeholder={placeholder}\n type={type}\n inputMode={inputMode}\n className=\"Field__Input__Inner\"\n />\n {description && (\n <p\n className=\"Field__FieldDescriptionSmall\"\n dangerouslySetInnerHTML={{ __html: description }}>\n </p>\n )}\n </div>\n );\n};\n\nInput.propTypes = {\n name: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n label: PropTypes.string,\n fieldDescription: PropTypes.string,\n placeholder: PropTypes.string,\n isRequired: PropTypes.bool,\n customValidationRules: PropTypes.object\n}\n\n\nconst SelectOption = ({\n name,\n id,\n label,\n description,\n value,\n choices,\n isRequired,\n enableEnhancedUI\n}) => {\n const formikContext = useFormikContext();\n const { setFieldValue } = formikContext;\n const [isFocused, setIsFocused] = useState(false);\n\n const selectClasses = classNames(\"Field__Select\", {\n \"Field__Select--Touched\": value !== \"\",\n \"Field__Select--Focused\": isFocused\n });\n\n const options = choices.map(object => {\n return { label: object.text, value: object.value };\n });\n\n const isSearchable = enableEnhancedUI === 1;\n\n const styles = {\n control: (baseStyles, state) => ({\n ...baseStyles,\n display: \"flex\",\n padding: \"0 0 9px 0\",\n backgroundColor: \"transparent\",\n borderRadius: \"0\",\n border: \"0\",\n boxShadow: \"none\"\n }),\n indicatorSeparator: () => ({\n display: \"none\"\n }),\n dropdownIndicator: () => ({\n display: \"none\"\n }),\n valueContainer: baseStyles => ({\n ...baseStyles,\n padding: \"2px 0\"\n }),\n placeholder: baseStyles => ({\n ...baseStyles,\n fontSize: \"18px\",\n color: \"rgba(255, 255, 255, 0.5)\"\n }),\n input: baseStyles => ({\n ...baseStyles,\n fontSize: \"18px\",\n color: \"#ffffff\"\n }),\n singleValue: baseStyles => ({\n ...baseStyles,\n fontSize: \"18px\",\n color: \"#ffffff\",\n overflow: \"visible\"\n }),\n menu: baseStyles => ({\n ...baseStyles,\n backgroundColor: \"#EFEEE6\",\n zIndex: 9\n }),\n option: (provided, state) => ({\n ...provided,\n backgroundColor: state.isSelected\n ? \"#FFBC8C\"\n : state.isFocused\n ? \"#ffffff\"\n : \"#EFEEE6\",\n color: \"#000\",\n \":hover\": {\n backgroundColor: state.isSelected ? \"\" : \"#ffffff\"\n }\n })\n };\n\n const handleChange = selectedOption => {\n setFieldValue(name, selectedOption.value);\n };\n\n return (\n <div className={selectClasses}>\n <label className=\"Field__Label\" htmlFor={id}>\n {label}\n <span className=\"Field__RequiredSymbol\">\n {isRequired && '* '}\n </span>\n {/* {description && (\n <span\n className=\"Field__DescriptionSmall\"\n dangerouslySetInnerHTML={{ __html: description }}\n >\n </span>\n )} */}\n </label>\n <div className=\"Field__Select__Container\">\n {isSearchable ? (\n <div className=\"Field__Select__AutoSuggest\">\n <Select\n styles={styles}\n options={options}\n value={options.find(\n option => option.value === value\n )}\n onChange={handleChange}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n placeholder={i18n.t(\n \"advancedForm.chooseOptionLabel\"\n )}\n />\n </div>\n ) : (\n <FormikFastField\n className=\"Field__Select__Inner\"\n name={name}\n id={id}\n as=\"select\"\n >\n <option value=\"\" disabled hidden>\n {i18n.t('advancedForm.chooseOptionLabel')}\n </option>\n {choices.map(({text, value}, index) => (\n <option key={index} value={value}>\n {text}\n </option>\n ))}\n </FormikFastField>\n )}\n <ChevronDownIcon className=\"Field__Select__Chevron\" />\n </div>\n {description && (\n <p\n className=\"Field__FieldDescriptionSmall\"\n dangerouslySetInnerHTML={{ __html: description }}>\n </p>\n )}\n </div>\n );\n}\n\nSelectOption.propTypes = {\n name: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n label: PropTypes.string,\n description: PropTypes.string,\n value: PropTypes.string.isRequired,\n choices: PropTypes.array.isRequired,\n isRequired: PropTypes.bool\n}\n\n\nconst Checkbox = ({\n id,\n name,\n label,\n description,\n inputs,\n handleBlur,\n activateConditionalSections,\n conditionalOptions,\n icons,\n infoTexts,\n formik\n}) => {\n const allValues = convertFormikKeys(formik?.values);\n const cleanedId = id.split('_')[1];\n\n const getConditionalOptionsForField = (id, options) =>\n options?.filter(o => o.conditionalOptionsTargetField === id);\n const optionsForField = getConditionalOptionsForField(cleanedId, conditionalOptions);\n\n let disabledOptions = [];\n if (optionsForField && optionsForField.length) {\n disabledOptions = optionsForField.reduce((disabledOptions, fieldOptions) => {\n const condition = fieldOptions.conditionalOptionsCondition;\n const sourceField = fieldOptions.conditionalOptionsSourceField;\n const sourceValue = fieldOptions.conditionalOptionsSourceFieldValue;\n const targetOption = fieldOptions.conditionalOptionsTargetOption;\n\n const currentSourceValue = allValues[sourceField];\n\n switch(condition) {\n case 'is':\n if (sourceValue === currentSourceValue\n || Array.isArray(currentSourceValue) && currentSourceValue.indexOf(sourceValue) > -1)\n {\n disabledOptions.push(targetOption);\n }\n\n break;\n\n case 'isnot':\n if (sourceValue !== currentSourceValue\n && Array.isArray(currentSourceValue) && currentSourceValue.indexOf(sourceValue) === -1)\n {\n disabledOptions.push(targetOption);\n }\n\n break;\n\n default:\n console.error(`[AdvancedForm] conditional operator '${op}' not supported for fields!`);\n return disabledOptions;\n }\n\n return disabledOptions;\n }, []);\n }\n\n // fix spacing in salesforce sourced labels, i.e:\n // \"a/b\" => \"a / b\"\n // (makes the label wrap nicely)\n const fixLabel = (l) =>\n l.replace(/(\\S?)(\\/)(\\S?)/gm, '$1 $2 $3');\n\n const onBlur = (...args) => {\n handleBlur(...args);\n\n setTimeout(() => {\n activateConditionalSections();\n }, 150);\n }\n\n const [infoBoxActive, setInfoBoxActive] = useState(-1);\n const handleInfoButtonClick = (n) => {\n setInfoBoxActive(n)\n }\n\n useEffect(() => {\n if(infoBoxActive === -1) {\n return;\n }\n\n const listener = (event) => {\n setInfoBoxActive(-1);\n };\n\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n }, [infoBoxActive]);\n\n return (\n <div className=\"Field__CheckboxGroup\">\n <label className=\"Field__CheckboxLabel\">\n {label}\n </label>\n <p\n className=\"Field__Description\"\n dangerouslySetInnerHTML={{ __html: description }}\n >\n </p>\n <div className=\"Field__CheckboxGroup__Wrapper\">\n {inputs.map(({id, label}, i) => {\n const LabelIcon = getIconForLabel(icons, label);\n const FlagIcon = getFlagForLabel(label);\n\n const infoText = getInfoTextForLabel(infoTexts, label);\n\n const infoBoxCls = classNames('Field__CheckboxGroup__InfoBox', {\n 'Field__CheckboxGroup__InfoBox--Active': infoBoxActive === i\n });\n\n const isDisabled = disabledOptions.indexOf(id) > -1;\n\n return (\n <div className=\"Field__CheckboxGroup__Container\" key={i}>\n {infoText && (\n <div\n className={infoBoxCls}\n >\n {infoText}\n </div>\n )}\n\n <FormikField\n id={id}\n name={name}\n value={label}\n type=\"checkbox\"\n disabled={isDisabled}\n className=\"Field__Checkbox\"\n\n // needed since safari doesn't trigger a blur event on checkbox click/blur,\n // which messes up validation + next section button\n onClick={!isDisabled ? onBlur : undefined}\n />\n <label htmlFor={id}>\n {LabelIcon &&\n <LabelIcon\n size=\"52\"\n color={styleDefs.colorPurple}\n weight=\"duotone\"\n />\n }\n {!LabelIcon && FlagIcon &&\n <FlagIcon/>\n }\n <span className=\"Field__CheckboxGroup__LabelText\">\n {fixLabel(label)}\n </span>\n {infoText && (\n <div className=\"Field__CheckboxGroup__InfoButtonWrapper\">\n <button\n className=\"Field__CheckboxGroup__InfoButton\"\n onClick={() => {\n if(infoBoxActive !== i) {\n handleInfoButtonClick(i)\n }\n }}\n >\n <InfoIcon />\n </button>\n </div>\n )}\n </label>\n </div>\n )}\n )}\n </div>\n </div>\n );\n}\n\nCheckbox.propTypes = {\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n description: PropTypes.string,\n inputs: PropTypes.array.isRequired,\n handleBlur: PropTypes.func.isRequired,\n activateConditionalSections: PropTypes.func.isRequired,\n icons: PropTypes.object,\n infoTexts: PropTypes.object,\n formik: PropTypes.object.isRequired,\n conditionalOptions: PropTypes.array\n}\n\n\nconst Radio = ({\n name,\n label,\n description,\n choices,\n isRequired,\n handleBlur,\n activateConditionalSections\n}) => {\n const onBlur = (...args) => {\n handleBlur(...args);\n\n setTimeout(() => {\n activateConditionalSections();\n }, 150);\n }\n\n return (\n <div className=\"Field__RadioGroup\" role=\"group\" aria-labelledby=\"checkbox-group\">\n <label className=\"Field__Label\">\n {label}\n <span className=\"Field__RequiredSymbol\">\n {isRequired && '*'}\n </span>\n </label>\n <div className=\"Field__RadioGroup__Wrapper\">\n {choices.map(({ value, text }, i) => {\n return (\n <div className=\"Field__RadioGroup__Container\" key={i}>\n <FormikFastField\n name={name}\n id={`${name}-${i}`}\n value={value}\n type=\"radio\"\n\n // needed since safari doesn't trigger a blur event on checkbox click/blur,\n // which messes up validation + next section button\n onClick={onBlur}\n />\n <label htmlFor={`${name}-${i}`}>\n {text}\n </label>\n </div>\n )\n })}\n </div>\n {description && (\n <p\n className=\"Field__FieldDescriptionSmall\"\n dangerouslySetInnerHTML={{ __html: description }}>\n </p>\n )}\n </div>\n )\n};\n\nRadio.propTypes = {\n name: PropTypes.string.isRequired,\n label: PropTypes.string,\n choices: PropTypes.array.isRequired,\n isRequired: PropTypes.bool,\n handleBlur: PropTypes.func.isRequired,\n activateConditionalSections: PropTypes.func.isRequired\n}\n\n\nconst Textarea = ({\n name,\n label,\n description,\n placeholder,\n isRequired\n}) => (\n <div className=\"Field__Textarea\">\n <label className=\"Field__Label\">\n {label}\n <span className=\"Field__RequiredSymbol\">\n {isRequired && '*'}\n </span>\n </label>\n {description && (\n <p\n className=\"Field__FieldDescriptionSmall\"\n dangerouslySetInnerHTML={{ __html: description }}>\n </p>\n )}\n <FormikFastField\n name={name}\n placeholder={placeholder}\n as=\"textarea\"\n className=\"Field__Textarea__Inner\"\n />\n </div>\n);\n\nTextarea.propTypes = {\n name: PropTypes.string.isRequired,\n label: PropTypes.string,\n placeholder: PropTypes.string,\n isRequired: PropTypes.bool\n}\n\n\nconst Consent = ({\n name,\n checkboxLabel,\n description,\n\n setFieldValue,\n handleBlur,\n activateConditionalSections,\n inputs,\n\n isRequired,\n consentDescriptionRevision,\n privacyPolicyUrl\n}) => {\n const visibleInputs = inputs.filter(i => !i.isHidden);\n const hiddenInputs = inputs\n .filter(i => i.isHidden)\n .map(i => {\n const value = i.label === 'Text'\n ? checkboxLabel\n : (i.label === 'Description' || i.label === 'Beskrivning')\n ? consentDescriptionRevision\n : null;\n\n return {\n ...i,\n value\n };\n });\n\n\n const injectPrivacyPolicyLink = (content) => {\n const KEYWORD = 'policy';\n\n const re = new RegExp(`(\\\\S+${KEYWORD})`, 'gm');\n return content.replace(\n re,\n `<a target=\"_blanK\" href=\"${privacyPolicyUrl}\">$1</a>`\n );\n };\n\n const onBlur = (...args) => {\n handleBlur(...args);\n\n setTimeout(() => {\n activateConditionalSections();\n }, 150);\n }\n\n return (\n <div className=\"Field__Consent\">\n {visibleInputs.map(({ id }, index) => (\n <div key={index}>\n <FormikFastField\n id={id}\n name={name}\n value=\"1\"\n type=\"checkbox\"\n onChange={(e) => {\n if (e.target.checked && e.target.value) {\n const hiddenValues = hiddenInputs.map(i => i.value);\n setFieldValue(name, [e.target.value, ...hiddenValues], true);\n } else {\n setFieldValue(name, undefined, true);\n }\n\n // needed since safari doesn't trigger a blur event on checkbox click/blur,\n // which messes up validation + next section button\n setTimeout(() => onBlur(e), 10);\n }}\n />\n <label htmlFor={id}>\n {checkboxLabel}\n <span className=\"Field__RequiredSymbol\">\n {isRequired && '*'}\n </span>\n </label>\n </div>\n ))}\n <p\n className=\"Field__Consent__Description\"\n dangerouslySetInnerHTML={{ __html: injectPrivacyPolicyLink(description) }}\n />\n </div>\n )\n};\n\nConsent.propTypes = {\n name: PropTypes.string.isRequired,\n checkboxLabel: PropTypes.string,\n description: PropTypes.string,\n\n setFieldValue: PropTypes.func.isRequired,\n handleBlur: PropTypes.func.isRequired,\n activateConditionalSections: PropTypes.func.isRequired,\n inputs: PropTypes.array.isRequired,\n\n isRequired: PropTypes.bool,\n consentDescriptionRevision: PropTypes.string.isRequired,\n privacyPolicyUrl: PropTypes.string\n};\n\nconst UploadFile = ({\n name,\n label,\n description,\n setFieldValue\n}) => {\n\n const handleFileChange = (e) => {\n const file = e.target.files[0];\n if (file) {\n console.log(file.name);\n console.log(file.size);\n console.log(file.type);\n setFieldValue(name, file);\n } else {\n setFieldValue(name, '');\n }\n };\n\n return (\n <div className=\"Field__UploadFile\">\n <label\n className=\"Field__Label\"\n htmlFor={name}\n >\n {label}\n </label>\n <input\n type=\"file\"\n name={name}\n id={name}\n onChange={handleFileChange}\n />\n {description && (\n <p\n className=\"Field__FieldDescriptionSmall\"\n dangerouslySetInnerHTML={{ __html: description }}>\n </p>\n )}\n </div>\n );\n}\n\nUploadFile.propTypes = {\n name: PropTypes.string.isRequired,\n label: PropTypes.string,\n description: PropTypes.string,\n setFieldValue: PropTypes.func.isRequired\n}\n\nconst formComponents = {\n input: Input,\n select: SelectOption,\n checkbox: Checkbox,\n radio: Radio,\n textarea: Textarea,\n consent: Consent,\n fileupload: UploadFile\n};\n\nexport {\n formComponents\n};\n","import * as Icon from 'phosphor-react';\n\nimport SwedishFlag from '../../../../assets/svg/flags/se.svg';\nimport SpanishFlag from '../../../../assets/svg/flags/es.svg';\nimport AfghanFlag from '../../../../assets/svg/flags/af.svg';\nimport EthiopianFlag from '../../../../assets/svg/flags/et.svg';\nimport GbFlag from '../../../../assets/svg/flags/gb.svg';\nimport IranianFlag from '../../../../assets/svg/flags/ir.svg';\nimport PolishFlag from '../../../../assets/svg/flags/pl.svg';\nimport EritreanFlag from '../../../../assets/svg/flags/er.svg';\nimport SaudiFlag from '../../../../assets/svg/flags/sa.svg';\nimport SomaliFlag from '../../../../assets/svg/flags/so.svg';\nimport RussianFlag from '../../../../assets/svg/flags/ru.svg';\nimport FrenchFlag from '../../../../assets/svg/flags/fr.svg';\nimport FinnishFlag from '../../../../assets/svg/flags/fi.svg';\nimport DannishFlag from '../../../../assets/svg/flags/dk.svg';\nimport BosnianFlag from '../../../../assets/svg/flags/ba.svg';\nimport CroatianFlag from '../../../../assets/svg/flags/hr.svg';\nimport SerbianFlag from '../../../../assets/svg/flags/rs.svg';\nimport MontenegrinFlag from '../../../../assets/svg/flags/me.svg';\nimport GermanFlag from '../../../../assets/svg/flags/de.svg';\nimport NorwegianFlag from '../../../../assets/svg/flags/no.svg';\nimport AlbanianFlag from '../../../../assets/svg/flags/al.svg';\nimport ThaiFlag from '../../../../assets/svg/flags/th.svg';\nimport HungarianFlag from '../../../../assets/svg/flags/hu.svg';\nimport TurkishFlag from '../../../../assets/svg/flags/tr.svg';\nimport CantoneseFlag from '../../../../assets/svg/flags/cn.svg';\nimport KurdistanFlag from '../../../../assets/svg/flags/ku.svg';\nimport ArameanFlag from '../../../../assets/svg/flags/sap.svg';\n\nimport styleDefs from '../../../../scss/exports.scss';\n\nconst labelFlagMap = {\n 'Svenska': SwedishFlag,\n 'Dari': AfghanFlag,\n 'Spanska': SpanishFlag,\n 'Amarinja': EthiopianFlag,\n 'Engelska': GbFlag,\n 'Persiska': IranianFlag,\n 'Polska': PolishFlag,\n 'Tigrinja': EritreanFlag,\n 'Arabiska': SaudiFlag,\n 'Somaliska': SomaliFlag,\n 'Ryska': RussianFlag,\n 'Franska': FrenchFlag,\n 'Finska': FinnishFlag,\n 'Danska': DannishFlag,\n 'Bosniska': BosnianFlag,\n 'Kroatiska': CroatianFlag,\n 'Serbiska': SerbianFlag,\n 'Montenegrinska': MontenegrinFlag,\n 'Tyska': GermanFlag,\n 'Norska': NorwegianFlag,\n 'Albanska': AlbanianFlag,\n 'Thailändska': ThaiFlag,\n 'Ungerska': HungarianFlag,\n 'Turkiska': TurkishFlag,\n 'Kantonesiska': CantoneseFlag,\n 'Kurdiska': KurdistanFlag,\n 'Arameiska': ArameanFlag,\n 'TeckensprÃ¥k': () =>\n <Icon.HandEye color={styleDefs.colorPurple} weight=\"duotone\"/>\n};\n\nconst getFlagForLabel = (l) => {\n const label = l.trim();\n if (!(label in labelFlagMap)) {\n return null;\n }\n\n const FlagIconSvg = labelFlagMap[label];\n\n return () => (\n <div className=\"Field__Flag\">\n <FlagIconSvg />\n </div>\n )\n};\n\nconst getIconForLabel = (iconOptionsMap, l) => {\n const label = l.trim();\n if (!(label in iconOptionsMap)) {\n return null;\n }\n\n const camelName = iconOptionsMap[label]\n .replace(/(-\\w)/g, (x) => x[1].toUpperCase());\n const iconName = camelName[0].toUpperCase()\n + camelName.slice(1);\n\n return Icon[iconName];\n}\n\nconst getInfoTextForLabel = (infoTextMap, l) => {\n const label = l.trim();\n if (!(label in infoTextMap)) {\n return null;\n }\n\n return infoTextMap[l];\n}\n\nconst convertFormikKeys = (obj) => {\n const inputRegex = /^input_(.*)$/;\n const convertedObj = {};\n for (const [key, value] of Object.entries(obj)) {\n const convertedKey = key.replace(inputRegex, \"$1\").replace(/_/g, \".\");\n convertedObj[convertedKey] = value;\n }\n\n return convertedObj;\n}\n\nexport {\n getFlagForLabel,\n getIconForLabel,\n getInfoTextForLabel,\n convertFormikKeys\n};\n","import Field from './Field';\n\nexport default Field;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\nimport Field from '../Field';\nimport ChangeButton from '../ChangeButton';\nimport Progress from '../Progress';\nimport ArrowIcon from '../../../assets/svg/icons/arrow.svg';\nimport ArrowLongIcon from '../../../assets/svg/icons/arrow-long.svg';\n\nimport { useMediaQuery } from '../../hooks';\n\nimport i18n from '../../../i18n';\nimport styleDefs from '../../../scss/exports.scss';\n\nexport const shouldRenderField = (field, formValues) => {\n let shouldRender = false;\n\n if (!field.conditionalLogic?.enabled || !field.conditionalLogic?.rules.length) {\n return true;\n }\n\n const logicType = field.conditionalLogic?.logicType || 'all';\n const actionType = field.conditionalLogic?.actionType || 'show';\n\n let allConditionValues = [];\n\n ruleLoop:\n for (const r of field.conditionalLogic.rules) {\n const id = `input_${r.fieldId}`;\n const op = r.operator;\n const ruleValue = r.value;\n\n if(typeof formValues === 'undefined') {\n break;\n }\n\n const fieldValue = formValues[id];\n\n mainSwitch:\n switch (op) {\n case 'is':\n if (fieldValue === ruleValue\n || Array.isArray(fieldValue) && fieldValue.indexOf(ruleValue) > -1)\n {\n shouldRender = true;\n if (logicType === 'any') {\n break ruleLoop;\n } else {\n allConditionValues.push(shouldRender)\n }\n } else {\n shouldRender = false;\n if (logicType === 'any') {\n break ruleLoop;\n } else {\n allConditionValues.push(shouldRender)\n }\n }\n\n break mainSwitch;\n\n case 'isnot':\n if (fieldValue === ruleValue\n || Array.isArray(fieldValue) && fieldValue.indexOf(ruleValue) > -1)\n {\n shouldRender = false;\n\n if (logicType === 'any') {\n break ruleLoop;\n } else {\n allConditionValues.push(shouldRender)\n }\n } else {\n shouldRender = true;\n if (logicType === 'any') {\n break ruleLoop;\n } else [\n allConditionValues.push(shouldRender)\n ]\n }\n\n break mainSwitch;\n\n default:\n console.error(`[AdvancedForm] conditional operator '${op}' not supported for fields!`);\n break mainSwitch;\n }\n }\n\n if(allConditionValues.length && logicType === 'all') {\n shouldRender = allConditionValues\n .filter(v => v === false)\n .length === 0;\n }\n\n if (actionType === 'hide') {\n shouldRender = !shouldRender;\n }\n\n return shouldRender;\n}\n\nconst FormSection = React.forwardRef(({\n section,\n\n sectionTouchedMaxIndex,\n currentActiveSectionCount,\n\n activateConditionalSections,\n nextSection,\n prevSection,\n setSection,\n updateSectionsDims,\n\n onSubmit,\n isSubmitting,\n submitButtonText,\n\n privacyPolicyUrl,\n sections,\n icons,\n infoTexts,\n\n formik,\n conditionalOptions\n}, ref) => {\n const isDesktop = useMediaQuery(\n `(min-width: ${styleDefs.breakMediumXLarge})`\n );\n\n const sectionIsValid = section.fields\n .filter(f => shouldRenderField(f, formik.values))\n .map(f => (f.fieldId in formik.touched || !f.isRequired)\n && !(f.fieldId in formik.errors)\n )\n .filter(v => !v)\n .length === 0;\n\n const validateCurrentSection = () => {\n section.fields\n .filter(f => shouldRenderField(f, formik.values))\n .forEach(f => {\n formik.setFieldTouched(f.fieldId, true, true);\n });\n };\n\n const handleNextSection = () => {\n if (!sectionIsValid) {\n validateCurrentSection();\n return;\n }\n\n nextSection();\n };\n\n const nextButtonCls = classNames('FormSection__Button', {\n 'FormSection__Button--NotValid': !sectionIsValid\n });\n\n return (\n <div className=\"FormSection\" ref={ref}>\n <div className=\"FormSection__Inner\">\n {sections.length > 2 && isDesktop &&\n <Progress\n sections={sections}\n currentActiveSectionCount={currentActiveSectionCount}\n currentSectionIndex={section.sectionIndex}\n sectionTouchedMaxIndex={sectionTouchedMaxIndex}\n setSection={setSection}\n />\n }\n\n <div className=\"FormSection__Info\">\n <div className=\"FormSection__InfoContainer\">\n <span className=\"FormSection__Label\">\n {sections.length > 1 && (\n i18n.t('advancedForm.currentSectionLabel')\n .replace('{*}', section.sectionIndex + 1)\n .replace('{**}', currentActiveSectionCount)\n )}\n </span>\n <div className=\"FormSection__ChangeButton\">\n <ChangeButton \n sections={sections}\n currentSectionIndex={section.sectionIndex}\n sectionTouchedMaxIndex={sectionTouchedMaxIndex}\n setSection={setSection}\n />\n </div>\n </div>\n <h3\n className=\"FormSection__Title\"\n dangerouslySetInnerHTML={{ __html: section.description || section.label }}\n />\n </div>\n\n <fieldset className=\"FormSection__Fields\">\n {section.fields.map((field, index) => {\n let shouldRender = true\n\n if(field.conditionalLogic?.rules) {\n shouldRender = shouldRenderField(field, formik.values);\n }\n\n if(!shouldRender) {\n return null;\n }\n\n updateSectionsDims(60);\n\n return (\n <Field\n key={index}\n\n activateConditionalSections={activateConditionalSections}\n formik={formik}\n conditionalOptions={conditionalOptions}\n {...field}\n\n icons={icons}\n infoTexts={infoTexts}\n privacyPolicyUrl={privacyPolicyUrl}\n />\n )\n })}\n </fieldset>\n\n <div className=\"FormSection__Buttons\">\n {!section.isFirstSection &&\n <button\n className=\"FormSection__BackButton\"\n onClick={prevSection}\n >\n <ArrowIcon\n className=\"FormSection__BackButton__Icon\"\n />\n {i18n.t('advancedForm.backButtonLabel')}\n </button>\n }\n\n {!section.isLastSection &&\n <button\n className={nextButtonCls}\n onClick={handleNextSection}\n >\n <span className=\"FormSection__Button__Label\">\n {i18n.t('advancedForm.nextSectionButtonLabel')}\n <ArrowIcon\n className=\"FormSection__Button__LabelIcon\"\n />\n </span>\n <span className=\"FormSection__Button__Icon\">\n <ArrowLongIcon />\n </span>\n </button>\n }\n\n {section.isLastSection &&\n <button\n className=\"FormSection__Button\"\n onClick={onSubmit}\n disabled={isSubmitting}\n type=\"submit\"\n >\n {isSubmitting ? (\n <div className=\"FormSection__Button__Loader\">\n <div></div>\n </div>\n ) : (\n <>\n <span className=\"FormSection__Button__Label\">\n {submitButtonText || i18n.t('advancedForm.defaultSubmitButtonText')}\n </span>\n <span className=\"FormSection__Button__Icon\">\n <ArrowLongIcon />\n </span>\n </>\n )}\n </button>\n }\n </div>\n <div className=\"FormSection__SubmitError\">\n {formik.errors?.submitError}\n </div>\n </div>\n </div>\n );\n\n});\n\nFormSection.propTypes = {\n sections: PropTypes.array.isRequired,\n section: PropTypes.object.isRequired,\n\n sectionTouchedMaxIndex: PropTypes.number.isRequired,\n currentActiveSectionCount: PropTypes.number.isRequired,\n\n activateConditionalSections: PropTypes.func.isRequired,\n nextSection: PropTypes.func.isRequired,\n prevSection: PropTypes.func.isRequired,\n setSection: PropTypes.func.isRequired,\n\n onSubmit: PropTypes.func.isRequired,\n isSubmitting: PropTypes.bool.isRequired,\n submitButtonText: PropTypes.string,\n\n privacyPolicyUrl: PropTypes.string,\n icons: PropTypes.object,\n infoTexts: PropTypes.object,\n\n formik: PropTypes.object.isRequired,\n conditionalOptions: PropTypes.array\n};\n\n\nexport default FormSection;\n","import FormSection, { shouldRenderField } from './FormSection';\n\nexport default FormSection;\nexport {\n FormSection,\n shouldRenderField\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\nimport i18n from '../../../i18n';\nimport ChangeButton from '../ChangeButton';\n\nconst Progress = ({\n sections,\n currentActiveSectionCount,\n currentSectionIndex,\n sectionTouchedMaxIndex,\n setSection\n}) => {\n const currentLabel = sections[currentSectionIndex]?.label;\n\n return (\n <div className=\"Progress\">\n <div className=\"Progress__ResponsiveStatus\">\n <div className=\"Progress__Top\">\n <span className=\"Progress__ResponsiveStatus__Step\">\n {i18n.t('advancedForm.currentSectionLabel')\n .replace('{*}', currentSectionIndex + 1)\n .replace('{**}', currentActiveSectionCount)}\n </span>\n <div className=\"Progress__ChangeButton\">\n <ChangeButton \n sections={sections}\n currentSectionIndex={sections.sectionIndex}\n sectionTouchedMaxIndex={sectionTouchedMaxIndex}\n setSection={setSection}\n />\n </div>\n </div>\n <span\n className=\"Progress__ResponsiveStatus__CurrentSectionLabel\"\n dangerouslySetInnerHTML={{__html: currentLabel}}\n />\n </div>\n <div className=\"Progress__SectionWrapper\">\n {sections.map((s, i) => {\n if(s.isConditional && !s.conditionalActive) {\n return null;\n }\n\n if(s.isConfirmationSection) {\n return null;\n }\n\n const label = s.label;\n const isLinkable = i < currentSectionIndex\n || i <= sectionTouchedMaxIndex;\n const isActive = i === currentSectionIndex\n\n const sectionProgressCls = classNames(\n 'Progress__Section', {\n 'Progress__Section--Linkable': isLinkable,\n 'Progress__Section--Active': isActive\n }\n );\n\n const handleSectionLink = (e) => {\n e.preventDefault();\n setSection(i);\n };\n\n return (\n <div className={sectionProgressCls} key={i}>\n {isLinkable &&\n <a\n className=\"Progress__PrevLink\"\n onClick={handleSectionLink}\n href=\"#\"\n >\n <span className=\"sr-only\">{label}</span>\n </a>\n }\n <div className=\"Progress__Inner\">\n {label.replace(/­/g, '')}\n </div>\n <div className=\"Progress__Bar\">\n </div>\n </div>\n )\n })}\n </div>\n </div>\n );\n};\n\nProgress.propTypes = {\n sections: PropTypes.array.isRequired,\n currentActiveSectionCount: PropTypes.number.isRequired,\n // sectionLabels: PropTypes.arrayOf(PropTypes.string).isRequired,\n currentSectionIndex: PropTypes.number.isRequired,\n sectionTouchedMaxIndex: PropTypes.number.isRequired,\n setSection: PropTypes.func.isRequired\n};\n\nexport default Progress;\n","import Progress from './Progress';\n\nexport default Progress;\nexport {\n Progress\n};\n","import AdvancedForm from './AdvancedForm';\n\nexport default AdvancedForm;\nexport {\n AdvancedForm\n};\n","import React from 'react';\nimport classNames from 'classnames';\n\nconst RawHtml = ({ children, className }) => {\n const cls = classNames('RawHtml', {\n [className]: !!className\n });\n\n return (\n <div\n className={cls}\n dangerouslySetInnerHTML={{ __html: children }}\n >\n </div>\n );\n}\n\nexport default RawHtml;\n","import RawHtml from './RawHtml';\n\nexport default RawHtml;\n","import useMediaQuery from './useMediaQuery';\nimport useWindowSize from './useWindowSize';\nimport useDebouncedValue from './useDebouncedValue';\nimport useRunOnceForSetNonEmptyValue from './useRunOnceForSetNonEmptyValue';\n\nexport {\n useMediaQuery,\n useWindowSize,\n useDebouncedValue,\n useRunOnceForSetNonEmptyValue\n};\n","import { useState, useEffect } from \"react\";\n\nfunction useDebouncedValue(value, delay) {\n // State and setters for debounced value\n const [debouncedValue, setDebouncedValue] = useState(value);\n useEffect(\n () => {\n // Update debounced value after delay\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n // Cancel the timeout if value changes (also on delay change or unmount)\n // This is how we prevent debounced value from updating if value is changed ...\n // .. within the delay period. Timeout gets cleared and restarted.\n return () => {\n clearTimeout(handler);\n };\n },\n [value, delay] // Only re-call effect if value or delay changes\n );\n\n return debouncedValue;\n}\n\nexport default useDebouncedValue;\n","import { useState, useEffect } from 'react';\nimport debounce from 'lodash-es/debounce';\n\nconst useMediaQuery = (query) => {\n const [matches, setMatches] = useState(false);\n\n useEffect(() => {\n const media = window.matchMedia(query);\n if (media.matches !== matches) {\n setMatches(media.matches);\n }\n\n const listener = debounce(() => {\n setMatches(media.matches);\n }, 50);\n\n window.addEventListener('resize', listener);\n\n return () =>\n window.removeEventListener('resize', listener);\n }, [matches, query]);\n\n return matches;\n}\n\nexport default useMediaQuery;\n","import { useRef, useEffect } from 'react';\n\nconst useRunOnceForSetNonEmptyValue = (fn, value) => {\n const triggered = useRef(false);\n\n useEffect(() => {\n if (typeof value === 'undefined'\n || !value\n || Object.keys(value).length === 0\n || (Array.isArray(value) && v.length === 0))\n {\n return;\n }\n\n const hasBeenTriggered = triggered.current;\n if (!hasBeenTriggered) {\n fn();\n triggered.current = true;\n }\n }, [fn, value]);\n\n return null;\n};\n\nexport default useRunOnceForSetNonEmptyValue;\n","import { useState, useEffect } from \"react\";\n\n// https://usehooks.com/useWindowSize/\nfunction useWindowSize() {\n // Initialize state with undefined width/height so server and client renders match\n // Learn more here: https://joshwcomeau.com/react/the-perils-of-rehydration/\n const [windowSize, setWindowSize] = useState({\n width: undefined,\n height: undefined,\n });\n useEffect(() => {\n // Handler to call on window resize\n function handleResize() {\n // Set window width/height to state\n setWindowSize({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n }\n // Add event listener\n window.addEventListener(\"resize\", handleResize);\n // Call handler right away so state gets updated with initial window size\n handleResize();\n // Remove event listener on cleanup\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []); // Empty array ensures that effect is only run on mount\n return windowSize;\n}\n\nexport default useWindowSize;\n","/**\n * Usage:\n * import i18n from 'i18n'\n *\n * then call translate like this:\n * i18n.t('hello.world', 'Fallback')\n *\n * See: https://www.i18next.com/ for more information\n */\n\nimport i18next from 'i18next';\n\nimport sv from './translations/sv.json';\nimport en from './translations/en.json';\nimport ar from './translations/ar.json';\nimport lv from './translations/lv.json';\n\ni18next.init({\n languages: ['sv', 'en', 'ar'],\n fallbackLng: ['en'],\n resources: {\n sv: {\n translation: sv\n },\n en: {\n translation: en\n },\n ar: {\n translation: ar\n },\n lv: {\n translation: lv\n }\n }\n});\n\n// Update this to reflect what language your page should use\nconst lang = () => {\n const langCode = document.getElementsByTagName('html')[0]?.getAttribute('lang');\n return langCode;\n}\n\ni18next.changeLanguage(lang());\n\nexport default i18next;\n","\nvar content = require(\"!!../../node_modules/css-loader/index.js!../../node_modules/sass-loader/dist/cjs.js!./exports.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../node_modules/css-loader/index.js!../../node_modules/sass-loader/dist/cjs.js!./exports.scss\", function() {\n\t\tvar newContent = require(\"!!../../node_modules/css-loader/index.js!../../node_modules/sass-loader/dist/cjs.js!./exports.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","const scrollToElement = (element, offset = 45, behavior = 'instant') => {\n const bodyRect = document.body.getBoundingClientRect().top;\n const elementRect = element.getBoundingClientRect().top;\n const elementPosition = elementRect - bodyRect;\n const offsetPosition = elementPosition - offset;\n\n window.scrollTo({\n top: offsetPosition,\n behavior\n });\n};\n\nexport default scrollToElement;\n","function snakeToCamel (s) {\n return s.replace(/(_\\w)/g, (x) => x[1].toUpperCase());\n}\n\nexport default function convertObjectKeys (obj, removeNull = true) {\n if (Array.isArray(obj)) {\n return obj.map(convertObjectKeys);\n }\n\n if (typeof obj !== 'object') {\n return obj;\n }\n\n let r = {};\n for (let key in obj) {\n if(removeNull && obj[key] === null) {\n continue;\n }\n\n r[snakeToCamel(key)] = obj[key] && typeof obj[key] === 'object'\n ? convertObjectKeys(obj[key])\n : obj[key];\n }\n\n return r;\n}\n","const trackFormSubmission = (formName, formId) => {\n const trackedMeta = {\n event: 'form_submit',\n form_name: formName,\n form_id: formId\n };\n\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(trackedMeta);\n};\n\nexport {\n trackFormSubmission\n};\n","function sleep(ms) {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n\nfunction isInViewport(element) {\n const rect = element.getBoundingClientRect();\n\n return (\n rect.top >= 0 &&\n rect.left >= 0 &&\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n rect.right <= (window.innerWidth || document.documentElement.clientWidth)\n );\n}\n\nfunction getCookie(name) {\n let cookieArr = document.cookie.split(\";\");\n\n for (let i = 0; i < cookieArr.length; i++) {\n let cookiePair = cookieArr[i].split(\"=\");\n\n if (name == cookiePair[0].trim()) {\n return decodeURIComponent(cookiePair[1]);\n }\n }\n\n return null;\n}\n\nexport {\n sleep,\n isInViewport,\n getCookie\n};\n","import {\n mapPosts,\n mapForm,\n formatFormSubmission\n} from './wpUtils';\n\nconst endpoints = {\n // posts / papges\n\n post: (id) =>\n `/wp-json/wp/v2/post/${id}?_embed=true`,\n posts: (postOffset, perPage) =>\n `/wp-json/wp/v2/post?&offset=${postOffset}&per_page=${perPage}&_embed=1`,\n\n // forms\n\n form: (id) =>\n `/wp-json/mentor/v1/forms/${id}`,\n submitForm: (id) =>\n `/wp-json/gf/v2/forms/${id}/submissions`,\n captchaVerify: () =>\n '/wp-json/mentor/v1/captcha-verify'\n};\n\n\n// posts\n\nconst getPosts = async (contentLimit = -1, imageSize = 'large') => {\n const response = await fetch(endpoints.posts, {\n headers: { 'Content-Type': 'application/json', },\n });\n\n const data = await response.json();\n return mapPosts(data, contentLimit, imageSize);\n};\n\n\nconst getPost = async (id, contentLimit = -1, imageSize = 'large') => {\n const response = await fetch(endpoints.post(id), {\n headers: { 'Content-Type': 'application/json', },\n });\n\n const data = await response.json();\n const [post] = mapPosts([data], contentLimit, imageSize);\n\n return post;\n};\n\n// forms\n\nconst getForm = async (id, shouldMapForm = true) => {\n const response = await fetch(endpoints.form(id), {\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n const data = await response.json();\n return shouldMapForm ? mapForm(data) : data;\n};\n\nconst verifyCaptcha = async (token) => {\n const response = await fetch(endpoints.captchaVerify(), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json', },\n body: JSON.stringify({ token })\n });\n\n const data = await response.json();\n\n if (!response.ok) {\n return {\n error: {\n message: 'Captcha validation failed',\n status: response.status\n },\n }\n }\n\n return {\n error: null,\n data\n };\n}\n\n// https://docs.gravityforms.com/rest-api-v2/#post-forms-form-id-submissions\nconst submitForm = async (id, fields) => {\n const formData = new FormData();\n\n for (const key in fields) {\n if (Array.isArray(fields[key])) {\n for(let i = 0; i < fields[key].length; i++) {\n formData.append(key + '_' + (i + 1), fields[key][i]);\n }\n } else {\n if (fields.hasOwnProperty(key)) {\n formData.append(key, fields[key]);\n }\n }\n }\n\n for (let pair of formData.entries()) {\n console.log(pair[0] + ', ' + pair[1]);\n }\n\n const response = await fetch(endpoints.submitForm(id), {\n method: 'POST',\n body: formData\n });\n\n const data = await response.json();\n\n if (!response.ok) {\n return {\n error: {\n message: data.validation_messages || 'Form submission failed',\n status: response.status\n },\n }\n }\n\n return {\n error: null,\n data\n };\n};\n\nexport {\n // posts / pages\n getPost,\n getPosts,\n\n // forms\n getForm,\n submitForm,\n verifyCaptcha\n}\n","import * as Yup from 'yup';\n\nimport i18n from '../i18n';\nimport camelcaseKeys from './snakeCaseToCamelCase';\n\nconst slugify = (string) => {\n return (\n string.toLowerCase()\n .replace(/\\s+/g, '-')\n .replace(/Ã¥/g, 'a')\n .replace(/ä/g, 'a')\n .replace(/ö/g, 'o')\n .replace(/[^\\w\\-]+/g, '')\n .replace(/\\-\\-+/g, '-')\n .replace(/^-+/, '')\n .replace(/-+$/, '')\n );\n}\n\nconst stripHtmlTags = (html) =>\n html.replace(/<[^>]*>?/gm, '');\n\nconst limitContent = (content, limit) =>\n content.length <= limit\n ? content\n : content\n .split(' ')\n .slice(0, limit)\n .join(' ') + '...';\n\nconst getImageUrl = (wpPost, size = 'large') => {\n if (!wpPost['_embedded']) {\n return;\n }\n\n if (!wpPost['_embedded']['wp:featuredmedia']) {\n return;\n }\n\n const media = wpPost['_embedded']['wp:featuredmedia'][0];\n if (media && media['media_details']\n && size in media['media_details']['sizes'])\n {\n return media['media_details']['sizes'][size]['source_url'];\n } else if (media) {\n return media['source_url'];\n }\n\n return '';\n};\n\nconst mapPosts = (wpResponse, contentLimit, imageSize = 'large', stripHtml = true) => {\n const posts = wpResponse.map(post => {\n return {\n id: post.id,\n type: 'podcast',\n date: post.date,\n title: post.title.rendered,\n text: contentLimit === -1\n ? stripHtml\n ? stripHtmlTags(post.content.rendered)\n : post.content.rendered\n : stripHtml\n ? limitContent(stripHtmlTags(post.content.rendered), contentLimit)\n : limitContent(post.content.rendered),\n link: post.link,\n imageUrl: getImageUrl(post, imageSize),\n customFields: camelcaseKeys(post.customfields, {deep: true})\n };\n });\n\n return posts;\n};\n\n\nconst mapForm = (data) => {\n let formOptions = {\n loaded: true,\n error: null,\n formId: data.id,\n formRevision: data.formRevisionId,\n title: data.title || 'Form',\n submitButtonText: data.button.text || 'Submit button',\n customRequiredIndicator: data.customRequiredIndicator || '(Required)',\n privacyPolicyUrl: data.privacyPolicyUrl,\n icons: data.formIcons.reduce((icons, item) => {\n icons[item['checkbox_label']] = item['icon_name'];\n return icons;\n }, {}),\n infoTexts: data.formIcons.reduce((icons, item) => {\n icons[item['checkbox_label']] = item['info_text'];\n return icons;\n }, {})\n };\n\n if(!data.fields.length || data.fields[0].type !== 'section') {\n formOptions.error = 'Incorrectly configured for usage as an advanced form!';\n return formOptions;\n }\n\n let formSections = data.fields.reduce((a, field, i) => {\n if(field.type === 'section') {\n const s = {\n id: slugify(field.label),\n label: field.label,\n description: field.description,\n isConditional: field.conditionalLogic?.enabled || false,\n conditionalLogic: {\n logicType: field.conditionalLogic?.logicType,\n actionType: field.conditionalLogic?.actionType\n },\n conditionalRules: field.conditionalLogic?.rules,\n conditionalActive: false,\n fields: [],\n inActiveFieldIds: []\n };\n\n a.push(s);\n\n return a;\n }\n\n // we set custom validation rules with css classes - hacky but it works\n // i.e. \"min-3--max-10--numeric\"\n\n let customValidationRules = null;\n if(field.cssClass) {\n const rules = field.cssClass.split('--');\n\n customValidationRules = rules.reduce((allRules, r) => {\n const [key, value] = r.split('-');\n allRules[key] = typeof value === 'undefined' ? true : value;\n return allRules;\n }, {});\n }\n\n // set custom input field size based on gf grid\n\n const GF_GRID_COLS = 12;\n const fieldWidthPercentage = parseInt((field.layoutGridColumnSpan / GF_GRID_COLS) * 100);\n\n if (field.type === 'email' && field.emailConfirmEnabled) {\n let confirmFieldId = '';\n field.inputs.forEach((i, idx, inputs) => {\n const fieldId = `input_${i.id.replace('.', '_')}`;\n\n if(idx === 0) {\n confirmFieldId = fieldId;\n\n a[a.length - 1].fields.push({\n ...field,\n fieldId,\n fieldWidthPercentage: fieldWidthPercentage / inputs.length,\n customValidationRules,\n isConfirmField: false\n });\n } else {\n a[a.length - 1].fields.push({\n ...field,\n id: i.id,\n fieldId,\n label: i.label,\n fieldWidthPercentage: fieldWidthPercentage / inputs.length,\n customValidationRules,\n isConfirmField: true,\n confirmFieldId\n });\n }\n });\n } else {\n a[a.length - 1].fields.push({\n ...field,\n fieldWidthPercentage,\n customValidationRules,\n fieldId: `input_${field.id}`,\n ...(field.type === 'consent'\n ? { consentDescriptionRevision: data.formRevisionId }\n : {}\n )\n });\n }\n return a;\n }, []);\n\n\n const confirmationSection = {\n id: 'confirmation',\n label: '',\n fields: [],\n confirmation: Object.values(data.confirmations)\n .filter(c => c.isDefault)[0]\n };\n\n const sections = [...formSections, confirmationSection]\n .map((section, i, allSections) => {\n return {\n ...section,\n sectionIndex: i,\n sectionCount: allSections.length - 1,\n isFirstSection: i === 0,\n isLastSection: i === allSections.length - 2,\n isConfirmationSection: i === allSections.length - 1\n }\n });\n\n let initialTouched = {};\n\n const validationSchema = Yup.object(\n sections.reduce((acc, s) => {\n s.fields.forEach(f => {\n if (f.visibility === 'hidden') {\n console.warn(`[AdvancedForm] Field is hidden, skipping validation for id ${f.fieldId}: `, f);\n initialTouched[f.fieldId] = true;\n return;\n }\n\n let rule = Yup;\n\n switch (f.type) {\n case 'consent':\n rule = rule.array()\n .length(3)\n .required(\n f.errorMessage || i18n.t('advancedForm.validation.default')\n );\n\n acc[f.fieldId] = rule;\n\n break;\n\n case 'checkbox':\n rule = rule.array();\n\n if(f.isRequired) {\n rule = rule.min(\n 1,\n i18n.t('advancedForm.validation.minChoicesRequired')\n .replace('{*}', 1),\n );\n }\n\n if (typeof f.customValidationRules?.min !== 'undefined') {\n rule = rule.min(\n f.customValidationRules.min,\n i18n.t('advancedForm.validation.minChoicesRequired')\n .replace('{*}', f.customValidationRules.min)\n );\n }\n\n if (typeof f.customValidationRules?.max !== 'undefined') {\n rule = rule.max(\n f.customValidationRules.max,\n i18n.t('advancedForm.validation.maxChoicesRequired')\n .replace('{*}', f.customValidationRules.max)\n );\n }\n\n acc[f.fieldId] = rule;\n\n break;\n\n case 'email':\n rule = Yup.string()\n\n if (f.isRequired) {\n rule = rule.required(\n f.errorMessage || i18n.t('advancedForm.validation.default')\n );\n }\n\n rule = rule.email(i18n.t('advancedForm.validation.email'));\n\n if (f.isConfirmField) {\n rule = rule.required(\n f.errorMessage || i18n.t('advancedForm.validation.default')\n );\n\n rule = rule.when(f.confirmFieldId, {\n is: val => (val && val.length > 0 ? true : false),\n then: Yup.string().oneOf(\n [Yup.ref(f.confirmFieldId)],\n i18n.t('advancedForm.validation.emailConfirm')\n )\n })\n }\n\n acc[f.fieldId] = rule;\n\n break;\n\n default:\n rule = rule.string()\n\n if (typeof f.customValidationRules?.email !== 'undefined') {\n rule = rule.email(i18n.t('advancedForm.validation.email'));\n }\n\n if (typeof f.customValidationRules?.numeric !== 'undefined') {\n rule = rule.matches(/^\\d+$/, {\n message: i18n.t('advancedForm.validation.numeric'),\n excludeEmptyString: true\n });\n }\n\n if (typeof f.customValidationRules?.len !== 'undefined') {\n rule = rule.length(\n parseInt(f.customValidationRules.len),\n i18n.t('advancedForm.validation.len').replace('{*}', f.customValidationRules.len)\n )\n }\n\n if (f.isRequired) {\n rule = rule.required(\n f.errorMessage || i18n.t('advancedForm.validation.default')\n );\n }\n\n acc[f.fieldId] = rule;\n\n break;\n }\n });\n\n return acc;\n }, {})\n );\n\n const initialValues = sections.reduce((acc, s) => {\n s.fields.forEach(f => {\n if(f.choices?.length) {\n const selected = f.choices.filter(c => c.isSelected);\n\n if (selected.length) {\n acc[f.fieldId] = selected[0].value\n initialTouched[f.fieldId] = true;\n } else {\n acc[f.fieldId] = f.type === 'checkbox'\n ? []\n : '';\n }\n } else {\n if (f.visibility === 'hidden' && f.defaultValue) {\n acc[f.fieldId] = f.type === 'checkbox'\n ? [f.defaultValue]\n : f.defaultValue;\n } else {\n acc[f.fieldId] = f.type === 'checkbox'\n ? []\n : '';\n }\n }\n });\n\n return acc;\n }, {});\n\n const formData = {\n ...formOptions,\n validationSchema,\n initialValues,\n initialTouched,\n sections,\n sectionLabels: sections\n .filter(s => !s.confirmation)\n .map(s => s.label),\n conditionalOptions: data.conditionalOptions\n ? camelcaseKeys(data.conditionalOptions)\n : null\n };\n\n return formData;\n}\n\nconst formatFormSubmission = (values) => {\n return Object.keys(values).reduce((acc, k) => {\n const v = values[k];\n if(Array.isArray(v)) {\n v.forEach((item, i) =>\n acc[`${k}_${i + 1}`] = item\n );\n } else {\n acc[k] = v;\n }\n\n return acc;\n }, {});\n}\n\nexport {\n stripHtmlTags,\n getImageUrl,\n\n mapPosts,\n mapForm,\n\n formatFormSubmission\n};\n"],"sourceRoot":""}