{"version":3,"sources":["Sections/Footer/Footer.tsx","Sections/Header/Components/NavButton/NavButton.tsx","Sections/Header/Header.tsx","Sections/Payment/Payment.tsx","helpers/validators.ts","Sections/Connect/Connect.tsx","Sections/Section/Section.tsx","Pages/SegmentsPage/Components/Stakeholder.tsx","Pages/SegmentsPage/SegmentsPage.tsx","App.tsx","reportWebVitals.ts","index.tsx"],"names":["Footer","className","src","alt","onClick","window","open","NavButton","text","url","action","children","history","useHistory","location","useLocation","selected","useMemo","pathname","startsWith","useState","setOpen","tabIndex","e","href","innerWidth","push","stopPropagation","o","size","style","transform","Header","useEffect","scrollToConnect","document","getElementById","scrollIntoView","behavior","opacity","visibility","maxWidth","Payment","Array","from","keys","map","_","i","loading","validateWithWarning","validator","message","isValid","console","warn","vRequired","value","undefined","required","emailRegex","vEmail","test","Connect","name","setName","email","setEmail","contactType","setContactType","setMessage","hasError","setHasError","onSuccess","setOnSuccess","validateFields","isAllValid","every","boolean","submitForm","a","body","contact_type","axios","post","error","backgroundImage","id","type","placeholder","onChange","currentTarget","Section","topTitle","title","Title","subtitle","button","buttonUrl","buttonAction","backgroundUrl","videoUrl","paneStyle","muted","loop","autoPlay","Stakeholder","imageUrl","quote","rightSide","imageTransform","containerStyle","imageStyle","imgStyle","position","company","SegmentsPage","backgroundSize","backgroundRepeat","backgroundPositionX","backgroundPositionY","backgroundColor","ScrollToTop","scrollTo","AOS","init","once","delay","App","basename","path","component","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode"],"mappings":"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","file":"static/js/main.9aaa6ed4.chunk.js","sourcesContent":["import React from \"react\";\nimport \"./Footer.scss\";\nimport { AiOutlineLinkedin } from \"react-icons/ai\";\n\nfunction Footer() {\n return (\n \n );\n}\n\nexport default Footer;\n","import React, { ReactNode, useMemo } from \"react\";\nimport { useState } from \"react\";\nimport { useHistory, useLocation } from \"react-router\";\nimport \"./NavButton.scss\";\nimport { IoChevronDown, IoChevronUp } from \"react-icons/io5\";\n\ntype P = {\n text: string;\n url?: string;\n action?: Function;\n children?: ReactNode;\n};\n\nfunction NavButton({ text, url, action, children }: P) {\n const history = useHistory();\n const location = useLocation();\n const selected = useMemo(() => {\n if (!url) return false;\n if (!children) {\n return location.pathname === url;\n }\n return location.pathname.startsWith(url);\n }, [url, location, children]);\n\n const [open, setOpen] = useState(false);\n\n const onClick = (e: React.MouseEvent) => {\n if(url?.startsWith('http')){\n window.location.href = url;\n } else if (!children || window.innerWidth > 768) {\n if (url) history.push(url);\n if (action) action();\n e.stopPropagation();\n } else {\n setOpen((o) => !o);\n }\n };\n\n return (\n <>\n \n {text}\n {children &&\n (open ? (\n \n ) : (\n \n ))}\n
{children}
\n \n {open &&
{children}
}\n \n );\n}\n\nexport default NavButton;\n","import React, { useEffect, useState } from \"react\";\nimport NavButton from \"./Components/NavButton/NavButton\";\nimport \"./Header.scss\";\nimport { IoIosClose, IoIosMenu } from \"react-icons/io\";\nimport { useHistory, useLocation } from \"react-router\";\n\nfunction Header() {\n const [open, setOpen] = useState(false);\n const location = useLocation();\n const history = useHistory();\n\n useEffect(() => {\n setOpen(false);\n }, [location]);\n\n const scrollToConnect = () => {\n const connectDiv = document.getElementById(\"connect\") as HTMLDivElement;\n connectDiv.scrollIntoView({ behavior: \"smooth\" });\n setOpen(false);\n };\n\n return (\n <>\n
\n
\n
\n \n history.push(\"/\")}\n />\n \n \n \n \n \n \n \n \n {open ? (\n setOpen((o) => !o)}\n />\n ) : (\n setOpen((o) => !o)}\n />\n )}\n
\n
\n
\n \n
\n \n \n \n \n \n
\n \n );\n}\n\nexport default Header;\n","import React from \"react\";\nimport \"./Payment.scss\";\n\nfunction Payment() {\n return (\n
\n

