{"version":3,"file":"static/chunks/pages/newsletter-0f16bf60ff0b944d.js","mappings":"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","sources":["webpack://_N_E/?5f62","webpack://_N_E/./src/assets/headers/lexus-newsletter.png","webpack://_N_E/./src/assets/headers/toyota-newsletter.png","webpack://_N_E/./src/pages/newsletter/index.tsx","webpack://_N_E/"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/newsletter\",\n function () {\n return require(\"private-next-pages/newsletter/index.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/newsletter\"])\n });\n }\n ","export default {\"src\":\"https://forms-assets.toyota.co.uk/_next/static/media/lexus-newsletter.e1a05be5.png\",\"height\":1079,\"width\":1973,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAb0lEQVR42gFkAJv/AJCyxZm3xq3G1JOns1xdaWtveVZaZiQuPwC1yNHAzNG8xsuNlpw8QEc1ODwqMj8sOEkAusPFz8/OtLS0paOlmJWXbWxvPj1GKCUxAIeMlKGgpIyLj2RRUm9VVHBUUnRZVXBWU+nNL3330Ux1AAAAAElFTkSuQmCC\",\"blurWidth\":8,\"blurHeight\":4};","export default {\"src\":\"https://forms-assets.toyota.co.uk/_next/static/media/toyota-newsletter.2ce27856.png\",\"height\":1053,\"width\":1920,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAIAAAA8r+mnAAAAb0lEQVR42gFkAJv/ALKJaLyZf8+wmNe7pNzCquDIs+nTwK+imgCqoZ7Ct7G1qKKYioNnZWiDe3fdzcHBt7AArKOhw7awlImFmY2EsaKXw7So5tfL5tjNAJeTlLGnpMK2sMS5s8rAucC5tqmmpoaIjofTQFjeYySlAAAAAElFTkSuQmCC\",\"blurWidth\":8,\"blurHeight\":4};","/* eslint-disable @next/next/no-img-element */\n/* eslint-disable no-nested-ternary */\nimport LexusHeaderImage from '@assets/headers/lexus-newsletter.png'\nimport ToyotaHeaderImage from '@assets/headers/toyota-newsletter.png'\nimport {\n AuthFill,\n Button,\n Email,\n FirstName,\n IsCurrentOwner,\n LastName,\n MarketingConsent,\n Models,\n Title,\n} from '@components/form/fields'\nimport { FormStep, FormWrapper } from '@components/form/layout'\nimport { Nav } from '@components/ui'\nimport { useCampaign } from '@contexts/index'\nimport { yupResolver } from '@hookform/resolvers/yup'\nimport { ERROR_MESSAGE } from '@utils/constants'\nimport { closeOverlay, getModels, getPageData } from '@utils/helpers'\nimport { formEvent } from '@utils/helpers/tracking'\nimport { NewsletterSchema } from '@utils/schemas'\nimport axios from 'axios'\nimport type { GetServerSideProps } from 'next'\nimport { useEffect, useState } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\n\nconst Newsletter = ({ models, content, tracking, brand }) => {\n const campaign = useCampaign()\n const [submitResponse, setSubmitResponse] = useState('')\n const initialValues = {\n title: '',\n first_name: '',\n last_name: '',\n email: '',\n model: '',\n toyota_owner: false,\n reg_num: '',\n consent: {\n user: false,\n },\n response_code: '',\n campaign_response_code: '',\n campaign_code: '',\n is_lexus: brand === 'lexus',\n }\n\n const methods = useForm({\n resolver: yupResolver(NewsletterSchema),\n defaultValues: initialValues,\n mode: 'onTouched',\n })\n\n const regRequired = JSON.parse(methods.watch('toyota_owner'))\n\n const postMessage = (event) => {\n let data\n if (typeof event.data === 'object') {\n data = event.data\n } else {\n data = JSON.parse(event.data)\n }\n // eslint-disable-next-line no-prototype-builtins\n if (data.hasOwnProperty('sendNewsletterEmailAddress')) {\n if (data.sendNewsletterEmailAddress) {\n methods.setValue('email', data.sendNewsletterEmailAddress)\n }\n }\n }\n\n useEffect(() => {\n const isOwner = JSON.parse(methods.getValues('toyota_owner'))\n if (!isOwner) {\n methods.resetField('reg_num')\n }\n }, [regRequired])\n\n useEffect(() => {\n if (window.self !== window.top) {\n // eslint-disable-next-line no-restricted-globals\n parent.postMessage('requestNewsletterEmailAddress', '*')\n }\n window.addEventListener('message', postMessage, false)\n\n return () => {\n window.removeEventListener('message', postMessage, false)\n }\n }, [])\n\n useEffect(() => {\n if (campaign?.campaign) {\n methods.setValue('campaign_code', campaign.campaign)\n }\n\n if (campaign?.media) {\n const code = methods.getValues('campaign_code')\n methods.setValue('campaign_code', code + campaign.media)\n }\n\n if (campaign?.brochure) {\n methods.setValue('campaign_response_code', campaign.brochure)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [campaign])\n\n const onSubmit = async (data) => {\n const formData = data\n const selectedModel = models.filter(\n (model) => model.d4t4.id === formData.model,\n )[0]\n\n formData.response_code = brand === 'lexus' ? 'RC60284' : 'RC81050'\n\n if (brand === 'toyota' && selectedModel?.responsecodes?.national_newsletter)\n formData.response_code = selectedModel?.responsecodes?.national_newsletter\n\n setSubmitResponse('')\n await axios({\n method: 'post',\n url: `${process.env.NEXT_PUBLIC_API}/newsletter`,\n headers: {\n 'Content-Type': 'application/json',\n },\n data: formData,\n })\n .then(() => {\n formEvent({\n conversion: 1,\n name: tracking.form,\n step: 'form-submit',\n variant: '',\n page: tracking.page,\n })\n closeOverlay(\n content.confirmation.title,\n content.confirmation.copy,\n setSubmitResponse,\n brand === 'lexus',\n )\n })\n .catch(() => {\n formEvent({\n conversion: 0,\n name: tracking.form,\n step: 'form-error',\n variant: '',\n page: tracking.page,\n })\n setSubmitResponse(ERROR_MESSAGE)\n throw new Error(ERROR_MESSAGE)\n })\n }\n\n return (\n <>\n {brand === 'lexus' ? (\n