{"version":3,"sources":["webpack://grundium-ltd-website/./src/components/ContactForm.js","webpack://grundium-ltd-website/./src/pages/solutions.js"],"names":["Modal","props","useState","modalText","setModalText","loading","setLoading","requestData","useLocation","href","pageName","getCookie","useReducer","state","newState","firstname","lastname","email","company","message","country","formValue","setFormValue","commConsent","setCommConsent","setBusy","busy","spinner","className","undefined","handleChange","e","target","name","value","onSubmit","Object","keys","map","key","requestBody","JSON","stringify","fetch","method","headers","body","then","response","json","data","inlineMessage","errors","catch","error","preventDefault","classNames","id","htmlFor","type","required","onChange","labels","rows","checked","isOpen","contentLabel","overlayClassName","link","to","text","onClick","dangerouslySetInnerHTML","__html","PageSolutions","page","strapiPageSolutions","info","image","title","subtitle","seo","description","childImageSharp","gatsbyImageData","heroImage","source","introText","escapeHtml","content"],"mappings":"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","file":"component---src-pages-solutions-js-d409ebd747f477231412.js","sourcesContent":["import React, { useReducer, useState } from \"react\"\nimport { useLocation } from '@reach/router';\nimport Modal from 'react-modal';\nimport classNames from \"classnames\";\nimport { Link } from \"gatsby\";\nimport { getCookie } from \"../utils/utils\";\nModal.setAppElement('#___gatsby');\n/**\n * Portal ID: 4258421\n * Form ID: cd2cad50-b4bc-4a16-8977-03fdaef8aca4\n * https://legacydocs.hubspot.com/docs/methods/forms/submit_form\n */\n\n const ContactForm = (props) => {\n\n // let [modalIsOpen, setModalIsOpen] = useState(true);\n let [modalText, setModalText] = useState();\n let [loading, setLoading] = useState(false);\n\n const action = 'https://api.hsforms.com/submissions/v3/integration/submit/4258421/cd2cad50-b4bc-4a16-8977-03fdaef8aca4';\n\n const location = useLocation();\n // Request JSON:\n var requestData = {\n \"fields\": [],\n \"context\": {\n \"pageUri\": location.href,\n \"pageName\": props.pageName,\n \"hutk\": getCookie(\"hubspotutk\")\n },\n \"legalConsentOptions\":{ // Include this object when GDPR options are enabled\n \"consent\":{\n \"consentToProcess\":true,\n \"text\":\"I agree to allow Grundium to store and process my personal data.\",\n \"communications\":[\n {\n \"value\":true,\n \"subscriptionTypeId\":999,\n \"text\":\"I agree to receive other communications from Grundium.\"\n }\n ]\n }\n }\n }\n\n const [formValue, setFormValue] = useReducer(\n (state, newState) => ({...state, ...newState}),\n {\n firstname: \"\",\n lastname: \"\",\n email: \"\",\n company: \"\",\n message: \"\",\n country: \"\",\n }\n );\n let [commConsent, setCommConsent] = useState(false);\n // let [converted, setConverted] = React.useState(false);\n\n const setBusy = busy => {\n if (busy) {\n setLoading(true);\n setModalText({spinner:

Submitting request

})\n } else {\n setLoading(false);\n setModalText(undefined)\n }\n }\n\n const handleSubmit = e => {\n requestData['fields'] = Object.keys(formValue).map(key => ({ name: key, value: formValue[key]}));\n requestData['legalConsentOptions']['consent']['communications'][0]['value'] = commConsent;\n \n // console.warn(requestData);\n\n const requestBody = JSON.stringify(requestData)\n setBusy(true);\n \n fetch(action, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: requestBody\n })\n .then(response => response.json())\n .then(data => {\n setBusy(false);\n // console.log(\"Response: \", data);\n if (data && data.inlineMessage) {\n // data.link = {href: \"/\", text: \"Back to home page\"};\n setModalText(data);\n // countConversion();\n // console.warn(\"Success:\", data.inlineMessage);\n } \n else if (data && data.errors) {\n setModalText({\n inlineMessage: \"

There was an error submitting the form

Double check required fields and try again.\",\n });\n // console.warn(\"Error:\", data.message);\n }\n \n })\n .catch(error => {\n setBusy(false);\n setModalText({message: \"

Something went wrong

There was an error submitting the form, please try again later.\"})\n error(\"Error submitting the form\", error)\n });\n\n e.preventDefault();\n };\n\n const handleChange = e => setFormValue({ [e.target.name]: e.target.value });\n\n return (\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n\n
\n

\n Grundium is committed to protecting and respecting your privacy, and we’ll only use your personal information to administer your account and to provide the products and services you requested from us. From time to time, we would like to contact you about our products and services, as well as other content that may be of interest to you. If you consent to us contacting you for this purpose, please tick below:\n

\n \n
\n
\n setCommConsent(!commConsent)}/>\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n\n {\n modalText && modalText.spinner && modalText.spinner\n }\n {\n modalText && modalText.message && (\n
\n

{modalText.message}

\n {\n modalText.link && {modalText.link.text}\n }\n {\n !modalText.link && setModalText(undefined)}\n >CLOSE\n }\n
\n )\n }\n {\n modalText && modalText.inlineMessage && (\n
\n

\n {\n modalText.link && {modalText.link.text}\n }\n {\n !modalText.link && setModalText(undefined)}\n >CLOSE\n }\n \n \n
\n )\n }\n
\n \n
\n );\n }\n\n export default ContactForm","import React from \"react\"\n// import { Link } from \"gatsby\"\nimport { graphql } from \"gatsby\"\nimport { BgImage } from \"gbimage-bridge\"\nimport ReactMarkdown from \"react-markdown\"\n// import Image from \"gatsby-image\"\nimport TopMenu from \"../components/TopMenu\"\nimport ContactForm from \"../components/ContactForm\"\nimport Footer from \"../components/Footer\"\nimport Seo from \"../components/Seo\"\n// import Testimonial from \"../components/testimonials/Testimonial\"\n// import VideoButton from \"../components/VideoButton\"\n\nexport default function PageSolutions({data}) {\n const page = data.strapiPageSolutions;\n const { image, title, subtitle } = page.info;\n // console.warn(page);\n\n return (\n
\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n

{ title }

\n
\n

{ subtitle }

\n
\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n \n
\n \n
\n
\n\n
\n {/*
\n \n
\n
\n
\n
*/}\n
\n

\n
Contact us for personal service
\n
\n

\n

\n Are you looking for an easy imaging solution for your pathology system? Or are you interested in practical whole slide imaging scanners to make your lab get results faster and easier? \n

\n

\n Get in touch with us to discuss options.\n

\n \n
\n
\n
\n );\n}\n\nexport const query = graphql`\n {\n strapiPageSolutions {\n id\n seo {\n title\n description\n }\n info {\n title\n subtitle\n slug\n image {\n childImageSharp {\n gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED)\n }\n }\n }\n heroImage {\n childImageSharp {\n gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED)\n }\n }\n introText\n content\n }\n }\n`"],"sourceRoot":""}