Payment Methods We Support

\n
\n {Array.from(Array(21).keys()).map((_, i) => (\n \n ))}\n
\n
\n );\n}\n\nexport default Payment;\n","const validateWithWarning = (validator: () => boolean, message: string) => {\n const isValid = validator()\n\n if (!isValid) { console.warn(message) }\n\n return isValid\n}\n\nconst required = (value:any) => {\n return (\n value !== undefined && \n value !== null && \n value !== '')\n}\n\nexport const vRequired = (value:any) => validateWithWarning(\n () => required(value),\n `[vRequired]: Required field received \"${value}\"`\n)\n\nconst 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,}))$/\n\nexport const vEmail = (value:string) => validateWithWarning(\n () => emailRegex.test(value),\n `[vEmail]: \"${value}\" is not a valid email`\n)\n\n/* eslint import/no-anonymous-default-export: [2, {\"allowObject\": true}] */\nexport default {\n vRequired,\n vEmail\n}","import React, { useState } from \"react\";\nimport \"./Connect.scss\";\nimport axios from 'axios';\nimport { vRequired, vEmail } from '../../helpers/validators'\n\ntype ContactForm = {\n name: string,\n email: string,\n contact_type: string,\n message: string\n};\n\nfunction Connect() {\n const [name, setName] = useState('');\n const [email, setEmail] = useState('');\n const [contactType, setContactType] = useState('');\n const [message, setMessage] = useState('');\n const [hasError, setHasError] = useState(false);\n const [onSuccess, setOnSuccess] = useState(false);\n\n const handleNameChange = (e:React.FormEvent) => {\n const value = e.currentTarget.value\n setName(value)\n };\n const handleEmailChange = (e:React.FormEvent) => {\n const value = e.currentTarget.value\n setEmail(value)\n };\n const handleContactTypeChange = (e:React.FormEvent) => {\n const value = e.currentTarget.value\n setContactType(value)\n };\n const handleMessageChange = (e:React.FormEvent) => {\n const value = e.currentTarget.value\n setMessage(value)\n };\n\n const resetFields = () => {\n setName('')\n setEmail('')\n setContactType('')\n setMessage('')\n }\n\n const validateFields = () => {\n const validationHistory = [\n vRequired(name),\n vRequired(email),\n vEmail(email),\n vRequired(contactType),\n vRequired(message),\n ]\n\n const isAllValid = validationHistory.every(boolean => boolean === true)\n setHasError(!isAllValid)\n\n return isAllValid\n }\n\n const submitForm = async () => {\n const isValid = validateFields()\n\n if (isValid) {\n try {\n const body:ContactForm = {\n name,\n email,\n contact_type: contactType,\n message,\n }\n \n await axios.post('https://jy7fwwvcdd.execute-api.ap-southeast-1.amazonaws.com/default/landingContactFormEmail', body)\n setHasError(false)\n setOnSuccess(true)\n resetFields()\n } catch (error) {\n console.error(error)\n }\n }\n \n }\n\n return (\n \n
\n

Let's Connect

\n

\n Send us a message to explore business solutions, partnership\n opportunities or to make any enquiries.\n

