{"version":3,"file":"hexpert.0762b8fcdb5d6ea68677.chunk.js","mappings":"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","sources":["webpack://AlfaLaval/./components/Checkbox/Checkbox.tsx","webpack://AlfaLaval/./components/CloseButton/CloseButton.tsx","webpack://AlfaLaval/./helpers/generateTransactionId.ts","webpack://AlfaLaval/./hooks/useOutsideClick.tsx","webpack://AlfaLaval/./modules/Hexpert/helpers/formSections.ts","webpack://AlfaLaval/./modules/Hexpert/helpers/unitsConversion.ts","webpack://AlfaLaval/./modules/Hexpert/contexts/HexPertProvider.tsx","webpack://AlfaLaval/./modules/Hexpert/components/Buttons/Button/Button.tsx","webpack://AlfaLaval/./modules/Hexpert/types/hexpertTypes.ts","webpack://AlfaLaval/./assets/icons/hexpert/HEXCheckIconSmall.tsx","webpack://AlfaLaval/./modules/Hexpert/components/Checkbox/HexCheckbox.tsx","webpack://AlfaLaval/./modules/Hexpert/components/RadioItem/HexRadioItem.tsx","webpack://AlfaLaval/./modules/Hexpert/components/Buttons/LargeSelectButton/LargeSelectButton.tsx","webpack://AlfaLaval/./assets/icons/hexpert/HEXCheckIcon.tsx","webpack://AlfaLaval/./modules/Hexpert/components/Buttons/SelectButton/SelectButton.tsx","webpack://AlfaLaval/./modules/Hexpert/components/Buttons/ButtonMapper.tsx","webpack://AlfaLaval/./assets/icons/hexpert/HEXCondenserIcon.tsx","webpack://AlfaLaval/./assets/icons/hexpert/HEXHeaterCooler.tsx","webpack://AlfaLaval/./assets/icons/hexpert/HEXVaporizerIcon.tsx","webpack://AlfaLaval/./modules/Hexpert/components/Buttons/EntryButton/EntryButton.tsx","webpack://AlfaLaval/./assets/icons/hexpert/HEXArrowLeft.tsx","webpack://AlfaLaval/./assets/icons/hexpert/HEXArrowRight.tsx","webpack://AlfaLaval/./modules/Hexpert/components/Buttons/NavigationButton/NavigationButton.tsx","webpack://AlfaLaval/./modules/Hexpert/page/HexpertStart.tsx","webpack://AlfaLaval/./assets/icons/hexpert/HEXStepperArrow.tsx","webpack://AlfaLaval/./modules/Hexpert/components/Stepper/Stepper.tsx","webpack://AlfaLaval/./assets/icons/hexpert/HEXBarChart.tsx","webpack://AlfaLaval/./assets/icons/hexpert/HEXTooltipArrow.tsx","webpack://AlfaLaval/./assets/icons/hexpert/HEXToolTipIcon.tsx","webpack://AlfaLaval/./modules/Hexpert/components/ToolTip/ToolTip.tsx","webpack://AlfaLaval/./modules/Hexpert/components/FormGroup/FormGroup.tsx","webpack://AlfaLaval/./modules/Hexpert/components/RangeSlider/RangeSlider.tsx","webpack://AlfaLaval/./modules/Hexpert/blocks/HexpertPowerRangeElementBlock/HexpertPowerRangeElementBlock.tsx","webpack://AlfaLaval/./modules/Hexpert/components/StepSlider/StepSlider.tsx","webpack://AlfaLaval/./modules/Hexpert/blocks/WeFitStepSliderBlock/WeFitStepSliderBlock.tsx","webpack://AlfaLaval/./modules/Hexpert/blocks/HexpertPressureChoiceElementBlock/HexpertPressureChoiceElementBlock.tsx","webpack://AlfaLaval/./modules/Hexpert/blocks/HexpertTemperatureChoiceBlock/HexpertTemperatureChoiceBlock.tsx","webpack://AlfaLaval/./modules/Hexpert/blocks/ParagraphTextElementBlock/ParagraphTextElementBlock.tsx","webpack://AlfaLaval/./modules/Hexpert/components/ExpandBox/ExpandBox.tsx","webpack://AlfaLaval/./modules/Hexpert/blocks/WeFitChoiceBlock.tsx/WeFitChoiceBlock.tsx","webpack://AlfaLaval/./assets/icons/hexpert/HEXDropDownArrowIcon.tsx","webpack://AlfaLaval/./modules/Hexpert/components/DropDown/DropDown.tsx","webpack://AlfaLaval/./modules/Hexpert/blocks/WeFitDropDownBlock/WeFitDropDownBlock.tsx","webpack://AlfaLaval/./modules/Hexpert/blocks/WeFitGraphRangeSliderBlock/WeFitGraphRangeSliderBlock.tsx","webpack://AlfaLaval/./modules/Hexpert/components/ListItem/ListItem.tsx","webpack://AlfaLaval/./modules/Hexpert/blocks/WeFitListItemsBlock/WeFitListItemsBlock.tsx","webpack://AlfaLaval/./modules/Hexpert/components/Form/Container.tsx","webpack://AlfaLaval/./modules/Hexpert/components/Form/FormSection.tsx","webpack://AlfaLaval/./modules/Hexpert/blocks/index.tsx","webpack://AlfaLaval/./modules/Hexpert/page/HexpertChooseType.tsx","webpack://AlfaLaval/./modules/Hexpert/blocks/WeFitFormHeaderBlock/WeFitFormHeaderBlock.tsx","webpack://AlfaLaval/./assets/icons/hexpert/HEXLongArrowLeft.tsx","webpack://AlfaLaval/./modules/Hexpert/components/Input/Input.tsx","webpack://AlfaLaval/./modules/Hexpert/components/Modal/Modal.tsx","webpack://AlfaLaval/./modules/Hexpert/helpers/imageHelper.ts","webpack://AlfaLaval/./modules/Hexpert/blocks/HexpertModalBlock/HexpertModalBlock.tsx","webpack://AlfaLaval/./modules/Hexpert/blocks/HexpertRequestQuoteBlock/HexpertRequestQuoteBlock.tsx","webpack://AlfaLaval/./assets/icons/hexpert/HEXGlobe.tsx","webpack://AlfaLaval/./modules/Hexpert/components/Document/Document.tsx","webpack://AlfaLaval/./modules/Hexpert/blocks/WeFitDocumentBlock/WeFitDocumentBlock.tsx","webpack://AlfaLaval/./assets/icons/hexpert/HEXLoadingSpinnerIcon.tsx","webpack://AlfaLaval/./modules/Hexpert/blocks/WeFitLoadingBlock/WeFitLoadingBlock.tsx","webpack://AlfaLaval/./modules/Hexpert/components/ProductResult/ProductCaseStudy.tsx","webpack://AlfaLaval/./modules/Hexpert/components/ProductResult/ProductImages.tsx","webpack://AlfaLaval/./assets/icons/hexpert/HEXThumbsUp.tsx","webpack://AlfaLaval/./modules/Hexpert/components/ProductResult/ProductIntro.tsx","webpack://AlfaLaval/./modules/Hexpert/components/ProductResult/ProductListItem.tsx","webpack://AlfaLaval/./modules/Hexpert/components/ProductResult/ProductSummary.tsx","webpack://AlfaLaval/./modules/Hexpert/components/ProductResult/TopFeature.tsx","webpack://AlfaLaval/./modules/Hexpert/components/Separator/Separator.tsx","webpack://AlfaLaval/./modules/Hexpert/helpers/emailRegex.ts","webpack://AlfaLaval/./modules/Hexpert/page/HexpertResultPage.tsx","webpack://AlfaLaval/./modules/Hexpert/page/HexpertResultPdf/HexpertResultPdf.tsx","webpack://AlfaLaval/./modules/Hexpert/page/HexpertSteps.tsx","webpack://AlfaLaval/./modules/Hexpert/page/HexpertPage.tsx","webpack://AlfaLaval/./modules/Hexpert/page/index.tsx","webpack://AlfaLaval/./modules/Hexpert/index.ts","webpack://AlfaLaval/./services/endpoints.ts"],"sourcesContent":["import React, { ChangeEventHandler, forwardRef } from 'react';\r\nimport './Checkbox.scss';\r\n\r\ninterface CheckboxProps {\r\n  label?: string;\r\n  value?: string;\r\n  required?: boolean;\r\n  id: string;\r\n  name: string;\r\n  onChange: ChangeEventHandler<HTMLInputElement>;\r\n  onBlur?: ChangeEventHandler<HTMLInputElement>;\r\n  checked?: boolean;\r\n}\r\n\r\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\r\n  ({ label, value = label, id, name, onChange, onBlur, checked, required }, ref) => {\r\n    return (\r\n      <label>\r\n        <input\r\n          ref={ref}\r\n          type='checkbox'\r\n          onChange={onChange}\r\n          onBlur={onBlur}\r\n          className='c-checkbox-input'\r\n          name={name}\r\n          value={value}\r\n          id={id}\r\n          defaultChecked={checked}\r\n        />\r\n      </label>\r\n    );\r\n  }\r\n);\r\n","import React, { MouseEventHandler } from 'react';\r\nimport './CloseButton.scss';\r\n\r\ninterface CloseButtonProps {\r\n  onClick: MouseEventHandler<HTMLElement>;\r\n  className?: string;\r\n}\r\n\r\nexport const CloseButton = ({ onClick, className }: CloseButtonProps) => {\r\n  return (\r\n    <i\r\n      onClick={onClick}\r\n      className={\r\n        'c-close-button icon-symbol-close' + (className === 'search-close' ? ' search-close' : '')\r\n      }\r\n    />\r\n  );\r\n};\r\n","export const generateTransactionId = (useCurrentTime: boolean, formId?: string): string => {\r\n  const transctionElement = document.getElementById('TransactionId') as HTMLInputElement | null;\r\n  const Id = transctionElement ? transctionElement.value : '';\r\n  const timestamp = useCurrentTime\r\n    ? new Date().getTime() * 10000\r\n    : window.localStorage.getItem('timestamp');\r\n  window.localStorage.setItem('timestamp', timestamp as string);\r\n  const transactionId = Id\r\n    ? Id.replace(/Timestamp/, timestamp?.toString())\r\n        .replace(/PageId/, formId)\r\n    : '';\r\n  return transactionId;\r\n};\r\n","import { useEffect } from \"react\";\r\n\r\nexport const useOutsideClick = (\r\n  ref: React.RefObject<any>,\r\n  handler: Function\r\n) => {\r\n  return useEffect(() => {\r\n    const handleClick = (e: any) => {\r\n      if (ref.current && !ref.current.contains(e.target)) {\r\n        handler(e);\r\n      }\r\n    };\r\n\r\n    document.addEventListener(\"mousedown\", handleClick);\r\n    document.addEventListener(\"touchstart\", handleClick);\r\n\r\n    return () => {\r\n      document.removeEventListener(\"mousedown\", handleClick);\r\n      document.removeEventListener(\"touchstart\", handleClick);\r\n    };\r\n  }, [ref, handler]);\r\n};\r\n","import { PageData, PageForms, PageFormsData, PageQuestion, PageSections } from \"../types/hexpertTypes\"\r\n\r\nexport enum HexpertFormBlockEnum {\r\n    FORM_SEPARATOR = 'WeFitSeparatorBlock',\r\n    PRESSURE = 'HexpertPressureChoiceElementBlock',\r\n    TEMPERATURE = 'HexpertTemperatureChoiceElementBlock',\r\n    SUBMIT = \"WeFitSubmitButtonElementBlock\",\r\n    INDUSTRY = \"HexpertIndustryChoiceElementBlock\",\r\n    SELECT = \"HexpertSelectionDependentOn\"\r\n}\r\n\r\n\r\nexport const fieldsToCheckInResult = (forms: PageFormsData[]) => {\r\n    const fieldsToCheck = []\r\n    forms?.forEach((form) => {\r\n        form?.Value?.ElementsArea?.forEach((el, i) => {\r\n            if (\r\n\r\n                el?.ContentType === HexpertFormBlockEnum.PRESSURE || el?.ContentType === HexpertFormBlockEnum.TEMPERATURE\r\n            ) {\r\n                fieldsToCheck.push(el?.FieldId)\r\n            }\r\n        })\r\n    })\r\n    return fieldsToCheck\r\n}\r\n\r\n// @TODO: Do we really want all this... maybe structure data better ? \r\nexport const formSections = (forms: PageFormsData[], pageProps: PageData) => {\r\n    const hexForms = []\r\n    if (forms?.length < 1) {\r\n        return null\r\n    }\r\n\r\n    forms.forEach(form => {\r\n        const tempForm: PageForms = {}\r\n        const tempSections: PageSections[] = []\r\n        tempForm.title = form?.Value?.Title\r\n        tempForm.image = form?.Value?.PreviewImage?.Url\r\n        tempForm.type = form?.Key\r\n        tempForm.formGuid = pageProps?.[form?.Key]\r\n        tempForm.resultIcon = form?.Value?.ResultImage?.Url\r\n        tempForm.id = form?.Value?.Id\r\n\r\n        let tempSection: PageSections = {}\r\n        let tempQuestions: PageQuestion[] = []\r\n\r\n        form?.Value?.ElementsArea?.forEach((el, i) => {\r\n            const formSection: PageSections = {}\r\n\r\n            if (el.ContentType === HexpertFormBlockEnum.FORM_SEPARATOR) {\r\n                // is separator block\r\n                if (el?.DetermineFurtherQuestions) {\r\n                    // adds this prop to section before submit\r\n                    // for formCheck and submit \r\n                    tempSection.determineFurtherQuestions = true\r\n                }\r\n                if (tempSection?.label !== el.Label) {\r\n                    if (tempQuestions?.length > 0) {\r\n                        tempSection.questions = tempQuestions\r\n                    }\r\n                    //  push all temp questions into section before creating a new\r\n                    if (Object.keys(tempSection)?.length !== 0) {\r\n                        tempSections.push(tempSection)\r\n                        tempQuestions = []\r\n                        tempSection = {\r\n                            questions: []\r\n                        }\r\n                    }\r\n                }\r\n\r\n                // prepare new section\r\n                formSection.title = el?.Title\r\n                formSection.label = el?.Label\r\n                formSection.description = el?.SeparatorDescription\r\n                // submit or show result\r\n\r\n                formSection.isSubmit = el?.DetermineFurtherQuestions || el.ContentType as string === HexpertFormBlockEnum.SUBMIT\r\n\r\n                formSection.isLastStep = form?.Value?.ElementsArea?.length - 1 === i\r\n                tempSection = formSection\r\n\r\n            } else if (el?.Conditions && el?.Conditions?.length > 0) {\r\n                // question has condition \r\n                const conditionQuestion = tempQuestions.find(q => q.ChoiceName === el?.Conditions[0]?.Field)\r\n                if (conditionQuestion) {\r\n                    if (conditionQuestion && conditionQuestion?.conditionQuestions) {\r\n                        conditionQuestion.conditionQuestions = [...conditionQuestion.conditionQuestions, el]\r\n                    } else {\r\n                        conditionQuestion.conditionQuestions = [el]\r\n                    }\r\n                }\r\n            } else {\r\n                tempQuestions.push(el)\r\n            }\r\n            // last question\r\n            if (i === form?.Value?.ElementsArea?.length - 1) {\r\n                tempSection.isSubmit = true\r\n                if (tempQuestions?.length > 0) {\r\n                    tempSection.questions = tempQuestions\r\n                }\r\n                tempSections.push(tempSection)\r\n            }\r\n        })\r\n        tempForm.sections = tempSections\r\n        hexForms.push(tempForm)\r\n    })\r\n    return hexForms\r\n}","import { PageFormsData, PageFormsElementsData } from \"../types/hexpertTypes\"\r\nexport enum UnitTypes {\r\n    PRESSURE = 'pressure',\r\n    TEMPERATURE = 'temperature',\r\n    POWER = 'power'\r\n}\r\n\r\nexport enum UnitSystem {\r\n    STANDARD = 'standard',\r\n    METRIC = 'metric',\r\n    IMPERIAL = 'imperial'\r\n}\r\n\r\nexport const unitConverter = (type: UnitTypes, system: UnitSystem, unit) => {\r\n    switch (type) {\r\n        case UnitTypes.PRESSURE:\r\n            switch (system) {\r\n                case UnitSystem.IMPERIAL:\r\n                    return unit * 14.503773773 // bar to psi\r\n                case UnitSystem.METRIC:\r\n                    return unit * 100\r\n                default:\r\n                    return unit\r\n            }\r\n        case UnitTypes.TEMPERATURE:\r\n            switch (system) {\r\n                case UnitSystem.IMPERIAL:\r\n                    return unit * (9 / 5) + 32 // C to F\r\n                default:\r\n                    return unit\r\n            }\r\n        case UnitTypes.POWER:\r\n            switch (system) {\r\n                case UnitSystem.IMPERIAL:\r\n                    return unit / 293.07107 // kw to MMBtu/hr\r\n                case UnitSystem.METRIC:\r\n                    return unit / 0.860421 // kw to Mcal/hr\r\n                default:\r\n                    return unit\r\n            }\r\n        default:\r\n            return unit\r\n    }\r\n}\r\n\r\nexport const unitConvertName = (type: UnitTypes, system: UnitSystem) => {\r\n    switch (type) {\r\n        case UnitTypes.PRESSURE:\r\n            switch (system) {\r\n                case UnitSystem.STANDARD:\r\n                    return 'Bar'\r\n                case UnitSystem.IMPERIAL:\r\n                    return 'psi'\r\n                case UnitSystem.METRIC:\r\n                    return 'kPa'\r\n                default:\r\n                    return 'Bar'\r\n            }\r\n        case UnitTypes.TEMPERATURE:\r\n            switch (system) {\r\n                case UnitSystem.STANDARD:\r\n                    return '°C'\r\n                case UnitSystem.IMPERIAL:\r\n                    return '°F'\r\n                case UnitSystem.METRIC:\r\n                    return '°C'\r\n                default:\r\n                    return '°C'\r\n            }\r\n        case UnitTypes.POWER:\r\n            switch (system) {\r\n                case UnitSystem.STANDARD:\r\n                    return 'kW'\r\n                case UnitSystem.IMPERIAL:\r\n                    return 'MMBtu/hr'\r\n                case UnitSystem.METRIC:\r\n                    return 'Mcal/hr'\r\n                default:\r\n                    return 'kW'\r\n            }\r\n        default:\r\n            return ''\r\n    }\r\n}\r\n\r\nexport const powerConversionRate = (system: UnitSystem) => {\r\n    switch (system) {\r\n        case UnitSystem.IMPERIAL:\r\n            return '1kW = 0.0034 MMBtu'\r\n        case UnitSystem.METRIC:\r\n            return '1kW = 0.860421 Mcal'\r\n        default:\r\n            return 'kW'\r\n    }\r\n}\r\n\r\nexport const getUnitForField = (fieldId: string, forms: PageFormsData[]) => {\r\n    const allForms: PageFormsElementsData[] = []\r\n    forms.forEach(form => allForms.push(...form.Value?.ElementsArea))\r\n    const findBlock = allForms?.find(f => f.FieldId === fieldId)\r\n    if (findBlock.ContentType === 'HexpertPressureChoiceElementBlock') {\r\n        return unitConvertName(UnitTypes.PRESSURE, UnitSystem.STANDARD)\r\n    }\r\n    if (findBlock.ContentType === 'HexpertTemperatureChoiceElementBlock') {\r\n        return unitConvertName(UnitTypes.TEMPERATURE, UnitSystem.STANDARD)\r\n    }\r\n    if (findBlock.ContentType === 'HexpertPowerRangeElementBlock') {\r\n        return unitConvertName(UnitTypes.POWER, UnitSystem.STANDARD)\r\n    }\r\n    return ''\r\n}","import React, { createContext, useReducer, useEffect } from \"react\";\r\nimport { HexpertResultData } from \"../types/hexpertResultTypes\";\r\nimport {\r\n  IndustryType,\r\n  PageForms,\r\n  FormType,\r\n  HexpertModalProps,\r\n  PageStateProps,\r\n  PageData,\r\n} from \"../types/hexpertTypes\";\r\nimport { fieldsToCheckInResult, formSections } from \"../helpers/formSections\";\r\nimport { UnitSystem } from \"../helpers/unitsConversion\";\r\n\r\nexport const unitSytems = [\r\n  UnitSystem.IMPERIAL,\r\n  UnitSystem.METRIC,\r\n  UnitSystem.STANDARD,\r\n];\r\n\r\nexport type THexpertAnswer = {\r\n  [fieldId: string]: string;\r\n};\r\n\r\nexport type HexpertState = {\r\n  pageProps: PageStateProps | null;\r\n  step: number | null;\r\n  startSteps: \"start\" | \"end\" | null;\r\n  currentForm: PageForms | null;\r\n  startForm: boolean;\r\n  chosenIndustry?: IndustryType; // for the additional step 6 and 7\r\n  modal?: HexpertModalProps;\r\n  unitSystem?: UnitSystem;\r\n  formAnswers?: THexpertAnswer;\r\n  showProductResult?: boolean;\r\n  productResult?: HexpertResultData;\r\n  loadingResult?: boolean;\r\n  formCheckLoading?: boolean;\r\n  submitOnNext?: boolean;\r\n  showLastQuestions?: boolean;\r\n  forceSteps?: number | null;\r\n  isInitialForceModal?: boolean;\r\n  hexpertSteps?: string[];\r\n};\r\n\r\ntype SetInitialAnswers = {\r\n  answers: THexpertAnswer;\r\n  currentForm: FormType | null;\r\n  showProductResult: boolean;\r\n  startSteps: HexpertState[\"startSteps\"];\r\n};\r\n\r\ntype SetStateAction =\r\n  | { type: \"setHexpertPageProps\"; payload: PageStateProps | null }\r\n  | { type: \"setCurrentForm\"; payload: FormType | null }\r\n  | { type: \"setStartForm\" }\r\n  | { type: \"resetStepper\" }\r\n  | { type: \"setIndustry\"; payload: IndustryType }\r\n  | { type: \"setUnit\"; payload: UnitSystem }\r\n  | { type: \"setAnswer\"; payload: THexpertAnswer }\r\n  | { type: \"removeAnswer\"; payload: string }\r\n  | { type: \"loadingResult\"; payload: boolean }\r\n  | { type: \"showProductResult\"; payload: any }\r\n  | { type: \"setResult\"; payload: HexpertResultData }\r\n  | { type: \"formCheckLoading\"; payload: boolean }\r\n  | { type: \"submitOnNext\"; payload: boolean }\r\n  | { type: \"showLastQuestions\"; payload: boolean }\r\n  | { type: \"isInitialForceModal\"; payload: boolean }\r\n  | { type: \"setInitalAnswers\"; payload: SetInitialAnswers }\r\n  | { type: \"setStartSteps\"; payload: HexpertState[\"startSteps\"] }\r\n  | { type: \"setForceSteps\"; payload: HexpertState[\"forceSteps\"] }\r\n  | { type: \"setDefaultAnswers\"; payload: THexpertAnswer }\r\n  | { type: \"setHexpertSteps\"; payload: string[] };\r\n\r\ntype HexpertContext = {\r\n  state: HexpertState;\r\n  dispatch: (action: SetStateAction) => void;\r\n};\r\n\r\nconst initialState: HexpertState = {\r\n  pageProps: null,\r\n  currentForm: null,\r\n  step: 0,\r\n  startForm: false,\r\n  chosenIndustry: null,\r\n  unitSystem: UnitSystem.STANDARD,\r\n  loadingResult: false,\r\n  productResult: null,\r\n  formCheckLoading: false,\r\n  submitOnNext: false,\r\n  showLastQuestions: false,\r\n  startSteps: null,\r\n  forceSteps: null,\r\n  isInitialForceModal: false,\r\n  hexpertSteps: null,\r\n};\r\n\r\nexport const HexpertContext = createContext<HexpertContext>({\r\n  state: initialState,\r\n  dispatch: () => null,\r\n});\r\n\r\nconst HexpertReducer = (\r\n  state: HexpertState,\r\n  action: SetStateAction\r\n): HexpertState => {\r\n  switch (action.type) {\r\n    case \"setHexpertPageProps\":\r\n      return {\r\n        ...state,\r\n        pageProps: action.payload,\r\n      };\r\n    case \"setHexpertSteps\":\r\n      {const getEachHexpertStep = (form: PageForms) => {\r\n        if (form) {\r\n          let isSubmitReached = false;\r\n      \r\n          const hexpertDataLayerSteps = form?.sections?.map((section) => {\r\n            if (isSubmitReached) return null;\r\n      \r\n            if (section?.title || section?.label) {\r\n              if (section?.isSubmit) {\r\n                isSubmitReached = true;\r\n              }\r\n              return section?.title || section?.label;\r\n            }\r\n            return null;\r\n          }).filter((step) => step !== null);\r\n          return hexpertDataLayerSteps\r\n        }\r\n      }\r\n      return {\r\n        ...state,\r\n        hexpertSteps: action.payload.concat(getEachHexpertStep(state?.currentForm)),\r\n      };\r\n    }\r\n    case \"setCurrentForm\":\r\n      return {\r\n        ...state,\r\n        currentForm: {\r\n          ...state?.pageProps?.MappedForms?.find(\r\n            (form) => form.type === action.payload\r\n          ),\r\n          formGuid: state?.pageProps[action.payload],\r\n        },\r\n      };\r\n    case \"setStartSteps\":\r\n      return {\r\n        ...state,\r\n        startSteps: action.payload,\r\n      };\r\n    case \"setStartForm\":\r\n      return {\r\n        ...state,\r\n        startForm: true,\r\n      };\r\n    case \"resetStepper\":\r\n      return {\r\n        ...initialState,\r\n        pageProps: state.pageProps,\r\n        startForm: true,\r\n      };\r\n    case \"setIndustry\":\r\n      return {\r\n        ...state,\r\n        chosenIndustry: action.payload,\r\n      };\r\n    case \"setUnit\":\r\n      return {\r\n        ...state,\r\n        unitSystem: action.payload,\r\n      };\r\n    case \"setAnswer\":\r\n      return {\r\n        ...state,\r\n        formAnswers: {\r\n          ...state.formAnswers,\r\n          ...action.payload,\r\n        },\r\n      };\r\n    case \"showProductResult\":\r\n      return {\r\n        ...state,\r\n        showProductResult: action.payload,\r\n      };\r\n    case \"setResult\":\r\n      return {\r\n        ...state,\r\n        productResult: action.payload,\r\n      };\r\n    case \"loadingResult\":\r\n      return {\r\n        ...state,\r\n        loadingResult: action.payload,\r\n      };\r\n    case \"formCheckLoading\":\r\n      return {\r\n        ...state,\r\n        formCheckLoading: action.payload,\r\n      };\r\n    case \"submitOnNext\":\r\n      return {\r\n        ...state,\r\n        submitOnNext: action.payload,\r\n      };\r\n    case \"setForceSteps\":\r\n      return {\r\n        ...state,\r\n        forceSteps: action.payload,\r\n      };\r\n    case \"showLastQuestions\":\r\n      return {\r\n        ...state,\r\n        showLastQuestions: action.payload,\r\n      };\r\n    case \"isInitialForceModal\":\r\n      return {\r\n        ...state,\r\n        isInitialForceModal: action.payload,\r\n      };\r\n    case \"setDefaultAnswers\": {\r\n      return {\r\n        ...state,\r\n        formAnswers: action.payload,\r\n      };\r\n    }\r\n    case \"setInitalAnswers\":\r\n      return {\r\n        ...state,\r\n        formAnswers: {\r\n          ...state.formAnswers,\r\n          ...action.payload.answers,\r\n        },\r\n        showProductResult: action.payload.showProductResult,\r\n        currentForm: {\r\n          ...state?.pageProps?.MappedForms?.find(\r\n            (form) => form.type === action.payload.currentForm\r\n          ),\r\n          formGuid: state?.pageProps[action.payload.currentForm],\r\n        },\r\n        startSteps: action.payload.startSteps,\r\n      };\r\n    case \"removeAnswer\":\r\n      delete state.formAnswers[action.payload];\r\n\r\n    default:\r\n      return { ...state };\r\n  }\r\n};\r\n\r\ntype Props = {\r\n  children: JSX.Element[] | JSX.Element;\r\n  pageProps: PageData;\r\n};\r\n\r\nexport const HexpertContextProvider = ({ children, pageProps }: Props) => {\r\n  const [state, dispatch] = useReducer<\r\n    (state: HexpertState, action: SetStateAction) => HexpertState\r\n  >(HexpertReducer, {\r\n    ...initialState,\r\n    pageProps: pageProps,\r\n  });\r\n\r\n  useEffect(() => {\r\n    pageProps &&\r\n      dispatch({\r\n        type: \"setHexpertPageProps\",\r\n        payload: {\r\n          ...pageProps,\r\n          MappedForms: formSections(pageProps?.Forms, pageProps),\r\n          fieldsToCheckInResult: fieldsToCheckInResult(pageProps?.Forms),\r\n        },\r\n      });\r\n  }, [pageProps]);\r\n  return (\r\n    <HexpertContext.Provider value={{ state, dispatch }}>\r\n      {children}\r\n    </HexpertContext.Provider>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport './Button.scss';\r\n\r\ntype ButtonProps = {\r\n  label?: string;\r\n  action: any;\r\n  busy?: boolean;\r\n};\r\nexport const Button = ({ label, action, busy }: ButtonProps) => {\r\n  return (\r\n    <button className={\"c-hex-button\"} onClick={() => action()}>\r\n      <p className=\"c-hex-button-text\">{label}</p>\r\n      {busy && <div className=\"spinner\"></div>}\r\n    </button>\r\n  );\r\n};\r\n","export enum FormType {\r\n  HEATCOOL = \"HeatingCoolingFormBlockLink\",\r\n  CONDENSER = \"CondenserFormBlockLink\",\r\n  VAPORIZER = \"ReboilerFormBlockLink\",\r\n  REQUEST_QUOTE = \"RequestQuoteFormLink\"\r\n}\r\n\r\nexport enum ChoiceTypes {\r\n  BUTTON = \"Button\",\r\n  LARGE_BUTTON = \"LargeButton\",\r\n  CHECKBOX = \"Checkbox\",\r\n  RADIO = \"Radio\",\r\n  SLIDER = \"Slider\",\r\n}\r\n\r\nexport enum ChoiceLayout {\r\n  HORIZONTAL = \"Horizontal\",\r\n  VERTICAL = \"Vertical\",\r\n}\r\n\r\n\r\nexport type IndustryListItem = {\r\n  Title: string;\r\n  Description?: string;\r\n};\r\n\r\nexport type PageQuestionOption = {\r\n  Caption: string;\r\n  Value: string;\r\n  Checked: boolean;\r\n  ValueRelevantTo?: string;\r\n};\r\n\r\nexport type PageQuestionCondition = {\r\n  Field?: string;\r\n  FieldValue?: string;\r\n  Operation?: string;\r\n};\r\n\r\nexport type PageQuestion = {\r\n  AllowsNegative?: false;\r\n  ContentType?: string;\r\n  Description?: string;\r\n  Label?: string;\r\n  MeasurementUnit?: string;\r\n  ValidationUnit?: string;\r\n  Validators?: string;\r\n  CheckboxLayout?: string;\r\n  Feed?: string;\r\n  Options?: PageQuestionOption[];\r\n  Max?: number;\r\n  Min?: number;\r\n  PredefinedValue?: string;\r\n  Step?: number;\r\n  AllowMultiSelect?: boolean;\r\n  ConditionCombination?: number | string;\r\n  Tooltip?: string;\r\n  conditionQuestions?: ConditionQuestion[];\r\n  CheckboxType?: ChoiceTypes;\r\n  CheckboxOrientation?: ChoiceLayout;\r\n  ChoiceName?: string;\r\n  Conditions?: PageQuestionCondition[];\r\n  List?: IndustryListItem[] | CountryDropDownList[];\r\n  ParagraphText?: string;\r\n  FieldId?: string\r\n};\r\n\r\nexport type ConditionQuestion = PageQuestion;\r\n\r\nexport type PageSections = {\r\n  description?: string;\r\n  label?: string;\r\n  title?: string;\r\n  questions?: PageQuestion[];\r\n  determineFurtherQuestions?: boolean\r\n  isSubmit?: boolean\r\n  isLastStep?: boolean\r\n\r\n};\r\n\r\nexport type PageForms = {\r\n  image?: string;\r\n  sections?: PageSections[];\r\n  title?: string;\r\n  type?: FormType;\r\n  description?: string;\r\n  formGuid?: string;\r\n  resultIcon?: string;\r\n  antiForgeryToken?: string;\r\n  id?: string;\r\n};\r\n\r\nexport type HexpertModalProps = {\r\n  ModalButtonText?: string\r\n  ModalConfirmationDescription?: string\r\n  ModalConfirmationHeading?: string\r\n  ModalDescription?: string\r\n  ModalHeading?: string\r\n  ModalImage?: { Url?: string }\r\n  ModalQuoteText?: string\r\n  ModalTextboxPlaceholder?: string\r\n  ModalUsp?: string\r\n  Modal?: boolean\r\n}\r\n\r\n\r\n\r\nexport type IndustryType = {\r\n  Caption: string;\r\n  Value: string | number;\r\n  Checked: boolean;\r\n  Title: string;\r\n  Description?: string;\r\n};\r\n\r\n\r\nexport type PageFormsElementsConditionData = {\r\n  FieldValue?: string;\r\n  Operation?: string;\r\n  Field?: string;\r\n};\r\n\r\nexport type CountryDropDownList = {\r\n  Country: string;\r\n  Email: string;\r\n}\r\n\r\nexport type PageFormsElementsData = {\r\n  List: CountryDropDownList[] | IndustryListItem[];\r\n  ContentType?: string;\r\n  Label?: string;\r\n  SeparatorDescription?: string;\r\n  Title?: string;\r\n  Conditions?: PageFormsElementsConditionData[];\r\n  DetermineFurtherQuestions?: boolean\r\n  FieldId?: string;\r\n  FieldName?: string;\r\n  PredefinedValue?: string;\r\n  Validators?: string;\r\n};\r\n\r\nexport type PageFormsValueData = {\r\n  ContentType?: string;\r\n  ElementsArea?: PageFormsElementsData[];\r\n  Title?: string;\r\n  PreviewImage?: { Url?: string };\r\n  GuidValue?: string\r\n  Type?: string,\r\n  SubmitSuccessMessage?: string,\r\n  ResultImage?: {\r\n    Url?: string\r\n  },\r\n  Id?: string\r\n};\r\n\r\nexport type PageFormsData = {\r\n  Key: FormType;\r\n  Value?: PageFormsValueData;\r\n};\r\n\r\nexport type PageProps = {\r\n  Description?: string;\r\n  IntroDescription?: string;\r\n  IntroText?: string;\r\n  MetaTitle?: string;\r\n  StartLabel?: string;\r\n  HexpertBackLabel?: string;\r\n  HexpertContinueLabel?: string;\r\n  HexpertUnitsLabel?: string;\r\n  HexpertImperialRadioButton?: string;\r\n  HexpertMetricRadioButton?: string;\r\n  HexpertStandardRadioButton?: string;\r\n  HexpertBarLabel?: string;\r\n  SubTitle?: string;\r\n  Title?: string;\r\n  HeatingCoolingFormBlockLink?: string\r\n  CondenserFormFormBlockLink?: string\r\n  ReboilerFormBlockLink?: string\r\n  PageId?: number\r\n  cookie?: string\r\n  Forms?: PageFormsData[];\r\n  NoResultButtonLabel?: string\r\n  NoResultDescription: string\r\n  NoResultTitle: string,\r\n  EnquireTitle: string,\r\n  EnquireDescription: string,\r\n  PersonalInformationTitle: string,\r\n\r\n  InternalEmail?: string,\r\n} & HexpertModalProps;\r\n\r\nexport type PageStateProps = PageProps & {\r\n  MappedForms?: PageForms[];\r\n  fieldsToCheckInResult?: string[]\r\n};\r\n\r\nexport type PageData = PageProps & {\r\n  Forms?: PageFormsData[];\r\n}","import React from \"react\";\r\n\r\nexport const HexCheckIconSmall = () => {\r\n  return (\r\n    <svg\r\n      width=\"8\"\r\n      height=\"7\"\r\n      viewBox=\"0 0 8 7\"\r\n      fill=\"none\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      className={\"c-hex-checkbox-check-small\"}\r\n    >\r\n      <path\r\n        d=\"M1.22437 2.02678L4.21444 4.97527L2.99007 6.18262L0 3.23412L1.22437 2.02678Z\"\r\n        fill=\"white\"\r\n      />\r\n      <path\r\n        d=\"M8 1.24289L2.99007 6.18262L1.91516 5.12257L6.92477 0.182617L8 1.24289Z\"\r\n        fill=\"white\"\r\n      />\r\n    </svg>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport { HexCheckIconSmall } from \"@icons/hexpert/HEXCheckIconSmall\";\r\nimport './HexCheckbox.scss';\r\n\r\ntype THexCheckbox = {\r\n  label?: string;\r\n  name?: string;\r\n  value?: string;\r\n  selected?: boolean;\r\n  onChange?: () => void;\r\n};\r\n\r\nexport const HexCheckbox = ({\r\n  label,\r\n  name,\r\n  value,\r\n  selected,\r\n  onChange,\r\n}: THexCheckbox) => {\r\n  return (\r\n    <div className={\"c-hex-checkbox-conatiner\"}>\r\n      <input\r\n        type={\"checkbox\"}\r\n        name={name}\r\n        value={value}\r\n        checked={selected}\r\n        onChange={onChange}\r\n        className={\"c-hex-checkbox-input\"}\r\n      />\r\n      <span className={\"c-hex-checkbox-check-container\"}>\r\n        <HexCheckIconSmall />\r\n      </span>\r\n      <label htmlFor={name} className={\"c-hex-checkbox-label\"}>\r\n        {label}\r\n      </label>\r\n    </div>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport cs from \"classnames\";\r\nimport './HexRadioItem.scss';\r\n\r\ntype TRadioItem = {\r\n  selected?: boolean;\r\n  label?: string;\r\n  onChange?: () => void;\r\n  name?: string;\r\n  value?: string;\r\n};\r\n\r\nexport const HexRadioItem = ({\r\n  label,\r\n  name,\r\n  onChange,\r\n  value,\r\n  selected,\r\n}: TRadioItem) => {\r\n  return (\r\n    <div className=\"c-hex-radio-container\">\r\n      <input\r\n        type={\"radio\"}\r\n        className={\"c-hex-radio-input\"}\r\n        name={name}\r\n        value={value}\r\n        onChange={onChange}\r\n        checked={selected}\r\n      />\r\n      <span\r\n        className={cs(\"c-hex-radio-custom\", {\r\n          \"c-hex-radio-custom-check\": selected,\r\n        })}\r\n      />\r\n      <label htmlFor={name} className=\"c-hex-radio-label\">\r\n        {label}\r\n      </label>\r\n    </div>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport './LargeSelectButton.scss';\r\n\r\ntype LargeSelectButtonProps = {\r\n  name?: string;\r\n  value?: string;\r\n  label?: string;\r\n  onChange?: () => void;\r\n  selected?: boolean;\r\n};\r\n\r\nexport const LargeSelectButton = ({\r\n  name,\r\n  value,\r\n  label,\r\n  onChange,\r\n  selected,\r\n}: LargeSelectButtonProps) => {\r\n  return (\r\n    <div className={\"c-hex-large-select-button-container\"}>\r\n      <input\r\n        type=\"radio\"\r\n        name={name}\r\n        className={\"c-hex-large-select-button-input\"}\r\n        value={value}\r\n        onChange={onChange}\r\n        checked={selected}\r\n      />\r\n      <div className={\"c-hex-large-select-button-label-wrapper\"}>\r\n        <label htmlFor={name} className={\"c-hex-large-select-button-label\"}>\r\n          {label}\r\n        </label>\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n","import React from \"react\";\r\n\r\nexport const HEXCheckIcon = () => {\r\n  return (\r\n    <svg\r\n      width=\"14\"\r\n      height=\"11\"\r\n      viewBox=\"0 0 14 11\"\r\n      fill=\"none\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      className=\"c-hex-select-button-check\"\r\n    >\r\n      <path\r\n        d=\"M2.12388 3.46672L7.31067 8.65351L5.18679 10.7774L0 5.5906L2.12388 3.46672Z\"\r\n        fill=\"white\"\r\n      />\r\n      <path\r\n        d=\"M13.8774 2.08776L5.18679 10.7774L3.32217 8.91262L12.0122 0.222595L13.8774 2.08776Z\"\r\n        fill=\"white\"\r\n      />\r\n    </svg>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport { HEXCheckIcon } from \"@icons/hexpert/HEXCheckIcon\";\r\nimport cs from \"classnames\";\r\nimport './SelectButton.scss';\r\n\r\ntype SelectButtonProps = {\r\n  name?: string;\r\n  action?: () => void;\r\n  label?: string;\r\n  value?: string | number;\r\n  selected?: boolean;\r\n};\r\n\r\nexport const SelectButton = ({\r\n  name,\r\n  label,\r\n  value,\r\n  action,\r\n  selected,\r\n}: SelectButtonProps) => {\r\n  return (\r\n    <div className={\"c-hex-select-button-container\"}>\r\n      <input\r\n        type=\"radio\"\r\n        name={name}\r\n        className={\"c-hex-select-button-input\"}\r\n        value={value}\r\n        onChange={() => {\r\n          action();\r\n        }}\r\n        checked={selected}\r\n      />\r\n      <div\r\n        className={cs(\"c-hex-select-button-label-wrapper\", {\r\n          \"c-hex-select-button-label-wrapper-active\": selected,\r\n        })}\r\n      >\r\n        <HEXCheckIcon />\r\n        <label htmlFor={name} className={\"c-hex-select-button-label\"}>\r\n          {label}\r\n        </label>\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport { ChoiceTypes, PageQuestionOption } from \"../../types/hexpertTypes\";\r\nimport { HexCheckbox } from \"../Checkbox/HexCheckbox\";\r\nimport { HexRadioItem } from \"../RadioItem/HexRadioItem\";\r\nimport { LargeSelectButton } from \"./LargeSelectButton\";\r\nimport { SelectButton } from \"./SelectButton/SelectButton\";\r\n\r\ntype TButtonMapper = {\r\n  type: ChoiceTypes;\r\n  props: PageQuestionOption;\r\n  name: string;\r\n  action?: () => void;\r\n  selected?: boolean;\r\n};\r\n\r\nexport const ButtonMapper = ({\r\n  type,\r\n  name,\r\n  action,\r\n  selected,\r\n  props,\r\n}: TButtonMapper) => {\r\n  switch (type) {\r\n    case ChoiceTypes.BUTTON:\r\n      return (\r\n        <SelectButton\r\n          {...props}\r\n          label={props.Caption}\r\n          name={name}\r\n          key={props.Value}\r\n          selected={selected}\r\n          action={action}\r\n        />\r\n      );\r\n    case ChoiceTypes.LARGE_BUTTON:\r\n      return (\r\n        <LargeSelectButton\r\n          {...props}\r\n          label={props.Caption}\r\n          name={name}\r\n          key={props.Value}\r\n          selected={selected}\r\n          onChange={action}\r\n        />\r\n      );\r\n    case ChoiceTypes.CHECKBOX:\r\n      return (\r\n        <HexCheckbox\r\n          {...props}\r\n          label={props.Caption}\r\n          name={name}\r\n          key={props.Value}\r\n          onChange={action}\r\n          selected={selected}\r\n        />\r\n      );\r\n    case ChoiceTypes.RADIO:\r\n      return (\r\n        <HexRadioItem\r\n          {...props}\r\n          label={props.Caption}\r\n          name={name}\r\n          key={props.Value}\r\n          onChange={action}\r\n          selected={selected}\r\n        />\r\n      );\r\n    default:\r\n      return (\r\n        <SelectButton\r\n          {...props}\r\n          label={props.Caption}\r\n          name={name}\r\n          key={props.Value}\r\n          selected={selected}\r\n          action={action}\r\n        />\r\n      );\r\n  }\r\n};\r\n","import React from \"react\";\r\n\r\nexport const CondenserIcon = () => {\r\n  return (\r\n    <svg\r\n      width=\"30\"\r\n      height=\"37\"\r\n      viewBox=\"0 0 30 37\"\r\n      fill=\"none\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n    >\r\n      <path d=\"M15 0.583313C5.45038 8.7354 0.666626 15.7766 0.666626 21.725C0.666626 30.6475 7.47496 36.4166 15 36.4166C22.525 36.4166 29.3333 30.6475 29.3333 21.725C29.3333 15.7766 24.5495 8.7354 15 0.583313ZM15 32.8333C8.99788 32.8333 4.24996 28.2287 4.24996 21.725C4.24996 17.5325 7.74371 11.9783 15 5.34915C22.2562 11.9783 25.75 17.5146 25.75 21.725C25.75 28.2287 21.002 32.8333 15 32.8333ZM7.52871 22.0833C8.19163 22.0833 8.72913 22.5491 8.85454 23.1941C9.58912 27.1716 12.9395 28.5333 15.3762 28.3362C16.1466 28.3004 16.7916 28.9096 16.7916 29.68C16.7916 30.3966 16.2183 30.9879 15.5016 31.0237C11.6854 31.2566 7.22413 29.0708 6.20288 23.6421C6.05954 22.8358 6.70454 22.0833 7.52871 22.0833Z\" />\r\n    </svg>\r\n  );\r\n};\r\n","import React from \"react\";\r\n\r\nexport const HeaterCoolerIcon = () => {\r\n  return (\r\n    <svg\r\n      width=\"36\"\r\n      height=\"37\"\r\n      viewBox=\"0 0 36 37\"\r\n      fill=\"none\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n    >\r\n      <path d=\"M35.9167 16.7083H28.4455L34.2505 10.9033L31.7242 8.35915L23.375 16.7083H19.7917V13.125L28.1409 4.77581L25.5967 2.24956L19.7917 8.05456V0.583313H16.2084V8.05456L10.4034 2.24956L7.85921 4.77581L16.2084 13.125V16.7083H12.625L4.27587 8.35915L1.74962 10.9033L7.55462 16.7083H0.083374V20.2916H7.55462L1.74962 26.0966L4.27587 28.6408L12.625 20.2916H16.2084V23.875L7.85921 32.2241L10.4034 34.7504L16.2084 28.9454V36.4166H19.7917V28.9454L25.5967 34.7504L28.1409 32.2241L19.7917 23.875V20.2916H23.375L31.7242 28.6408L34.2505 26.0966L28.4455 20.2916H35.9167V16.7083Z\" />\r\n    </svg>\r\n  );\r\n};\r\n","import React from \"react\";\r\n\r\nexport const VaporizerIcon = () => {\r\n  return (\r\n    <svg\r\n      width=\"40\"\r\n      height=\"27\"\r\n      viewBox=\"0 0 40 27\"\r\n      fill=\"none\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n    >\r\n      <path d=\"M17.7381 16.2304C19.4913 18.6207 20.2603 21.6663 19.7989 24.7119L19.4606 26.9865H25.3354L25.5199 25.3287C26.1659 20.0857 24.6895 14.8811 21.5214 11.0259L21.3061 10.756C19.5529 8.36581 18.7839 5.32019 19.2453 2.27457L19.5221 0H13.7088L13.5242 1.65774C12.9091 6.90083 14.3547 12.1054 17.5228 15.9991L17.7381 16.2304Z\" />\r\n      <path d=\"M31.1235 16.2304C32.8767 18.6207 33.6457 21.6663 33.1843 24.7119L32.846 26.9865H38.7208L38.9053 25.3287C39.5512 20.0857 38.0748 14.8811 34.9068 11.0259L34.6914 10.756C32.9382 8.36581 32.1693 5.32019 32.6306 2.27457L32.9075 0H27.0942L26.9096 1.65774C26.2945 6.90083 27.7401 12.1054 30.9082 15.9991L31.1235 16.2304Z\" />\r\n      <path d=\"M4.35274 16.2304C6.10596 18.6207 6.87492 21.6663 6.41354 24.7119L6.0752 26.9865H11.95L12.1346 25.3287C12.7805 20.0857 11.3041 14.8811 8.136 11.0259L7.92069 10.756C6.16748 8.36581 5.39852 5.32019 5.85989 2.27457L6.13672 0H0.323422L0.138869 1.65774C-0.476295 6.90083 0.969343 12.1054 4.13744 15.9991L4.35274 16.2304Z\" />\r\n    </svg>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport { CondenserIcon } from \"@icons/hexpert/HEXCondenserIcon\";\r\nimport { HeaterCoolerIcon } from \"@icons/hexpert/HEXHeaterCooler\";\r\nimport { VaporizerIcon } from \"@icons/hexpert/HEXVaporizerIcon\";\r\nimport cs from \"classnames\";\r\nimport { FormType } from \"../../../types/hexpertTypes\";\r\nimport './EntryButton.scss';\r\n\r\ntype EntryButtonProps = {\r\n  icon?: FormType;\r\n  label?: string;\r\n  action?: () => void;\r\n  fixedWidth?: boolean;\r\n};\r\n\r\nconst getIcon = (icon: FormType) => {\r\n  switch (icon) {\r\n    case FormType.CONDENSER:\r\n      return <CondenserIcon />;\r\n    case FormType.HEATCOOL:\r\n      return <HeaterCoolerIcon />;\r\n    case FormType.VAPORIZER:\r\n      return <VaporizerIcon />;\r\n  }\r\n};\r\n\r\nexport const EntryButton = ({ icon, label, action, fixedWidth }: EntryButtonProps) => {\r\n  return (\r\n    <button\r\n      className={cs(\"c-hex-entry-button\", {\r\n        [`c-hex-entry-button-fixed`]: fixedWidth,\r\n      })}\r\n      onClick={action}\r\n    >\r\n      {getIcon(icon)}\r\n      <h3 className=\"c-hex-entry-button-heading\">{label}</h3>\r\n    </button>\r\n  );\r\n};\r\n","import React from \"react\";\r\n\r\nexport const HEXArrowLeft = () => {\r\n  return (\r\n    <svg\r\n      width=\"10\"\r\n      height=\"8\"\r\n      viewBox=\"0 0 10 8\"\r\n      fill=\"none\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      className=\"c-hex-arrow-left\"\r\n    >\r\n      <path\r\n        d=\"M4.472 1.48793L4.94267 1.01593L4 0.0732646L3.528 0.54393L4.472 1.48793ZM1.33333 3.6826L0.861333 3.2106L0.390667 3.6826L0.861333 4.1546L1.33333 3.6826ZM3.528 6.82126L4 7.29193L4.94267 6.34926L4.472 5.87726L3.528 6.82126ZM3.528 0.54393L0.861333 3.2106L1.80533 4.1546L4.472 1.48793L3.528 0.54393ZM0.861333 4.1546L3.528 6.82126L4.472 5.87726L1.80533 3.2106L0.861333 4.1546ZM1.33333 4.34926L10 4.34926L10 3.01593L1.33333 3.01593L1.33333 4.34926Z\"\r\n        fill=\"#3C3C3C\"\r\n      />\r\n    </svg>\r\n  );\r\n};\r\n","import React from \"react\";\r\n\r\nexport const HEXArrowRight = () => {\r\n  return (\r\n    <svg\r\n      width=\"10\"\r\n      height=\"9\"\r\n      viewBox=\"0 0 10 9\"\r\n      fill=\"none\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      className=\"c-hex-arrow-right\"\r\n    >\r\n      <path\r\n        d=\"M5.528 6.69466L5.05733 7.16666L6 8.10932L6.472 7.63866L5.528 6.69466ZM8.66667 4.49999L9.13867 4.97199L9.60933 4.49999L9.13867 4.02799L8.66667 4.49999ZM6.472 1.36132L6 0.890656L5.05733 1.83332L5.528 2.30532L6.472 1.36132ZM6.472 7.63866L9.13867 4.97199L8.19467 4.02799L5.528 6.69466L6.472 7.63866ZM9.13867 4.02799L6.472 1.36132L5.528 2.30532L8.19467 4.97199L9.13867 4.02799ZM8.66667 3.83332H0V5.16666H8.66667V3.83332Z\"\r\n        fill=\"#11387F\"\r\n      />\r\n    </svg>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport { HEXArrowLeft } from \"@icons/hexpert/HEXArrowLeft\";\r\nimport { HEXArrowRight } from \"@icons/hexpert/HEXArrowRight\";\r\nimport './NavigationButton.scss';\r\n\r\ntype NavigationButtonProps = {\r\n  label: string;\r\n  action: () => void;\r\n  showLeftArrow?: boolean;\r\n};\r\n\r\nexport const NavigationButton = ({\r\n  label,\r\n  action,\r\n  showLeftArrow,\r\n}: NavigationButtonProps) => {\r\n  return (\r\n    <button className=\"c-hex-navigation-button\" onClick={action}>\r\n      {showLeftArrow && <HEXArrowLeft />}\r\n      {label}\r\n      {!showLeftArrow && <HEXArrowRight />}\r\n    </button>\r\n  );\r\n};\r\n","import React, { useContext } from 'react';\r\nimport classNames from 'classnames';\r\nimport { NavigationButton } from '../components/Buttons';\r\nimport { HexpertContext } from '../contexts/HexPertProvider';\r\nimport { PageProps } from '../types/hexpertTypes';\r\n\r\nexport const HexpertStart = ({ Title, SubTitle, Description, StartLabel }: PageProps) => {\r\n  const { state, dispatch } = useContext(HexpertContext);\r\n\r\n  const onClickNavigationButton = () => {\r\n    dispatch({ type: 'setStartForm' });\r\n    dispatch({ type: 'isInitialForceModal', payload: true });\r\n  };\r\n\r\n  return (\r\n    <div\r\n      className={classNames('c-hex-start-container', {\r\n        'c-hex-start-container-fadeout': state?.startForm,\r\n      })}\r\n    >\r\n      {Title && <h1 className='c-hex-title'>{Title}</h1>}\r\n      {SubTitle && <h2 className='c-hex-subtitle'>{SubTitle}</h2>}\r\n      {Description && (\r\n        <div className='c-hex-description' dangerouslySetInnerHTML={{ __html: Description }} />\r\n      )}\r\n      {StartLabel && <NavigationButton label={StartLabel} action={onClickNavigationButton} />}\r\n    </div>\r\n  );\r\n};\r\n","import React from \"react\";\r\n\r\nexport const HEXStepperArrow = () => {\r\n  return (\r\n    <svg\r\n      width=\"24\"\r\n      height=\"11\"\r\n      viewBox=\"0 0 24 11\"\r\n      fill=\"none\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n    >\r\n      <path\r\n        d=\"M23.5 5.40802L1 5.40802M1 5.40802L5.72727 0.625M1 5.40802L5.90909 10.375\"\r\n        stroke=\"black\"\r\n      />\r\n    </svg>\r\n  );\r\n};\r\n","import React, { useContext, useEffect, useState } from \"react\";\r\nimport cs from \"classnames\";\r\nimport { StepWizardChildProps } from \"react-step-wizard\";\r\nimport { HEXStepperArrow } from \"@icons/hexpert/HEXStepperArrow\";\r\nimport { HexpertContext, HexpertState } from \"../../contexts/HexPertProvider\";\r\nimport './Stepper.scss';\r\n\r\ntype StepperProps = {\r\n  steps: number;\r\n  action: (startPosition: HexpertState[\"startSteps\"]) => void;\r\n  currentStateStep: HexpertState[\"startSteps\"];\r\n} & Partial<StepWizardChildProps>;\r\n\r\nexport const Stepper = ({\r\n  steps,\r\n  action,\r\n  currentStateStep,\r\n  currentStep, // from wizard\r\n  nextStep, // from wizard\r\n  previousStep, // from wizard\r\n  goToStep,\r\n  totalSteps,\r\n  ...props\r\n}: StepperProps) => {\r\n  const [arrowClassname, setArrowClassName] = useState(null);\r\n  const { state, dispatch } = useContext(HexpertContext);\r\n  const hasMoreQuestions = state?.currentForm?.sections?.some(\r\n    (section) => section?.determineFurtherQuestions\r\n  );\r\n\r\n  const offsetSteps =\r\n    hasMoreQuestions && !state?.forceSteps\r\n      ? state?.showLastQuestions\r\n        ? 0\r\n        : 2\r\n      : 0;\r\n  useEffect(() => {\r\n    if (currentStep > 0 || state?.startSteps) {\r\n      setArrowClassName(\"c-hex-stepper-arrow-show\");\r\n      if (state?.startSteps === \"end\") {\r\n        // go to last step if we previously was at result\r\n        // goToStep count from 1\r\n        goToStep(steps - 1 - offsetSteps);\r\n        // reset to start after we navigate to last step\r\n        dispatch({ type: \"setStartSteps\", payload: \"start\" });\r\n      }\r\n    } else if (arrowClassname) {\r\n      setArrowClassName(\"c-hex-stepper-arrow-hide\");\r\n      action(null);\r\n    }\r\n  }, [currentStep, currentStateStep]);\r\n\r\n  return (\r\n    <div className=\"c-hex-container-stepper\">\r\n      <div className={\"c-hex-stepper\"}>\r\n        {currentStateStep ? (\r\n          <>\r\n            <div\r\n              className={cs(\"c-hex-stepper-arrow\", {\r\n                [arrowClassname]: Boolean(arrowClassname),\r\n              })}\r\n              onClick={() => {\r\n                if (currentStep === 1) {\r\n                  setArrowClassName(\"c-hex-stepper-arrow-hide\");\r\n                  dispatch({ type: \"setForceSteps\", payload: null });\r\n                  dispatch({ type: \"showLastQuestions\", payload: false });\r\n                  dispatch({ type: \"submitOnNext\", payload: false });\r\n                  action(null);\r\n                }\r\n                previousStep();\r\n              }}\r\n            >\r\n              <HEXStepperArrow />\r\n            </div>\r\n            <div\r\n              className={cs(\"c-hex-stepper-steps\", {\r\n                \"c-hex-stepper-slide\": currentStep > 1,\r\n              })}\r\n            >\r\n              {Array.from(Array(steps - offsetSteps).keys()).map((step) => (\r\n                <span className={\"c-hex-stepper-step\"} key={step}>\r\n                  {step + 1}\r\n                </span>\r\n              ))}\r\n              <span\r\n                className={\"c-hex-stepper-currentstep\"}\r\n                style={{\r\n                  left: (currentStep / (steps - offsetSteps)) * 100 - 1 + \"%\",\r\n                }}\r\n              />\r\n            </div>\r\n          </>\r\n        ) : null}\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n","import React from \"react\";\r\n\r\nconst HEXBarChart = () => {\r\n  return (\r\n    <svg\r\n      width=\"512\"\r\n      height=\"127\"\r\n      viewBox=\"0 0 512 127\"\r\n      fill=\"none\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      className=\"c-hex-graph-range-slider-block-chart\"\r\n    >\r\n      <path\r\n        d=\"M0 125.386L0 127H5.12V125.374C3.41469 125.382 1.70802 125.386 0 125.386Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M9.38667 125.348V127H14.5067V125.298C12.8015 125.318 11.0948 125.335 9.38667 125.348Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M18.7733 125.24V127H23.8933V125.151C22.1881 125.184 20.4815 125.213 18.7733 125.24Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M28.16 125.06V127H33.28V124.933C31.5749 124.979 29.8682 125.021 28.16 125.06Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M37.5467 124.81V127H42.6667V124.644C40.9616 124.703 39.2549 124.759 37.5467 124.81Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M46.9333 124.489V127H52.0533V124.284C50.3483 124.356 48.6417 124.424 46.9333 124.489Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M56.32 124.097V127H61.44V123.853C59.735 123.937 58.0283 124.019 56.32 124.097Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M65.7067 123.633V127H70.8267V123.349C69.1218 123.447 67.4151 123.542 65.7067 123.633Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M75.0933 123.096V127H80.2133V122.773C78.5084 122.884 76.8018 122.992 75.0933 123.096Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M84.48 122.487V127H89.6V122.124C87.8952 122.249 86.1885 122.37 84.48 122.487Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M93.8667 121.805V127H98.9867V121.402C97.2819 121.54 95.5752 121.675 93.8667 121.805Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M103.253 121.05V127H108.373V120.607C106.669 120.758 104.962 120.906 103.253 121.05Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M112.64 120.221V127H117.76V119.737C116.055 119.902 114.349 120.063 112.64 120.221Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M122.027 119.317V127H127.147V118.792C125.442 118.97 123.735 119.145 122.027 119.317Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M131.413 118.338V127H136.533V117.772C134.829 117.964 133.122 118.153 131.413 118.338Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M140.8 117.283V127H145.92V116.676C144.216 116.882 142.509 117.084 140.8 117.283Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M150.187 116.152V127H155.307V115.503C153.602 115.723 151.896 115.94 150.187 116.152Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M159.573 114.945V127H164.693V114.253C162.989 114.487 161.282 114.718 159.573 114.945Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M168.96 113.659V127H174.08V112.925C172.376 113.173 170.669 113.418 168.96 113.659Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M178.347 112.295V127H183.467V111.517C181.762 111.78 180.056 112.039 178.347 112.295Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M187.733 110.851V127L192.853 127V110.03C191.149 110.308 189.443 110.581 187.733 110.851Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M197.12 109.328V127H202.24V108.463C200.536 108.755 198.829 109.043 197.12 109.328Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M206.507 107.723V127H211.627V106.813C209.923 107.12 208.216 107.423 206.507 107.723Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M215.893 106.036V127H221.013V105.081C219.309 105.403 217.603 105.721 215.893 106.036Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M225.28 104.266V127H230.4V103.265C228.696 103.602 226.989 103.936 225.28 104.266Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M234.667 102.412V127H239.787V101.364C238.083 101.717 236.376 102.066 234.667 102.412Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M244.053 100.472V127H249.173V99.3772C247.47 99.7457 245.763 100.11 244.053 100.472Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M253.44 98.4451V127H258.56V97.3026C256.856 97.6871 255.15 98.068 253.44 98.4451Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M262.827 96.3304V127H267.947V95.1393C266.243 95.5401 264.537 95.937 262.827 96.3304Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M272.213 94.1262V127H277.333V92.8857C275.63 93.303 273.923 93.7164 272.213 94.1262Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M281.6 91.8311V127H286.72V90.5403C285.017 90.9743 283.31 91.4046 281.6 91.8311Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M290.987 89.4434V127H296.107V88.1013C294.404 88.5525 292.697 88.9998 290.987 89.4434Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M300.373 86.9614V127H305.493V85.5672C303.79 86.0356 302.084 86.5005 300.373 86.9614Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M309.76 84.3833V127H314.88V82.9359C313.177 83.4222 311.47 83.9047 309.76 84.3833Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M319.147 81.7072V127L324.267 127V80.2055C322.564 80.71 320.857 81.2105 319.147 81.7072Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M328.533 78.9311V127H333.653V77.3739C331.951 77.8968 330.244 78.4159 328.533 78.9311Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M337.92 76.0527V127H343.04V74.4388C341.337 74.9806 339.631 75.5186 337.92 76.0527Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M347.307 73.0698V127H352.427V71.3978C350.724 71.9591 349.018 72.5164 347.307 73.0698Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M356.693 69.9797V127H361.813V68.2482C360.111 68.8294 358.404 69.4066 356.693 69.9797Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M366.08 66.78V127H371.2V64.9874C369.498 65.589 367.791 66.1866 366.08 66.78Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M375.467 63.4677V127H380.587V61.6124C378.885 62.2349 377.178 62.8534 375.467 63.4677Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M384.853 60.0397V127H389.973V58.12C388.272 58.764 386.565 59.4039 384.853 60.0397Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M394.24 56.4928V127H399.36V54.5067C397.658 55.1728 395.952 55.8349 394.24 56.4928Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M403.627 52.8233V127H408.747V50.7687C407.045 51.4577 405.339 52.1427 403.627 52.8233Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M413.013 49.0275V127H418.133V46.9024C416.432 47.615 414.726 48.3233 413.013 49.0275Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M422.4 45.1012V127H427.52V42.903C425.819 43.64 424.112 44.3729 422.4 45.1012Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M431.787 41.04V127H436.907V38.7662C435.206 39.5285 433.499 40.2864 431.787 41.04Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M441.173 36.839V127H446.293V34.4867C444.593 35.2752 442.886 36.0593 441.173 36.839Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M450.56 32.4929V127H455.68V30.0591C453.98 30.8749 452.273 31.6862 450.56 32.4929Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M459.947 27.996V127H465.067V25.4774C463.367 26.3215 461.66 27.161 459.947 27.996Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M469.333 23.342V127H474.453V20.7348C472.754 21.6085 471.047 22.4776 469.333 23.342Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M478.72 18.524V127H483.84V15.8242C482.141 16.7288 480.434 17.6288 478.72 18.524Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M488.107 13.5344V127H493.227V10.7376C491.528 11.6747 489.821 12.6069 488.107 13.5344Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M497.493 8.36496V127H502.613V5.46611C500.915 6.43725 499.208 7.40357 497.493 8.36496Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n      <path\r\n        d=\"M506.88 3.0063V127H512V0C510.302 1.00709 508.595 2.00925 506.88 3.0063Z\"\r\n        fill=\"#F5F3F2\"\r\n      />\r\n    </svg>\r\n  );\r\n};\r\n\r\nexport default HEXBarChart;\r\n","import React from \"react\";\r\n\r\nexport const HEXTooltipArrow = () => {\r\n  return (\r\n    <svg\r\n      width=\"6\"\r\n      height=\"12\"\r\n      viewBox=\"0 0 6 12\"\r\n      fill=\"none\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      className=\"c-hex-tooltip-arrow\"\r\n    >\r\n      <path\r\n        d=\"M6 0.5L0.32877 5.18518C-0.10959 5.54731 -0.10959 6.45266 0.32877 6.81482L6 11.5L6 0.5Z\"\r\n        fill=\"#007FC8\"\r\n      />\r\n    </svg>\r\n  );\r\n};\r\n","import React from \"react\";\r\n\r\nexport const HEXToolTipIcon = () => {\r\n  return (\r\n    <svg\r\n      width=\"18\"\r\n      height=\"18\"\r\n      viewBox=\"0 0 18 18\"\r\n      fill=\"none\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      className=\"c-hex-tooltip-icon\"\r\n    >\r\n      <path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M9 0C4.02955 0 0 4.02955 0 9C0 13.9705 4.02955 18 9 18C13.9705 18 18 13.9705 18 9C18 4.02955 13.9705 0 9 0ZM8.59091 4.09091C8.37391 4.09091 8.16581 4.17711 8.01237 4.33055C7.85893 4.48399 7.77273 4.6921 7.77273 4.90909C7.77273 5.12609 7.85893 5.33419 8.01237 5.48763C8.16581 5.64107 8.37391 5.72727 8.59091 5.72727H9C9.217 5.72727 9.4251 5.64107 9.57854 5.48763C9.73198 5.33419 9.81818 5.12609 9.81818 4.90909C9.81818 4.6921 9.73198 4.48399 9.57854 4.33055C9.4251 4.17711 9.217 4.09091 9 4.09091H8.59091ZM7.36364 7.36364C7.14664 7.36364 6.93853 7.44984 6.78509 7.60328C6.63166 7.75672 6.54545 7.96482 6.54545 8.18182C6.54545 8.39881 6.63166 8.60692 6.78509 8.76036C6.93853 8.9138 7.14664 9 7.36364 9H8.18182V11.4545H7.36364C7.14664 11.4545 6.93853 11.5407 6.78509 11.6942C6.63166 11.8476 6.54545 12.0557 6.54545 12.2727C6.54545 12.4897 6.63166 12.6978 6.78509 12.8513C6.93853 13.0047 7.14664 13.0909 7.36364 13.0909H10.6364C10.8534 13.0909 11.0615 13.0047 11.2149 12.8513C11.3683 12.6978 11.4545 12.4897 11.4545 12.2727C11.4545 12.0557 11.3683 11.8476 11.2149 11.6942C11.0615 11.5407 10.8534 11.4545 10.6364 11.4545H9.81818V8.18182C9.81818 7.96482 9.73198 7.75672 9.57854 7.60328C9.4251 7.44984 9.217 7.36364 9 7.36364H7.36364Z\"\r\n        fill=\"#11387F\"\r\n      />\r\n    </svg>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport { HEXTooltipArrow } from \"@icons/hexpert/HEXTooltipArrow\";\r\nimport { HEXToolTipIcon } from \"@icons/hexpert/HEXToolTipIcon\";\r\nimport './ToolTip.scss';\r\n\r\ntype ToolTipProps = {\r\n  text?: string; // @TODO: should probably be an rich area text\r\n};\r\n\r\nexport const ToolTip = ({ text }: ToolTipProps) => {\r\n  return (\r\n    <div className=\"c-hex-tooltip-container\">\r\n      <HEXToolTipIcon />\r\n      <div className=\"c-hex-tooltip-text-container\">\r\n        <HEXTooltipArrow />\r\n        <div className=\"c-hex-tooltip-text\">\r\n          {text}\r\n        </div>\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport cs from \"classnames\";\r\nimport { ToolTip } from \"../ToolTip\";\r\nimport './FormGroup.scss';\r\n\r\ntype TFormGroup = {\r\n  children?: JSX.Element | JSX.Element[];\r\n  title?: string;\r\n  titleUnit?: string;\r\n  className?: string;\r\n  tooltip?: string;\r\n  size?: \"small\" | \"regular\";\r\n};\r\n\r\nexport const FormGroup = ({\r\n  children,\r\n  tooltip,\r\n  title,\r\n  titleUnit,\r\n  className,\r\n  size = \"regular\",\r\n}: TFormGroup) => {\r\n  return (\r\n    <div\r\n      className={cs(\"c-hex-form-group-container\", {\r\n        \"c-hex-form-group-container--small\": size === \"small\",\r\n      })}\r\n    >\r\n      <div className=\"c-hex-form-group-title-container\">\r\n        {title && (\r\n          <p className=\"c-hex-form-group-title\">\r\n            {title}{\" \"}\r\n            {titleUnit ? (\r\n              <span className=\"c-hex-group-title-unit\">({titleUnit})</span>\r\n            ) : null}\r\n          </p>\r\n        )}\r\n        {tooltip && <ToolTip text={tooltip} />}\r\n      </div>\r\n      {children}\r\n    </div>\r\n  );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport cs from \"classnames\";\r\nimport './RangeSlider.scss';\r\n\r\ntype TRangeSlider = {\r\n  minValue?: number;\r\n  maxValue?: number;\r\n  onChange?: (val: number) => void;\r\n  name?: string;\r\n  interval?: number;\r\n  value?: number;\r\n};\r\n\r\nexport const RangeSlider = ({\r\n  minValue = 100,\r\n  maxValue = 150000,\r\n  interval = 1,\r\n  value,\r\n  onChange,\r\n  name,\r\n}: TRangeSlider) => {\r\n  var minp = 0;\r\n  var maxp = 100;\r\n  const minv = Math.log(minValue > 0 ? minValue : 100);\r\n\r\n  const maxv = Math.log(maxValue);\r\n\r\n  const scale = (maxv - minv) / (maxp - minp);\r\n  const getVal = (position) => {\r\n    return Math.exp((position - minp) * scale + minv);\r\n  };\r\n  const getPos = (value) => {\r\n    return minp + (Math.log(value) - minv) / scale;\r\n  };\r\n  const [position, setPosition] = useState(getPos(value));\r\n\r\n  const calculateValue = (position) => {\r\n    if (position === 0) return 0;\r\n    const value = getVal(position);\r\n\r\n    if (value > 1000) {\r\n      return Math.round(value / 100) * 100;\r\n    }\r\n    if (value > 100) {\r\n      return Math.round(value / 10) * 10;\r\n    }\r\n    return Math.round(value);\r\n  };\r\n\r\n  return (\r\n    <div className={\"c-hex-range-slider-container \"}>\r\n      <input\r\n        type={\"range\"}\r\n        className={\"c-hex-range-slider-input\"}\r\n        name={name}\r\n        value={position}\r\n        min={0}\r\n        max={100}\r\n        onChange={(e) => {\r\n          const newPosition = e.target.value;\r\n          setPosition(Number(newPosition));\r\n\r\n          onChange(calculateValue(newPosition));\r\n          const newValues = {\r\n            position: newPosition,\r\n            value: calculateValue(newPosition),\r\n          };\r\n\r\n          //   @TODO: handle onChange\r\n        }}\r\n      />\r\n      <div\r\n        className={\"c-hex-range-slider-bar\"}\r\n        style={{ width: `${position}%` }}\r\n      />\r\n      <div\r\n        className={cs(\"c-hex-range-slider-thumb\", {\r\n          \"c-hex-range-slider-thumb-active\": value > 0,\r\n        })}\r\n        style={{ left: `calc(${position}% - 16px)` }}\r\n      />\r\n    </div>\r\n  );\r\n};\r\n","import React, { useContext } from \"react\";\r\nimport HEXBarChart from \"@icons/hexpert/HEXBarChart\";\r\nimport { FormGroup } from \"../../components/FormGroup\";\r\nimport { HexRadioItem } from \"../../components/RadioItem\";\r\nimport { RangeSlider } from \"../../components/RangeSlider\";\r\nimport { HexpertContext, unitSytems } from \"../../contexts/HexPertProvider\";\r\nimport { PageQuestion } from \"../../types/hexpertTypes\";\r\nimport {\r\n  unitConverter,\r\n  unitConvertName,\r\n  UnitSystem,\r\n  UnitTypes,\r\n} from \"../../helpers/unitsConversion\";\r\nimport './HexpertPowerRangeElementBlock.scss';\r\n\r\nexport const HexpertPowerRangeElementBlock = ({\r\n  Label,\r\n  Max,\r\n  Min,\r\n  Step,\r\n  FieldId,\r\n  PredefinedValue,\r\n}: PageQuestion) => {\r\n  const { state, dispatch } = useContext(HexpertContext);\r\n\r\n  return (\r\n    <FormGroup title={Label}>\r\n      <div className=\"c-hex-graph-range-slider-block-chart-container\">\r\n        <div className=\"c-hex-graph-range-slider-block-label\">\r\n          <p className=\"c-hex-graph-range-slider-block-title\">\r\n            {state?.formAnswers && state?.formAnswers[FieldId]\r\n              ? Math.round(\r\n                unitConverter(\r\n                  UnitTypes.POWER,\r\n                  state.unitSystem,\r\n                  state?.formAnswers?.[FieldId]?.replace(\":kW\", \"\")\r\n                )\r\n              )\r\n              : \"-\"}{\" \"}\r\n            {unitConvertName(UnitTypes.POWER, state.unitSystem)}\r\n          </p>\r\n          {state.unitSystem !== UnitSystem.STANDARD &&\r\n            state?.formAnswers?.[FieldId] && (\r\n              <p className=\"c-hex-graph-range-slider-block-subTitle\">\r\n                {`( ${state?.formAnswers?.[FieldId]?.replace(\r\n                  \":kW\",\r\n                  \"\"\r\n                )} ${unitConvertName(UnitTypes.POWER, UnitSystem.STANDARD)} )`}\r\n              </p>\r\n            )}\r\n        </div>\r\n        <div className=\"c-hex-graph-range-slider-image-container\">\r\n          <HEXBarChart />\r\n        </div>\r\n      </div>\r\n      <RangeSlider\r\n        minValue={Min}\r\n        maxValue={Max}\r\n        interval={Step}\r\n        name={Label}\r\n        value={\r\n          state?.formAnswers && state?.formAnswers[FieldId]\r\n            ? Number(state?.formAnswers?.[FieldId]?.replace(\":kW\", \"\"))\r\n            : PredefinedValue?.length > 0 && Number(PredefinedValue)\r\n              ? Number(PredefinedValue)\r\n              : 0\r\n        }\r\n        onChange={(val: number) =>\r\n          dispatch({\r\n            type: \"setAnswer\",\r\n            payload: { [FieldId]: val.toString() },\r\n          })\r\n        }\r\n      />\r\n      <div className=\"c-hex-graph-range-slider-block-units\">\r\n        {unitSytems.map((unit) => (\r\n          <HexRadioItem\r\n            key={unit}\r\n            label={unitConvertName(UnitTypes.POWER, unit)}\r\n            name={Label + \"unit\"}\r\n            onChange={() => {\r\n              dispatch({ type: \"setUnit\", payload: unit });\r\n            }}\r\n            value={unit}\r\n            selected={unit === state.unitSystem}\r\n          />\r\n        ))}\r\n      </div>\r\n    </FormGroup>\r\n  );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { PageQuestionOption } from \"../../types/hexpertTypes\";\r\nimport { SelectButton } from \"../Buttons\";\r\nimport cs from \"classnames\";\r\nimport './StepSlider.scss';\r\n\r\ntype TStepSlider = {\r\n  steps: PageQuestionOption[]; //@TODO\r\n  onChange?: (value: string) => void;\r\n  name?: string;\r\n  selectedPosition?: number;\r\n  convertUnit?: (unit: string) => string;\r\n};\r\n\r\nexport const StepSlider = ({\r\n  selectedPosition,\r\n  steps,\r\n  onChange,\r\n  name,\r\n  convertUnit,\r\n}: TStepSlider) => {\r\n  const [position, setPosition] = useState(selectedPosition ?? 0);\r\n\r\n  useEffect(() => {\r\n    setPosition(selectedPosition ?? 0);\r\n  }, [selectedPosition]);\r\n  return (\r\n    <div className=\"c-hex-step-slider-container\">\r\n      <input\r\n        type=\"range\"\r\n        value={position}\r\n        className=\"c-hex-step-slider-input\"\r\n        onChange={(e) => {\r\n          // needed for drag\r\n          setPosition(Number(e.target.value));\r\n        }}\r\n        min={0}\r\n        max={(steps?.length ?? 0) - 1}\r\n      />\r\n      <div\r\n        className=\"c-hex-step-slider-input-thumb\"\r\n        style={{\r\n          left: `calc(100% /${(steps?.length ?? 0) * 2} * ${position * 2\r\n            } + 100%/${(steps?.length ?? 0) * 2} - 16px)`,\r\n        }}\r\n      />\r\n      <div className=\"c-hex-step-slider-input-steps\">\r\n        {steps?.map((step, index) => {\r\n          return (\r\n            <div className=\"c-hex-step-slider-input-step\" key={index}>\r\n              <input\r\n                type=\"radio\"\r\n                name={name}\r\n                className=\"c-hex-step-slider-input-value\"\r\n                value={step.Value}\r\n                checked={index === position}\r\n                onChange={() => onChange(step.Value)}\r\n              />\r\n              <div\r\n                className={cs(\"c-hex-step-slider-input-step-bar\", {\r\n                  \"c-hex-step-slider-input-step-bar-active\": index === position,\r\n                })}\r\n              ></div>\r\n              <p className=\"c-hex-step-slider-input-step-value\">\r\n                {step?.Caption && convertUnit(step?.Caption)}\r\n              </p>\r\n            </div>\r\n          );\r\n        })}\r\n      </div>\r\n      <div className=\"c-hex-step-slider-input-steps--mobile\">\r\n        {steps?.map((step, index) => {\r\n          return (\r\n            <SelectButton\r\n              key={index}\r\n              name={name}\r\n              value={step.Value}\r\n              label={convertUnit(step?.Caption)}\r\n              action={() => onChange(step.Value)}\r\n              selected={selectedPosition === index}\r\n            />\r\n          );\r\n        })}\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n","import React, { useContext } from \"react\";\r\nimport { FormGroup } from \"../../components/FormGroup\";\r\nimport { StepSlider } from \"../../components/StepSlider\";\r\nimport { HexpertContext } from \"../../contexts/HexPertProvider\";\r\nimport { PageQuestion } from \"../../types/hexpertTypes\";\r\nimport {\r\n  unitConverter,\r\n  unitConvertName,\r\n  UnitTypes,\r\n} from \"../../helpers/unitsConversion\";\r\nimport './WeFitStepSliderBlock.scss';\r\n\r\ntype WeFitStepSliderBlockProps = PageQuestion & {\r\n  steps?: any[]; // @todo;\r\n  title?: string;\r\n  unit?: string;\r\n  unitType?: UnitTypes;\r\n  formName?: string;\r\n  currentStepIndex?: number;\r\n  action?: (val: string) => void;\r\n};\r\n\r\nexport const WeFitStepSliderBlock = ({\r\n  Label,\r\n  unit,\r\n  unitType,\r\n  Options,\r\n  Tooltip,\r\n  currentStepIndex,\r\n  action,\r\n}: WeFitStepSliderBlockProps) => {\r\n  const { state } = useContext(HexpertContext);\r\n\r\n  const convertUnit = (unit: string) => {\r\n    return unit\r\n      .split(\"-\")\r\n      .map((unit) =>\r\n        Math.round(unitConverter(unitType, state.unitSystem, unit))\r\n      )\r\n      .join(\" - \");\r\n  };\r\n  return (\r\n    <FormGroup\r\n      title={Label}\r\n      titleUnit={unitConvertName(unitType, state.unitSystem)}\r\n      tooltip={Tooltip}\r\n    >\r\n      {Options &&\r\n        Options?.length > 0 &&\r\n        Options[currentStepIndex === -1 ? 0 : currentStepIndex] && (\r\n          <p className=\"c-hex-step-slider-block-value\">\r\n            {convertUnit(\r\n              Options[currentStepIndex === -1 ? 0 : currentStepIndex]?.Caption\r\n            )}{\" \"}\r\n            {unitConvertName(unitType, state.unitSystem)}\r\n          </p>\r\n        )}\r\n\r\n      <form\r\n        onChange={(e) => {\r\n          // @ts-ignore\r\n          action(Options[e.target.value].Value);\r\n        }}\r\n      >\r\n        <StepSlider\r\n          steps={Options}\r\n          onChange={(value) => {\r\n            action(value);\r\n          }}\r\n          name={Label}\r\n          selectedPosition={\r\n            state?.formAnswers && currentStepIndex === -1 ? 0 : currentStepIndex\r\n          }\r\n          convertUnit={convertUnit}\r\n        />\r\n      </form>\r\n    </FormGroup>\r\n  );\r\n};\r\n","import React, { useContext } from \"react\";\r\nimport { WeFitStepSliderBlock } from \"../WeFitStepSliderBlock\";\r\nimport { PageQuestion } from \"../../types/hexpertTypes\";\r\nimport { HexpertContext } from \"../../contexts/HexPertProvider\";\r\nimport { UnitTypes } from \"../../helpers/unitsConversion\";\r\n\r\nexport const HexpertPressureChoiceElementBlock = (props: PageQuestion) => {\r\n  const { Options, Label, FieldId } = props;\r\n  const { state, dispatch } = useContext(HexpertContext);\r\n  const currentStepIndex = state?.formAnswers\r\n    ? Options?.findIndex((item) => item.Value === state?.formAnswers[FieldId])\r\n    : Options?.findIndex((item) => item.Checked) >= 0\r\n      ? Options?.findIndex((item) => item.Checked)\r\n      : 0;\r\n\r\n  return (\r\n    <WeFitStepSliderBlock\r\n      steps={Options}\r\n      Label={Label}\r\n      currentStepIndex={currentStepIndex}\r\n      action={(value) =>\r\n        dispatch({\r\n          type: \"setAnswer\",\r\n          payload: { [FieldId]: value },\r\n        })\r\n      }\r\n      unit={state.unitSystem}\r\n      unitType={UnitTypes.PRESSURE}\r\n      {...props}\r\n    />\r\n  );\r\n};\r\n","import React, { useContext } from \"react\";\r\nimport { SelectButton } from \"../../components/Buttons\";\r\nimport cs from \"classnames\";\r\nimport { FormGroup } from \"../../components/FormGroup\";\r\nimport {\r\n  ChoiceLayout,\r\n  ChoiceTypes,\r\n  PageQuestion,\r\n} from \"../../types/hexpertTypes\";\r\nimport { HexpertContext } from \"../../contexts/HexPertProvider\";\r\nimport {\r\n  unitConverter,\r\n  unitConvertName,\r\n  UnitTypes,\r\n} from \"../../helpers/unitsConversion\";\r\nimport './HexpertTemperatureChoiceBlock.scss';\r\n\r\nexport const HexpertTemperatureChoiceBlock = (props: PageQuestion) => {\r\n  const { Label, Options, CheckboxType, CheckboxOrientation, FieldId } = props;\r\n  const { state, dispatch } = useContext(HexpertContext);\r\n\r\n  return (\r\n    <FormGroup title={Label}>\r\n      <div\r\n        className={cs(\"c-hex-choice-block-container\", {\r\n          \"c-hex-choice-block-container--column\":\r\n            CheckboxOrientation === ChoiceLayout.VERTICAL,\r\n          \"c-hex-choice-block-container--nowrap\":\r\n            CheckboxType === ChoiceTypes.LARGE_BUTTON,\r\n        })}\r\n      >\r\n        {Options?.map((item) => (\r\n          <SelectButton\r\n            {...item}\r\n            key={item.Value}\r\n            label={\r\n              item.Caption.split(\"-\")\r\n                .map((unit) =>\r\n                  Math.round(\r\n                    unitConverter(UnitTypes.TEMPERATURE, state.unitSystem, unit)\r\n                  )\r\n                )\r\n                .join(\" - \") +\r\n              ` ${unitConvertName(UnitTypes.TEMPERATURE, state.unitSystem)}`\r\n            }\r\n            name={Label}\r\n            action={() => {\r\n              dispatch({\r\n                type: \"setAnswer\",\r\n                payload: { [FieldId]: item.Value },\r\n              });\r\n            }}\r\n            selected={\r\n              state?.formAnswers &&\r\n              state?.formAnswers?.[FieldId] === item?.Value\r\n            }\r\n          />\r\n        ))}\r\n      </div>\r\n    </FormGroup>\r\n  );\r\n};\r\n","import React, { useContext } from \"react\";\r\nimport { HexpertContext } from \"../../contexts/HexPertProvider\";\r\nimport { PageQuestion } from \"../../types/hexpertTypes\";\r\nimport './ParagraphTextElementBlock.scss';\r\n\r\nexport const ParagraphTextElementBlock = ({ ParagraphText }: PageQuestion) => {\r\n  const { state } = useContext(HexpertContext);\r\n  return (\r\n    <div className=\"c-hex-form-group-container\">\r\n      <div dangerouslySetInnerHTML={{ __html: ParagraphText }}></div>\r\n      <p className=\"c-hex-paragraph-text-block-industry-type\">\r\n        {state.chosenIndustry?.Title}\r\n      </p>\r\n      <p className=\"c-hex-paragraph-text-block-industry-description\">\r\n        {state.chosenIndustry?.Description}\r\n      </p>\r\n    </div>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport cs from \"classnames\";\r\nimport './ExpandBox.scss';\r\n\r\ntype ExpandBoxProps = {\r\n  children?: JSX.Element | JSX.Element[];\r\n  expandChildren?: JSX.Element | JSX.Element[];\r\n  expand?: boolean;\r\n};\r\n\r\nexport const ExpandBox = ({ children, expand }: ExpandBoxProps) => {\r\n  return (\r\n    <div className={\"c-hex-expand-box-container\"}>\r\n      <div\r\n        className={cs(\"c-hex-expand-box-expand-children\", {\r\n          \"c-hex-expand-box-expand-open\": expand,\r\n        })}\r\n      >\r\n        {children}\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n","import React, { useContext, useState } from \"react\";\r\nimport cs from \"classnames\";\r\nimport { ExpandBox } from \"../../components/ExpandBox\";\r\nimport { FormGroup } from \"../../components/FormGroup\";\r\nimport { WeFitStepSliderBlock } from \"../WeFitStepSliderBlock\";\r\nimport {\r\n  ChoiceLayout,\r\n  ChoiceTypes,\r\n  PageQuestion,\r\n  PageQuestionOption,\r\n} from \"../../types/hexpertTypes\";\r\nimport { HexpertContext, THexpertAnswer } from \"../../contexts/HexPertProvider\";\r\nimport { ButtonMapper } from \"../../components/Buttons\";\r\nimport './WeFitChoiceBlock.scss';\r\n\r\nexport const WeFitChoiceBlock = (props: PageQuestion) => {\r\n  const {\r\n    Label,\r\n    Options,\r\n    conditionQuestions,\r\n    Tooltip,\r\n    CheckboxType,\r\n    CheckboxOrientation,\r\n    FieldId,\r\n  } = props;\r\n  const { state, dispatch } = useContext(HexpertContext);\r\n  const [selected, setSelected] = useState<PageQuestionOption>(\r\n    Options?.find((item) => item.Value === state?.formAnswers?.[FieldId])\r\n  );\r\n  const [localPrevChildSelected, setLocalPrevChildSelected] =\r\n    useState<THexpertAnswer | null>(null);\r\n\r\n  if (CheckboxType === ChoiceTypes.SLIDER) {\r\n    return <WeFitStepSliderBlock steps={Options} Label={Label} {...props} />;\r\n  }\r\n  const handleExpandButtonClick = (item: PageQuestionOption) => {\r\n    const conditionFieldIds = conditionQuestions?.filter((condition) => {\r\n      return condition.Conditions.every((condition) => {\r\n        return condition.FieldValue !== item.Value;\r\n      });\r\n    });\r\n    if (conditionFieldIds?.length > 0) {\r\n      conditionFieldIds.forEach((fieldId) =>\r\n        dispatch({ type: \"removeAnswer\", payload: fieldId.FieldId })\r\n      );\r\n    }\r\n\r\n    const tempAnswer = { [FieldId]: item.Value };\r\n    conditionQuestions?.forEach((condition) => {\r\n      if (\r\n        !conditionFieldIds?.includes(condition) &&\r\n        !state?.formAnswers?.[condition?.FieldId]\r\n      ) {\r\n        const conditionDefault = condition?.Options?.find((op) => op.Checked);\r\n\r\n        if (localPrevChildSelected?.[condition?.FieldId]) {\r\n          dispatch({\r\n            type: \"setAnswer\",\r\n            payload: {\r\n              [condition.FieldId]: localPrevChildSelected[condition?.FieldId],\r\n            },\r\n          });\r\n        } else if (conditionDefault) {\r\n          tempAnswer[condition?.FieldId] = conditionDefault?.Value;\r\n          dispatch({\r\n            type: \"setAnswer\",\r\n            payload: tempAnswer,\r\n          });\r\n        }\r\n      }\r\n    });\r\n\r\n    dispatch({\r\n      type: \"setAnswer\",\r\n      payload: tempAnswer,\r\n    });\r\n    setSelected(item);\r\n  };\r\n\r\n  return conditionQuestions && conditionQuestions?.length > 0 ? (\r\n    <FormGroup title={Label} tooltip={Tooltip}>\r\n      <div\r\n        className={cs(\"c-hex-choice-block-container\", {\r\n          \"c-hex-choice-block-container--column\":\r\n            CheckboxOrientation === ChoiceLayout.VERTICAL,\r\n          \"c-hex-choice-block-container--nowrap\":\r\n            CheckboxType === ChoiceTypes.LARGE_BUTTON,\r\n        })}\r\n      >\r\n        {Options?.map((item) => (\r\n          <ButtonMapper\r\n            key={item.Value}\r\n            name={Label}\r\n            type={CheckboxType}\r\n            action={() => {\r\n              handleExpandButtonClick(item);\r\n              if (item.Value !== state?.formAnswers?.[FieldId]) {\r\n              }\r\n            }}\r\n            selected={\r\n              state?.formAnswers && item.Value === state?.formAnswers?.[FieldId]\r\n            }\r\n            props={item}\r\n          />\r\n        ))}\r\n      </div>\r\n\r\n      <ExpandBox expand={Boolean(selected)}>\r\n        <div\r\n          className={cs(\r\n            \"c-hex-choice-block-container c-hex-choice-block-container-expand c-hex-choice-block-container-gap--32\",\r\n            {\r\n              \"c-hex-choice-block-container--column\":\r\n                conditionQuestions?.length > 0 &&\r\n                conditionQuestions[0].CheckboxOrientation ===\r\n                ChoiceLayout.VERTICAL,\r\n              \"c-hex-choice-block-container--nowrap\":\r\n                CheckboxType === ChoiceTypes.LARGE_BUTTON,\r\n            }\r\n          )}\r\n        >\r\n          {selected &&\r\n            conditionQuestions\r\n              ?.filter((child) =>\r\n                child.Conditions?.some(\r\n                  (condition) =>\r\n                    condition.Operation === \"Equals\" &&\r\n                    condition.FieldValue === selected.Value\r\n                )\r\n              )\r\n              ?.map((child, i) => {\r\n                return (\r\n                  <div key={i} className={\"c-hex-choice-expand-options\"}>\r\n                    <p className={\"c-hex-choice-expand-options-title\"}>\r\n                      {child?.Label}\r\n                    </p>\r\n                    {child?.Options?.map((optionChild) => {\r\n                      const hasDefault = optionChild?.Checked;\r\n                      if (\r\n                        hasDefault &&\r\n                        !state?.formAnswers[child?.FieldId] &&\r\n                        !localPrevChildSelected?.[child?.FieldId]\r\n                      ) {\r\n                        dispatch({\r\n                          type: \"setAnswer\",\r\n                          payload: { [child.FieldId]: optionChild.Value },\r\n                        });\r\n                      }\r\n                      return (\r\n                        <ButtonMapper\r\n                          key={optionChild.Value}\r\n                          name={child.Label}\r\n                          type={ChoiceTypes.RADIO}\r\n                          action={() => {\r\n                            dispatch({\r\n                              type: \"setAnswer\",\r\n                              payload: { [child.FieldId]: optionChild.Value },\r\n                            });\r\n                            setLocalPrevChildSelected((prev) => ({\r\n                              ...prev,\r\n                              [child.FieldId]: optionChild.Value,\r\n                            }));\r\n                          }}\r\n                          props={optionChild}\r\n                          selected={\r\n                            state?.formAnswers &&\r\n                            optionChild.Value ===\r\n                            state?.formAnswers?.[child?.FieldId]\r\n                          }\r\n                        />\r\n                      );\r\n                    })}\r\n                  </div>\r\n                );\r\n              })}\r\n        </div>\r\n      </ExpandBox>\r\n    </FormGroup>\r\n  ) : (\r\n    <FormGroup title={Label}>\r\n      <div\r\n        className={cs(\"c-hex-choice-block-container\", {\r\n          \"c-hex-choice-block-container--column\":\r\n            CheckboxOrientation === ChoiceLayout.VERTICAL,\r\n          \"c-hex-choice-block-container--nowrap\":\r\n            CheckboxType === ChoiceTypes.LARGE_BUTTON,\r\n        })}\r\n      >\r\n        {Options?.map((item) => {\r\n          return (\r\n            <ButtonMapper\r\n              type={CheckboxType}\r\n              name={Label}\r\n              key={item.Value}\r\n              action={() =>\r\n                dispatch({\r\n                  type: \"setAnswer\",\r\n                  payload: { [FieldId]: item.Value },\r\n                })\r\n              }\r\n              selected={\r\n                state?.formAnswers &&\r\n                item.Value === state?.formAnswers?.[FieldId]\r\n              }\r\n              props={item}\r\n            />\r\n          );\r\n        })}\r\n      </div>\r\n    </FormGroup>\r\n  );\r\n};\r\n","import React from \"react\";\r\n\r\nexport const HEXDropDownArrowIcon = () => {\r\n  return (\r\n    <svg\r\n      width=\"18\"\r\n      height=\"10\"\r\n      viewBox=\"0 0 18 10\"\r\n      fill=\"none\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      className={\"c-hex-dropdown-arrow-icon\"}\r\n    >\r\n      <path\r\n        d=\"M1.3335 1.30506L9.01891 8.99048L16.9999 1.00947\"\r\n        stroke=\"black\"\r\n      />\r\n    </svg>\r\n  );\r\n};\r\n","import React, { useRef, useState } from \"react\";\r\nimport cs from \"classnames\";\r\nimport { useOutsideClick } from \"@hooks/useOutsideClick\";\r\nimport { HEXDropDownArrowIcon } from \"@icons/hexpert/HEXDropDownArrowIcon\";\r\nimport { HEXCheckIcon } from \"@icons/hexpert/HEXCheckIcon\";\r\nimport { PageQuestionOption } from \"../../types/hexpertTypes\";\r\nimport './DropDown.scss';\r\n\r\ntype DropDownProps = {\r\n  name?: string;\r\n  selected?: string;\r\n  defaultValue?: string;\r\n  onChange?: (option: string) => void;\r\n  options?: PageQuestionOption[];\r\n};\r\n\r\nexport const DropDown = ({\r\n  name,\r\n  selected,\r\n  defaultValue,\r\n  onChange,\r\n  options,\r\n}: DropDownProps) => {\r\n  const dropDownRef = useRef<HTMLDivElement>(null);\r\n\r\n  const [open, setOpen] = useState<boolean>(false);\r\n\r\n  useOutsideClick(dropDownRef, () => setOpen(false));\r\n\r\n  return (\r\n    <>\r\n      <select\r\n        className={cs(\"c-hex-dropdown--selected-container-mobile\", {\r\n          \"c-hex-dropdown-selected-container-active-mobile\": Boolean(selected),\r\n        })}\r\n        onChange={(e) => {\r\n          onChange(e.target.value);\r\n        }}\r\n        name={name}\r\n        value={selected ?? \"\"}\r\n      >\r\n        {options?.map((option) => (\r\n          <option key={option.Value} value={option.Value}>\r\n            {option.Caption}\r\n          </option>\r\n        ))}\r\n      </select>\r\n      <div\r\n        className={cs(\"c-hex-dropdown\", {\r\n          \"c-hex-dropdown-open\": open,\r\n        })}\r\n        ref={dropDownRef}\r\n      >\r\n        <div\r\n          className={cs(\"c-hex-dropdown-selected-container\", {\r\n            \"c-hex-dropdown-selected-container-active\": Boolean(selected),\r\n          })}\r\n          onClick={() => setOpen(!open)}\r\n        >\r\n          <label htmlFor={name} className=\"c-hex-dropdown-selected-label\">\r\n            {Boolean(selected) ? (\r\n              <>\r\n                <HEXCheckIcon /> {selected}\r\n              </>\r\n            ) : (\r\n              defaultValue\r\n            )}\r\n          </label>\r\n          <HEXDropDownArrowIcon />\r\n        </div>\r\n        <ul className={\"c-hex-dropdown-list-container\"}>\r\n          {options\r\n            ?.filter((o) => o.Value !== selected)\r\n            .map((option) => (\r\n              <li\r\n                key={option.Value}\r\n                value={option.Value}\r\n                className={\"c-hex-dropdown-list-item\"}\r\n                onClick={() => {\r\n                  setOpen(false);\r\n                  onChange(option.Value);\r\n                }}\r\n              >\r\n                {option.Caption}\r\n              </li>\r\n            ))}\r\n        </ul>\r\n      </div>\r\n    </>\r\n  );\r\n};\r\n","import React, { useContext, useEffect, useState } from \"react\";\r\nimport {DropDown} from \"../../components/DropDown\";\r\nimport {FormGroup} from \"../../components/FormGroup\";\r\nimport { HexpertContext } from \"../../contexts/HexPertProvider\";\r\nimport { PageQuestion, PageQuestionOption } from \"../../types/hexpertTypes\";\r\n\r\ntype WeFitDropDownBlockProps = PageQuestion & {\r\n  action?: () => void;\r\n};\r\n\r\nexport const WeFitDropDownBlock = ({\r\n  Label,\r\n  Options,\r\n  FieldId,\r\n}: WeFitDropDownBlockProps) => {\r\n  // @TODO\r\n  const [select, setSelected] = useState<string>(null);\r\n  const [items, setItems] = useState<PageQuestionOption[]>(null);\r\n  const { state, dispatch } = useContext(HexpertContext);\r\n  useEffect(() => {\r\n    const relatedOptions = Options?.filter((option) => {\r\n      return option.ValueRelevantTo?.split(\",\").some(\r\n        (value) => value === state.chosenIndustry?.Value\r\n      );\r\n    });\r\n    if (\r\n      state?.chosenIndustry &&\r\n      !state?.formAnswers?.[FieldId] &&\r\n      relatedOptions?.find((item) => item.Checked) &&\r\n      state?.showLastQuestions\r\n    ) {\r\n      // assuming this is the last steps\r\n      dispatch({\r\n        type: \"setAnswer\",\r\n        payload: {\r\n          [FieldId]: relatedOptions\r\n            ?.find((item) => item.Checked)\r\n            ?.Value?.toString(),\r\n        },\r\n      });\r\n    }\r\n    setItems(relatedOptions);\r\n  }, [state.chosenIndustry?.Value, Options, state?.showLastQuestions]);\r\n\r\n  return items ? (\r\n    <FormGroup title={Label}>\r\n      {items?.length > 0 && (\r\n        <DropDown\r\n          name=\"dropdown\"\r\n          options={items}\r\n          onChange={(val) =>\r\n            dispatch({ type: \"setAnswer\", payload: { [FieldId]: val } })\r\n          }\r\n          selected={\r\n            state?.formAnswers && state?.formAnswers[FieldId]\r\n              ? state?.formAnswers[FieldId]\r\n              : items?.find((item) => item.Checked)\r\n              ? items?.find((item) => item.Checked)?.Value\r\n              : null\r\n          }\r\n          defaultValue={\"Select\"}\r\n        />\r\n      )}\r\n    </FormGroup>\r\n  ) : null;\r\n};\r\n","import React, { useState } from \"react\";\r\nimport HEXBarChart from \"@icons/hexpert/HEXBarChart\";\r\nimport { FormGroup } from \"../../components/FormGroup\";\r\nimport { HexRadioItem } from \"../../components/RadioItem\";\r\nimport { RangeSlider } from \"../../components/RangeSlider\";\r\nimport { PageQuestion } from \"../../types/hexpertTypes\";\r\nimport './WeFitGraphRangeSliderBlock.scss';\r\n\r\nconst temporaryUnits = [\"kW\", \"MMBtu/h\", \"Mcal/h\"];\r\nexport const WeFitGraphRangeSliderBlock = ({\r\n  Label,\r\n  Max,\r\n  Min,\r\n  PredefinedValue,\r\n  Step,\r\n}: PageQuestion) => {\r\n  // @TODO: should come from top level?\r\n  const [value, setValue] = useState(0);\r\n  const [tempUnit, setTempUnit] = useState(null);\r\n  return (\r\n    <FormGroup title={Label} titleUnit={tempUnit ?? temporaryUnits[0]}>\r\n      <div className=\"c-hex-graph-range-slider-block-chart-container\">\r\n        <p className=\"c-hex-graph-range-slider-block-title\">\r\n          {value ? value : \"-\"} {tempUnit ?? temporaryUnits[0]}\r\n        </p>\r\n        <div className=\"c-hex-graph-range-slider-image-container\">\r\n          <HEXBarChart />\r\n        </div>\r\n      </div>\r\n      <RangeSlider\r\n        minValue={Min}\r\n        maxValue={Max}\r\n        interval={Step}\r\n        name={Label}\r\n        value={value}\r\n        onChange={(val: number) => setValue(val)}\r\n      />\r\n      <div className=\"c-hex-graph-range-slider-block-units\">\r\n        {temporaryUnits.map((unit) => (\r\n          <HexRadioItem\r\n            key={unit}\r\n            label={unit}\r\n            name={Label + \"unit\"}\r\n            onChange={() => {\r\n              setTempUnit(unit);\r\n            }}\r\n            value={unit}\r\n            selected={unit === tempUnit}\r\n          />\r\n        ))}\r\n      </div>\r\n    </FormGroup>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport cs from \"classnames\";\r\nimport './ListItem.scss';\r\n\r\ntype ListItemProps = {\r\n  title?: string;\r\n  text?: string;\r\n  action?: () => void;\r\n  active?: boolean;\r\n};\r\n\r\nexport const ListItem = ({ title, text, action, active }: ListItemProps) => {\r\n  return (\r\n    <div\r\n      className={cs(\"c-hex-list-item-container\", {\r\n        \"c-hex-list-item-container--active\": active,\r\n      })}\r\n      onClick={action}\r\n    >\r\n      <p className=\"c-hex-list-item-title\">{title}</p>\r\n      {text && <p className=\"c-hex-list-item-text\">{text}</p>}\r\n    </div>\r\n  );\r\n};\r\n","import React, { useContext, useEffect, useState } from \"react\";\r\nimport { FormGroup } from \"../../components/FormGroup\";\r\nimport { ListItem } from \"../../components/ListItem\";\r\nimport { HexpertContext } from \"../../contexts/HexPertProvider\";\r\nimport { IndustryType, PageQuestion } from \"../../types/hexpertTypes\";\r\nimport './WeFitListItemsBlock.scss';\r\n\r\ntype WeFitListChoiceBlockProps = PageQuestion & {\r\n  action?: () => void;\r\n};\r\n\r\nexport const WeFitListItemsBlock = ({\r\n  Label,\r\n  List,\r\n  Options,\r\n  action,\r\n  FieldId,\r\n}: WeFitListChoiceBlockProps) => {\r\n  const [items, setItems] = useState<IndustryType[]>(null);\r\n  const { dispatch, state } = useContext(HexpertContext);\r\n\r\n  useEffect(() => {\r\n    const mappedItems = List?.map((list) => {\r\n      const listOption = Options?.find(\r\n        (option) => option?.Caption?.trim() === list?.Title?.trim()\r\n      );\r\n      return {\r\n        ...list,\r\n        ...listOption,\r\n      };\r\n    });\r\n    const hasAnswer = mappedItems.find(\r\n      (item) => item.Value === state?.formAnswers?.[FieldId]\r\n    );\r\n    if (hasAnswer) {\r\n      dispatch({ type: \"setIndustry\", payload: hasAnswer });\r\n    }\r\n    setItems(mappedItems);\r\n  }, [List]);\r\n\r\n  useEffect(() => {\r\n    if (\r\n      state?.chosenIndustry &&\r\n      !state?.formAnswers?.[FieldId] &&\r\n      state?.showLastQuestions\r\n    ) {\r\n      // if we have default industry\r\n\r\n      dispatch({\r\n        type: \"setAnswer\",\r\n        payload: { [FieldId]: state?.chosenIndustry?.Value?.toString() },\r\n      });\r\n    }\r\n  }, [state?.showLastQuestions, state?.formAnswers?.[FieldId]]);\r\n\r\n  return (\r\n    <FormGroup title={Label}>\r\n      <div className=\"c-hex-list-choice-container\">\r\n        {items?.map((item) => (\r\n          <ListItem\r\n            title={item.Title}\r\n            key={item.Value}\r\n            text={item.Description}\r\n            active={item.Value === state?.formAnswers?.[FieldId]}\r\n            action={() => {\r\n              dispatch({ type: \"setIndustry\", payload: item });\r\n              dispatch({\r\n                type: \"setAnswer\",\r\n                payload: { [FieldId]: item.Value?.toString() },\r\n              });\r\n              action();\r\n            }}\r\n          />\r\n        ))}\r\n      </div>\r\n    </FormGroup>\r\n  );\r\n};\r\n","import React, { useContext } from 'react';\r\nimport { StepWizardChildProps } from 'react-step-wizard';\r\nimport { HexpertState } from '../../contexts/HexPertProvider';\r\nimport { HexpertContext } from '../../contexts/HexPertProvider';\r\nimport { NavigationButton } from '../Buttons/NavigationButton/NavigationButton';\r\nimport './Container.scss';\r\n\r\ntype DangerHTML = {\r\n  __html: string;\r\n};\r\n\r\ntype ContainerProps = {\r\n  title?: string;\r\n  description?: string | DangerHTML;\r\n  formHeader?: JSX.Element[] | JSX.Element; //@TODO should be content type\r\n  tempChildren?: JSX.Element[] | JSX.Element; //@TODO should be content type\r\n  setStartSteps?: (startPosition: HexpertState['startSteps']) => void;\r\n  children?: JSX.Element | JSX.Element[];\r\n  showBackButton?: boolean;\r\n  showNextButton?: boolean;\r\n  submitLabel?: string;\r\n  submit?: () => void | null;\r\n  loading?: boolean;\r\n} & Partial<StepWizardChildProps>;\r\n\r\nexport const Container = ({\r\n  title,\r\n  description,\r\n  children,\r\n  formHeader,\r\n  setStartSteps,\r\n  currentStep,\r\n  totalSteps,\r\n  nextStep,\r\n  previousStep,\r\n  showBackButton = true,\r\n  showNextButton = true,\r\n  submitLabel,\r\n  loading,\r\n  submit,\r\n}: ContainerProps) => {\r\n  const { state } = useContext(HexpertContext);\r\n\r\n  return (\r\n    <div className='c-hex-form-container'>\r\n      <div className='c-hex-container-info'>\r\n        <p className='c-hex-container-title'>{title}</p>\r\n        {description === typeof String ? (\r\n          <p className='c-hex-container-description'>{description}</p>\r\n        ) : (\r\n          <p\r\n            className='c-hex-container-description'\r\n            // @ts-ignore\r\n            dangerouslySetInnerHTML={{ __html: description }}\r\n          ></p>\r\n        )}\r\n      </div>\r\n      {formHeader && <div className='c-hex-container-header'>{formHeader}</div>}\r\n      <div className='c-hex-form-container-children'>\r\n        {children}\r\n\r\n        {showBackButton || showNextButton ? (\r\n          <div className='c-hex-container-navigation-container'>\r\n            {showBackButton && (\r\n              <NavigationButton\r\n                label={state.pageProps.HexpertBackLabel}\r\n                action={() => {\r\n                  currentStep === 1 ? setStartSteps(null) : previousStep();\r\n                }}\r\n                showLeftArrow\r\n              />\r\n            )}\r\n            {!loading && showNextButton && (\r\n              <NavigationButton\r\n                label={submitLabel ? submitLabel : state.pageProps.HexpertContinueLabel}\r\n                action={() => {\r\n                  submit ? submit() : nextStep();\r\n                }}\r\n              />\r\n            )}\r\n          </div>\r\n        ) : null}\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n","import Axios from 'axios';\r\nimport React, { useContext, useEffect, useState } from 'react';\r\nimport { StepWizardChildProps } from 'react-step-wizard';\r\nimport { ContentTypes, loadComponent } from '../../blocks';\r\nimport { HexpertContext, HexpertState } from '../../contexts/HexPertProvider';\r\nimport { PageQuestion } from '../../types/hexpertTypes';\r\nimport { getUnitForField } from '../../helpers/unitsConversion';\r\nimport { Container } from './Container';\r\nimport { Hexpert as endpoints } from '@services/endpoints';\r\nimport dataLayer from '@helpers/dataLayer';\r\n\r\nenum FormFields {\r\n  FORM_GUID = '__FormGuid',\r\n  FORM_LANGUAGE = '__FormLanguage',\r\n  FORM_HOSTED_PAGE = '__FormHostedPage',\r\n  FORM_ANTI_FORGERY = '__RequestVerificationToken',\r\n}\r\n\r\ntype TFormSection = {\r\n  title?: string;\r\n  label?: string;\r\n  description?: string;\r\n  setStartSteps?: (startPosition: HexpertState['startSteps']) => void;\r\n  formHeader?: JSX.Element;\r\n  children?: JSX.Element[] | JSX.Element;\r\n  questions?: PageQuestion[];\r\n  showNextButton: boolean;\r\n  determineFurtherQuestions?: boolean;\r\n  shouldSubmit?: boolean;\r\n} & Partial<StepWizardChildProps>;\r\n\r\nexport const FormSection = ({\r\n  title,\r\n  description,\r\n  setStartSteps,\r\n  formHeader,\r\n  questions,\r\n  nextStep,\r\n  previousStep,\r\n  currentStep,\r\n  showNextButton,\r\n  determineFurtherQuestions,\r\n  shouldSubmit,\r\n}: TFormSection) => {\r\n  const { state, dispatch } = useContext(HexpertContext);\r\n  const [requiredQuestions, setRequiredQuestions] = useState([]);\r\n\r\n  useEffect(() => {\r\n    if (state?.startSteps === 'start') {\r\n      dataLayer.push('page_view', {\r\n        page_category: state?.hexpertSteps?.slice(0, currentStep + 2),\r\n        page_path: state?.hexpertSteps?.slice(0, currentStep + 2).join('/'),\r\n        page_title: `Hexpert-${state?.currentForm?.title} - ${title}`,\r\n      });\r\n    }\r\n  }, []);\r\n\r\n  const questionValidator = () => {\r\n    const required = [];\r\n    questions.forEach((q) => {\r\n      // add questions with options or slider values to required.\r\n      if (q.Options?.length || q.Max || q.PredefinedValue) {\r\n        required.push(q.FieldId);\r\n        const hasCondition = q.conditionQuestions?.length > 0 ? q.FieldId : null;\r\n        // check if there are any nest conditional questions\r\n        if (hasCondition && state?.formAnswers) {\r\n          q?.conditionQuestions?.forEach((conditionQuestion) => {\r\n            const isPartOfSelected = conditionQuestion?.Conditions?.some((condition) => {\r\n              return condition.FieldValue === state?.formAnswers[hasCondition];\r\n            });\r\n            if (isPartOfSelected) {\r\n              required.push(conditionQuestion.FieldId);\r\n            }\r\n          });\r\n        }\r\n      } else {\r\n        return;\r\n      }\r\n    });\r\n    setRequiredQuestions(required);\r\n  };\r\n\r\n  useEffect(() => {\r\n    questionValidator();\r\n  }, [state?.formAnswers]);\r\n\r\n  const checkForm = () => {\r\n    dispatch({ type: 'formCheckLoading', payload: true });\r\n    dispatch({ type: 'setForceSteps', payload: null });\r\n    dispatch({ type: 'showLastQuestions', payload: false });\r\n    dispatch({ type: 'submitOnNext', payload: false });\r\n\r\n    const indexOfMiddleSubmit = state.currentForm.sections?.findIndex((s) => s.isSubmit);\r\n    const clearAdditionalQuestionAnswers = state.currentForm?.sections?.slice(\r\n      indexOfMiddleSubmit + 1,\r\n      state.currentForm.sections?.length\r\n    );\r\n    // clear all answers for additional questions\r\n    clearAdditionalQuestionAnswers.forEach((a) =>\r\n      a.questions.forEach((q) => dispatch({ type: 'removeAnswer', payload: q.FieldId }))\r\n    );\r\n\r\n    const form = new FormData();\r\n    form.append(FormFields.FORM_GUID, state.currentForm.formGuid);\r\n    form.append(FormFields.FORM_LANGUAGE, window['lang']);\r\n    form.append(FormFields.FORM_HOSTED_PAGE, state.pageProps?.PageId.toString());\r\n    state.formAnswers &&\r\n      Object.entries(state.formAnswers).forEach((val) => form.append(val[0], val[1]));\r\n    Axios.post(endpoints.getIsMatchingProducts, form)\r\n      .then((res) => {\r\n        dispatch({ type: 'formCheckLoading', payload: false });\r\n\r\n        dispatch({ type: 'submitOnNext', payload: res?.data === false });\r\n        if (res?.data === false) {\r\n        } else {\r\n          dispatch({ type: 'showLastQuestions', payload: true });\r\n        }\r\n      })\r\n      .catch((e) => {\r\n        // fail assume we should submit on next\r\n        dispatch({ type: 'submitOnNext', payload: true });\r\n        dispatch({ type: 'formCheckLoading', payload: false });\r\n      });\r\n  };\r\n\r\n  const submitForm = (state: HexpertState, showResultAfter?: boolean) => {\r\n    dispatch({ type: 'loadingResult', payload: true });\r\n    Axios.get(endpoints.getAntiForgeryToken).then((antiforgery) => {\r\n      console.log('antiforgery ', antiforgery);\r\n      const form = new FormData();\r\n      form.append(FormFields.FORM_GUID, state.currentForm.formGuid);\r\n      form.append(FormFields.FORM_ANTI_FORGERY, antiforgery.data);\r\n      form.append(FormFields.FORM_LANGUAGE, window['lang']);\r\n      form.append(FormFields.FORM_HOSTED_PAGE, state.pageProps?.PageId.toString());\r\n\r\n      state.formAnswers &&\r\n        Object.entries(state.formAnswers).forEach((val) => form.append(val[0], val[1]));\r\n      Axios.post(endpoints.submitHexpertForm, form, {\r\n        headers: {\r\n          ['antiforgerytoken']: antiforgery.data,\r\n        },\r\n      }).then((submitRes) => {\r\n        if (submitRes.data.isSuccess) {\r\n          return;\r\n        }\r\n        let redirectUrl = submitRes.data.RedirectUrl?.split('?')[1] ?? '';\r\n        const tempUrl = redirectUrl.split('//');\r\n        if (tempUrl.length > 1) redirectUrl = '/' + tempUrl[1].split('/').slice(1).join('/');\r\n        if (!redirectUrl || redirectUrl?.length < 1) {\r\n          dispatch({ type: 'loadingResult', payload: false });\r\n        }\r\n\r\n        Axios.get(endpoints.getHexpertResult + '?' + redirectUrl, {\r\n          params: {\r\n            culture: window['lang'],\r\n          },\r\n        })\r\n          .then((res) => {\r\n            dispatch({ type: 'loadingResult', payload: false });\r\n\r\n            dispatch({\r\n              type: 'setResult',\r\n              payload: {\r\n                redirectUrl: window && window?.location?.origin + submitRes.data?.RedirectUrl,\r\n                ...res.data,\r\n                Summary: {\r\n                  ...res.data.Summary,\r\n                  FormDataItems: res.data.Summary.FormDataItems.map((item) => ({\r\n                    ...item,\r\n                    unit: getUnitForField(item.FieldName, state.pageProps.Forms),\r\n                  })),\r\n                },\r\n              },\r\n            });\r\n          })\r\n      });\r\n    });\r\n  };\r\n\r\n  return (\r\n    <Container\r\n      title={title}\r\n      description={description}\r\n      setStartSteps={setStartSteps}\r\n      formHeader={currentStep === 1 && formHeader} // need to add in backend should maybe be in the separator block?\r\n      nextStep={nextStep}\r\n      currentStep={currentStep}\r\n      previousStep={previousStep}\r\n      loading={state?.formCheckLoading}\r\n      showNextButton={\r\n        requiredQuestions?.length &&\r\n        requiredQuestions.every(\r\n          (req) => state?.formAnswers && Object.keys(state?.formAnswers).includes(req)\r\n        )\r\n      }\r\n      submitLabel={\r\n        questions.find((question) => question.ContentType === 'WeFitSubmitButtonElementBlock')\r\n          ?.Label\r\n      }\r\n      submit={\r\n        state?.submitOnNext && shouldSubmit\r\n          ? () => {\r\n            submitForm(state);\r\n            dispatch({ type: 'showProductResult', payload: true });\r\n          }\r\n          : determineFurtherQuestions\r\n            ? () => {\r\n              checkForm();\r\n              nextStep();\r\n            }\r\n            : questions.find((question) => question.ContentType === 'WeFitSubmitButtonElementBlock')\r\n              ? () => {\r\n                dispatch({ type: 'showProductResult', payload: true });\r\n                submitForm(state, true);\r\n              }\r\n              : null\r\n      }\r\n    >\r\n      <>\r\n        {questions?.map((question) => {\r\n          return loadComponent(question.ContentType as ContentTypes, question, nextStep);\r\n        })}\r\n      </>\r\n    </Container>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport { PageQuestion } from \"../types/hexpertTypes\";\r\nimport {HexpertPowerRangeElementBlock} from \"./HexpertPowerRangeElementBlock\";\r\nimport {HexpertPressureChoiceElementBlock} from \"./HexpertPressureChoiceElementBlock\";\r\nimport {HexpertTemperatureChoiceBlock} from \"./HexpertTemperatureChoiceBlock\";\r\nimport {ParagraphTextElementBlock} from \"./ParagraphTextElementBlock\";\r\nimport {WeFitChoiceBlock} from \"./WeFitChoiceBlock.tsx\";\r\nimport {WeFitDropDownBlock} from \"./WeFitDropDownBlock\";\r\nimport {WeFitGraphRangeSliderBlock} from \"./WeFitGraphRangeSliderBlock\";\r\nimport {WeFitListItemsBlock} from \"./WeFitListItemsBlock\";\r\n\r\nexport type ContentTypes =\r\n  | \"WeFitChoiceElementBlock\"\r\n  | \"WeFitDencityTextboxElementBlock\"\r\n  | \"WeFitFlowRateTextboxElementBlock\"\r\n  | \"HexpertPowerRangeElementBlock\"\r\n  | \"WeFitSeparatorBlock\"\r\n  | \"WeFitSpecificHeatCapacityTextboxElementBlock\"\r\n  | \"WeFitStartupFrequencyTextboxElementBlock\"\r\n  | \"WeFitSubmitButtonElementBlock\"\r\n  | \"WeFitTextBoxElementBlock\"\r\n  | \"WeFitThermalConductivityTextboxElementBlock\"\r\n  | \"RangeElementBlock\"\r\n  | \"HexpertIndustryChoiceElementBlock\"\r\n  | \"HexpertSelectionDependentOn\"\r\n  | \"HexpertTemperatureChoiceElementBlock\"\r\n  | \"HexpertPressureChoiceElementBlock\"\r\n  | \"WeFitPowerTextboxElementBlock\"\r\n  | \"ParagraphTextElementBlock\"\r\n  | \"WeFitSubmitButtonElementBlock\";\r\n\r\nexport const loadComponent = (\r\n  contentType: ContentTypes,\r\n  content: PageQuestion,\r\n  nextStep?: () => void\r\n) => {\r\n  switch (contentType) {\r\n    case \"WeFitChoiceElementBlock\":\r\n      return <WeFitChoiceBlock {...content} key={content.FieldId} />;\r\n    case \"HexpertPressureChoiceElementBlock\":\r\n      return (\r\n        <HexpertPressureChoiceElementBlock {...content} key={content.FieldId} />\r\n      );\r\n    case \"HexpertTemperatureChoiceElementBlock\":\r\n      return (\r\n        <HexpertTemperatureChoiceBlock {...content} key={content.FieldId} />\r\n      );\r\n    case \"WeFitSeparatorBlock\":\r\n      return null;\r\n    case \"RangeElementBlock\":\r\n      return <WeFitGraphRangeSliderBlock {...content} key={content.FieldId} />;\r\n    case \"HexpertPowerRangeElementBlock\":\r\n      return (\r\n        <HexpertPowerRangeElementBlock {...content} key={content.FieldId} />\r\n      );\r\n    case \"HexpertIndustryChoiceElementBlock\":\r\n      return (\r\n        <WeFitListItemsBlock\r\n          {...content}\r\n          action={nextStep}\r\n          key={content.FieldId}\r\n        />\r\n      );\r\n    case \"ParagraphTextElementBlock\":\r\n      return <ParagraphTextElementBlock {...content} key={content.FieldId} />;\r\n    case \"HexpertSelectionDependentOn\":\r\n      return <WeFitDropDownBlock {...content} key={content.FieldId} />;\r\n    case \"WeFitStartupFrequencyTextboxElementBlock\":\r\n      return null;\r\n    case \"WeFitSubmitButtonElementBlock\":\r\n      return null;\r\n\r\n    case \"WeFitTextBoxElementBlock\":\r\n      return null;\r\n    case \"WeFitThermalConductivityTextboxElementBlock\":\r\n      return null;\r\n    default:\r\n      return null;\r\n  }\r\n};\r\n","import React, { useContext, useEffect } from \"react\";\r\nimport { StepWizardChildProps } from \"react-step-wizard\";\r\nimport { EntryButton } from \"../components/Buttons\";\r\nimport { Container } from \"../components/Form\";\r\nimport { HexpertContext } from \"../contexts/HexPertProvider\";\r\nimport { HexpertFormBlockEnum } from \"../helpers/formSections\";\r\nimport { IndustryListItem } from \"../types/hexpertTypes\";\r\nimport dataLayer from '@helpers/dataLayer';\r\n\r\ntype THexpertChooseType = {\r\n  action?: () => void;\r\n} & Partial<StepWizardChildProps>;\r\n\r\nexport const HexpertChooseType = ({ action, nextStep }: THexpertChooseType) => {\r\n  const { state, dispatch } = useContext(HexpertContext);\r\n\r\n  useEffect(() => {\r\n    dataLayer.push('page_view', {\r\n      page_path: window?.location?.pathname,\r\n      page_title: 'Hexpert',\r\n      page_category: ['hexpert'],\r\n      page_id: window['pageId'],\r\n    });\r\n  }, [])\r\n  return (\r\n    <Container\r\n      description={state.pageProps.IntroDescription}\r\n      title={state.pageProps.IntroText}\r\n      showBackButton={false}\r\n      showNextButton={false}\r\n    >\r\n      {state?.pageProps?.MappedForms?.filter((el) => el.image).map((el) => (\r\n        <EntryButton\r\n          action={() => {\r\n            dispatch({ type: \"setCurrentForm\", payload: el?.type });\r\n            const form = state?.pageProps?.MappedForms?.find(\r\n              (form) => form.type === el?.type\r\n            );\r\n            dispatch({ type: \"setHexpertSteps\", payload: ['hexpert', `Hexpert-${form?.title}`] })\r\n            if (state?.currentForm?.type !== el?.type) {\r\n              const tempDefaultAnswers = {};\r\n              form.sections?.forEach((section) =>\r\n                section?.questions?.forEach((question) => {\r\n                  if (question?.ContentType === HexpertFormBlockEnum.SELECT) {\r\n                    return;\r\n                  }\r\n                  if (question?.ContentType === HexpertFormBlockEnum.INDUSTRY) {\r\n                    const defaultIndustry = question?.Options?.find(\r\n                      (option) => option.Checked\r\n                    );\r\n\r\n                    if (defaultIndustry) {\r\n                      const list = question?.List as IndustryListItem[];\r\n                      const listInfo = list?.find(\r\n                        (list) =>\r\n                          list.Title?.trim() ===\r\n                          defaultIndustry?.Caption?.trim()\r\n                      );\r\n\r\n                      dispatch({\r\n                        type: \"setIndustry\",\r\n                        payload: { ...listInfo, ...defaultIndustry },\r\n                      });\r\n\r\n                      return;\r\n                    }\r\n                  }\r\n                  if (\r\n                    question?.PredefinedValue &&\r\n                    question?.PredefinedValue?.length > 0\r\n                  ) {\r\n                    tempDefaultAnswers[question?.FieldId] =\r\n                      question?.PredefinedValue;\r\n                  }\r\n\r\n                  if (question?.Options?.some((option) => option?.Checked)) {\r\n                    tempDefaultAnswers[question?.FieldId] =\r\n                      question?.Options?.find(\r\n                        (option) => option?.Checked\r\n                      )?.Value;\r\n                  }\r\n                })\r\n              );\r\n              dispatch({\r\n                type: \"setDefaultAnswers\",\r\n                payload: tempDefaultAnswers,\r\n              });\r\n            }\r\n            action();\r\n            nextStep && nextStep();\r\n          }}\r\n          icon={el?.type}\r\n          label={el?.title}\r\n          fixedWidth\r\n          key={el?.title}\r\n        />\r\n      ))}\r\n    </Container>\r\n  );\r\n};\r\n","import React, { useContext } from \"react\";\r\nimport { HexRadioItem } from \"../../components/RadioItem\";\r\nimport { HexpertContext, unitSytems } from \"../../contexts/HexPertProvider\";\r\nimport { UnitSystem } from \"../../helpers/unitsConversion\";\r\nimport './WeFitFormHeaderBlock.scss';\r\n\r\nconst unitSystemToName = (unit: UnitSystem) => {\r\n  const { state } = useContext(HexpertContext);\r\n  switch (unit) {\r\n    case UnitSystem.IMPERIAL:\r\n      return state.pageProps.HexpertImperialRadioButton;\r\n    case UnitSystem.METRIC:\r\n      return state.pageProps.HexpertMetricRadioButton;\r\n    default:\r\n      return state.pageProps.HexpertStandardRadioButton;\r\n  }\r\n};\r\n\r\nexport const WeFitFormHeaderBlock = () => {\r\n  const { state, dispatch } = useContext(HexpertContext);\r\n\r\n  return (\r\n    <div className=\"c-hex-form-header-block\">\r\n      <div className=\"c-hex-form-header-wrapper\">\r\n        <p className=\"c-hex-form-header-block-title\">{state.pageProps.HexpertUnitsLabel}</p>\r\n        {unitSytems.map((unit) => {\r\n          return (\r\n            <HexRadioItem\r\n              key={unit}\r\n              label={unitSystemToName(unit)}\r\n              name={\"units\"}\r\n              onChange={() => {\r\n                dispatch({ type: \"setUnit\", payload: unit });\r\n              }}\r\n              value={unit}\r\n              selected={state.unitSystem === unit}\r\n            />\r\n          );\r\n        })}\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n","import React from \"react\";\r\n\r\nconst HEXLongArrowLeft = () => {\r\n  return (\r\n    <svg\r\n      width=\"24\"\r\n      height=\"11\"\r\n      viewBox=\"0 0 24 11\"\r\n      fill=\"none\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n    >\r\n      <path\r\n        d=\"M23.5 5.40802L1 5.40802M1 5.40802L5.72727 0.625M1 5.40802L5.90909 10.375\"\r\n        stroke=\"black\"\r\n      />\r\n    </svg>\r\n  );\r\n};\r\n\r\nexport default HEXLongArrowLeft;\r\n","import React from \"react\";\r\nimport './Input.scss';\r\n\r\ntype HexpertInputProps = {\r\n  placeHolder?: string;\r\n  value?: string;\r\n  onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n};\r\n\r\nexport const Input = ({ placeHolder, value, onChange }: HexpertInputProps) => {\r\n  return (\r\n    <input\r\n      placeholder={placeHolder}\r\n      onChange={(e) => onChange(e)}\r\n      value={value}\r\n      className={\"c-hex-input\"}\r\n    />\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport { CloseButton } from \"@components/CloseButton\";\r\nimport './Modal.scss';\r\n\r\ntype ModalProps = {\r\n  marginTop: string;\r\n  children?: JSX.Element[] | JSX.Element;\r\n  alignItems: string;\r\n  onClose?: () => void;\r\n};\r\n\r\nexport const Modal = ({ marginTop, children, alignItems, onClose }: ModalProps) => {\r\n  return (\r\n    <div\r\n      className={\"c-hex-modal-container\"}\r\n      style={{\r\n        marginTop: marginTop,\r\n        alignItems: alignItems,\r\n      }}\r\n    >\r\n      <div\r\n        className={\"c-hex-modal-inner-container\"}\r\n      >\r\n        {onClose && <CloseButton onClick={onClose} />}\r\n        {children}\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n","export const imageUrlHelper = (img: string) => {\r\n    if(!img || img?.length < 1) return ''\r\n    let str = img\r\n    if(str[0] === '~'){\r\n        str = str?.slice(1)\r\n    }\r\n    if(str?.includes('https')) return str\r\n    return str?.replace('http', 'https')\r\n\r\n}","import React from \"react\";\r\nimport { Button } from \"../../components/Buttons\";\r\nimport { Input } from \"../../components/Input\";\r\nimport { Modal } from \"../../components/Modal\";\r\nimport { HexpertModalProps } from \"../../types/hexpertTypes\";\r\nimport { imageUrlHelper } from \"../../helpers/imageHelper\";\r\nimport './HexpertModalBlock.scss';\r\n\r\ntype HexpertModalBlockProps = {\r\n  isConfirm?: boolean;\r\n  action?: () => void;\r\n  onInputChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n  inputValue?: string;\r\n  invalidEmail?: boolean;\r\n} & HexpertModalProps;\r\n\r\nexport const HexpertModalBlock = ({\r\n  ModalButtonText,\r\n  ModalConfirmationDescription,\r\n  ModalConfirmationHeading,\r\n  ModalDescription,\r\n  ModalHeading,\r\n  ModalImage,\r\n  ModalQuoteText,\r\n  ModalTextboxPlaceholder,\r\n  ModalUsp,\r\n  isConfirm,\r\n  action,\r\n  inputValue,\r\n  onInputChange,\r\n  invalidEmail,\r\n}: HexpertModalBlockProps) => {\r\n  return (\r\n    <Modal\r\n      marginTop={\"80vh\"}\r\n      alignItems={\"center\"}\r\n      children={\r\n        <>\r\n          {(ModalHeading || isConfirm) && (\r\n            <>\r\n              <h1 className={\"c-hex-modal-block-title\"}>\r\n                {isConfirm ? ModalConfirmationHeading : ModalHeading}\r\n              </h1>\r\n            </>\r\n          )}\r\n          {!isConfirm && (\r\n            <p className={\"c-hex-modal-block-subText\"}>{ModalDescription}</p>\r\n          )}\r\n          {isConfirm && ModalConfirmationDescription && (\r\n            <div\r\n              className={\"c-hex-modal-block-subText\"}\r\n              dangerouslySetInnerHTML={{ __html: ModalConfirmationDescription }}\r\n            />\r\n          )}\r\n          {!isConfirm && (ModalImage?.Url || ModalUsp) && (\r\n            <>\r\n              <div className=\"c-hex-modal-block-usp-section\">\r\n                {ModalImage?.Url && (\r\n                  <div className=\"c-hex-modal-block-image-container\">\r\n                    <img\r\n                      className=\"c-hex-modal-block-image\"\r\n                      src={imageUrlHelper(ModalImage.Url)}\r\n                      alt={ModalHeading}\r\n                    />\r\n                  </div>\r\n                )}\r\n                {ModalUsp && ModalUsp?.length > 0 && (\r\n                  <div\r\n                    className=\"c-hex-modal-block-usp-list\"\r\n                    dangerouslySetInnerHTML={{ __html: ModalUsp }}\r\n                  ></div>\r\n                )}\r\n              </div>\r\n            </>\r\n          )}\r\n          {!isConfirm && (\r\n            <>\r\n              <div className={\"c-hex-modal-block-email-wrapper\"}>\r\n                {ModalTextboxPlaceholder && onInputChange && (\r\n                  <Input\r\n                    placeHolder={ModalTextboxPlaceholder}\r\n                    value={inputValue}\r\n                    onChange={onInputChange}\r\n                  />\r\n                )}\r\n                {ModalButtonText && action && (\r\n                  <Button action={action} label={ModalButtonText} />\r\n                )}\r\n              </div>\r\n            </>\r\n          )}\r\n        </>\r\n      }\r\n    />\r\n  );\r\n};\r\n","import React, { useState, useEffect, useContext } from 'react';\r\nimport { Input } from '../../components/Input';\r\nimport { PageFormsData, PageProps } from '../../types/hexpertTypes';\r\nimport { Hexpert as endpoints } from '@services/endpoints';\r\nimport Axios from 'axios';\r\nimport { Checkbox } from '@components/Checkbox';\r\nimport { Button } from '../../components/Buttons';\r\nimport HEXLongArrowLeft from '@icons/hexpert/HEXLongArrowLeft';\r\nimport { HexpertContext } from '../../contexts/HexPertProvider';\r\nimport dataLayer from '@helpers/dataLayer';\r\nimport './HexpertRequestQuoteBlock.scss';\r\nimport { generateTransactionId } from '@helpers/generateTransactionId';\r\n\r\nenum FormFields {\r\n  FORM_GUID = '__FormGuid',\r\n  FORM_LANGUAGE = '__FormLanguage',\r\n  FORM_HOSTED_PAGE = '__FormHostedPage',\r\n  FORM_ANTI_FORGERY = '__RequestVerificationToken',\r\n}\r\n\r\ninterface IProps {\r\n  form: PageFormsData;\r\n  guid: string;\r\n  shareUrl?: string;\r\n  title?: string;\r\n  pageProps: PageProps;\r\n  onClose: () => void;\r\n}\r\n\r\nexport const HexpertRequestQuoteBlock = ({\r\n  form,\r\n  guid,\r\n  shareUrl,\r\n  title,\r\n  onClose,\r\n  pageProps,\r\n}: IProps) => {\r\n  const [busy, setBusy] = useState<boolean>(false);\r\n  const [showConfirm, setShowConfirm] = useState<boolean>(false);\r\n  const [data, setData] = useState<{ [key: string]: string }>();\r\n  const { state, dispatch } = useContext(HexpertContext);\r\n  const [errorMessages, setErrorMessages] = useState<{\r\n    [key: string]: string;\r\n  }>();\r\n\r\n  // Text fields that should be set automatically and thus not be visible\r\n  const hiddenFields = ['ShareUrl'];\r\n\r\n  useEffect(() => {\r\n    if (!(shareUrl && shareUrl?.length > 0)) {\r\n      const noResultTitle = state?.pageProps?.NoResultTitle;\r\n      dataLayer.push('page_view', {\r\n        page_path: `${state?.hexpertSteps?.join('/')}/${noResultTitle}`,\r\n        page_title: `Hexpert-${state?.currentForm?.title} - ${noResultTitle}`,\r\n        page_category: [...(state?.hexpertSteps || []), noResultTitle],\r\n        product_name: noResultTitle,\r\n        transaction_id: generateTransactionId(true, state?.currentForm?.id),\r\n      });\r\n    }\r\n  }, [])\r\n\r\n  useEffect(() => {\r\n    // Create fields in our state\r\n    if (window) {\r\n      window.scrollTo(0, 0);\r\n    }\r\n    if (form?.Value?.ElementsArea?.length > 0) {\r\n      // Got some form elements. Iterate and fill\r\n      let d = { ...data };\r\n      for (let element in form.Value.ElementsArea) {\r\n        // Autmatically set the share url\r\n        if (form.Value.ElementsArea[element].FieldName === 'ShareUrl') {\r\n          d[form.Value.ElementsArea[element].FieldId] = shareUrl;\r\n        } else {\r\n          d[form.Value.ElementsArea[element].FieldId] =\r\n            form.Value.ElementsArea[element].PredefinedValue;\r\n        }\r\n      }\r\n      setData(d);\r\n    }\r\n  }, [form]);\r\n\r\n  const submit = async () => {\r\n    setBusy(true);\r\n    // Get antiforgery\r\n    const antiforgery = await Axios.get(endpoints.getAntiForgeryToken);\r\n\r\n    // Create form data\r\n    const formData = new FormData();\r\n    formData.append(FormFields.FORM_GUID, guid);\r\n    formData.append(FormFields.FORM_ANTI_FORGERY, antiforgery.data);\r\n    formData.append(FormFields.FORM_LANGUAGE, window['lang']);\r\n\r\n    // Add all the entered data to the form data\r\n    for (let key in data) {\r\n      if (data[key]) formData.append(key, data[key]);\r\n    }\r\n\r\n    // Submit the form\r\n    const result = await Axios.post(endpoints.submitHexpertForm, formData, {\r\n      headers: {\r\n        ['antiforgerytoken']: antiforgery.data,\r\n      },\r\n    });\r\n\r\n    if (result.data.IsSuccess) {\r\n      const resultTitle =\r\n        state?.productResult?.ProductDetails?.Title || state?.pageProps?.NoResultTitle;\r\n      const formTitle = form?.Value?.Title;\r\n      dataLayer.push('hexpert_form_submit', {\r\n        page_path: `${state?.hexpertSteps?.join('/')}/${resultTitle}/${formTitle}`,\r\n        page_title: `Hexpert-${state?.currentForm?.title} - ${formTitle}`,\r\n        page_category: [...(state?.hexpertSteps || []), resultTitle, formTitle],\r\n        product_name: resultTitle,\r\n        transaction_id: generateTransactionId(false, state?.currentForm?.id),\r\n      });\r\n    }\r\n    setBusy(false);\r\n    // If submit failed, show error messages and return\r\n    if (!result.data.IsSuccess) {\r\n      let messages: { [key: string]: string } = {};\r\n      for (var message of result.data.AdditionalParams.__FormField) {\r\n        messages[message.InvalidElementName] = message.ValidationMessage;\r\n      }\r\n      setErrorMessages(messages);\r\n      return;\r\n    }\r\n    if (!shareUrl || shareUrl?.length < 1) {\r\n      dispatch({ type: 'resetStepper' });\r\n    } else {\r\n      closePage();\r\n    }\r\n  };\r\n\r\n  // Reset entered data and close page\r\n  const closePage = () => {\r\n    setShowConfirm(false);\r\n    setData({});\r\n    onClose();\r\n  };\r\n  // Generic function to set form field values\r\n  const onChange = (name: string, value: string) => {\r\n    setData((prev) => ({ ...prev, ...{ [name]: value } }));\r\n  };\r\n\r\n  // Handle checkbox toggle\r\n  const toggleCheck = (name: string) => {\r\n    setData((prev) => ({\r\n      ...prev,\r\n      ...{ [name]: prev?.[name] === 'true' ? '' : 'true' },\r\n    }));\r\n  };\r\n\r\n  return (\r\n    <>\r\n      <div className='c-hex-request-quote-back-arrow-container'>\r\n        <div className='c-hex-request-quote-back-arrow' onClick={() => onClose()}>\r\n          <HEXLongArrowLeft />\r\n        </div>\r\n      </div>\r\n\r\n      <div className='c-hex-result-page'>\r\n        <div\r\n          className={'c-hex-quote-form' + (shareUrl && shareUrl?.length > 0 ? ' has-quote' : '')}\r\n        >\r\n          {shareUrl && shareUrl?.length > 0 ? (\r\n            <>\r\n              <div className='c-hex-quote-section'>\r\n                <div className='c-hex-quote-section-spacer' />\r\n                <div>\r\n                  <div className='c-hex-quote-title'>{title}</div>\r\n                </div>\r\n              </div>\r\n              <div className='c-hex-quote-section'>\r\n                <div className='c-hex-quote-badge-container'>\r\n                  <div className='c-hex-quote-badge'>1</div>\r\n                  <div className='c-hex-quote-badge-line' />\r\n                </div>\r\n                <div className='c-hex-quote-elements'>\r\n                  <div className='c-hex-quote-title'>{pageProps.EnquireTitle}</div>\r\n                  <div\r\n                    dangerouslySetInnerHTML={{\r\n                      __html: pageProps.EnquireDescription,\r\n                    }}\r\n                  ></div>\r\n                </div>\r\n              </div>\r\n            </>\r\n          ) : (\r\n            <>\r\n              <div className='c-hex-quote-no-result-title'>{pageProps.NoResultTitle}</div>\r\n              {pageProps.NoResultDescription && (\r\n                <div\r\n                  dangerouslySetInnerHTML={{\r\n                    __html: pageProps.NoResultDescription,\r\n                  }}\r\n                ></div>\r\n              )}\r\n            </>\r\n          )}\r\n          <div className='c-hex-quote-section'>\r\n            {shareUrl && (\r\n              <div className='c-hex-quote-badge-container'>\r\n                <div className='c-hex-quote-badge'>2</div>\r\n                <div className='c-hex-quote-badge-line' />\r\n              </div>\r\n            )}\r\n            <div>\r\n              <div className='c-hex-quote-elements'>\r\n                {shareUrl && (\r\n                  <div className='c-hex-quote-title'>{pageProps.PersonalInformationTitle}</div>\r\n                )}\r\n                {form?.Value?.ElementsArea.filter(\r\n                  (element) => hiddenFields.indexOf(element.FieldName) < 0\r\n                ).map((element) => {\r\n                  return (\r\n                    <>\r\n                      {element.ContentType === 'TextboxElementBlock' && (\r\n                        <div>\r\n                          <p>\r\n                            {element.Label}\r\n                            {element.Validators?.indexOf('RequiredValidator') >= 0 ? ' *' : ''}\r\n                          </p>\r\n                          <Input\r\n                            placeHolder={element.Label}\r\n                            onChange={(ev) => onChange(element.FieldId, ev.target.value)}\r\n                          />\r\n                          {errorMessages?.[element.FieldId] && (\r\n                            <div className='c-hex-input-error'>\r\n                              {errorMessages?.[element.FieldId]}\r\n                            </div>\r\n                          )}\r\n                        </div>\r\n                      )}\r\n                      {element.ContentType === 'TextareaElementBlock' && (\r\n                        <div>\r\n                          <p>\r\n                            {element.Label}\r\n                            {element.Validators?.indexOf('RequiredValidator') >= 0 ? ' *' : ''}\r\n                          </p>\r\n                          <textarea\r\n                            placeholder={element.Label}\r\n                            className={'c-hex-quote-textarea'}\r\n                            rows={8}\r\n                            onChange={(ev) => {\r\n                              onChange(element.FieldId, ev.target.value);\r\n                            }}\r\n                          />\r\n                          {errorMessages?.[element.FieldId] && (\r\n                            <div className='c-hex-input-error'>\r\n                              {errorMessages?.[element.FieldId]}\r\n                            </div>\r\n                          )}\r\n                        </div>\r\n                      )}\r\n                      {element.ContentType === 'HexpertCountryChoiceElementBlock' && (\r\n                        <div>\r\n                          <p>\r\n                            {element.Label}\r\n                            {element.Validators?.indexOf('RequiredValidator') >= 0 ? ' *' : ''}\r\n                          </p>\r\n                          <select\r\n                            className={'c-hex-quote-dropdown'}\r\n                            onChange={(ev) => {\r\n                              onChange(element.FieldId, ev.target.value);\r\n                            }}\r\n                          >\r\n                            <option value=''>{element.Label}</option>\r\n                            {element.List.map((item, i) => (\r\n                              <option key={i} value={`${item.Country}:${item.Email}`}>\r\n                                {item.Country}\r\n                              </option>\r\n                            ))}\r\n                          </select>\r\n                          {errorMessages?.[element.FieldId] && (\r\n                            <div className='c-hex-input-error'>\r\n                              {errorMessages?.[element.FieldId]}\r\n                            </div>\r\n                          )}\r\n                        </div>\r\n                      )}\r\n\r\n                      {element.ContentType === 'ChoiceElementBlock' && (\r\n                        <div className='c-hex-checkbox'>\r\n                          <Checkbox\r\n                            id={element.FieldId}\r\n                            name={element.FieldId}\r\n                            label={element.Label}\r\n                            checked={data?.[element.FieldId] === 'true'}\r\n                            onChange={(e) => toggleCheck(element.FieldId)}\r\n                          />\r\n                          <span className='c-input-label'>{element.Label}</span>\r\n                          {errorMessages?.[element.FieldId] && (\r\n                            <div className='c-hex-input-error'>\r\n                              {errorMessages?.[element.FieldId]}\r\n                            </div>\r\n                          )}\r\n                        </div>\r\n                      )}\r\n                      {element.ContentType === 'SubmitButtonElementBlock' && (\r\n                        <div>\r\n                          <Button action={() => submit()} label={element.Label} busy={busy} />\r\n                        </div>\r\n                      )}\r\n                    </>\r\n                  );\r\n                })}\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        {(!shareUrl || shareUrl?.length < 1) && (\r\n          <div>\r\n            <Button\r\n              action={() => {\r\n                dispatch({ type: 'resetStepper' });\r\n              }}\r\n              label={pageProps.NoResultButtonLabel}\r\n              busy={busy}\r\n            />\r\n          </div>\r\n        )}\r\n      </div>\r\n    </>\r\n  );\r\n};\r\n","import React from \"react\";\r\nconst HEXGlobe = () => {\r\n  return (\r\n    <svg\r\n      aria-hidden=\"true\"\r\n      fill=\"#FFF\"\r\n      focusable=\"false\"\r\n      width=\"24\"\r\n      viewBox=\"0 0 24 24\"\r\n      height=\"24\"\r\n    >\r\n      <path d=\"M12 1.25A10.75 10.75 0 1 0 22.75 12 10.76 10.76 0 0 0 12 1.25Zm9.21 10H16.7a16 16 0 0 0-3-8.34 9.27 9.27 0 0 1 7.51 8.34ZM8.8 12.75h6.4a14.56 14.56 0 0 1-3.2 8.1 14.47 14.47 0 0 1-3.2-8.1Zm0-1.5a14.56 14.56 0 0 1 3.2-8.1 14.47 14.47 0 0 1 3.2 8.1Zm1.51-8.34a16.08 16.08 0 0 0-3 8.34H2.79a9.27 9.27 0 0 1 7.52-8.34Zm-7.52 9.84H7.3a16 16 0 0 0 3 8.34 9.27 9.27 0 0 1-7.51-8.34Zm10.9 8.34a16.08 16.08 0 0 0 3-8.34h4.51a9.27 9.27 0 0 1-7.51 8.34Z\"></path>\r\n    </svg>\r\n  );\r\n};\r\nexport default HEXGlobe;\r\n","import React from \"react\";\r\nimport HEXGlobe from \"@icons/hexpert/HEXGlobe\";\r\nimport './Document.scss';\r\n\r\ntype DocumentProps = {\r\n  name: string;\r\n  date?: string;\r\n  size?: string;\r\n  icon?: string;\r\n  url?: string;\r\n};\r\n\r\nexport const Document = ({ name, date, size, url }: DocumentProps) => {\r\n  return (\r\n    <div className=\"c-hex-doc-wrapper\">\r\n      <div className=\"c-hex-doc-image-wrapper\">\r\n        <HEXGlobe />\r\n      </div>\r\n      <a href={url} className=\"c-hex-doc-text-wrapper\">\r\n        <p className=\"c-hex-doc-title\">{name}</p>\r\n        <p className=\"c-hex-doc-info\">\r\n          {date} {size}\r\n        </p>\r\n      </a>\r\n    </div>\r\n  );\r\n};\r\n","import React from \"react\";\r\n// @ts-ignore\r\nimport pdf from \"@assets/images/hexpert/pdf.png\";\r\nimport {Document} from \"../../components/Document\";\r\nimport { HexpertResultLink } from \"../../types/hexpertResultTypes\";\r\n\r\ntype WeFitDocumentBlockProps = {\r\n  links: HexpertResultLink[];\r\n  title?: string;\r\n};\r\n\r\nexport const WeFitDocumentBlock = ({ links, title }: WeFitDocumentBlockProps) => {\r\n  return (\r\n    <div className={\"c-hex-documents-container\"}>\r\n      <h3 className=\"c-hex-documents-header\">{title}</h3>\r\n      <hr className=\"c-hex-documents-divider\" />\r\n      <div className=\"c-hex-documents-text-wrapper\">\r\n        {links.map((link) => (\r\n          <Document name={link.LinkName} url={link.Url} icon={pdf} />\r\n        ))}\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n","import React from \"react\";\r\n\r\nexport const HEXLoadingSpinnerIcon = () => {\r\n  return (\r\n    <svg\r\n      width=\"53\"\r\n      height=\"53\"\r\n      viewBox=\"0 0 53 53\"\r\n      fill=\"none\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      className=\"c-hex-loadingspinner-icon\"\r\n    >\r\n      <circle\r\n        cx=\"26.0805\"\r\n        cy=\"26.0806\"\r\n        r=\"23.9194\"\r\n        stroke=\"white\"\r\n        strokeOpacity=\"0.15\"\r\n        strokeWidth=\"4.09103\"\r\n      />\r\n      <path\r\n        d=\"M49.9998 26.0806C49.9998 22.9395 49.3812 19.8291 48.1791 16.9271C46.977 14.025 45.2151 11.3882 42.994 9.16707C40.7729 6.94595 38.1361 5.18407 35.234 3.98201C32.332 2.77995 29.2216 2.16125 26.0805 2.16125\"\r\n        stroke=\"#11387F\"\r\n        strokeWidth=\"4.09103\"\r\n        strokeLinecap=\"round\"\r\n      />\r\n    </svg>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport { HEXLoadingSpinnerIcon } from \"@icons/hexpert/HEXLoadingSpinnerIcon\";\r\nimport './WeFitLoadingBlock.scss';\r\n\r\nexport const WeFitLoadingBlock = () => {\r\n  return (\r\n    <div className={\"c-hex-loading-block\"}>\r\n      <HEXLoadingSpinnerIcon />\r\n    </div>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport cs from \"classnames\";\r\nimport { HexpertResultProductCaseStoriesData, HexpertResultSummaryData, } from \"../../types/hexpertResultTypes\";\r\nimport './ProductCaseStudy.scss';\r\n\r\ntype ProductCaseStudyProps = HexpertResultProductCaseStoriesData & {\r\n  reverse?: boolean;\r\n  data: HexpertResultSummaryData;\r\n};\r\n\r\nexport const ProductCaseStudy = ({\r\n  reverse,\r\n  data,\r\n  Description,\r\n  Image,\r\n  ImageAltText,\r\n  ShowMore,\r\n  Title,\r\n}: ProductCaseStudyProps) => {\r\n  return (\r\n    <div\r\n      className={cs(\"c-hex-case-study-container\", {\r\n        \"c-hex-case-study-container-reverse\": reverse,\r\n      })}\r\n    >\r\n      <div className=\"c-hex-case-study-image-container\">\r\n        <img src={Image} alt={ImageAltText} />\r\n      </div>\r\n      <div className=\"c-hex-case-study-text-container\">\r\n        <p className=\"c-hex-case-study-title\">{Title}</p>\r\n        <p className=\"c-hex-case-study-body\">{Description}</p>\r\n        <a href={ShowMore} className=\"c-hex-case-study-link\">\r\n          {data?.LocalizedTranslationResources?.WeFitCaseStoriesShowMore}\r\n        </a>\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport { HexpertResultVideoImages } from \"../../types/hexpertResultTypes\";\r\nimport './ProductImages.scss';\r\n\r\ntype ProductImagesProps = {\r\n  title : any;\r\n  mainImage?: any;\r\n  extraImages?: HexpertResultVideoImages[];\r\n};\r\n\r\nexport const ProductImages = ({ title, mainImage, extraImages }: ProductImagesProps) => {\r\n  return mainImage ? (\r\n    <div className=\"c-hex-result-images\">\r\n      <div className=\"c-hex-result-images-main\">\r\n        <img src={mainImage} alt={title} />\r\n      </div>\r\n      {extraImages && extraImages?.length > 0 && (\r\n        <div className=\"c-hex-result-images-extra\">\r\n          {extraImages?.map((img, i) =>\r\n            img?.Url.includes(\"youtube\") ? null : (\r\n              <div key={i} className=\"c-hex-result-images-extra-image\">\r\n                <img src={img?.Url} alt={title} />\r\n              </div>\r\n            )\r\n          )}\r\n        </div>\r\n      )}\r\n    </div>\r\n  ) : null;\r\n};\r\n","import React from \"react\";\r\nconst HEXThumbsUp = () => {\r\n  return (\r\n    <svg width=\"22\" height=\"23\" viewBox=\"0 0 22 23\" fill=\"#11387F\">\r\n      <g clipPath=\"url(#clip0_1_2)\">\r\n        <path\r\n          d=\"M6.32 10.5V21.5M6.32 10.5H1V21.5H14.82C15.7249 21.5006 16.6032 21.1943 17.3115 20.6313C18.0199 20.0682 18.5164 19.2817 18.72 18.4L21 8.5H13V1.5H10L6.32 10.5Z\"\r\n          stroke=\"white\"\r\n          strokeWidth=\"1.5\"\r\n          strokeLinecap=\"round\"\r\n        />\r\n      </g>\r\n      <defs>\r\n        <clipPath id=\"clip0_1_2\">\r\n          <rect width=\"22\" height=\"23\" fill=\"white\" />\r\n        </clipPath>\r\n      </defs>\r\n    </svg>\r\n  );\r\n};\r\nexport default HEXThumbsUp;\r\n","import React from \"react\";\r\nimport HEXThumbsUp from \"@icons/hexpert/HEXThumbsUp\";\r\nimport './ProductIntro.scss';\r\n\r\nexport type HexpertIntroBlockProps = {\r\n  title?: string;\r\n  description?: string;\r\n  email?: string; //@TODO\r\n  quoteText?: string;\r\n  quoteQuestion?: string;\r\n  onClick: () => void;\r\n};\r\n\r\nexport const ProductIntro = ({\r\n  title,\r\n  description,\r\n  email,\r\n  quoteText,\r\n  quoteQuestion,\r\n  onClick,\r\n}: HexpertIntroBlockProps) => {\r\n  const url = window?.location?.protocol + \"//\" + window?.location?.hostname;\r\n  return (\r\n    <>\r\n      <div className=\"c-hex-result-product-intro\">\r\n        <div className=\"c-hex-result-product-intro-section\">\r\n          <h2 className=\"c-hex-result-product-intro-title\">{title}</h2>\r\n          <p className=\"c-hex-result-product-intro-body\">{description}</p>\r\n          {email && (\r\n            <div\r\n              onClick={onClick}\r\n              className=\"c-hex-result-product-intro-contact-link\"\r\n            >\r\n              {email}\r\n            </div>\r\n          )}\r\n        </div>\r\n      </div>\r\n      <div className=\"c-hex-result-product-quote\">\r\n        <span>\r\n          <HEXThumbsUp />\r\n        </span>\r\n        <p className=\"c-hex-result-product-quote-text\">\r\n          <span>{quoteQuestion}</span>\r\n        </p>\r\n        <div onClick={onClick} className=\"c-hex-result-product-quote-link\">\r\n          {quoteText}\r\n        </div>\r\n      </div>\r\n    </>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport { HEXCheckIcon } from \"@icons/hexpert/HEXCheckIcon\";\r\nimport './ProductListItem.scss';\r\n\r\nexport type ProductListItemProps = {\r\n  text?: string;\r\n};\r\n\r\nexport const ProductListItem = ({ text }: ProductListItemProps) => {\r\n  return (\r\n    <div className=\"c-hex-product-list-item\">\r\n      <div className=\"c-hex-product-list-item-check\">\r\n        <HEXCheckIcon />\r\n      </div>\r\n      <p className=\"c-hex-product-list-item-text\">{text}</p>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default ProductListItem;\r\n","// @ts-nocheck\r\nimport React, { useContext, useEffect } from \"react\";\r\nimport { HexpertContext } from \"../../contexts/HexPertProvider\";\r\nimport { HexpertResultSummaryData } from \"../../types/hexpertResultTypes\";\r\nimport { Button } from \"../Buttons\";\r\nimport './ProductSummary.scss';\r\n\r\ntype ProductSummaryProps = {\r\n  buttonAction: any;\r\n  data: HexpertResultSummaryData;\r\n  typeName?: string;\r\n  resultIcon?: string;\r\n};\r\n\r\nexport const ProductSummary = ({\r\n  buttonAction,\r\n  data,\r\n  typeName,\r\n  resultIcon,\r\n}: ProductSummaryProps) => {\r\n  const { dispatch, state } = useContext(HexpertContext);\r\n  const makeColumns = () => {\r\n    const columns = new Set(data.FormDataItems.map((item) => item.Slide));\r\n    return Array.from(columns);\r\n  };\r\n\r\n  const currentForm = state.pageProps?.MappedForms?.find(\r\n    (form) => form?.formGuid === state.productResult?.FormGuid\r\n  );\r\n\r\n  useEffect(() => {\r\n    dispatch({\r\n      type: \"setForceSteps\",\r\n      payload:\r\n        makeColumns()?.filter((column) => {\r\n          const showColumn = data.FormDataItems.filter(\r\n            (item) => item.Slide === column && item?.FieldValue?.length > 0\r\n          )?.length;\r\n          return showColumn;\r\n        })?.length + 1,\r\n    });\r\n    dispatch({ type: \"submitOnNext\", payload: true });\r\n  }, [data.FormDataItems]);\r\n  return (\r\n    <div className=\"c-hex-result-summary\">\r\n      <div className=\"c-hex-result-summary-top-wrapper\">\r\n        <div className=\"c-hex-result-summary-top-wrapper-left\">\r\n        {/* Story 463554: Maintain structured H tags.<h4> to <h3> to improve heading hierarchy and maintain proper structure */}\r\n          <h3 className=\"c-hex-result-summary-top-header\">\r\n            {data?.LocalizedTranslationResources?.WefitBlockPosition}\r\n          </h3>\r\n          <div className=\"c-hex-result-summary-heater-cooler-wrapper\">\r\n            <img src={resultIcon} alt={typeName} />\r\n            <h4 className=\"c-hex-result-summary-question\">{typeName}</h4>\r\n          </div>\r\n        </div>\r\n        <div className=\"c-hex-result-summary-top-wrapper-right-desktop\">\r\n          <Button label={data?.LocalizedTranslationResources?.WeFitEditProjectData} action={buttonAction} />\r\n        </div>\r\n      </div>\r\n      <hr className=\"c-hex-result-summary-divider\" />\r\n      <div className=\"c-hex-result-summary-bottom-wrapper\">\r\n        {makeColumns()?.map((column) => {\r\n          const showColumn = data.FormDataItems.filter(\r\n            (item) => item.Slide === column && item?.FieldValue?.length > 0\r\n          )?.length;\r\n          return showColumn ? (\r\n            <div className=\"c-hex-result-summary-column\" key={column}>\r\n              <h4 className=\"c-hex-result-summary-headers\">{column}</h4>\r\n              {data.FormDataItems?.filter((item) => item.Slide === column)?.map(\r\n                (item) => {\r\n                  const mapValueFromBlock =\r\n                    state.pageProps?.fieldsToCheckInResult?.includes(\r\n                      item?.FieldName\r\n                    );\r\n                  let answerCaption = \"\";\r\n                  if (mapValueFromBlock) {\r\n                    currentForm.sections?.forEach((section) =>\r\n                      section.questions?.forEach((question) => {\r\n                        if (question.FieldId === item?.FieldName) {\r\n                          answerCaption = question?.Options?.find(\r\n                            (option) => option.Value === item?.FieldValue\r\n                          )?.Caption;\r\n                        }\r\n                      })\r\n                    );\r\n                  }\r\n                  return item?.FieldValue?.length > 0 ? (\r\n                    <div key={item.Field}>\r\n                      <p className=\"c-hex-result-summary-question\">\r\n                        {item.Label}\r\n                      </p>\r\n                      <p className=\"c-hex-result-summary-answer\">\r\n                        {answerCaption?.length > 0\r\n                          ? answerCaption\r\n                          : item.FieldValue}{\" \"}\r\n                        {item?.unit}\r\n                      </p>\r\n                    </div>\r\n                  ) : null;\r\n                }\r\n              )}\r\n            </div>\r\n          ) : null;\r\n        })}\r\n      </div>\r\n      <div className=\"c-hex-result-summary-top-wrapper-right-mobile-tablet\">\r\n        <Button\r\n          label={data?.LocalizedTranslationResources?.WeFitEditProjectData}\r\n          action={buttonAction}\r\n        />\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport './TopFeature.scss';\r\n\r\ntype TopFeatureProps = {\r\n  image?: any;\r\n  imageAltText?: string;\r\n  title?: string;\r\n  body?: string;\r\n};\r\n\r\ntype TopFeaturesProps = {\r\n  features?: TopFeatureProps[];\r\n};\r\n\r\nexport const TopFeature = ({ features }: TopFeaturesProps) => {\r\n  return (\r\n    <div className=\"c-hex-result-page-top-features\">\r\n      {features?.map((feat) => (\r\n        <div className=\"c-hex-top-feature\" key={feat?.title}>\r\n          <div className=\"c-hex-top-feature-image\">\r\n            <img src={feat.image} alt={feat?.imageAltText} />\r\n          </div>\r\n          <p className=\"c-hex-top-feature-title\">{feat?.title}</p>\r\n          <p className=\"c-hex-top-feature-body\">{feat?.body}</p>\r\n        </div>\r\n      ))}\r\n    </div>\r\n  );\r\n};\r\n","import React from \"react\";\r\nimport './Separator.scss';\r\n\r\ntype SeparatorProps = {\r\n  size?: 8 | 14 | 16 | 24 | 32 | 48 | 64 | 75 | 80;\r\n};\r\n\r\nexport const Separator = ({ size }: SeparatorProps) => {\r\n  return <div className={`c-hex-separator--${size}`} />;\r\n};\r\n","const emailRegex = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\nexport const validateEmail = (email:string) =>{\r\n    return emailRegex.test(email);\r\n}","import React, { useContext, useEffect, useState } from 'react';\r\nimport { useCookies } from 'react-cookie';\r\nimport HEXLongArrowLeft from '@icons/hexpert/HEXLongArrowLeft';\r\nimport { HexpertModalBlock } from '../blocks/HexpertModalBlock';\r\nimport { HexpertRequestQuoteBlock } from '../blocks/HexpertRequestQuoteBlock';\r\nimport { WeFitDocumentBlock } from '../blocks/WeFitDocumentBlock';\r\nimport { WeFitLoadingBlock } from '../blocks/WeFitLoadingBlock';\r\nimport {\r\n  ProductCaseStudy,\r\n  ProductIntro,\r\n  ProductImages,\r\n  ProductListItem,\r\n  ProductSummary,\r\n  TopFeature,\r\n} from '../components/ProductResult';\r\nimport { Separator } from '../components/Separator';\r\nimport { HexpertContext } from '../contexts/HexPertProvider';\r\nimport { FormType } from '../types/hexpertTypes';\r\nimport { validateEmail } from '../helpers/emailRegex';\r\nimport { imageUrlHelper } from '../helpers/imageHelper';\r\nimport { generatePdfDocument } from './HexpertResultPdf/HexpertResultPdf';\r\nimport './HexpertResultPage.scss';\r\nimport dataLayer from '@helpers/dataLayer';\r\nimport { generateTransactionId } from '@helpers/generateTransactionId';\r\n\r\nconst HexpertResultPage = () => {\r\n  const [cookies, setCookie] = useCookies(['email_confirmed']);\r\n  const [email, setEmail] = useState<string>(cookies?.email_confirmed ?? '');\r\n  const { state, dispatch } = useContext(HexpertContext);\r\n  const [forceEmailUrl, setForceEmailUrl] = useState(false);\r\n  const [showEmailModal, setShowEmailModal] = useState(false);\r\n  const [showRequestQuote, setShowRequestQuote] = useState(false);\r\n  const [invalidEmail, setInvalidEmail] = useState(false);\r\n  useEffect(() => {\r\n    if (state?.hexpertSteps === null) {\r\n      dispatch({ type: \"setHexpertSteps\", payload: ['hexpert', `Hexpert-${state?.currentForm?.title}`] })\r\n    }\r\n  },[])\r\n  useEffect(() => {\r\n    if (state?.productResult?.redirectUrl && state?.hexpertSteps) {\r\n      if (window) {\r\n        if (window?.location?.search?.includes('show-request-quote=true')) {\r\n          setShowRequestQuote(true);\r\n          window.history.replaceState(\r\n            '',\r\n            '',\r\n            state?.productResult?.redirectUrl + '&show-request-quote=true'\r\n          );\r\n        } else {\r\n          window.history.replaceState('', '', state?.productResult?.redirectUrl);\r\n          const resultTitle = state?.productResult?.ProductDetails?.Title;\r\n          dataLayer.push('page_view', {\r\n            page_path: `${state?.hexpertSteps?.join('/')}/${resultTitle}`,\r\n            page_title: `Hexpert-${state?.currentForm?.title} - ${resultTitle}`,\r\n            page_category: [...(state?.hexpertSteps || []), resultTitle],\r\n            product_name: resultTitle,\r\n            transaction_id: generateTransactionId(true, state?.currentForm?.id),\r\n          });\r\n        }\r\n      }\r\n    }\r\n  }, [state?.productResult?.redirectUrl, state?.hexpertSteps]);\r\n\r\n  const submitModal = () => {\r\n    if (validateEmail(email)) {\r\n      !showEmailModal && setForceEmailUrl(true);\r\n      setCookie('email_confirmed', email);\r\n      setShowEmailModal(false);\r\n      dispatch({ type: 'isInitialForceModal', payload: false });\r\n\r\n      // Create a clean url (avoiding multiple show-request-quote)\r\n      const params = new URLSearchParams(window?.location?.search);\r\n      const shareId = params.get('sn');\r\n\r\n      let pageUrl = window?.location?.origin + window?.location?.pathname;\r\n      let search = '?sn=' + shareId + '&show-request-quote=true';\r\n\r\n      generatePdfDocument({\r\n        data: state.productResult,\r\n        resultUrl: pageUrl + search,\r\n        email: email,\r\n        pageId: state.pageProps?.PageId?.toString(),\r\n        title: state.productResult?.ProductDetails?.Title,\r\n        productType: state.pageProps?.MappedForms?.find(\r\n          (form) => form?.formGuid === state.productResult?.FormGuid\r\n        ),\r\n        state: state,\r\n        internalMail: state.pageProps?.InternalEmail,\r\n      });\r\n    } else {\r\n      setInvalidEmail(true);\r\n    }\r\n  };\r\n\r\n  const video = state?.productResult?.Product?.VideoImages?.find((video) =>\r\n    video.Url?.includes('embed')\r\n  );\r\n\r\n  const formType = state.pageProps?.MappedForms?.find(\r\n    (form) => form?.formGuid === state.productResult?.FormGuid\r\n  );\r\n\r\n  useEffect(() => {\r\n    dispatch({ type: 'setStartSteps', payload: 'end' });\r\n    // Use state so that we can close the quote screen\r\n    const showQuote = window?.location?.search?.includes('show-request-quote=true');\r\n    setShowRequestQuote(showQuote);\r\n  }, []);\r\n\r\n  const hasResultUrl = window?.location?.search?.includes('?sn=');\r\n\r\n  const cleanURL = () => {\r\n    // clean up the url after leaving the result page\r\n    const redirectURL = new URL(window?.location?.href);\r\n\r\n    redirectURL.searchParams.delete('show-request-quote');\r\n    if (hasResultUrl) {\r\n      redirectURL.searchParams.delete('sn');\r\n    }\r\n\r\n    history.replaceState({}, '', redirectURL);\r\n  };\r\n\r\n  const requestQuoteBackClick = () => {\r\n    cleanURL();\r\n\r\n    setShowRequestQuote(false);\r\n    if (!state?.productResult) {\r\n      dispatch({ type: 'showProductResult', payload: false });\r\n    }\r\n  };\r\n\r\n  const resultPageBackClick = () => {\r\n    cleanURL();\r\n    dispatch({ type: 'showProductResult', payload: false });\r\n    dispatch({ type: 'setResult', payload: null });\r\n  };\r\n\r\n  return state.loadingResult ? (\r\n    <WeFitLoadingBlock />\r\n  ) : !state?.productResult ? (\r\n    <HexpertRequestQuoteBlock\r\n      pageProps={state.pageProps}\r\n      onClose={requestQuoteBackClick}\r\n      form={state.pageProps?.Forms.find((form) => form.Key === FormType.REQUEST_QUOTE)}\r\n      guid={state.pageProps?.[FormType.REQUEST_QUOTE]}\r\n      title={\r\n        (state?.productResult?.Summary?.LocalizedTranslationResources?.WeFitProductNamePrefix ??\r\n          '') + (state?.productResult?.ProductDetails?.Title ?? '')\r\n      }\r\n    />\r\n  ) : showRequestQuote ? (\r\n    <HexpertRequestQuoteBlock\r\n      pageProps={state.pageProps}\r\n      onClose={requestQuoteBackClick}\r\n      form={state.pageProps?.Forms.find((form) => form.Key === FormType.REQUEST_QUOTE)}\r\n      guid={state.pageProps?.[FormType.REQUEST_QUOTE]}\r\n      shareUrl={state.productResult?.redirectUrl}\r\n      title={\r\n        (state?.productResult?.Summary?.LocalizedTranslationResources?.WeFitProductNamePrefix ??\r\n          '') + (state?.productResult?.ProductDetails?.Title ?? '')\r\n      }\r\n    />\r\n  ) : (\r\n    <>\r\n      {state?.pageProps?.Modal &&\r\n        (state?.isInitialForceModal || !hasResultUrl || showEmailModal) &&\r\n        (!Boolean(cookies?.email_confirmed) || forceEmailUrl || showEmailModal) && (\r\n          <HexpertModalBlock\r\n            ModalButtonText={state?.pageProps?.ModalButtonText}\r\n            ModalConfirmationDescription={state?.pageProps?.ModalConfirmationDescription}\r\n            ModalConfirmationHeading={state?.pageProps?.ModalConfirmationHeading}\r\n            ModalDescription={state?.pageProps?.ModalDescription}\r\n            ModalHeading={state?.pageProps?.ModalHeading}\r\n            ModalImage={state?.pageProps?.ModalImage}\r\n            ModalQuoteText={state?.pageProps?.ModalQuoteText}\r\n            ModalTextboxPlaceholder={state?.pageProps?.ModalTextboxPlaceholder}\r\n            ModalUsp={state?.pageProps?.ModalUsp}\r\n            inputValue={email}\r\n            onInputChange={(val) => {\r\n              setInvalidEmail(false);\r\n              setEmail(val?.target?.value ?? '');\r\n            }}\r\n            action={submitModal}\r\n            isConfirm={Boolean(cookies?.email_confirmed) && forceEmailUrl}\r\n            invalidEmail={invalidEmail}\r\n          />\r\n        )}\r\n      <div className='c-hex-result-page-arrow' onClick={resultPageBackClick}>\r\n        <HEXLongArrowLeft />\r\n      </div>\r\n      <div className='c-hex-result-page'>\r\n        <p className='c-hex-result-page-subtitle'>\r\n          {state?.productResult?.Summary?.LocalizedTranslationResources?.WeFitResultTitle}\r\n        </p>\r\n        <h1 className='c-hex-result-page-title'>\r\n          {state?.productResult?.Summary?.LocalizedTranslationResources?.WeFitProductNamePrefix}\r\n          {state?.productResult?.ProductDetails?.Title}\r\n        </h1>\r\n        <ProductImages\r\n          title={state?.productResult?.ProductDetails?.Title}\r\n          mainImage={state?.productResult?.ProductDetails?.ImageUrl}\r\n          extraImages={state?.productResult?.Product?.Variant?.VideoImages}\r\n        />\r\n        <ProductIntro\r\n          title={state?.productResult?.ProductDetails?.Title}\r\n          description={state?.productResult?.ProductDetails?.Description}\r\n          email={null}\r\n          onClick={() => setShowRequestQuote(true)}\r\n          quoteText={state?.productResult?.Product?.WefitProductRequestQuote}\r\n          quoteQuestion={\r\n            state?.productResult?.Summary?.LocalizedTranslationResources\r\n              ?.WeFitSatisfiedWithYourProduct\r\n          }\r\n        />\r\n        <TopFeature\r\n          features={state.productResult.Product.Features.map((feature) => ({\r\n            image: feature.Image,\r\n            imageAltText: feature.ImageAltText,\r\n            title: feature.Title,\r\n            body: feature.Description,\r\n          }))}\r\n        />\r\n\r\n        <div className='c-hex-result-page-content-wrapper c-hex-result-page-top-reasons'>\r\n          <div className='c-hex-result-page-content-block'>\r\n            {state.productResult?.Product?.HasTopReasons && (\r\n              <>\r\n                <h3 style={{ marginTop: 0 }}>\r\n                  {state.productResult.Product?.WefitProductTopReasons}\r\n                </h3>\r\n                {state.productResult?.Product?.TopReasons?.map((reason, i) => (\r\n                  <div key={i}>\r\n                    <ProductListItem text={reason} />\r\n                    <Separator size={32} />\r\n                  </div>\r\n                ))}\r\n              </>\r\n            )}\r\n          </div>\r\n          <div className='c-hex-result-page-content-block' style={{ gap: '24px' }}>\r\n            {state.productResult?.Product?.HasDidYouKnow && (\r\n              <div className='c-hex-result-page-did-you-know-wrapper'>\r\n                <h3 className='c-hex-result-page-did-you-know-wrapper-header'>\r\n                  {state.productResult.Product?.WefitProductDidYouKnow}\r\n                </h3>\r\n                <p className='c-hex-result-page-did-you-know-wrapper-text'>\r\n                  {state.productResult?.Product?.DidYouKnowText}\r\n                </p>\r\n              </div>\r\n            )}\r\n            <Separator size={24} />\r\n            <WeFitDocumentBlock\r\n              links={state.productResult.Product.Links}\r\n              title={\r\n                state.productResult?.Summary?.LocalizedTranslationResources\r\n                  ?.WeFitRelatedContentTitle\r\n              }\r\n            />\r\n          </div>\r\n        </div>\r\n        {video && video?.Url && (\r\n          <div className='c-hex-result-page-content-wrapper c-hex-result-page-video-block'>\r\n            <div\r\n              className='c-hex-result-page-content-block'\r\n              style={{ display: 'flex', justifyContent: 'center' }}\r\n            >\r\n              <iframe\r\n                id='player'\r\n                width='640'\r\n                height='390'\r\n                src={`${video?.Url}?controls=0`}\r\n                allow='autoplay; encrypted-media'\r\n                frameBorder='0'\r\n              ></iframe>\r\n            </div>\r\n          </div>\r\n        )}\r\n        <ProductSummary\r\n          buttonAction={() => dispatch({ type: 'showProductResult', payload: false })}\r\n          data={state.productResult.Summary}\r\n          typeName={formType?.title}\r\n          resultIcon={formType?.resultIcon}\r\n        />\r\n        {state.productResult?.Product?.CaseStories?.length > 0 && (\r\n          <>\r\n            <h3 style={{ order: 10, marginTop: '80px' }}>\r\n              {state.productResult?.Summary?.LocalizedTranslationResources?.WefitCaseStoriesTitle}\r\n            </h3>\r\n            {state.productResult?.Product?.CaseStories?.map((story, i) => (\r\n              <ProductCaseStudy\r\n                data={state.productResult.Summary}\r\n                Description={story.Description}\r\n                Image={imageUrlHelper(story?.Image)}\r\n                ImageAltText={story?.ImageAltText}\r\n                Title={story?.Title}\r\n                ShowMore={story?.ShowMore}\r\n                reverse={i % 2 === 0}\r\n                key={i}\r\n              />\r\n            ))}\r\n          </>\r\n        )}\r\n      </div>\r\n    </>\r\n  );\r\n};\r\n\r\nexport default HexpertResultPage;\r\n","// @ts-nocheck\r\n\r\nimport { HexpertResultData, HexpertResultSummaryItemData } from '../../types/hexpertResultTypes';\r\nimport Axios from 'axios';\r\nimport { PageForms } from '../../types/hexpertTypes';\r\nimport { HexpertState } from '../../contexts/HexPertProvider';\r\nimport { Hexpert as endpoints } from '@services/endpoints';\r\n\r\nexport type GeneratePdfDocumentProps = {\r\n  data?: HexpertResultData;\r\n  resultUrl?: string;\r\n  email?: string;\r\n  pageId?: string;\r\n  title?: string;\r\n  productType?: PageForms;\r\n  state?: HexpertState;\r\n  internalMail?: string;\r\n};\r\n\r\nexport const generatePdfDocument = async ({\r\n  data,\r\n  resultUrl,\r\n  email,\r\n  pageId,\r\n  title,\r\n  productType,\r\n  callback,\r\n  state,\r\n  internalMail,\r\n}: GeneratePdfDocumentProps) => {\r\n  const url = window?.location?.protocol + '//' + window?.location?.hostname;\r\n  let columns = Array.from(new Set(data.Summary?.FormDataItems.map((item) => item.Slide)));\r\n  const currentForm = state.pageProps?.MappedForms?.find(\r\n    (form) => form?.formGuid === state.productResult?.FormGuid\r\n  );\r\n\r\n  let SummaryColumns = [];\r\n  columns.forEach((column: string) => {\r\n    const showColumn = data?.Summary?.FormDataItems.filter(\r\n      (item) => item.Slide === column && item?.FieldValue?.length > 0\r\n    )?.length;\r\n    if (showColumn) {\r\n      SummaryColumns.push({\r\n        name: column,\r\n        values: data.Summary?.FormDataItems.filter(\r\n          (item: HexpertResultSummaryItemData) => item.Slide === column && item.FieldValue\r\n        ).map((item) => {\r\n          const mapValueFromBlock = state.pageProps?.fieldsToCheckInResult?.includes(\r\n            item?.FieldName\r\n          );\r\n          let answerCaption = '';\r\n          if (mapValueFromBlock) {\r\n            currentForm.sections?.forEach((section) =>\r\n              section.questions?.forEach((question) => {\r\n                if (question.FieldId === item?.FieldName) {\r\n                  answerCaption = question?.Options?.find(\r\n                    (option) => option.Value === item?.FieldValue\r\n                  )?.Caption;\r\n                }\r\n              })\r\n            );\r\n          }\r\n          return {\r\n            Label: item.Label,\r\n            Value:\r\n              answerCaption?.length > 0\r\n                ? `${answerCaption} ${item?.unit}`\r\n                : `${item.FieldValueText} ${item.unit}`,\r\n          };\r\n        }),\r\n      });\r\n    }\r\n  });\r\n\r\n  const pdf_data = {\r\n    ResultUrl: resultUrl,\r\n    ResultSubTitle: data.Summary?.LocalizedTranslationResources?.WeFitResultTitle,\r\n    ResultTitle:\r\n      data.Summary?.LocalizedTranslationResources?.WeFitProductNamePrefix +\r\n      data.ProductDetails?.Title,\r\n    Images: {\r\n      mainImage: data.ProductDetails?.ImageUrl,\r\n      extraImages:\r\n        data.Product.Variant.VideoImages?.map((image: HexpertResultVideoImages) => image.Url) ?? [],\r\n    },\r\n    Intro: {\r\n      Description: data.ProductDetails?.Description,\r\n      Title: data.ProductDetails?.Title,\r\n      QuoteText: data.Product?.WefitProductRequestQuote,\r\n      QuoteQuestion: data.Summary?.LocalizedTranslationResources?.WeFitSatisfiedWithYourProduct,\r\n    },\r\n    TopFeatures: data.Product.Features,\r\n    WefitCaseStoriesTitle: data.Summary.LocalizedTranslationResources.WefitCaseStoriesTitle,\r\n    TopReasons: {\r\n      Title: data.Product?.WefitProductTopReasons,\r\n      Reasons: data.Product.TopReasons,\r\n    },\r\n    Documents: {\r\n      Title: data?.Summary?.LocalizedTranslationResources?.WeFitRelatedContentTitle,\r\n      Links: data.Product.Links?.map((link) => {\r\n        return {\r\n          ...link,\r\n          Url: url + link.Url,\r\n        };\r\n      }),\r\n    },\r\n    DidYouKnow: {\r\n      Title: data.Product?.WefitProductDidYouKnow,\r\n      Text: data.Product?.DidYouKnowText,\r\n    },\r\n    Summary: {\r\n      PositionLabel: data.Summary?.LocalizedTranslationResources?.WefitBlockPosition,\r\n      SummaryType: productType?.title,\r\n      Columns: SummaryColumns,\r\n    },\r\n    CaseStories: data.Product.CaseStories.map((story, i) => {\r\n      return {\r\n        Title: story.Title,\r\n        Description: story.Description,\r\n        Image: story.Image,\r\n      };\r\n    }),\r\n  };\r\n\r\n  // Create pdf on server, returned as base64\r\n  const pdfBlob = await Axios.post(endpoints.createHexpertPdf, pdf_data);\r\n\r\n  Axios.post(endpoints.mailResult, pdfBlob.data, {\r\n    params: {\r\n      mailTo: email,\r\n      pageId: pageId,\r\n      title: title,\r\n      resultUrl: resultUrl,\r\n      ...(internalMail ? { bcc: internalMail } : {}),\r\n    },\r\n    headers: {\r\n      'Content-Type': 'text/plain',\r\n    },\r\n  }).then((res) => {\r\n    callback && callback();\r\n  });\r\n};\r\n","import React, { useContext } from 'react';\r\nimport StepWizard from 'react-step-wizard';\r\nimport classNames from 'classnames';\r\nimport { Stepper } from '../components/Stepper';\r\nimport { HexpertChooseType } from './HexpertChooseType';\r\nimport { WeFitFormHeaderBlock } from '../blocks/WeFitFormHeaderBlock';\r\nimport { HexpertContext, HexpertState } from '../contexts/HexPertProvider';\r\n\r\nimport HexpertResultPage from './HexpertResultPage';\r\nimport { FormSection } from '../components/Form';\r\nimport { PageSections } from '../types/hexpertTypes';\r\nimport './HexpertSteps.scss';\r\n\r\nlet custom = {\r\n  enterRight: 'c-hex-wizard-fade-in ',\r\n  enterLeft: 'c-hex-wizard-fade-in',\r\n  exitRight: 'c-hex-wizard-fade-out',\r\n  exitLeft: 'c-hex-wizard-fade-out',\r\n  intro: 'c-hex-wizard-fade-in',\r\n};\r\n\r\nconst formSections: Function = (sections: PageSections[], action): JSX.Element[] => { \r\n\r\n  return sections.map((section, i) => { \r\n    return (\r\n      <FormSection\r\n        title={section.title || section?.label}\r\n        description={section?.description}\r\n        setStartSteps={action}\r\n        formHeader={<WeFitFormHeaderBlock />} // need to add in backend should maybe be in the separator block?\r\n        questions={section?.questions}\r\n        label={section?.label}\r\n        key={section?.label}\r\n        showNextButton={i <= sections?.length - 1}\r\n        determineFurtherQuestions={section?.determineFurtherQuestions}\r\n        shouldSubmit={section?.isSubmit}\r\n      />\r\n    );\r\n  });\r\n};\r\n\r\nexport const HexpertSteps = () => {\r\n  const { state, dispatch } = useContext(HexpertContext);\r\n\r\n  const setStartSteps = (startPosition: HexpertState['startSteps']) => {\r\n    dispatch({ type: 'setStartSteps', payload: startPosition });\r\n  };\r\n\r\n  return (\r\n    <div\r\n      className={classNames('c-hex-container c-hex-wizard-idle', {\r\n        'c-hex-wizard-start': state?.startForm,\r\n      })}\r\n    >\r\n      {state.showProductResult ? (\r\n        <HexpertResultPage />\r\n      ) : (\r\n        <StepWizard\r\n          isLazyMount\r\n          transitions={custom}\r\n          nav={\r\n            <Stepper\r\n              steps={\r\n                state?.forceSteps\r\n                  ? state?.forceSteps\r\n                  : state?.currentForm?.sections\r\n                  ? state?.currentForm?.sections?.length + 1\r\n                  : 0\r\n              }\r\n              action={setStartSteps}\r\n              currentStateStep={state?.startSteps}\r\n            />\r\n          }\r\n        >\r\n          {state?.startForm && !state?.startSteps && (\r\n            <>\r\n              <HexpertChooseType action={() => setStartSteps('start')} />\r\n            </>\r\n          )}\r\n          {state?.currentForm &&\r\n            state?.startForm &&\r\n            formSections(state?.currentForm?.sections, setStartSteps)}\r\n        </StepWizard>\r\n      )}\r\n    </div>\r\n  );\r\n};\r\n","import React, { useState, useEffect, useContext } from 'react';\r\nimport classNames from 'classnames';\r\nimport Axios from 'axios';\r\nimport { HexpertStart } from './HexpertStart';\r\nimport { HexpertSteps } from './HexpertSteps';\r\nimport { HexpertContext } from '../contexts/HexPertProvider';\r\nimport { getUnitForField } from '../helpers/unitsConversion';\r\nimport { WeFitLoadingBlock } from '../blocks/WeFitLoadingBlock';\r\nimport { Hexpert as endpoints } from '@services/endpoints';\r\nimport './HexpertPage.scss';\r\n\r\nexport type HexpertPageProps = {\r\n  Title: string;\r\n  SubTitle: string;\r\n  StartLabel: string;\r\n  Description: string;\r\n  startAction?: () => void;\r\n  startForm?: boolean;\r\n};\r\n\r\nenum HexPageAnimation {\r\n  HALF = 'c-hex-page-background-cover-half',\r\n  OPEN = 'c-hex-page-background-cover-open',\r\n}\r\n\r\nexport const HexpertPage = () => {\r\n  const [pageAnim, setPageAnim] = useState<HexPageAnimation>(null);\r\n  const { state, dispatch } = useContext(HexpertContext);\r\n  const [initialResultLoading, setInitialResultLoading] = useState(false);\r\n\r\n  useEffect(() => {\r\n    if (state?.startSteps) {\r\n      setPageAnim(HexPageAnimation.OPEN);\r\n    } else {\r\n      setPageAnim(HexPageAnimation.HALF);\r\n    }\r\n  }, [state?.startSteps]);\r\n  useEffect(() => {\r\n    if (window?.location?.search && window?.location?.search?.includes('sn=')) {\r\n      setInitialResultLoading(true);\r\n      dispatch({ type: 'setStartForm' });\r\n      if (state?.pageProps) {\r\n        Axios.get(endpoints.getHexpertResult + window?.location?.search, {\r\n          params: {\r\n            culture: window['lang'],\r\n          },\r\n        }).then((res) => {\r\n          dispatch({\r\n            type: 'setResult',\r\n            payload: {\r\n              redirectUrl: window?.location?.href?.replace('&show-request-quote=true', ''),\r\n              ...res.data,\r\n              Summary: {\r\n                ...res.data.Summary,\r\n                FormDataItems: res.data?.Summary?.FormDataItems?.map((item) => ({\r\n                  ...item,\r\n                  unit: getUnitForField(item.FieldName, state.pageProps?.Forms),\r\n                })),\r\n              },\r\n            },\r\n          });\r\n          const answers = {};\r\n          res.data?.Summary?.FormDataItems?.forEach(\r\n            (field) => (answers[field.FieldName] = field.FieldValue)\r\n          );\r\n          dispatch({\r\n            type: 'setInitalAnswers',\r\n            payload: {\r\n              answers: answers,\r\n              showProductResult: true,\r\n              currentForm: state.pageProps?.MappedForms?.find(\r\n                (form) => form.formGuid === res?.data?.FormGuid\r\n              )?.type,\r\n              startSteps: 'start',\r\n            },\r\n          });\r\n\r\n          setInitialResultLoading(false);\r\n        });\r\n      }\r\n    }\r\n  }, [window?.location, state?.pageProps]);\r\n\r\n  return (\r\n    <>\r\n      <div className='c-hex-page'>\r\n        <>\r\n          <div\r\n            className={classNames('c-hex-page-background-cover', {\r\n              [pageAnim]: state?.startForm,\r\n            })}\r\n          />\r\n\r\n          {state?.pageProps &&\r\n            (initialResultLoading ? (\r\n              <WeFitLoadingBlock />\r\n            ) : (\r\n              <>\r\n                <HexpertSteps />\r\n                <HexpertStart {...state?.pageProps} />\r\n              </>\r\n            ))}\r\n        </>\r\n      </div>\r\n    </>\r\n  );\r\n};\r\n","import Axios from 'axios';\r\nimport React, { useState, useEffect } from 'react';\r\nimport { HexpertContextProvider } from '../contexts/HexPertProvider';\r\nimport { HexpertPage } from './HexpertPage';\r\nimport { CookiesProvider } from 'react-cookie';\r\nimport { PageProps } from '../types/hexpertTypes';\r\nimport { fieldsToCheckInResult } from '../helpers/formSections';\r\nimport { Hexpert as endpoints } from '@services/endpoints';\r\n\r\nexport type HexpertPageProps = PageProps & {\r\n  startAction?: () => void;\r\n  startForm?: boolean;\r\n};\r\n\r\nconst Hexpert = () => {\r\n  const [pageProps, setPageProps] = useState<HexpertPageProps>();\r\n\r\n  useEffect(() => {\r\n    try {\r\n      Axios.get(endpoints.fetchHexpertPage, {\r\n        params: {\r\n          language: window['lang'],\r\n          url: window?.location?.pathname,\r\n        },\r\n      }).then((page) => {\r\n        const { ContentType, Url, HideRequestData, ...props } = page.data;\r\n        const fieldsToCheck = fieldsToCheckInResult(props?.Forms);\r\n        setPageProps({ ...props, fieldsToCheckInResult: fieldsToCheck });\r\n      });\r\n    } catch (e) {\r\n      console.error(e);\r\n    }\r\n  }, []);\r\n\r\n  return (\r\n    <CookiesProvider>\r\n      <HexpertContextProvider pageProps={pageProps}>\r\n        <HexpertPage />\r\n      </HexpertContextProvider>\r\n    </CookiesProvider>\r\n  );\r\n};\r\n\r\nexport default Hexpert;\r\n","import Hexpert from \"./page\";\r\nexport default Hexpert;","export const Breadcrumb = {\r\n  fetchBreadcrumb: '/webapi/Breadcrumb/Get',\r\n};\r\n\r\nexport const Footer = {\r\n  fetchFooter: '/api/footer',\r\n};\r\n\r\nexport const CountrySelector = {\r\n  fetchCountrySelectList: '/webapi/CountrySelector/Get',\r\n};\r\n\r\nexport const RelatedTabs = {\r\n  fetchRelatedTabs: '/webapi/RelatedTabs/Get',\r\n  relatedTabs: '/webapi/RelatedTabs/GetTabs', // NOT IN USE\r\n};\r\n\r\nexport const Search = {\r\n  doSearch: '/webapi/SearchApi/SearchFor',\r\n  doSearchAutocomplete: '/webapi/SearchApi/GetAutocomplete',\r\n};\r\n\r\nexport const NewsAndStories = {\r\n  fetchNewsAndStoriesData: '/webapi/NewsListingApi/GetNewsListItems',\r\n  fetchNews: '/webapi/NewsListingApi/GetNewsList',\r\n  fetchStories: '/webapi/StoriesList/Get',\r\n};\r\n\r\nexport const Webinars = {\r\n  fetchWebinarBanner: '/webapi/WebinarLandingPage/Get',\r\n  fetchWebinarList: '/webapi/WebinarPage/Get',\r\n};\r\n\r\nexport const Header = {\r\n  fetchHeader: '/webapi/Header/Get', //NOT IN USE\r\n  fetchSubNavigation: '/webapi/SubNavigation/Get',\r\n  fetchMegaMenuNavigation: '/api/mainmenu',\r\n  fetchGeolocation: '/api/Geolocation',\r\n  fetchTopMenu: '/api/TopNavigation/',\r\n  fetchMegaMenuColumn: '/webapi/menuitems/columns',\r\n};\r\n\r\nexport const Stories = {\r\n  fetchStories: '/webapi/StoriesList/Get',\r\n};\r\n\r\nexport const News = {\r\n  fetchNews: '/webapi/NewsListPage/Get',\r\n};\r\n\r\nexport const Vacancies = {\r\n  fetchVacancies: '/webapi/Vacancy/Get', // NOT IN USE\r\n};\r\n\r\nexport const Webshop = {\r\n  fetchWebshop: '/webapi/WebShop/Get', // NOT IN USE\r\n};\r\n\r\nexport const ContactUs = {\r\n  fetchContactUsForm: '/webapi/ContactUsForm/GetForm',\r\n  fetchFindOfficeData: '/webapi/CountriesCategories/Get',\r\n  fetchEnquiryForm: '/webapi/contactus/getenquiryform',\r\n  fetchEnquirySerialLinkData: '/webapi/contactus/GetModalPopUp',\r\n  submitEnquiryForm: '/Quote/ProcessForm',\r\n  fetchEnquiryApplicationList: '/webapi/contactus/GetIndustryApplication',\r\n};\r\n\r\nexport const InvestorRelations = {\r\n  fetchPressReleaseFilterData: '/api/v1/ir/pressrelease',\r\n  fetchInvestorRelationsNews: '/api/v1/ir/news',\r\n  fetchInvestorRelationsPage: '/api/v1/ir/page2',\r\n  fetchInvestorRelationsMenu: '/api/v1/ir/menu2',\r\n  makeSubscription: '//publish.ne.cision.com/Subscription/SubscribeWithCaptcha',\r\n};\r\n\r\nexport const CoolCalc = {\r\n  getCoolCalc: '/webapi/CoolCalc/Get', // NOT IN USE\r\n  shareCoolCalc: '/webapi/CoolCalc/Save',\r\n};\r\n\r\nexport const Hexpert = {\r\n  fetchHexpertPage: '/api/v1/hex/page',\r\n  getAntiForgeryToken: '/api/v1/hex/GetAntiForgery',\r\n  submitHexpertForm: '/EPiServer.Forms/DataSubmit/Submit',\r\n  createHexpertPdf: '/api/v1/hex/CreatePdf',\r\n  getIsMatchingProducts: '/api/v1/hex/IsMatchingProduct',\r\n  getHexpertResult: '/api/v1/hex/GetResult',\r\n  mailResult: '/api/v1/hex/SendMail',\r\n};\r\n\r\nexport const SafetyDatasheet = {\r\n  fetchSafetyDatasheet: '/webapi/SafetyDataSheet/GetSafetyDataSheetResult',\r\n};\r\n"],"names":["Checkbox","forwardRef","label","value","id","name","onChange","onBlur","checked","required","ref","type","className","defaultChecked","CloseButton","onClick","generateTransactionId","useCurrentTime","formId","transctionElement","document","getElementById","Id","timestamp","Date","getTime","window","localStorage","getItem","setItem","replace","toString","useOutsideClick","handler","useEffect","handleClick","e","current","contains","target","addEventListener","removeEventListener","HexpertFormBlockEnum","fieldsToCheckInResult","forms","fieldsToCheck","forEach","form","Value","ElementsArea","el","i","ContentType","PRESSURE","TEMPERATURE","push","FieldId","formSections","pageProps","hexForms","length","tempForm","tempSections","title","Title","image","PreviewImage","Url","Key","formGuid","resultIcon","ResultImage","tempSection","tempQuestions","formSection","FORM_SEPARATOR","DetermineFurtherQuestions","determineFurtherQuestions","Label","questions","Object","keys","description","SeparatorDescription","isSubmit","SUBMIT","isLastStep","Conditions","conditionQuestion","find","q","ChoiceName","Field","conditionQuestions","sections","UnitTypes","UnitSystem","unitConverter","system","unit","IMPERIAL","METRIC","POWER","unitConvertName","STANDARD","getUnitForField","fieldId","allForms","findBlock","f","unitSytems","initialState","currentForm","step","startForm","chosenIndustry","unitSystem","loadingResult","productResult","formCheckLoading","submitOnNext","showLastQuestions","startSteps","forceSteps","isInitialForceModal","hexpertSteps","HexpertContext","createContext","state","dispatch","HexpertReducer","action","payload","getEachHexpertStep","isSubmitReached","hexpertDataLayerSteps","map","section","filter","concat","MappedForms","formAnswers","showProductResult","answers","HexpertContextProvider","children","useReducer","Forms","Provider","Button","busy","FormType","ChoiceTypes","ChoiceLayout","HexCheckIconSmall","width","height","viewBox","fill","xmlns","d","HexCheckbox","selected","htmlFor","HexRadioItem","LargeSelectButton","HEXCheckIcon","SelectButton","ButtonMapper","props","BUTTON","Caption","key","LARGE_BUTTON","CHECKBOX","RADIO","CondenserIcon","HeaterCoolerIcon","VaporizerIcon","EntryButton","icon","fixedWidth","CONDENSER","HEATCOOL","VAPORIZER","getIcon","HEXArrowLeft","HEXArrowRight","NavigationButton","showLeftArrow","HexpertStart","SubTitle","Description","StartLabel","useContext","dangerouslySetInnerHTML","__html","HEXStepperArrow","stroke","Stepper","steps","currentStateStep","currentStep","nextStep","previousStep","goToStep","totalSteps","arrowClassname","setArrowClassName","useState","hasMoreQuestions","some","offsetSteps","Boolean","Array","from","style","left","HEXTooltipArrow","HEXToolTipIcon","fillRule","clipRule","ToolTip","text","FormGroup","tooltip","titleUnit","size","RangeSlider","minValue","maxValue","interval","minv","Math","log","scale","position","setPosition","getPos","calculateValue","exp","getVal","round","min","max","newPosition","Number","HexpertPowerRangeElementBlock","Max","Min","Step","PredefinedValue","val","StepSlider","selectedPosition","convertUnit","index","WeFitStepSliderBlock","unitType","Options","Tooltip","currentStepIndex","split","join","HexpertPressureChoiceElementBlock","findIndex","item","Checked","HexpertTemperatureChoiceBlock","CheckboxType","CheckboxOrientation","VERTICAL","ParagraphTextElementBlock","ParagraphText","ExpandBox","expand","WeFitChoiceBlock","setSelected","localPrevChildSelected","setLocalPrevChildSelected","SLIDER","conditionFieldIds","condition","every","FieldValue","tempAnswer","includes","conditionDefault","op","handleExpandButtonClick","child","Operation","optionChild","hasDefault","prev","HEXDropDownArrowIcon","DropDown","defaultValue","options","dropDownRef","useRef","open","setOpen","option","o","WeFitDropDownBlock","select","items","setItems","relatedOptions","ValueRelevantTo","temporaryUnits","WeFitGraphRangeSliderBlock","setValue","tempUnit","setTempUnit","ListItem","active","WeFitListItemsBlock","List","mappedItems","list","listOption","trim","hasAnswer","Container","formHeader","setStartSteps","showBackButton","showNextButton","submitLabel","loading","submit","String","HexpertBackLabel","HexpertContinueLabel","FormFields","FormSection","shouldSubmit","requiredQuestions","setRequiredQuestions","dataLayer","page_category","slice","page_path","page_title","hasCondition","isPartOfSelected","questionValidator","submitForm","showResultAfter","endpoints","then","antiforgery","console","FormData","append","FORM_GUID","FORM_ANTI_FORGERY","data","FORM_LANGUAGE","FORM_HOSTED_PAGE","PageId","entries","headers","submitRes","isSuccess","redirectUrl","RedirectUrl","tempUrl","params","culture","res","location","origin","Summary","FormDataItems","FieldName","req","question","indexOfMiddleSubmit","s","clearAdditionalQuestionAnswers","a","catch","checkForm","contentType","content","loadComponent","HexpertChooseType","pathname","page_id","IntroDescription","IntroText","tempDefaultAnswers","SELECT","INDUSTRY","defaultIndustry","listInfo","unitSystemToName","HexpertImperialRadioButton","HexpertMetricRadioButton","HexpertStandardRadioButton","WeFitFormHeaderBlock","HexpertUnitsLabel","Input","placeHolder","placeholder","Modal","marginTop","alignItems","onClose","imageUrlHelper","img","str","HexpertModalBlock","ModalButtonText","ModalConfirmationDescription","ModalConfirmationHeading","ModalDescription","ModalHeading","ModalImage","ModalQuoteText","ModalTextboxPlaceholder","ModalUsp","isConfirm","inputValue","onInputChange","invalidEmail","src","alt","HexpertRequestQuoteBlock","guid","shareUrl","setBusy","showConfirm","setShowConfirm","setData","errorMessages","setErrorMessages","hiddenFields","noResultTitle","NoResultTitle","product_name","transaction_id","scrollTo","element","closePage","EnquireTitle","EnquireDescription","NoResultDescription","PersonalInformationTitle","indexOf","Validators","ev","rows","Country","Email","toggleCheck","async","formData","result","IsSuccess","resultTitle","ProductDetails","formTitle","messages","message","AdditionalParams","__FormField","InvalidElementName","ValidationMessage","NoResultButtonLabel","focusable","Document","date","url","href","WeFitDocumentBlock","links","link","LinkName","HEXLoadingSpinnerIcon","cx","cy","r","strokeOpacity","strokeWidth","strokeLinecap","WeFitLoadingBlock","ProductCaseStudy","reverse","Image","ImageAltText","ShowMore","LocalizedTranslationResources","WeFitCaseStoriesShowMore","ProductImages","mainImage","extraImages","clipPath","ProductIntro","email","quoteText","quoteQuestion","protocol","hostname","ProductListItem","ProductSummary","buttonAction","typeName","makeColumns","columns","Set","Slide","FormGuid","column","showColumn","WefitBlockPosition","WeFitEditProjectData","mapValueFromBlock","answerCaption","TopFeature","features","feat","imageAltText","body","Separator","emailRegex","cookies","setCookie","useCookies","setEmail","email_confirmed","forceEmailUrl","setForceEmailUrl","showEmailModal","setShowEmailModal","showRequestQuote","setShowRequestQuote","setInvalidEmail","search","history","replaceState","video","Product","VideoImages","formType","showQuote","hasResultUrl","cleanURL","redirectURL","URL","searchParams","delete","requestQuoteBackClick","REQUEST_QUOTE","WeFitProductNamePrefix","test","validateEmail","shareId","URLSearchParams","get","pageUrl","resultUrl","pageId","productType","callback","internalMail","SummaryColumns","values","FieldValueText","pdf_data","ResultUrl","ResultSubTitle","WeFitResultTitle","ResultTitle","Images","ImageUrl","Variant","Intro","QuoteText","WefitProductRequestQuote","QuoteQuestion","WeFitSatisfiedWithYourProduct","TopFeatures","Features","WefitCaseStoriesTitle","TopReasons","WefitProductTopReasons","Reasons","Documents","WeFitRelatedContentTitle","Links","DidYouKnow","WefitProductDidYouKnow","Text","DidYouKnowText","PositionLabel","SummaryType","Columns","CaseStories","story","pdfBlob","mailTo","bcc","generatePdfDocument","InternalEmail","feature","HasTopReasons","reason","gap","HasDidYouKnow","display","justifyContent","allow","frameBorder","order","custom","enterRight","enterLeft","exitRight","exitLeft","intro","HexpertSteps","startPosition","isLazyMount","transitions","nav","HexPageAnimation","HexpertPage","pageAnim","setPageAnim","initialResultLoading","setInitialResultLoading","OPEN","HALF","field","setPageProps","language","page","HideRequestData","error","CookiesProvider","Breadcrumb","fetchBreadcrumb","Footer","fetchFooter","CountrySelector","fetchCountrySelectList","RelatedTabs","fetchRelatedTabs","relatedTabs","Search","doSearch","doSearchAutocomplete","NewsAndStories","fetchNewsAndStoriesData","fetchNews","fetchStories","Webinars","fetchWebinarBanner","fetchWebinarList","Header","fetchHeader","fetchSubNavigation","fetchMegaMenuNavigation","fetchGeolocation","fetchTopMenu","fetchMegaMenuColumn","Stories","News","ContactUs","fetchContactUsForm","fetchFindOfficeData","fetchEnquiryForm","fetchEnquirySerialLinkData","submitEnquiryForm","fetchEnquiryApplicationList","InvestorRelations","fetchPressReleaseFilterData","fetchInvestorRelationsNews","fetchInvestorRelationsPage","fetchInvestorRelationsMenu","makeSubscription","CoolCalc","getCoolCalc","shareCoolCalc","Hexpert","fetchHexpertPage","getAntiForgeryToken","submitHexpertForm","createHexpertPdf","getIsMatchingProducts","getHexpertResult","mailResult","SafetyDatasheet","fetchSafetyDatasheet"],"sourceRoot":""}