\n
\n \n \n \n \n \n \n
\n {\n hasError &&\n Please fill in all the fields correctly\n }\n {\n onSuccess &&\n Thank you for your submission, we will contact you shortly\n }\n \n
\n \n );\n};\n\nexport default Connect;\n","import React, { ReactNode } from \"react\";\nimport { useHistory } from \"react-router\";\nimport \"./Section.scss\";\n\ntype P = {\n topTitle?: string;\n title?: string;\n Title?: React.ComponentType;\n subtitle?: string;\n button?: string;\n buttonUrl?: string;\n buttonAction?: Function;\n backgroundUrl?: string;\n videoUrl?: string;\n backgroundColor?: string;\n className?: string;\n children?: ReactNode;\n style?: React.CSSProperties;\n};\n\nfunction Section({\n topTitle,\n title,\n Title,\n subtitle,\n button,\n buttonUrl,\n buttonAction,\n backgroundUrl,\n videoUrl,\n className = \"\",\n style: paneStyle = {},\n children,\n}: P) {\n const history = useHistory();\n const buttonPressed = () => {\n if (buttonUrl) history.push(buttonUrl);\n if (buttonAction) buttonAction();\n };\n return (\n \n {videoUrl && (\n \n )}\n
\n {!!topTitle && (\n

\n {topTitle}\n

\n )}\n\n {!!title &&

{title}

}\n {!!Title && }\n <p data-aos=\"fade\">{subtitle}</p>\n {!!button && (\n <button data-aos=\"fade\" onClick={buttonPressed}>\n {button}\n </button>\n )}\n </div>\n {!!children && children}\n </div>\n );\n}\n\nexport default Section;\n","import React, { ReactNode } from \"react\";\nimport \"./Stakeholder.scss\";\n\ntype P = {\n title: string;\n body: ReactNode;\n imageUrl: string;\n quote?: {\n text: string;\n name: string;\n position: string;\n company: string;\n };\n rightSide?: boolean;\n imageTransform?: string;\n containerStyle?: React.CSSProperties;\n paneStyle?: React.CSSProperties;\n imageStyle?: React.CSSProperties;\n className?: string;\n};\n\nfunction Stakeholder({\n title,\n body,\n imageUrl,\n quote,\n rightSide = false,\n imageTransform = \"\",\n containerStyle = {},\n paneStyle = {},\n imageStyle = {},\n className,\n}: P) {\n const imgStyle = { transform: imageTransform, ...imageStyle };\n return (\n <div\n className={`Stakeholder ${rightSide ? \"Right\" : \"\"} ${className}`}\n style={containerStyle}\n >\n <img\n className=\"LeftImage\"\n src={imageUrl}\n alt=\"\"\n // style={imgStyle}\n data-aos=\"fade\"\n data-aos-duration={1500}\n />\n <div className={\"Pane\"} style={paneStyle} data-aos=\"fade-up\">\n <h3>{title}</h3>\n {body}\n {quote && <span className=\"Quote\">\n <p>❝{quote.text}❞</p>\n <small>\n <b>{quote.name}</b>, {quote.position}\n </small>\n <br />\n <small>{quote.company}</small>\n </span>}\n </div>\n <img\n className=\"RightImage\"\n src={imageUrl}\n alt=\"\"\n style={imgStyle}\n data-aos=\"fade\"\n data-aos-duration={1500}\n />\n </div>\n );\n}\n\nexport default Stakeholder;\n","import React from \"react\";\nimport Section from \"Sections/Section/Section\";\nimport Stakeholder from \"./Components/Stakeholder\";\nimport \"./SegmentsPage.scss\";\n\nfunction SegmentsPage() {\n return (\n <div className=\"SegmentsPage\">\n <Section\n className=\"Banner\"\n Title={() => (\n <div>\n <h1>Empowering <b>smart solutions.</b></h1>\n <h3>Looking for COVID-19 ART Kit Diagnostics?</h3>\n </div>\n )}\n button=\"Learn More\"\n buttonAction={() => {\n /*const connectDiv = document.getElementById(\n \"connect\"\n ) as HTMLDivElement;\n connectDiv.scrollIntoView({ behavior: \"smooth\" });*/\n window.location.href = \"https://covid.beepbeep.tech/\";\n }}\n videoUrl=\"/res/seg/banner.mp4\"\n />\n <Section\n title=\"We can drive business growth the smart way\"\n backgroundUrl=\"/res/seg/stakeholder_top_background.svg\"\n style={{\n backgroundSize: \"40vw\",\n backgroundRepeat: \"no-repeat\",\n backgroundPositionX: 0,\n backgroundPositionY: 0,\n backgroundColor: \"white\",\n }}\n >\n <div className=\"Stakeholders\">\n <Stakeholder\n title=\"Retailers / Enterprise\"\n body={\n <p>\n <b>\n Delight your customers with innovative ways\n to interact with your brand\n </b>{\" \"}\n by tapping into our suite of APIs, allowing you\n to seamlessly connect your existing channels\n with any unattended touchpoints -{\" \"}\n <b>no hardware knowledge required.</b>\n </p>\n }\n imageUrl=\"/res/seg/stakeholder_1.svg\"\n // quote={{\n // text: \"Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat supereme volutpat.\",\n // name: \"Andy\",\n // position: \"Assistant Manager\",\n // company: \"Dunder Miflin\",\n // }}\n />\n <Stakeholder\n title=\"Operators\"\n body={\n <p>\n <b>\n Help your fleet realise its true potential\n through our unified platform\n </b>{\" \"}\n that works on any system in the market.{\" \"}\n <b>Get real-time telemetric insights</b> for\n increased operational efficiency whilst\n supporting a broad range of local and global\n payments, or even run promotions and loyalty\n programmes{\" \"}\n <b>to constantly engage your customers.</b>\n </p>\n }\n imageUrl=\"/res/seg/stakeholder_2.svg\"\n // quote={{\n // text: \"Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat supereme volutpat.\",\n // name: \"Andy\",\n // position: \"Assistant Manager\",\n // company: \"Dunder Miflin\",\n // }}\n rightSide\n className=\"Stakeholder-Operations\"\n />\n <Stakeholder\n title=\"Distributors\"\n body={\n <p>\n <b>Add value for your clients' businesses</b> by\n being a one-stop shop for unattended systems and\n peripherals by packaging smart, affordable\n capabilities into their machines.\n </p>\n }\n imageUrl=\"/res/seg/stakeholder_3.svg\"\n // quote={{\n // text: \"Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat supereme volutpat.\",\n // name: \"Andy\",\n // position: \"Assistant Manager\",\n // company: \"Dunder Miflin\",\n // }}\n />\n <Stakeholder\n title=\"Manufacturers\"\n body={\n <p>\n <b>Gain competitive advantage</b> by enabling\n your machines to support payments and using our\n out-of-the-box innovation globally – no added\n hardware required.\n <b>\n Give your customers unparalleled flexibility\n </b>{\" \"}\n to create new user experiences through online,\n remote and automatic payment capabilities that{\" \"}\n <b>\n push the boundaries of what machines can do.\n </b>\n </p>\n }\n imageUrl=\"/res/seg/stakeholder_4.svg\"\n // quote={{\n // text: \"Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat supereme volutpat.\",\n // name: \"Andy\",\n // position: \"Assistant Manager\",\n // company: \"Dunder Miflin\",\n // }}\n rightSide\n className=\"Stakeholder-Manufacturers\"\n />\n </div>\n </Section>\n </div>\n );\n}\n\nexport default SegmentsPage;\n","import React from \"react\";\nimport \"./App.scss\";\nimport Footer from \"./Sections/Footer/Footer\";\nimport Header from \"./Sections/Header/Header\";\nimport Payment from \"./Sections/Payment/Payment\";\nimport Connect from \"./Sections/Connect/Connect\";\nimport {\n BrowserRouter as Router,\n Switch,\n Route,\n useLocation,\n} from \"react-router-dom\";\nimport SegmentsPage from \"./Pages/SegmentsPage/SegmentsPage\";\n// import EVPage from \"./Pages/EVPage/EVPage\";\n// import CMMSPage from \"Pages/CMMSPage/CMMSPage\";\nimport AOS from \"aos\";\nimport \"aos/dist/aos.css\";\nimport { useEffect } from \"react\";\nAOS.init({\n once: true,\n delay: 160,\n});\n\nfunction ScrollToTop() {\n const { pathname } = useLocation();\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [pathname]);\n\n return null;\n}\n\nfunction App() {\n return (\n <div className=\"App\">\n <Router basename=\"/\">\n <ScrollToTop />\n <Header />\n <Switch>\n {/* <Route exact path=\"/ev\" component={EVPage} />\n <Route exact path=\"/ev/cmms\" component={CMMSPage} /> */}\n <Route path=\"/\" component={SegmentsPage} />\n </Switch>\n <Payment />\n <Connect />\n <Footer />\n </Router>\n </div>\n );\n}\n\nexport default App;\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"./index.css\";\nimport \"./css/colors.css\";\nimport \"./css/fonts.css\";\nimport App from \"./App\";\nimport reportWebVitals from \"./reportWebVitals\";\n\nReactDOM.render(\n <React.StrictMode>\n <App />\n </React.StrictMode>,\n document.getElementById(\"root\")\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}