{"version":3,"sources":["theme/Baseline.js","theme/Default.js","layouts/OneCol.js","i18n/dictionary.js","i18n/Translate.js","globalState/index.js","i18n/index.js","assets/svg/mobil_logo.svg","components/views/atoms/Logo.js","components/views/Header.js","components/views/atoms/PageHeading.js","components/views/atoms/TextSection.js","components/views/Breadcrumbs.js","components/views/atoms/ProgressCircle.js","components/views/ProgressHeading.js","api/endPoints.js","api/tools.js","api/hooks.js","assets/svg/chevronRight.svg","components/views/atoms/RoundedButton.js","components/views/StepButton.js","components/views/atoms/Spinner.js","components/views/StepsListView.js","components/containers/ManufacturersList.js","components/views/atoms/OutlinedLink.js","assets/svg/spanner.svg","components/views/atoms/OutlinedLinkContent/Base.js","components/views/atoms/OutlinedLinkContent/MoreHelp.js","components/utils/GA.js","components/views/OutlinedMoreHelp.js","components/views/OutlinedLinksGrid.js","components/views/EndOfPageNotes.js","assets/svg/oilCan.svg","components/views/atoms/OutlinedLinkContent/MSLA.js","components/views/OutlinedMSLA.js","assets/svg/bulb.svg","components/views/atoms/OutlinedLinkContent/VisitHub.js","components/views/OutlinedVisitHub.js","components/views/atoms/OutlinedLinkContent/MoreTechInfo.js","components/views/OutlinedMoreTechInfo.js","assets/svg/triangleDown.svg","components/views/atoms/Table.js","assets/svg/droplet.svg","components/utils/ProductAttributesMapping.js","components/views/ProductTableView.js","components/containers/ProductsTable.js","assets/png/footer-cap-mesh.png","assets/svg/footer-brand-logos.svg","components/views/atoms/FooterSectionsSt.js","components/views/atoms/Footer.js","assets/png/icon-globe-white.png","pages/Home.js","components/views/SearchTypeSelector.js","pages/SearchTypeSelector.js","components/views/StepLink.js","components/views/Accordion.js","components/containers/EngineModelList.js","pages/SpecificationGroup.js","pages/EngineModelGroup.js","components/views/YesNo.js","components/containers/CatalystFitted.js","pages/Catalyst.js","components/views/atoms/Button.js","components/views/atoms/ProductsHeading.js","assets/svg/email.svg","assets/svg/print.svg","components/templates/email.js","components/views/atoms/ButtonContent/ButtonWithIconContent.js","components/views/EmailForm.js","components/views/ResultsHeading.js","assets/svg/pdf.svg","components/views/ProductCard.js","components/views/RecommendedProductView.js","components/containers/TopRecommendedProduct.js","components/containers/OtherRecommendedProducts.js","components/utils/ResultsPageTracker.js","pages/Results.js","assets/png/404_2.png","pages/NotFound.js","pages/Disclaimer.js","components/containers/GasTypeList.js","pages/GasType.js","router/routes.js","components/utils/OnRoute.js","App.js","index.js"],"names":["CssBaseline","createGlobalStyle","BaseLine","Typography","displayName","palette","white","red","blue","darker","dark","medium","light","lighter","lightest","grey","darkest","ultraLight","textSize","mobileLarge","mobileMedium","mobileSmall","desktopLarge","desktopMedium","desktopSmall","breakPoints","small","large","theme","resFontSize","css","fontSize","primary","secondary","accent","background","azure","outlineColor","radius","spacer","mediaQueries","page","maxWidth","screenColor","bgColor","shadow","Wrapper","styled","div","OneCol","className","children","classes","push","join","defaultProps","Row","fullWidth","metaData","title","desc","header","businessLines","text","link","globalBrands","languages","active","english","german","turkish","italian","french","polish","email","salutation","placeholder","sending","message","pdfFileName","sendButton","successfulEmailMessage","privacyPolicy","termsAndConditions","breadcrumbs","yourSelection","cookies","consentCopy","acceptButton","rejectButton","common","compareRecos","moreRecos","productSelector","endOfpageNotes","copyright","button","moreHelp","moreHelpUrl","visitHub","visitHubUrl","MSLA","MSLAUrl","moreTechInfo","moreTechInfoUrl","viewProductDetails","downloadPerformanceProfile","downloadSuccessStories","alt_downloadPerformanceProfile","alt_downloadSuccessStories","yes","no","disclaimer","heading","text1","text2","productTable","includesNaturalGas","syntheticOil","suitableBioLandSewage","productName","sulphatedAsh","totalBaseNumber","saeGrade","oilDrainInterval","wearProtection","oxidationResistance","engineCleanliness","searchTypeSelectorPage","name","progressHeading","searchTypeSelector","engineType","specification","specificationGroupPage","engineModelGroupPage","gasTypePage","catalystPage","resultsPage","buyButtonText","buyButtonLink","newSearchText","approvalType","homePage","intro","anchor","productComparisonListTitle","productComparisonListBody","footer","energyLivesHere","selectLocation","url","path","culture","as","args","dictEntry","get","dict","entryString","strings","values","reduce","prevString","nextString","index","translate","globalState","createState","cache","useGlobalState","props","Translate","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","d","fill","SvgMobilLogo","_ref","svgRef","titleId","xmlns","viewBox","ref","id","ForwardRef","Logo","Links","Language","TopLinksWrapper","TopLinks","ul","Languages","DropdownToggle","DropdownMenu","LogoWrapper","Header","useState","isActive","setActive","document","addEventListener","event","classList","contains","state","LinksComponent","map","href","T","rel","LanguageSelector","iframe","onClick","to","h2","PageHeading","isSmall","TextSection","Breadcrumbs","steps","step","label","size","perc","ProgressCircle","cx","cy","r","Heading","ProgressHeading","breadcrumbSteps","tracker","manufacturers","products","types","group","baseUrl","process","getCulture","newCulture","headers","token","fetcher","endpoint","queryParams","queryString","parse","window","location","search","pathname","split","filter","o","undefined","Promise","reject","Error","stringifyUrl","query","axios","then","res","data","inProgressMap","useGenericFetch","params","depsAsString","React","error","setError","useEffect","isLoading","endPoints","set","oldCache","catch","err","finally","useManufacturers","familyId","useMemo","nodeId","useType","SvgChevronRight","RoundedButton","rest","StepButton","relativeToParent","SpinnerElement","Spinner","StepsListView","list","handleClick","item","ManufacturersList","navigate","useNavigate","useLocation","engine_types_id","specifications_id","OutlinedLink","transform","SvgSpanner","Base","Svg","MoreHelp","Spanner","OnetrustActiveGroups","includes","ReactGA","pageview","category","action","OutlinedMoreHelp","LinkLabel","GA","_lbl","open","OutlinedLinksGrid","type","EndOfPageNotes","allowDangerousHtml","linkTarget","SvgOilCan","OilCan","OutlinedMSLA","SvgBulb","VisitHub","Bulb","OuttlinedVisitHub","doRender","MoreTechInfo","OutlinedMoreTechInfo","Table","table","Triangle","TableComponent","SvgDroplet","attributeIds","createDroplets","value","Array","from","_val","colRendererMap","engine_cleanliness","oxidation_nitration","performance_odi","sulfated_ash_percentage","decimals","toString","countDecimals","toFixed","wear_protection","colRenderer","colName","ProductsTableView","showLegend","orderBy","setOrderBy","clonedList","onColClick","orderData","ascending","sort","a","b","toUpperCase","legendSyntheticOil","legendNaturalGas","legendSuitableBioLandSewage","attributeLabelsMap","sae_grade","tbn","isOrdered","orderDirection","prod","categories","natural_gas_product","synthetic_oil_product","suitable_for_bio_landfill_sewage","product_url","product_page_link","cat","product_node_id","ProductsList","meshImg","Medium","Bottom","FooterLogos","IconWrapper","CopyrightWrapper","LinkSection","LinksUl","l","links","Footer","locationCopy","copyrightCopy","termsText","termsLink","privacyText","privacyLink","src","alt","Home","querySelectorAll","onclick","e","preventDefault","getElementById","scrollIntoView","behavior","block","visitHubCopy","ProductsTable","OutlinedVisitHub","SearchTypeSelector","manufacturerid","parseInt","oem","find","m","searchTypes","bc","Link","unstyled","Accordion","allowMultiple","expanded","accordionContent","EngineModelList","groupid","useGroup","group_types","t","StepLink","SpecificationGroup","EngineModelGroup","YesNo","onYes","onNo","CatalystFitted","Catalyst","Button","variation","ProductsHeading","buttonText","buttonLink","SvgEmail","SvgPrint","trim","Template","asset_path","headCSS","width","bgcolor","align","height","style","paddingBottom","color","lineHeight","padding","line","dangerouslySetInnerHTML","__html","textDecoration","textAlign","ButtonWithIconContent","icon","ellipsis","form","EmailForm","onSubmit","disabled","autoComplete","required","ResultsHeading","showEmailForm","setShowEmailForm","sendingEmail","setSendingEmail","notifications","setNotifications","subject","successfulEmail","emailBody","renderEmail","print","recipient","request","method","FromText","SendTo","SendCc","Subject","EmailBody","PdfBody","documentElement","innerHTML","PdfFilename","PublicKey","PdfOrientation","SvgPdf","ProductContentWrapper","ProductCard","product","leftAttributes","attr","rightAttributes","banner","backgroundImage","logo","approval_level","description","pop_pdf_link","performance_profile_pdf_link","RecommendedProductsListView","RecommendedProductsList","enginetypeid","gastype","catalyst","filteredData","catalyst_fitted","first","otherProducts","slice","moreRecosLabel","compareRecosLabel","marginTop","result","type_node_id","body","post","poster","Results","position","ResultsPageTracker","NotFound","img404","Disclaimer","GasTypeList","prod_rec_key","filteredList","acc","current","skip_gas_type","selectedItems","endPoint","GasType","useManufacturerBC","useEngineModelBC","engine_series","useSearchTypeBc","mId","gId","useGasTypeBC","Map","element","p","cookieProLoaded","setCookieProLoaded","cookieProReady","setCookieProReady","initializeGA","gaKey","replace","initialize","querySelector","scriptTag","createElement","async","head","appendChild","onload","inlineScript","textContent","waitForOneTrust","OneTrust","OnConsentChanged","setGAProperties","setTimeout","setAttribute","family_groups","toggleDisplay","getElementsByClassName","stopImmediatePropagation","ToggleInfoDisplay","reloadOTBanner","onLoad","routes","scrollTo","App","OnRoute","ReactDOM","render","StrictMode","defaultTheme"],"mappings":"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","file":"static/js/main.ba08e386.chunk.js","sourcesContent":["import React from 'react';\r\nimport { createGlobalStyle } from 'styled-components';\r\nimport 'normalize.css';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst CssBaseline = createGlobalStyle`\r\n html,\r\n body {\r\n padding: 0;\r\n margin: 0;\r\n font-size: 62.5%;\r\n height: 100%;\r\n }\r\n\r\n * {\r\n box-sizing: border-box;\r\n }\r\n\r\n ul {\r\n list-style: none;\r\n margin: 0;\r\n padding: 0;\r\n }\r\n\r\n`;\r\nconst BaseLine = ({ Typography }) => (\r\n <>\r\n \r\n \r\n \r\n);\r\n\r\nBaseLine.propTypes = {\r\n Typography: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nBaseLine.displayName = 'Baseline';\r\nexport default BaseLine;\r\n","import { createGlobalStyle, css } from \"styled-components\";\r\n\r\nconst palette = {\r\n white: \"#fff\",\r\n red: \"#d90117\",\r\n blue: {\r\n darker: \"#17457A\",\r\n dark: \"#004C9B\",\r\n medium: \"#0D67B3\",\r\n light: \"#00A3E0\",\r\n lighter: \"#EEF1F5\",\r\n lightest: \"#F3FBFE\",\r\n },\r\n grey: {\r\n darkest: \"#262626\",\r\n darker: \"#383838\",\r\n dark: \"#707070\",\r\n medium: \"#8D8C8C\",\r\n light: \"#e0e0e0\",\r\n ultraLight: \"#f0f0f0\",\r\n lightest: \"#f7f7f7\",\r\n },\r\n darker: \"rgba(0,0,0,0.1)\",\r\n};\r\n\r\nconst textSize = {\r\n mobileLarge: \"1.5rem\",\r\n mobileMedium: \"1.5rem\",\r\n mobileSmall: \"1.3rem\",\r\n desktopLarge: \"3rem\",\r\n desktopMedium: \"2rem\",\r\n desktopSmall: \"1.6rem\",\r\n};\r\n\r\nconst breakPoints = {\r\n small: 450,\r\n medium: 640,\r\n large: 1024,\r\n};\r\n\r\nconst theme = {\r\n resFontSize: {\r\n large: css`\r\n font-size: ${textSize.mobileLarge};\r\n @media screen and (min-width: ${breakPoints.medium}px) {\r\n font-size: ${textSize.desktopLarge};\r\n }\r\n `,\r\n\r\n medium: css`\r\n font-size: ${textSize.mobileMedium};\r\n @media screen and (min-width: ${breakPoints.medium}px) {\r\n font-size: ${textSize.desktopMedium};\r\n }\r\n `,\r\n\r\n small: css`\r\n font-size: ${textSize.mobileSmall};\r\n @media screen and (min-width: ${breakPoints.medium}px) {\r\n font-size: ${textSize.desktopSmall};\r\n }\r\n `,\r\n },\r\n fontSize: textSize,\r\n palette: {\r\n ...palette,\r\n primary: palette.blue.dark,\r\n secondary: palette.blue.light,\r\n accent: palette.red,\r\n background: {\r\n grey: palette.blue.lighter,\r\n azure: palette.blue.lightest,\r\n },\r\n outlineColor: `rgba(0, 76, 155, 0.3)`,\r\n },\r\n radius: {\r\n small: 9,\r\n large: 20,\r\n },\r\n spacer: 10,\r\n breakPoints,\r\n mediaQueries: {\r\n small: `@media screen and (min-width: ${breakPoints.small}px)`,\r\n medium: `@media screen and (min-width: ${breakPoints.medium}px)`,\r\n large: `@media screen and (min-width: ${breakPoints.large}px)`,\r\n },\r\n page: {\r\n maxWidth: 1200,\r\n screenColor: palette.grey.light,\r\n bgColor: palette.white,\r\n },\r\n shadow: \"0 2px 10px 3px rgba(0, 0, 0, 0.2)\",\r\n};\r\n\r\nexport default theme;\r\n\r\nexport const Typography = createGlobalStyle` \r\n @page{\r\n margin-top:50px;\r\n margin-bottom:50px;\r\n :first {\r\n margin-top:0px;\r\n }\r\n }\r\n html {\r\n scroll-behavior: smooth;\r\n }\r\n body {\r\n font-family: \"EMprint\", sans-serif;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n ${theme.resFontSize.small};\r\n background-color: ${theme.page.screenColor};\r\n line-height: 1.3;\r\n @media print {\r\n background-color: transparent; \r\n }\r\n }\r\n\r\n h1 {\r\n ${theme.resFontSize.large};\r\n font-weight: bold;\r\n margin: 0 0 .5em;\r\n }\r\n\r\n h2 {\r\n ${theme.resFontSize.medium};\r\n color:${theme.palette.primary};\r\n font-weight: bold;\r\n margin: 0 0 .5em;\r\n }\r\n\r\n h3 {\r\n ${theme.resFontSize.small};\r\n font-weight: normal;\r\n margin: 0 0 .5sem;\r\n }\r\n\r\n #root{\r\n height:1px;\r\n min-height: 100%;\r\n }\r\n\r\n input{\r\n border: none;\r\n padding:${theme.spacer}px ${theme.spacer * 2}px;\r\n font-size: inherit;\r\n }\r\n\r\n p{\r\n margin-top:0;\r\n }\r\n a{\r\n color:${palette.blue.dark};\r\n cursor:pointer;\r\n display: inline-block;\r\n text-decoration:none;\r\n outline: none;\r\n &:focus, &:hover{\r\n text-decoration:underline;\r\n }\r\n }\r\n button {\r\n border: none;\r\n padding: 0;\r\n cursor: pointer;\r\n outline: none;\r\n &:focus{\r\n box-shadow: 0 0 1px 2px ${theme.palette.outlineColor};\r\n }\r\n }\r\n\r\n .ellipsis {\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n\r\n @media print {\r\n button,\r\n .react-sanfona-item .labelWrapper{\r\n break-inside: avoid;\r\n display: block;\r\n }\r\n }\r\n`;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\nconst Wrapper = styled.div`\r\n @media print {\r\n min-height: 0px;\r\n }\r\n max-width: ${({ theme }) => theme.page.maxWidth}px;\r\n margin: auto;\r\n min-height: 100%;\r\n background-color: ${({ theme }) => theme.page.bgColor};\r\n box-shadow: rgba(0, 0, 0, 0.3) 0px 4px 16px 0px;\r\n overflow: hidden;\r\n`;\r\n\r\nconst OneCol = ({ className, children }) => {\r\n const classes = [\"OneCol\"];\r\n if (className) classes.push(className);\r\n\r\n return {children};\r\n};\r\n\r\nOneCol.displayName = \"OneCol\";\r\n\r\nOneCol.propTypes = {\r\n className: PropTypes.string,\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nOneCol.defaultProps = {\r\n className: null,\r\n};\r\n\r\nexport default OneCol;\r\n\r\nexport const Row = styled.div`\r\n margin-bottom: ${({ theme }) => theme.spacer * 3}px;\r\n background-color: ${({ bgColor, theme }) =>\r\n theme.palette.background[bgColor]};\r\n\r\n ${({ bgColor, theme }) =>\r\n bgColor &&\r\n css`\r\n border-top: 1px solid ${theme.palette.darker};\r\n border-bottom: 1px solid ${theme.palette.darker};\r\n `}\r\n\r\n ${({ fullWidth, theme, bgColor }) =>\r\n fullWidth\r\n ? css`\r\n padding: ${bgColor ? theme.spacer * 1.5 : 0}px 0;\r\n `\r\n : css`\r\n padding: ${bgColor ? theme.spacer * 3 : 0}px ${theme.spacer * 1.5}px;\r\n `}\r\n\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n margin-bottom: ${({ theme }) => theme.spacer * 4}px;\r\n ${({ fullWidth, theme, bgColor }) =>\r\n fullWidth\r\n ? css`\r\n padding: ${bgColor ? theme.spacer * 4 : 0}px 0;\r\n `\r\n : css`\r\n padding: ${bgColor ? theme.spacer * 4 : 0}px ${theme.spacer * 4}px;\r\n `}\r\n }\r\n`;\r\n","export default {\r\n \"en-gb\": {\r\n metaData: {\r\n title: \"Gas engine product selector | Mobil™\",\r\n desc: \"Find the right oil for your gas engine.\"\r\n },\r\n header: {\r\n businessLines: {\r\n text: `Business line`,\r\n link: \"https://corporate.exxonmobil.com/?query=https%3a%2f%2fdnet.mobil.com%2fen%2f#business-lines\"\r\n },\r\n globalBrands: {\r\n text: `Global brands`,\r\n link: \"https://corporate.exxonmobil.com/?query=https%3a%2f%2fdnet.mobil.com%2fen%2f#global-brands\"\r\n }\r\n },\r\n languages: {\r\n active: {\r\n text: 'UK - English',\r\n link: \"#\"\r\n },\r\n english: {\r\n text: 'UK - English',\r\n link: \"/en/\"\r\n },\r\n german: {\r\n text: 'Deutschland - Deutsch',\r\n link: \"/de/\"\r\n },\r\n turkish: {\r\n text: 'Türkiye - Türk',\r\n link: \"/tr/\"\r\n },\r\n italian: {\r\n text: 'Italia - Italiano',\r\n link: \"/it/\"\r\n },\r\n french: {\r\n text: 'France - Francais',\r\n link: \"/fr/\"\r\n },\r\n polish: {\r\n text: 'Polska - Polski',\r\n link: \"/pl/\"\r\n }\r\n },\r\n email: {\r\n title: \"Your Mobil™ product recommendation is attached\",\r\n salutation: \"Hello\",\r\n placeholder: \"Email*\",\r\n sending: \"Sending...\",\r\n message:\r\n \"Thanks for visiting the Mobil gas engine oils webpage. Please find attached your requested Mobil™ product recommendation.​\\n\\nIn case you have technical questions or want to know where you can buy the recommended gas engine oils, please contact us.\\n\\nKind regards,\\n\\nThe Mobil team\",\r\n pdfFileName: \"Product-recommendation.pdf\",\r\n sendButton: \"Send\",\r\n successfulEmailMessage: \"Email has been sent. If you can not locate it in your inbox please check your spam or junk mail folder.\",\r\n privacyPolicy: \"Privacy policy\",\r\n termsAndConditions: \"Terms and conditions\",\r\n },\r\n breadcrumbs: {\r\n yourSelection: \"Your selection: \"\r\n },\r\n cookies: {\r\n consentCopy:\r\n \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\",\r\n acceptButton: \"Accept cookies\",\r\n rejectButton: \"No thanks\",\r\n },\r\n common: {\r\n compareRecos: \"Compare recommended products\",\r\n moreRecos: \"More recommendations\",\r\n productSelector: \"Mobil product selector for your gas engine\",\r\n endOfpageNotes: `Can’t find your gas engine model or specification? [Tell us](https://www.global.mobil.com/en/contact-us). \r\n\r\nAt the same time, we recommend that you refer to the product recommendations according to the specifications provided by the manufacturer to ensure that the products are suitable for your gas engine.\r\n\r\nAs the company continues to research and improve products, the product information posted may be updated at any time without notice. Standard performance may vary slightly. \r\n\r\nNot all products are available to all markets and may be only applicable to selected countries. [Contact our technical help desk](https://www.global.mobil.com/en/contact-us) for tailored solutions to your gas engine requirements and location. \r\n\r\n[Disclaimer](#/disclaimer)`,\r\n },\r\n copyright: {\r\n text: \"© Copyright 2021 Exxon Mobil Corporation. All rights reserved.\"\r\n },\r\n button: {\r\n moreHelp: `**Need more help locating your gas engine or recommendation?** \r\nContact our technical help desk for more support.`,\r\n moreHelpUrl: `https://www.global.mobil.com/en/contact-us`,\r\n visitHub: `**Visit the Mobil gas engine page for the latest industry insights, trends, products and service information.**`,\r\n visitHubUrl: `https://www.mobil.eu/en-gb/lubricants/applications/gas-engines`,\r\n MSLA: `**Discover the benefits of Mobil services for gas engines.**`,\r\n MSLAUrl: `https://www.mobil.eu/en-gb/lubricants/applications/gas-engines`,\r\n moreTechInfo: `**Do you need more technical or commercial information, contact our experienced team today.**`,\r\n moreTechInfoUrl: `https://www.global.mobil.com/en/contact-us`,\r\n viewProductDetails: \"View full product details\",\r\n downloadPerformanceProfile: \"Download performance profile PDF\",\r\n downloadSuccessStories: \"Download success stories PDF\",\r\n alt_downloadPerformanceProfile: \"Performance profile\",\r\n alt_downloadSuccessStories: \"Success stories\",\r\n yes: \"Yes\",\r\n no: \"No\",\r\n },\r\n disclaimer: {\r\n heading: `Disclaimer`,\r\n text1: `Due to continuous product research, technology updates and regulatory requirements, the information displayed on this website is subject to change without notifications. Although every effort has been made to ensure all information is accurate, ExxonMobil and/or its affiliates will not be held responsible for the loss or damages caused by errors, omissions, misprints or misinterpretation of the contents displayed on this application. The information displayed may not be copied, reproduced or disclosed in any manner whatsoever by the recipient without prior written consent from ExxonMobil.`,\r\n text2: `The technical information and recommendations are offered for buyers, its users, and customer’s considerations, investigations and verification and relate only to the named product or materials when not in combination with any other product or material. The user is solely responsible for all determinations and check regarding any use of material or product and any process. The information and recommendations are always subject to and does not prevail over, any recommendation from a motor/equipment/machinery builder. ExxonMobil Lubricants expressly disclaims any and all liability of direct, indirect or consequential nature for any loss, damage, or injury suffered or incurred, directly and indirectly, as to any results obtained or arising from any use of the product or material in reliance on this technical information and recommendations for such use.`,\r\n },\r\n productTable: {\r\n includesNaturalGas: \"Suitable products for natural gas engines\",\r\n syntheticOil: \"Synthetic oil\",\r\n suitableBioLandSewage: \"Suitable products for biogas, landfill and sewage gas engines\",\r\n productName: \"Product name\",\r\n sulphatedAsh: \"Sulphated ash %\",\r\n totalBaseNumber: \"Total base number\",\r\n saeGrade: \"SAE grade\",\r\n oilDrainInterval: \"Oil drain interval\",\r\n wearProtection: \"Wear protection\",\r\n oxidationResistance: \"Oxidation / nitration resistance\",\r\n engineCleanliness: \"Engine cleanliness / deposit control\",\r\n },\r\n searchTypeSelectorPage: {\r\n name: \"Search type\",\r\n progressHeading: \"Choose which you'd like to search by\",\r\n },\r\n searchTypeSelector: {\r\n engineType: \"Engine type\",\r\n specification: \"Specification\",\r\n },\r\n specificationGroupPage: {\r\n name: \"Specification\",\r\n progressHeading: \"Choose specification\",\r\n },\r\n engineModelGroupPage: {\r\n name: \"Engine model\",\r\n progressHeading: \"Choose gas engine model\",\r\n },\r\n gasTypePage: {\r\n progressHeading: \"What gas type is your engine?\",\r\n name: \"Gas type\",\r\n },\r\n catalystPage: {\r\n progressHeading: \"Does your engine have a Selective Catalytic Reduction (SCR) system fitted?\",\r\n name: \"Catalyst\",\r\n },\r\n resultsPage: {\r\n progressHeading: \"Results\",\r\n name: \"Recommended products\",\r\n heading: \"We recommend the following products:\",\r\n buyButtonText: \"Where to buy\",\r\n buyButtonLink: \"https://www.global.mobil.com/en/lubricants-distributors\",\r\n newSearchText: \"New search\",\r\n approvalType: \"Approval Type\",\r\n },\r\n homePage: {\r\n progressHeading: \"Choose your gas engine brand​\",\r\n intro: ({ anchor }) => `Find the right oil for your gas engine. \r\nSelect your gas engine brand from the list below and we will provide the right recommendation for your gas engine.\r\n\r\nView [product table](${anchor}) below for our full product offer and comparison list.\r\n `,\r\n productComparisonListTitle: `Full product comparison list`,\r\n productComparisonListBody: `

View table below to review and compare the Mobil Pegasusâ„¢ lubricants properties.

Tips:

`,\r\n },\r\n footer: {\r\n energyLivesHere: \"Energy lives here™\",\r\n selectLocation: \"Select location\",\r\n privacyPolicy: { text: \"Privacy Policy\", url: \"http://corporate.exxonmobil.com/en/global-legal-pages/privacy-policy\" },\r\n termsAndConditions: { text: \"Terms & Conditions\", url: \"http://corporate.exxonmobil.com/en/global-legal-pages/terms-and-conditions\" }\r\n },\r\n },\r\n \"tr-tr\": {\r\n metaData: {\r\n title: \"Gaz motoru ürün seçme aracı | Mobil™\",\r\n desc: \"Gaz motorunuz için doğru yağı bulun.\"\r\n },\r\n header: {\r\n businessLines: {\r\n text: `İş kolu`,\r\n link: \"https://corporate.exxonmobil.com/About-us/Business-divisions\"\r\n },\r\n globalBrands: {\r\n text: `Global markalar`,\r\n link: \"https://corporate.exxonmobil.com/About-us/Brands\"\r\n },\r\n },\r\n languages: {\r\n active: {\r\n text: 'Türkiye - Türk',\r\n link: \"#\"\r\n },\r\n english: {\r\n text: 'UK - English',\r\n link: \"/en/\"\r\n },\r\n german: {\r\n text: 'Deutschland - Deutsch',\r\n link: \"/de/\"\r\n },\r\n turkish: {\r\n text: 'Türkiye - Türk',\r\n link: \"/tr/\"\r\n },\r\n italian: {\r\n text: 'Italia - Italiano',\r\n link: \"/it/\"\r\n },\r\n french: {\r\n text: 'France - Francais',\r\n link: \"/fr/\"\r\n },\r\n polish: {\r\n text: 'Polska - Polski',\r\n link: \"/pl/\"\r\n }\r\n },\r\n email: {\r\n title: \"Mobil™ ürün tavsiyeniz ektedir\",\r\n salutation: \"Merhaba\",\r\n placeholder: \"E-posta*\",\r\n sending: \"Gönderiliyor...\",\r\n message:\r\n \"Mobil gaz motoru yağları web sayfasını ziyaret ettiğiniz için teşekkür ederiz.Talep ettiğiniz Mobil™ ürün tavsiyenizi ekte bulabilirsiniz.​\\n\\nTeknik sorularınız varsa veya tavsiye edilen gaz motoru yağlarını nereden alabileceğinizi öğrenmek istiyorsanız, lütfen bizimle iletişime geçin.\\n\\nSaygılarımızla,\\n\\nMobil ekibi\",\r\n pdfFileName: \"Ürün-tavsiyesi.pdf\",\r\n sendButton: \"Gönder\",\r\n successfulEmailMessage: \"E-posta gönderildi. Gelen kutunuzda e-postayı bulamıyorsanız, lütfen istenmeyen e-posta klasörünüzü kontrol edin.\",\r\n privacyPolicy: \"Gizlilik politikası\",\r\n termsAndConditions: \"Hükümler ve koşullar\",\r\n },\r\n breadcrumbs: {\r\n yourSelection: \"Seçiminiz: \"\r\n },\r\n cookies: {\r\n consentCopy:\r\n \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\",\r\n acceptButton: \"Accept cookies\",\r\n rejectButton: \"No thanks\",\r\n },\r\n common: {\r\n compareRecos: \"Önerilen ürünleri karşılaştırın\",\r\n moreRecos: \"Daha fazla tavsiye\",\r\n productSelector: \"Gaz motorunuz için Mobil ürün seçme aracı\",\r\n endOfpageNotes: `Gaz motoru modelinizi veya teknik özelliklerini bulamıyor musunuz? Bize ulaşın. (https://www.mobiloil.com.tr/tr-tr/contact-us). \r\n\r\nAynı zamanda, ürünlerin gaz motorunuz için uygun olduğundan emin olmak için, üretici tarafından sağlanan şartnamelere göre ürün tavsiyelerini gözden geçirmenizi öneririz.\r\n\r\nFirma, ürünleri araştırmaya ve iyileştirmeye devam ettikçe, yayınlanan ürün bilgileri herhangi bir zamanda haber verilmeden güncellenebilir. Standart performans biraz değişebilir. \r\n\r\nTüm ürünler tüm pazarlar için mevcut değildir ve yalnızca belirli ülkelerde geçerli olabilir. Gaz motoru gereksinimlerinize ve konumunuza uygun çözümler için teknik destek masamız ile iletişime geçin. \r\n[Yasal Uyarı](#/disclaimer)`,\r\n },\r\n copyright: {\r\n text: \"© Copyright 2021 Exxon Mobil Corporation Tüm hakları saklıdır.\"\r\n },\r\n button: {\r\n moreHelp: `**Gaz motorunuzu veya tavsiye edilen ürünü bulmak için daha fazla yardıma mı ihtiyacınız var?** \r\nDaha fazla destek için teknik destek masamızla iletişime geçin.`,\r\n moreHelpUrl: `https://www.mobiloil.com.tr/tr-tr/contact-us`,\r\n visitHub: `null`,\r\n visitHubUrl: `https://www.global.mobil.com/en/gas-engine-hub`,\r\n MSLA: `**Gaz motorları için Mobil ℠ hizmetlerinin avantajlarını keşfedin.**`,\r\n MSLAUrl: `https://www.mobiloil.com.tr/tr-tr/mobil-serv`,\r\n moreTechInfo: `**Daha fazla teknik veya ticari bilgiye ihtiyacınız mı var? Hemen deneyimli ekibimizle iletişime geçin.**`,\r\n moreTechInfoUrl: `https://www.mobiloil.com.tr/tr-tr/contact-us`,\r\n viewProductDetails: \"Ürün bilgilerinin tamamını görüntüleyin\",\r\n downloadPerformanceProfile: \"Performans profili PDF dosyasını indirin\",\r\n downloadSuccessStories: \"Başarı hikayeleri PDF dosyasını indirin\",\r\n alt_downloadPerformanceProfile: \"Performans profili\",\r\n alt_downloadSuccessStories: \"Başarı hikayeleri\",\r\n yes: \"Evet\",\r\n no: \"Hayır\",\r\n },\r\n disclaimer: {\r\n heading: `Yasal Uyarı`,\r\n text1: `Bu web sitesinde gösterilen bilgiler, ürün konusunda sürekli devam eden araştırmalar, teknolojik güncellemeler ve yasal düzenlemelerin gereksinimleri nedeniyle önceden bildirim yapılmadan değiştirilebilir. Bilgilerin tamamının doğru olduğundan emin olmak için her tür çaba gösterilmiş olmasına rağmen, ExxonMobil (Mobil Oil Türk A.Ş.) ve/veya bağlı kuruluşları, bu uygulamada gösterilen içerikle ilgili hatalar, eksikler, yazım yanlışları veya yanlışanlamalardan kaynaklanan kayıp veya zararlardan sorumlu tutulamaz. Görüntülenen bilgiler, ExxonMobil(Mobil Oil Türk A.Ş.) 'in önceden yazılı izni olmadan alıcı tarafından hiçbir şekilde kopyalanamaz, çoğaltılamaz veya ifşa edilemez.`,\r\n text2: `Teknik bilgiler ve tavsiyeler alıcılara, kullanıcılarına ve müşterilere değerlendirme, araştırma ve doğrulama amacıyla sunulur ve başka bir ürün veya malzeme ilebirlikte kullanılmadığında, sadece adı geçen ürün veya malzemelerle ilgilidir. Kullanıcı, herhangi bir malzeme veya ürünün kullanımı ve herhangi bir süreçle ilgili tüm saptamalardan ve kontrollerden tek başına sorumludur. Bilgiler ve tavsiyeler, her zamanbir motor/ekipman/makine üreticisinin tavsiyesine tabidir ve bu tavsiyelere aykırı olamaz. ExxonMobil Madeni Yağları (Mobil Oil Türk A.Ş.), ürün veya malzemenin, bu teknik bilgi veya tavsiyelere göre bu tür bir kullanımından ortaya çıkan veya doğan sonuçlarla alakalı, doğrudan, dolaylı veya sonuca bağlı olarak oluşan herhangi bir kayıp, zarar ve uğranılan veya maruz kalınan hasardan veya yaralanmadan doğabilecek her türlü ve tüm sorumluluğu kesinlikle reddeder.`,\r\n },\r\n productTable: {\r\n includesNaturalGas: \"Doğal gaz motorları için uygun ürünler\",\r\n syntheticOil: \"Sentetik yağ\",\r\n suitableBioLandSewage: \"Biyogaz, çöp gazı ve kanalizasyon gazı motorları için uygun ürünler\",\r\n productName: \"Ürün adı\",\r\n sulphatedAsh: \"Sülfatlanmış kül %\",\r\n totalBaseNumber: \"Toplam baz sayısı (TBN)\",\r\n saeGrade: \"SAE sınıfı\",\r\n oilDrainInterval: \"Yağ değişim aralığı\",\r\n wearProtection: \"Aşınmaya karşı koruma\",\r\n oxidationResistance: \"Oksidasyon/nitratlaşma direnci\",\r\n engineCleanliness: \"Motor temizliği/birikinti kontrolü \",\r\n },\r\n searchTypeSelectorPage: {\r\n name: \"Search type\",\r\n progressHeading: \"Choose which you'd like to search by\",\r\n },\r\n searchTypeSelector: {\r\n engineType: \"Arama türü\",\r\n specification: \"Şartname\",\r\n },\r\n specificationGroupPage: {\r\n name: \"Şartname\",\r\n progressHeading: \"Şartname seçin\",\r\n },\r\n engineModelGroupPage: {\r\n name: \"Motor modeli\",\r\n progressHeading: \"Gaz motoru modelini seçin\",\r\n },\r\n gasTypePage: {\r\n progressHeading: \"Motorunuz hangi gaz türü için üretilmiştir?\",\r\n name: \"Gaz türü\",\r\n },\r\n catalystPage: {\r\n progressHeading: \"Motorunuzda SCR (Selective Catalytic Reduction) / seçici katalitik indirgeme sistemi mevcut mu?​\",\r\n name: \"Katalizör\",\r\n },\r\n resultsPage: {\r\n progressHeading: \"Sonuçlar\",\r\n name: \"Tavsiye edilen ürünler\",\r\n heading: \"Aşağıdaki ürünleri öneririz\",\r\n buyButtonText: \"Nereden satın alabilirim?\",\r\n buyButtonLink: \"https://www.mobiloil.com.tr/tr-tr/where-to-buy\",\r\n newSearchText: \"Yeni arama\",\r\n approvalType: \"Onay Türü\",\r\n },\r\n homePage: {\r\n progressHeading: \"Gaz motoru markanızı seçin​\",\r\n intro: ({ anchor }) => `Gaz motorunuz için doğru yağı bulun. \r\nAşağıdaki listeden gaz motoru markanızı seçin, gaz motorunuz için doğru tavsiyeyi biz sağlayalım.\r\n\r\nÜrün portföyümüzün tamamı ve karşılaştırma listemiz için aşağıda [ürün tablosu](${anchor}) öğesini görüntüleyin.\r\n `,\r\n productComparisonListTitle: `Tam ürün karşılaştırma listesi`,\r\n productComparisonListBody: `

Mobil Pegasus™ yağlarının özelliklerini incelemek ve karşılaştırmak için aşağıdaki tabloyu inceleyin.

İpuçları:

`,\r\n },\r\n footer: {\r\n energyLivesHere: \"Energy lives here™\",\r\n selectLocation: \"Konum seçin\",\r\n privacyPolicy: { text: \"Gizilik Politikasi​\", url: \"https://corporate.exxonmobil.com/global-legal-pages/privacy-policy_turkey-turkish\" },\r\n termsAndConditions: { text: \"Kosullar ve Sartlar\", url: \"https://corporate.exxonmobil.com/global-legal-pages/terms-and-conditions_turkey-turkish\" }\r\n },\r\n },\r\n \"it-it\": {\r\n metaData: {\r\n title: \"Selettore dei prodotti per motori a gas | Mobil™\",\r\n desc: \"Trova l’olio ideale per il tuo motore a gas.\"\r\n },\r\n header: {\r\n businessLines: {\r\n text: `Linea di business`,\r\n link: \"https://corporate.exxonmobil.com/About-us/Business-divisions\"\r\n },\r\n globalBrands: {\r\n text: `Marchi globali`,\r\n link: \"https://corporate.exxonmobil.com/About-us/Brands\"\r\n }\r\n },\r\n languages: {\r\n active: {\r\n text: 'Italia - Italiano',\r\n link: \"#\"\r\n },\r\n english: {\r\n text: 'UK - English',\r\n link: \"/en/\"\r\n },\r\n german: {\r\n text: 'Deutschland - Deutsch',\r\n link: \"/de/\"\r\n },\r\n turkish: {\r\n text: 'Türkiye - Türk',\r\n link: \"/tr/\"\r\n },\r\n italian: {\r\n text: 'Italia - Italiano',\r\n link: \"/it/\"\r\n },\r\n french: {\r\n text: 'France - Francais',\r\n link: \"/fr/\"\r\n },\r\n polish: {\r\n text: 'Polska - Polski',\r\n link: \"/pl/\"\r\n }\r\n },\r\n\r\n email: {\r\n title: \"In allegato, alcuni consigli sui prodotti Mobil™\",\r\n salutation: \"Buongiorno\",\r\n placeholder: \"E-mail*\",\r\n sending: \"Invio...\",\r\n message:\r\n \"Grazie per aver visitato la pagina web dedicata agli oli Mobil per motori a gas. In allegato troverai i consigli sui prodotti Mobil™ che hai richiesto.\\n\\nPer domande tecniche o per informazioni su dove acquistare gli oli per motori a gas consigliati, contattaci.\\n\\nCordiali saluti, \\n\\nIl team Mobil\",\r\n pdfFileName: \"Product-recommendation.pdf\",\r\n sendButton: \"Invia\",\r\n successfulEmailMessage: \"L’e-mail è stata inviata. Se non la trovi nella casella di posta in arrivo, controlla nello spam o nella posta indesiderata.\",\r\n privacyPolicy: \"Informativa sulla privacy\",\r\n termsAndConditions: \"Termini e condizioni\",\r\n },\r\n breadcrumbs: {\r\n yourSelection: \"La tua selezione:\"\r\n },\r\n cookies: {\r\n consentCopy:\r\n 'orem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\",',\r\n acceptButton: \"Accept cookies\",\r\n rejectButton: \"No thanks\",\r\n },\r\n common: {\r\n compareRecos: \"Confronto tra i prodotti consigliati\",\r\n moreRecos: \"Altri consigli\",\r\n productSelector: \"Selettore dei prodotti Mobil per motori a gas\",\r\n endOfpageNotes: `Non trovi il modello o le specifiche del tuo motore a gas? Contattaci(https://www.mobil.it/it-it/contact-us). \r\n\r\nTi invitiamo anche a consultare i consigli relativi ai prodotti in base alle specifiche fornite dal produttore per verificare che siano adatti al motore a gas in uso.\r\nAs the company continues to research and improve products, the product information posted may be updated at any time without notice. Standard performance may vary slightly. \r\n\r\nNI prodotti non sono disponibili su tutti i mercati e potrebbero riguardare solo determinati Paesi. Contatta la nostra assistenza tecnica per soluzioni personalizzate in base ai requisiti e all’ubicazione del tuo motore a gas. \r\n\r\n\r\n[Esclusione di responsabilità](#/disclaimer)`,\r\n },\r\n copyright: {\r\n text: \"© Copyright 2021 Exxon Mobil Corporation. Tutti i diritti riservati. \"\r\n },\r\n button: {\r\n moreHelp: `**Hai bisogno di ulteriore aiuto per individuare il tuo motore a gas o di altri consigli?** \r\nPer maggiori informazioni, contatta la nostra assistenza tecnica.`,\r\n moreHelpUrl: `https://www.mobil.it/it-it/contact-us`,\r\n visitHub: `null`,\r\n visitHubUrl: `https://www.global.mobil.com/en/gas-engine-hub`,\r\n MSLA: `**Scopri i vantaggi dei servizi Mobil℠ servizi per i motori a gas.**`,\r\n MSLAUrl: `https://www.mobil.it/it-it/mobil-serv`,\r\n moreTechInfo: `**Vorresti ulteriori informazioni tecniche o commerciali? Contatta subito il nostro team di esperti**`,\r\n moreTechInfoUrl: `https://www.mobil.it/it-it/contact-us`,\r\n viewProductDetails: \"Visualizza tutti i dettagli del prodotto \",\r\n downloadPerformanceProfile: \"Scarica il profilo delle prestazioni in PDF\",\r\n downloadSuccessStories: \"Scarica le storie di successo in PDF\",\r\n alt_downloadPerformanceProfile: \"Profilo delle prestazioni \",\r\n alt_downloadSuccessStories: \"Storie di successo\",\r\n yes: \"Si\",\r\n no: \"No\",\r\n },\r\n disclaimer: {\r\n heading: `Esclusione di responsabilità`,\r\n text1: `Come conseguenza della continua attività di ricerca sui prodotti, degli aggiornamenti tecnologici e dei requisiti normativi, le informazioni riportate in questo sito web sono soggette a modifiche senza preavviso. Pur facendo il possibile per garantire l’accuratezza di tutte le informazioni, ExxonMobil e/o le sue affiliate declinano ogni responsabilità in relazione a eventuali perdite o danni derivanti da errori, omissioni, errori di stampa o errata interpretazione dei contenuti visualizzati su questa applicazione. Le informazioni visualizzate non possono essere copiate, riprodotte né divulgate in alcun modo dal destinatario se non con il previo consenso scritto di ExxonMobil.`,\r\n text2: `Le informazioni tecniche e i consigli sono offerti agli acquirenti, agli utenti e ai clienti affinché vengano da questi valutati, esaminati e verificati; si riferiscono solo al prodotto o ai materiali indicati escludendo qualsiasi combinazione con altri prodotti o materiali. L’utente è il solo responsabile di qualsiasi decisione e verifica in relazione all’utilizzo del materiale o del prodotto e a qualsiasi procedura svolta. Le informazioni e i consigli sono sempre subordinati ai consigli dei costruttori di motori/attrezzature/macchinari e non prevalgono su questi ultimi. ExxonMobil Lubricants declina espressamente qualsiasi responsabilità diretta, indiretta o consequenziale in relazione a eventuali perdite, danni o lesioni subite o sostenute, direttamente o indirettamente, in merito a qualsiasi risultato ottenuto o derivante da qualsiasi utilizzo di prodotti o materiali in base alle informazioni tecniche e ai consigli per l’uso qui riportati.`,\r\n },\r\n productTable: {\r\n includesNaturalGas: \"Prodotti idonei per motori a gas naturale\",\r\n syntheticOil: \"Olio sintetico \",\r\n suitableBioLandSewage: \"Prodotti idonei per motori a biogas, a gas di discarica e gas da liquami \",\r\n productName: \"Nome prodotto\",\r\n sulphatedAsh: \"Ceneri solfatate %\",\r\n totalBaseNumber: \"Indice di alcalinità\",\r\n saeGrade: \"Grado SAE\",\r\n oilDrainInterval: \"Intervallo di sostituzione dell’olio \",\r\n wearProtection: \"Protezione contro l’usura\",\r\n oxidationResistance: \"Resistenza all’ossidazione e alla nitrazione\",\r\n engineCleanliness: \"Pulizia del motore e controllo dei depositi\",\r\n },\r\n searchTypeSelectorPage: {\r\n name: \"Tipo di ricerca \",\r\n progressHeading: \"Scegli il criterio di ricerca \",\r\n },\r\n searchTypeSelector: {\r\n engineType: \"Tipo di motore \",\r\n specification: \"Specifica \",\r\n },\r\n specificationGroupPage: {\r\n name: \"Specification\",\r\n progressHeading: \"Scegli la specifica\",\r\n },\r\n engineModelGroupPage: {\r\n name: \"Modello di motore\",\r\n progressHeading: \"Scegli il modello di motore a gas\",\r\n },\r\n gasTypePage: {\r\n progressHeading: \"Che tipo di gas utilizza il tuo motore?\",\r\n name: \"Tipo di gas\",\r\n },\r\n catalystPage: {\r\n progressHeading: \"Il vostro motore è dotato di un sistema di riduzione selettiva catalitica (SCR)?​\",\r\n name: \"Catalizzatore\",\r\n },\r\n resultsPage: {\r\n progressHeading: \"Risultati\",\r\n name: \"Prodotti consigliati\",\r\n heading: \"Consigliamo i seguenti prodotti\",\r\n buyButtonText: \"Dove acquistare\",\r\n buyButtonLink: \"https://www.mobil.it/it-it/distributor-locator\",\r\n newSearchText: \"Nuova ricerca\",\r\n approvalType: \"Tipo di approvazione\",\r\n },\r\n homePage: {\r\n progressHeading: \"Scegli il marchio del tuo motore a gas​\",\r\n intro: ({ anchor }) => `Trova l’olio ideale per il tuo motore a gas. \r\nSeleziona la marca del tuo motore a gas nell’elenco: ti forniremo consigli specifici per il tuo motore. \r\nOsserva la [tabella dei prodotti](${anchor}) qui di seguito per l’offerta completa dei prodotti e per il confronto.\r\n `,\r\n productComparisonListTitle: `Elenco completo dei prodotti per il confronto`,\r\n productComparisonListBody: `

Osserva la tabella qui sotto per esaminare e confrontare le proprietà dei lubrificanti Mobil Pegasus™

Suggerimenti:

`,\r\n },\r\n footer: {\r\n energyLivesHere: \"Energy lives here™\",\r\n selectLocation: \"Seleziona la località\",\r\n privacyPolicy: { text: \"Privacy Statement​\", url: \"https://www.exxonmobil.it/it-it/Legal/Privacy-Statement\" },\r\n termsAndConditions: { text: \"Note Legali\", url: \"https://corporate.exxonmobil.com/Global-legal-pages/terms-and-conditions\" }\r\n },\r\n },\r\n \"de-de\": {\r\n metaData: {\r\n title: \"Produkt-Wegweiser für Gasmotoren | Mobil™\",\r\n desc: \"Finden Sie das richtige Motorenöl für Ihren Gasmotor.\"\r\n },\r\n header: {\r\n businessLines: {\r\n text: `Geschäftsbereich`,\r\n link: \"https://corporate.exxonmobil.com/About-us/Business-divisions\"\r\n },\r\n globalBrands: {\r\n text: `Globale Marken`,\r\n link: \"https://corporate.exxonmobil.com/About-us/Brands\"\r\n },\r\n },\r\n languages: {\r\n active: {\r\n text: 'Deutschland - Deutsch',\r\n link: \"#\"\r\n },\r\n english: {\r\n text: 'UK - English',\r\n link: \"/en/\"\r\n },\r\n german: {\r\n text: 'Deutschland - Deutsch',\r\n link: \"/de/\"\r\n },\r\n turkish: {\r\n text: 'Türkiye - Türk',\r\n link: \"/tr/\"\r\n },\r\n italian: {\r\n text: 'Italia - Italiano',\r\n link: \"/it/\"\r\n },\r\n french: {\r\n text: 'France - Francais',\r\n link: \"/fr/\"\r\n },\r\n polish: {\r\n text: 'Polska - Polski',\r\n link: \"/pl/\"\r\n }\r\n },\r\n email: {\r\n title: \"Im Anhang: Ihre Mobil™ Schmierstoffempfehlung\",\r\n salutation: \"Hallo\",\r\n placeholder: \"E-Mail-Adresse*\",\r\n sending: \"Wird gesendet...\",\r\n message:\r\n \"vielen Dank, dass Sie die Mobil Website für Gasmotorenöle besuchen. Im Anhang finden Sie die von Ihnen angeforderte Mobil™ Schmierstoffempfehlung.\\n\\nBei technischen Fragen oder wenn Sie wissen wollen, wo Sie die empfohlenen Gasmotorenöle erwerben können, kontaktieren Sie uns bitte.\\n\\nMit freundlichen Grüßen\\n\\nDas Mobil Team\",\r\n pdfFileName: \"Product-recommendation.pdf\",\r\n sendButton: \"Senden\",\r\n successfulEmailMessage: \"E-Mail wurde gesendet. Falls sie nicht in Ihrem Posteingang eingeht, kontrollieren Sie bitte Ihren Spam-oder Junk-Mail-Ordner.\",\r\n privacyPolicy: \"Privacy policy\",\r\n termsAndConditions: \"Terms and conditions\",\r\n },\r\n breadcrumbs: {\r\n yourSelection: \"Ihre Auswahl: \"\r\n },\r\n cookies: {\r\n consentCopy:\r\n \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\",\r\n acceptButton: \"Accept cookies\",\r\n rejectButton: \"No thanks\",\r\n },\r\n common: {\r\n compareRecos: \"Empfohlene Gasmotorenölevergleichen\",\r\n moreRecos: \"Weitere Empfehlungen\",\r\n productSelector: \"Mobil Produkt-Wegweiser für Ihren Gasmotorenöle\",\r\n endOfpageNotes: `Sie können das Modell oder die Schmierstoffspezifikation Ihres Gasmotors nicht finden? [Sprechen Sie mit uns](https://www.mobil.com.de/de-de/industrial/contact-us). \r\n\r\nGleichzeitig können Sie anhand der Herrstellerempfehlungen vergleichen, ob die Schmierstoffe für Ihren Gasmotor geeignet sind.\r\n\r\nDurch die kontinuierliche Forschung und Verbesserung der Gasmotorenöle können die bereitgestellten Informationen jederzeit und ohne Vorankündigung durch uns aktualisiert werden, wobei standardmäßig erreichte Leistungsergebnisse sich geringfügig unterscheiden können.\r\nNicht alle Gasmotorenöle werden auf allen Märkten angeboten, sondern treffen ggf. nur auf bestimmte Länder zu. Wenden Sie sich an unseren technischen Support, um maßgeschneiderte Lösungen für Ihren Gasmotor passend zu Ihrem Standort zu erhalten. \r\n\r\n[Haftungsausschluss](#/disclaimer)`,\r\n },\r\n copyright: {\r\n text: \"© Copyright 2021 Exxon Mobil Corporation. Alle Rechte vorbehalten.\"\r\n },\r\n button: {\r\n moreHelp: `**Sie benötigen weitere Hilfe rund um Ihren Gasmotor oder eine Empfehlung?** \r\nKontaktieren Sie unseren Technischen Support, um weitere Unterstützung zu erhalten.`,\r\n moreHelpUrl: `https://www.mobil.com.de/de-de/industrial/contact-us`,\r\n visitHub: `**Im Mobil Treffpunkt für Gasmotorenöle finden Sie neueste Branchenerkenntnisse, Trends sowie Schmierstoff-und Serviceinformationen.**`,\r\n visitHubUrl: `https://www.mobil.com.de/de-de/industrial/lubricants/applications/gas-engines`,\r\n MSLA: `**Erfahren Sie mehr über die Vorteile der Mobil℠ services für Gasmotoren.**`,\r\n MSLAUrl: `https://www.mobil.com.de/de-de/industrial/lubricant-expertise/categories/mobil-serv`,\r\n moreTechInfo: `**Unser erfahrenes Team steht Ihnen bei technischen Fragen und Informationen zu Produktivitätssteigerungen gerne zur Verfügung. Kontaktieren Sie uns noch heute.**`,\r\n moreTechInfoUrl: `https://www.mobil.com.de/de-de/industrial/contact-us`,\r\n viewProductDetails: \"Vollständige Schmierstoffdetailsaufrufen\",\r\n downloadPerformanceProfile: \"Performance Profil alsPDF herunterladen\",\r\n downloadSuccessStories: \"Erfolgsgeschichten als PDF herunterladen\",\r\n alt_downloadPerformanceProfile: \"Performance Profil\",\r\n alt_downloadSuccessStories: \"Erfolgsgeschichten\",\r\n yes: \"Ja\",\r\n no: \"Nein\",\r\n },\r\n disclaimer: {\r\n heading: `Haftungsausschluss`,\r\n text1: `Aufgrund kontinuierlicher Schmierstoffforschung,Technologieaktualisierungen und gesetzlichen Anforderungen sind Änderungen an den auf dieser Website angezeigten Informationen vorbehalten. Obwohl die Genauigkeit aller Informationen sorgfältig überprüft wurde, können ExxonMobil und/oder verbundene Unternehmen nicht für Verluste oder Schäden haftbar gemacht werden, die durch Fehler, Auslassungen, Fehldrucke oder Missdeutung der in dieser Anwendung angezeigten Inhalte verursacht werden. Die angezeigten Informationen dürfen vom Empfänger in keiner Weise kopiert, reproduziert oder veröffentlicht werden, wenn dafür keine schriftliche Genehmigung von ExxonMobil vorliegt.`,\r\n text2: `Die technischen Informationen und Empfehlungen werdenfür Käufer, deren Anwender und als Entscheidungshilfe für Kunden, für Untersuchungen und Überprüfungen angeboten. Sie beziehen sich ausschließlich auf das angegebene Produkt oder Material, wenn sie nicht mit einem anderen Produkt oder Material kombiniert werden. Allein der Anwender ist für alle Bestimmungen und Prüfungen hinsichtlich des Einsatzes eines Materials oder Produkts und jeglicher Prozesse verantwortlich. Die Informationen und Empfehlungen unterliegen den Empfehlungen des Motor-/Anlagen/Maschinenherstellers und gehen diesen nicht vor.ExxonMobil Lubricants schließt ausdrücklich jegliche und alle Haftung direkter, indirekter oder abhängiger Natur für jegliche Verluste, Schäden oder Verletzungen aus, die sich direkt oder indirekt aus dem Einsatz desin diesen technischen Informationen angegebenen Produkts oder Materials und aus den Empfehlungen für solch einen Einsatz ergeben.`,\r\n },\r\n productTable: {\r\n includesNaturalGas: \"Geeignete Produkte für mit Erdgas betriebene Motoren\",\r\n syntheticOil: \"Hochleistungsöl\",\r\n suitableBioLandSewage: \"Geeignete Produkte für mit Bio-, Deponie-und Klärgas betriebene Motoren\",\r\n productName: `Produkt-name`,\r\n sulphatedAsh: \"Sulfat-asche %\",\r\n totalBaseNumber: \"Gesamt-basenzahl (TBN) \",\r\n saeGrade: \"SAE-Klasse\",\r\n oilDrainInterval: \"Ölwechsel-intervall\",\r\n wearProtection: \"Verschleiß-schutz\",\r\n oxidationResistance: \"Oxidations-/ Nitrationsbeständigkeit\",\r\n engineCleanliness: \"Motorensauberkeit/ Ablagerungskontrolle\",\r\n },\r\n searchTypeSelectorPage: {\r\n name: \"yp suchen\",\r\n progressHeading: \"Suchkriterium auswählen\",\r\n },\r\n searchTypeSelector: {\r\n engineType: \"Motortyp\",\r\n specification: \"Spezifikation\",\r\n },\r\n specificationGroupPage: {\r\n name: \"Specification\",\r\n progressHeading: \"Spezifikation auswählen\",\r\n },\r\n engineModelGroupPage: {\r\n name: \"Motormodell\",\r\n progressHeading: \"Gasmotorenmodell auswählen\",\r\n },\r\n gasTypePage: {\r\n progressHeading: \"Welcher Gastyp kommt in Ihrem Motor zum Einsatz?\",\r\n name: \"Gastyp\",\r\n },\r\n catalystPage: {\r\n progressHeading: \"Ist Ihr Motor mit einem selektiven katalytischen reduktionssystem ausgestattet?​\",\r\n name: \"Katalysator\",\r\n },\r\n resultsPage: {\r\n progressHeading: \"Ergebnisse:\",\r\n name: \"Empfohlene Produkte\",\r\n heading: \"Wir empfehlen die folgenden Produkte\",\r\n buyButtonText: \"Bezug der Produkte\",\r\n buyButtonLink: \"https://www.mobil.com.de/de-de/industrial/lubricants-distributors\",\r\n newSearchText: \"Neue Suche\",\r\n approvalType: \"Typ der Freigabe\",\r\n },\r\n homePage: {\r\n progressHeading: \"Wählen Sie die Marke Ihres Gasmotors aus \",\r\n intro: ({ anchor }) => `Finden Sie das richtige Motorenöl für Ihren Gasmotor. \r\nWählen Sie die Marke Ihres Gasmotors aus der nachfolgenden Liste aus und Sie erhalten von uns die richtige Produktempfehlung dafür.\r\n\r\nIn der [Produkttabelle](${anchor}) unten finden Sie unser vollständiges Motorenölangebot und eine Vergleichsliste.\r\n `,\r\n productComparisonListTitle: `Liste mit vollständigem Motorenölvergleich`,\r\n productComparisonListBody: `

In der nachfolgenden Tabelle können Sie die Eigenschaften der Mobil Pegasus™ Gasmotorenöle ansehen und vergleichen.

Tipps:

`,\r\n },\r\n footer: {\r\n energyLivesHere: \"Energy lives here™\",\r\n selectLocation: \"Standort wählen\",\r\n privacyPolicy: { text: \"Datenschutzerklärung\", url: \"https://corporate.exxonmobil.de/de-de/legal-pages/Datenschutzerklarung\" },\r\n termsAndConditions: { text: \"Nutzungsbedingungen\", url: \"https://corporate.exxonmobil.de/de-de/legal-pages/Nutzungsbedingungen\" }\r\n },\r\n },\r\n \"fr-fr\": {\r\n metaData: {\r\n title: \"Outil de sélection de produits pour moteurs à gaz | Mobil™\",\r\n desc: \"Choisissez l’huile adaptée à votre moteur à gaz.\"\r\n },\r\n header: {\r\n businessLines: {\r\n text: `Secteur d’activité`,\r\n link: \"https://corporate.exxonmobil.com/?query=https%3a%2f%2fdnet.mobil.com%2fen%2f#business-lines\"\r\n },\r\n globalBrands: {\r\n text: `Marques mondiales`,\r\n link: \"https://corporate.exxonmobil.com/?query=https%3a%2f%2fdnet.mobil.com%2fen%2f#global-brands\"\r\n }\r\n },\r\n languages: {\r\n active: {\r\n text: 'France - Francais',\r\n link: \"#\"\r\n },\r\n english: {\r\n text: 'UK - English',\r\n link: \"/en/\"\r\n },\r\n german: {\r\n text: 'Deutschland - Deutsch',\r\n link: \"/de/\"\r\n },\r\n turkish: {\r\n text: 'Türkiye - Türk',\r\n link: \"/tr/\"\r\n },\r\n italian: {\r\n text: 'Italia - Italiano',\r\n link: \"/it/\"\r\n },\r\n french: {\r\n text: 'France - Francais',\r\n link: \"/fr/\"\r\n },\r\n polish: {\r\n text: 'Polska - Polski',\r\n link: \"/pl/\"\r\n }\r\n },\r\n email: {\r\n title: \"Vous trouverez ci-joint votre recommandation de produit Mobil™.\",\r\n salutation: \"Bonjour\",\r\n placeholder: \"Email*\",\r\n sending: \"Envoi en cours...\",\r\n message:\r\n \"Merci d’avoir consulté la page Web des huiles pour moteurs à gaz Mobil . Veuillez trouver ci-joint votre recommandation de produit Mobil™ que vous avez demandée.​\\n\\nSi vous avez des questions techniques ou souhaitez savoir où acheter les huiles pour moteurs à gaz recommandées, veuillez nous contacter..\\n\\nCordialement,\\n\\nL’équipe Mobil\",\r\n pdfFileName: \"Product-recommendation.pdf\",\r\n sendButton: \"Envoyer\",\r\n successfulEmailMessage: \"Votre e-mail a été envoyé. Si vous ne trouvez pas l’e-mail dans votre boîte de réception, merci de vérifier vos courriers indésirables.\",\r\n privacyPolicy: \"Déclaration sur la protection des données personnelles\",\r\n termsAndConditions: \"Conditions générales\",\r\n },\r\n breadcrumbs: {\r\n yourSelection: \"Votre sélection: \"\r\n },\r\n cookies: {\r\n consentCopy:\r\n \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\",\r\n acceptButton: \"Accept cookies\",\r\n rejectButton: \"No thanks\",\r\n },\r\n common: {\r\n compareRecos: \"Comparer les produits recommandés\",\r\n moreRecos: \"Autres recommandations\",\r\n productSelector: \"Outil de sélection de produits Mobil pour votre moteur à gaz\",\r\n endOfpageNotes: `Impossible de trouver votre modèle de moteur à gaz ou votre spécification ? [Contactez-Nous](https://www.mobil.fr/fr-fr/contact-us).\r\n\r\nEn même temps, nous vous conseillons de consulter les recommandations de produits conformément aux spécifications fournies par le fabricant pour vous assurer que les produits sont adaptés à votre moteur à gaz.\r\n\r\nL’entreprise innove et améliore constamment ses produits, les informations publiées sur les produits peuvent donc être mises à jour à tout moment sans préavis. Les performances standard peuvent varier légèrement.\r\n\r\nLes produits ne sont pas tous disponibles sur tous les marchés et peuvent ne s’appliquer qu’à certains pays. [Contactez notre centre d’assistance technique](https://www.mobil.fr/fr-fr/contact-us) pour obtenir des solutions adaptées à vos besoins en matière de moteur à gaz et à votre localisation.\r\n\r\n[Mentions légales](#/disclaimer)`,\r\n },\r\n copyright: {\r\n text: \"© Copyright 2022 Exxon Mobil Corporation. Tous droits réservés.\"\r\n },\r\n button: {\r\n moreHelp: `**Besoin d’aide pour trouver votre moteur à gaz ou obtenir une recommandation ?** \r\nContactez notre service d’assistance technique pour plus d’aide.`,\r\n moreHelpUrl: `https://www.mobil.fr/fr-fr/contact-us`,\r\n visitHub: `null`,\r\n visitHubUrl: `https://www.global.mobil.com/en/gas-engine-hub`,\r\n MSLA: `**Découvrez les avantages des services Mobil℠ pour les moteurs à gaz.**`,\r\n MSLAUrl: `https://www.mobil.fr/fr-fr/mobil-serv`,\r\n moreTechInfo: `**Besoin d’informations plus techniques ou commerciales ? Contactez notre équipe expérimentée dès aujourd’hui.**`,\r\n moreTechInfoUrl: `https://www.mobil.fr/fr-fr/contact-us`,\r\n viewProductDetails: \"Afficher les détails complets des produits\",\r\n downloadPerformanceProfile: \"Télécharger le fichier PDF sur le profil de performance\",\r\n downloadSuccessStories: \"Télécharger le fichier PDF sur les témoignages client\",\r\n alt_downloadPerformanceProfile: \"Profil de performance\",\r\n alt_downloadSuccessStories: \"Témoignages client\",\r\n yes: \"Oui\",\r\n no: \"Non\",\r\n },\r\n disclaimer: {\r\n heading: `Mentions légales`,\r\n text1: `En raison de la recherche continue sur les produits, des mises à jour technologiques et des contraintes réglementaires, les informations visibles dans ce site Web peuvent être modifiées sans préavis. Même si tous les efforts nécessaires ont été déployés pour s’assurer de l’exactitude de toutes ces informations, ExxonMobil et/ou ses sociétés affiliées ne peuvent pas être tenues responsables des pertes ou des dommages causés par les erreurs, les omissions, les fautes typographiques ou une mauvaise interprétation du contenu dans cette application. Les informations affichées ne peuvent pas être copiées, reproduites ou divulguées de quelque manière que ce soit par le destinataire sans le consentement écrit préalable d’ExxonMobil.`,\r\n text2: `Les informations techniques et les recommandations sont destinées aux acheteurs, aux utilisateurs et aux clients pour leurs études, enquêtes et vérifications. Elles ne concernent que les produits ou équipements cités, lorsque ceux-ci ne sont pas associés à d’autres produits ou équipements. L’utilisateur est seul responsable des choix et contrôles relatifs à l’utilisation d’un quelconque équipement ou produit, ainsi que de tout processus. Les informations et les recommandations fournies sont toujours sujettes aux recommandations du fabricant de moteurs, d’équipements et de machines et ne prévalent sur aucune d’entre elles. ExxonMobil Lubricants décline expressément toute responsabilité de nature directe, indirecte ou conséquente pour toute perte, tout dommage ou préjudice encouru(e) ou infligé(e), directement ou indirectement, ainsi que pour tous les résultats obtenus ou dérivant d’une quelconque utilisation des produits ou équipements liés aux informations techniques et recommandations pour un tel usage. `,\r\n },\r\n productTable: {\r\n includesNaturalGas: \"Produits adaptés aux moteurs au gaz naturel\",\r\n syntheticOil: \"Huile synthétique\",\r\n suitableBioLandSewage: \"Produits adaptés aux moteurs fonctionnant au biogaz, gaz de décharge et gaz d’égouts\",\r\n productName: \"Nom du produit\",\r\n sulphatedAsh: \"% de cendres sulfatées\",\r\n totalBaseNumber: \"Indice de basicité\",\r\n saeGrade: \"Grade SAE\",\r\n oilDrainInterval: \"Intervalle de vidange\",\r\n wearProtection: \"Protection contre l’usure\",\r\n oxidationResistance: \"Résistance à l’oxydation/la nitration\",\r\n engineCleanliness: \"Propreté du moteur/contrôle des dépôts\",\r\n },\r\n searchTypeSelectorPage: {\r\n name: \"Type de recherche\",\r\n progressHeading: \"Choisissez le type que vous souhaitez rechercher\",\r\n },\r\n searchTypeSelector: {\r\n engineType: \"Type de moteur\",\r\n specification: \"Spécifications\",\r\n },\r\n specificationGroupPage: {\r\n name: \"Spécification\",\r\n progressHeading: \"Choisir la spécification\",\r\n },\r\n engineModelGroupPage: {\r\n name: \"Modèle de moteur\",\r\n progressHeading: \"Choisir le modèle du moteur à gaz\",\r\n },\r\n gasTypePage: {\r\n progressHeading: \"Quel type de gaz alimente votre moteur ?\",\r\n name: \"Type de gaz\",\r\n },\r\n catalystPage: {\r\n progressHeading: \"Votre moteur est-il équipé d’un convertisseur catalytique Jenbacher ?\",\r\n name: \"Catalyseur\",\r\n },\r\n resultsPage: {\r\n progressHeading: \"Résultats\",\r\n name: \"Produits recommandés\",\r\n heading: \"Nous recommandons les produits suivants:\",\r\n buyButtonText: \"Où acheter\",\r\n buyButtonLink: \"https://www.global.mobil.com/en/lubricants-distributors/externallocator/?culture=fr-fr\",\r\n newSearchText: \"Nouvelle recherche\",\r\n approvalType: \"Type d’approbation\",\r\n },\r\n homePage: {\r\n progressHeading: \"Choisir votre marque de moteur à gaz\",\r\n intro: ({ anchor }) => `Choisissez l’huile adaptée à votre moteur à gaz. \r\nSélectionnez votre marque de moteur à gaz dans la liste ci-dessous et nous vous fournirons la bonne recommandation pour votre moteur à gaz.\r\n\r\nConsultez le [tableau des produits](${anchor}) ci-dessous pour découvrir notre offre complète de produits et notre liste de comparaison.`,\r\n productComparisonListTitle: `Liste complète de comparaison de produits`,\r\n productComparisonListBody: `

Consultez le tableau ci-dessous pour examiner et comparer les propriétés des lubrifiants Mobil™ Pegasus.

Conseils :

`,\r\n },\r\n footer: {\r\n energyLivesHere: \"Energy lives here™\",\r\n selectLocation: \"Sélectionner un lieu\",\r\n privacyPolicy: { text: \"Déclaration sur la protection des données personnelles\", url: \"https://corporate.esso.fr/fr-fr/legal-pages/declaration-relative-a-la-protection-des-donnees-personnelles\" },\r\n termsAndConditions: { text: \"Conditions générales\", url: \"https://corporate.esso.fr/fr-fr/legal-pages/Notice-legale\" }\r\n },\r\n },\r\n \"pl-pl\": {\r\n metaData: {\r\n title: \"Narzędzie doboru produktów do silników gazowych | Mobil™\",\r\n desc: \"Znajdź odpowiedni olej do silnika gazowego.\"\r\n },\r\n header: {\r\n businessLines: {\r\n text: `Linia biznesowa`,\r\n link: \"https://corporate.exxonmobil.com/?query=https%3a%2f%2fdnet.mobil.com%2fen%2f#business-lines\"\r\n },\r\n globalBrands: {\r\n text: `Marki globalne`,\r\n link: \"https://corporate.exxonmobil.com/?query=https%3a%2f%2fdnet.mobil.com%2fen%2f#global-brands\"\r\n }\r\n },\r\n languages: {\r\n active: {\r\n text: 'Polska - Polski',\r\n link: \"#\"\r\n },\r\n english: {\r\n text: 'UK - English',\r\n link: \"/en/\"\r\n },\r\n german: {\r\n text: 'Deutschland - Deutsch',\r\n link: \"/de/\"\r\n },\r\n turkish: {\r\n text: 'Türkiye - Türk',\r\n link: \"/tr/\"\r\n },\r\n italian: {\r\n text: 'Italia - Italiano',\r\n link: \"/it/\"\r\n },\r\n french: {\r\n text: 'France - Francais',\r\n link: \"/fr/\"\r\n },\r\n polish: {\r\n text: 'Polska - Polski',\r\n link: \"/pl/\"\r\n }\r\n },\r\n email: {\r\n title: \"W załączniku Twoja rekomendacja dotycząca produktów Mobil™\",\r\n salutation: \"Dzień dobry,\",\r\n placeholder: \"Email*\",\r\n sending: \"Wysyłanie...\",\r\n message:\r\n \"Dziękujemy za odwiedzenie strony internetowej olejów do silników gazowych.. W załączniku znajdziesz rekomendację dotyczącą produktów Mobil™. ​\\n\\nW przypadku pytań dotyczących kwestii technicznych lub punktów sprzedaży rekomendowanych olejów do silników gazowych, prosimy o kontakt..\\n\\nZ poważaniem,\\n\\nZespół Mobil\",\r\n pdfFileName: \"Rekomendacja-produktowa.pdf\",\r\n sendButton: \"Wyślij\",\r\n successfulEmailMessage: \"Wiadomość e-mail została wysłana. Jeśli nie możesz znaleźć jej w swojej skrzynce odbiorczej, sprawdź folder spam.\",\r\n privacyPolicy: \"Polityka ochrony prywatności\",\r\n termsAndConditions: \"Regulamin\",\r\n },\r\n breadcrumbs: {\r\n yourSelection: \"Twój wybór: \"\r\n },\r\n cookies: {\r\n consentCopy:\r\n \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\",\r\n acceptButton: \"Accept cookies\",\r\n rejectButton: \"No thanks\",\r\n },\r\n common: {\r\n compareRecos: \"Porównaj zalecane produkty\",\r\n moreRecos: \"Więcej zaleceń\",\r\n productSelector: \"Narzędzie doboru produktów Mobil do Twojego silnika gazowego\",\r\n endOfpageNotes: `Nie możesz znaleźć modelu lub specyfikacji swojego silnika gazowego? [Skontaktuj się z nami.](https://www.mobil.pl/pl-pl/contact-us). \r\n\r\nJednocześnie zalecamy zweryfikowanie rekomendacji produktowych zawartych w specyfikacji producenta w celu zagwarantowania, że produkty są odpowiednie do posiadanego silnika gazowego.\r\n\r\nW miarę prowadzenia kolejnych badań oraz doskonalenia produktów, opublikowane informacje dotyczące produktów mogą zostać zaktualizowane w dowolnej chwili bez powiadomienia. Standardowa wydajność może się nieznacznie różnić. \r\n\r\nNiektóre produkty są dostępne tylko dla wybranych rynków i mają zastosowanie tylko dla niektórych krajów. [Skontaktuj się z naszym działem wsparcia technicznego,](https://www.mobil.pl/pl-pl/contact-us) aby uzyskać indywidualne rozwiązania dostosowane do wymogówposiadanego silnika gazowego oraz lokalizacji. \r\n\r\n[Zastrzeżenia prawne](#/disclaimer)`,\r\n },\r\n copyright: {\r\n text: \"© Copyright 2022 Exxon Mobil Corporation. Wszelkie prawa zastrzeżone.\"\r\n },\r\n button: {\r\n moreHelp: `**Potrzebujesz pomocy w zlokalizowaniu silnika gazowego lub rekomendacji?** \r\nSkontaktuj się z naszym działem wsparcia technicznego, aby uzyskać dodatkowąpomoc.`,\r\n moreHelpUrl: `https://www.mobil.pl/pl-pl/contact-us`,\r\n visitHub: `null`,\r\n visitHubUrl: `https://www.global.mobil.com/en/gas-engine-hub`,\r\n MSLA: `**Odkryj zalety usług Mobil℠ dla silników gazowych.**`,\r\n MSLAUrl: `https://www.mobil.pl/pl-pl/mobil-serv`,\r\n moreTechInfo: `**Jeżeli potrzebujesz więcej informacji technicznych lub handlowych, już dziś skontaktuj się z naszym doświadczonym zespołem.**`,\r\n moreTechInfoUrl: `https://www.mobil.pl/pl-pl/contact-us`,\r\n viewProductDetails: \"Zobacz wszystkie szczegóły na temat produktów\",\r\n downloadPerformanceProfile: \"Pobierz profil jakości w formacie PDF\",\r\n downloadSuccessStories: \"Pobierz historie sukcesu w formacie PDF\",\r\n alt_downloadPerformanceProfile: \"Profil wydajności\",\r\n alt_downloadSuccessStories: \"Historie sukcesu\",\r\n yes: \"Tak\",\r\n no: \"Nie\",\r\n },\r\n disclaimer: {\r\n heading: `Zastrzeżenia prawne`,\r\n text1: `Ze względu na prowadzone nieustannie prace badawcze, rozwój technologii i zmiany wymogów prawnych, informacje udostępnione na tej stronie internetowej mogą ulec zmianie bez powiadomienia. Mimo, że dokładamy wszelkich starań, aby zagwarantować dokładność wszystkich informacji, firma ExxonMobil i/lub jej spółki zależne nie ponoszą odpowiedzialności za straty i szkody będące skutkiem błędów, pominięć, błędów drukarskich lub nieprawidłowej interpretacji treści zawartych w aplikacji. Udostępnionych informacji nie można kopiować, odtwarzać ani ujawniać w jakikolwiek sposób bez wcześniejszej pisemnej zgody ExxonMobil.`,\r\n text2: `Dane techniczne i rekomendacje są przeznaczone do użytku, kontroli i weryfikacji przez nabywców, użytkowników oraz klientów i dotyczą wyłącznie wymienionych produktów oraz materiałów bez łączenia ich z jakimikolwiek innymi produktami i materiałami. Za wszystkie ustalenia i kontrole związane z korzystaniem z materiałów i produktów w jakikolwiek sposób lub z jakimkolwiek procesem odpowiada wyłącznie użytkownik. Podane informacje i rekomendacje w każdym przypadku mają zastosowanie pod warunkiem zgodności z zaleceniami producenta silnika/urządzenia/pojazdu i mają od nich niższy priorytet. ExxonMobil Lubricants jednoznacznie zrzeka się wszelkiej odpowiedzialności bezpośredniej, pośredniej i wynikowej za jakiekolwiek straty, szkody oraz obrażenia wynikające, bezpośrednio lub pośrednio, z jakichkolwiek skutków użytkowania produktu lub materiału w jakikolwiek sposób w oparciu o niniejsze informacje techniczne i zalecenia dotyczące użytkowania lub związane z nimi.`,\r\n },\r\n productTable: {\r\n includesNaturalGas: \"Produkty do silników zasilanych gazem ziemnym\",\r\n syntheticOil: \"Olej syntetyczny\",\r\n suitableBioLandSewage: \"Produkty do silników zasilanych biogazem, gazem wysypiskowym lub gazem z oczyszczalni ścieków.\",\r\n productName: \"Nazwa produktu\",\r\n sulphatedAsh: \"Popiół siarczanowy w %\",\r\n totalBaseNumber: \"Całkowita liczba zasadowa\",\r\n saeGrade: \"Klasa SAE\",\r\n oilDrainInterval: \"Okres pomiędzy wymianami oleju\",\r\n wearProtection: \"Ochrona przeciwzużyciowa\",\r\n oxidationResistance: \"Odporność na utlenianie i nitrację\",\r\n engineCleanliness: \"Czystość silnika i kontrola powstawania osadów\",\r\n },\r\n searchTypeSelectorPage: {\r\n name: \"Wyszukaj typ\",\r\n progressHeading: \"Wybierz kryterium wyszukiwania\",\r\n },\r\n searchTypeSelector: {\r\n engineType: \"Typ silnika\",\r\n specification: \"Specyfikacja\",\r\n },\r\n specificationGroupPage: {\r\n name: \"Specyfikacja\",\r\n progressHeading: \"Wybierz specyfikację\",\r\n },\r\n engineModelGroupPage: {\r\n name: \"Model silnika\",\r\n progressHeading: \"Wybierz model silnika gazowego\",\r\n },\r\n gasTypePage: {\r\n progressHeading: \"Jakim gazem zasilany jest silnik?\",\r\n name: \"Typ gazu\",\r\n },\r\n catalystPage: {\r\n progressHeading: \"Czy silnik Jenbacher jest wyposażony w katalizator?\",\r\n name: \"Katalizator\",\r\n },\r\n resultsPage: {\r\n progressHeading: \"Wyniki\",\r\n name: \"Zalecane produkty\",\r\n heading: \"Zalecamy następujące produkty:\",\r\n buyButtonText: \"Gdzie kupić?\",\r\n buyButtonLink: \"https://www.global.mobil.com/en/lubricants-distributors/externallocator/?culture=pl-pl\",\r\n newSearchText: \"Nowe wyszukiwanie\",\r\n approvalType: \"Typ aprobaty\",\r\n },\r\n homePage: {\r\n progressHeading: \"Wybierz markę silnika gazowego\",\r\n intro: ({ anchor }) => `Znajdź odpowiedni olej dla silnika gazowego. Wybierz markę silnika z poniższej listy, a my wskażemy rekomendowany produkt.\r\n\r\n [Tabela poniżej](${anchor}) zawiera pełną ofertę naszych produktów oraz listę porównawczą.`,\r\n productComparisonListTitle: `Pełna oferta produktowa`,\r\n productComparisonListBody: `

Zobacz poniższą tabelę i porównaj właściwości środków smarnych Mobil™ Pegasus.

Wskazówki:

`,\r\n },\r\n footer: {\r\n energyLivesHere: \"Energy lives here™\",\r\n selectLocation: \"Wybierz lokalizację\",\r\n privacyPolicy: { text: \"Polityka ochrony prywatności\", url: \"https://corporate.exxonmobil.com/Global-legal-pages/privacy-policy_poland-polish\" },\r\n termsAndConditions: { text: \"Regulamin\", url: \"http://corporate.exxonmobil.com/en/global-legal-pages/terms-and-conditions\" }\r\n },\r\n },\r\n};\r\n\r\n","import get from \"lodash.get\";\r\nimport dict from \"./dictionary\";\r\n\r\nfunction translate(strings, ...values) {\r\n const r = strings.reduce(\r\n (prevString, nextString, index) =>\r\n prevString + (index > 0 ? values[index - 1] : \"\") + nextString,\r\n \"\"\r\n );\r\n return r;\r\n}\r\n\r\nexport default ({ path, as, culture, ...args }) => {\r\n const dictEntry = get(\r\n dict,\r\n `${culture}.${path}`,\r\n \"** translation not found! **\"\r\n );\r\n\r\n const entryString =\r\n typeof dictEntry === \"string\" ? dictEntry : dictEntry(args);\r\n\r\n return translate`${entryString}`;\r\n};\r\n","import { createState, useState as useGlobalState } from \"@hookstate/core\";\r\n\r\nconst initialState = {\r\n culture: \"en-gb\",\r\n cache: {},\r\n};\r\n\r\nconst globalState = createState(initialState);\r\nexport default () => useGlobalState(globalState);\r\n","import Translate from \"i18n/Translate\";\r\nimport globalState from \"globalState\";\r\n\r\nexport default (props) => {\r\n // here we get the current culture from the global state\r\n // TODO: add a component to actually set the desired culture\r\n const state = globalState();\r\n const culture = state.culture.get();\r\n\r\n // eslint-disable-next-line react/jsx-props-no-spreading\r\n return Translate({ culture, ...props });\r\n};\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 1\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 1\",\n d: \"M.001.004h5.115l2.891 9.7h.045l2.935-9.7h4.981v15.785h-3.291V4.625h-.045L9.474 15.789H6.45L3.336 4.625h-.045v11.164H.001V.004\",\n fill: \"#004c9b\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 2\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Rectangle 1\",\n fill: \"#004c9b\",\n d: \"M44.462 0h3.291v3.113h-3.291z\"\n}));\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 3\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Rectangle 2\",\n fill: \"#004c9b\",\n d: \"M44.462 4.225h3.291v11.564h-3.291z\"\n}));\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 4\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Rectangle 3\",\n fill: \"#004c9b\",\n d: \"M49.577 0h3.291v15.789h-3.291z\"\n}));\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 5\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 2\",\n d: \"M23.299 12.812a2.806 2.806 0 10-2.806-2.806 2.806 2.806 0 002.806 2.806m-6.115-2.81a6.122 6.122 0 116.121 6.122 6.122 6.122 0 01-6.12-6.117z\",\n fill: \"#d90017\"\n}));\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Component 1 \\\\u2013 1\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 3\",\n d: \"M36.941 12.817a2.806 2.806 0 10-2.807-2.806 2.806 2.806 0 002.807 2.806m-6.134 2.972V.004h3.288v5.115a4.7 4.7 0 013.157-1.157 6.053 6.053 0 010 12.1 4.007 4.007 0 01-3.157-1.29v1.023z\",\n fill: \"#004c9b\"\n}));\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 9\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 7\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 4\",\n d: \"M54.96 1.579h-.329v-1.3h-.478V.004h1.284v.279h-.478z\",\n fill: \"#004c9b\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 8\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 5\",\n d: \"M57.149 1.579h-.309V.26l-.294 1.319h-.33L55.928.26v1.319h-.312V.004h.482l.286 1.245.282-1.245h.478z\",\n fill: \"#004c9b\"\n})));\n\nfunction SvgMobilLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n \"data-name\": \"Group 10\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 57.149 16.129\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMobilLogo);\nexport default __webpack_public_path__ + \"static/media/mobil_logo.df3d0e42.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport styled from 'styled-components';\r\nimport { ReactComponent as LogoSvg } from 'assets/svg/mobil_logo.svg';\r\n\r\nconst Wrapper = styled.div`\r\n svg {\r\n height: 1em;\r\n display: block;\r\n }\r\n`;\r\n\r\nconst Logo = ({ className }) => {\r\n const classes = ['Logo'];\r\n if (className) classes.push(className);\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nLogo.displayName = 'Logo';\r\n\r\nLogo.propTypes = {\r\n className: PropTypes.string,\r\n};\r\n\r\nLogo.defaultProps = {\r\n className: null,\r\n};\r\n\r\nexport default Logo;\r\n","import React, { useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport styled from \"styled-components\";\r\nimport { Link } from \"react-router-dom\";\r\nimport T from \"i18n\";\r\nimport globalState from \"globalState\";\r\nimport Logo from \"./atoms/Logo\";\r\n\r\nconst Links = [\"businessLines\", \"globalBrands\"];\r\nconst Language = [\"english\", \"german\", \"turkish\", \"italian\", \"french\", \"polish\"];\r\n\r\nconst Wrapper = styled.div` \r\n &.d-none {\r\n display: none;\r\n }`;\r\n\r\nconst TopLinksWrapper = styled.div`\r\n display: flex;\r\n background-color: ${({ theme }) => theme.palette.grey.ultraLight};\r\n\r\n @media screen and (max-width: 640px) {\r\n flex-flow: row wrap;\r\n }\r\n\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n padding: 0 ${({ theme }) => theme.spacer * 4}px;\r\n }\r\n`;\r\n\r\nconst TopLinks = styled.ul`\r\n display: flex;\r\n ${({ theme }) => theme.resFontSize.small};\r\n\r\n li {\r\n margin-left: ${({ theme }) => theme.spacer * 2}px;\r\n margin-right: ${({ theme }) => theme.spacer * 2}px;\r\n }\r\n\r\n a {\r\n border: none;\r\n font-weight: bold;\r\n color: ${({ theme }) => theme.palette.grey.dark};\r\n padding: ${({ theme }) => theme.spacer * 1}px 0;\r\n }\r\n\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n\r\n a {\r\n padding: ${({ theme }) => theme.spacer * 1.5}px 0;\r\n }\r\n }\r\n@media print {\r\n display:block; \r\n li{\r\n display:inline-block;\r\n }\r\n\r\n }\r\n}\r\n`;\r\n\r\nconst Languages = styled.div`\r\n position: relative;\r\n margin-left: auto;\r\n\r\n @media print {\r\n display: none;\r\n }\r\n\r\n @media screen and (max-width: 640px) {\r\n width: 100vw;\r\n background-color: ${({ theme }) => theme.palette.grey.light};\r\n }\r\n\r\n :hover {\r\n background-color: ${({ theme }) => theme.palette.grey.light};\r\n }\r\n\r\n &.toggle-open {\r\n .dropdown-menu {\r\n display: block !important;\r\n }\r\n }\r\n`;\r\n\r\nconst DropdownToggle = styled.div`\r\n font-size: 13px;\r\n font-weight: bold;\r\n height: 100%;\r\n padding: 15px 20px;\r\n cursor: pointer;\r\n background-image:\r\n linear-gradient(45deg, transparent 50%, #000 50%),\r\n linear-gradient(135deg, #000 50%, transparent 50%);\r\n background-position:\r\n calc(100% - 10px) calc(50% - 3px),\r\n calc(100% - 6px) calc(50% - 3px);\r\n background-size:\r\n 5px 5px,\r\n 5px 5px;\r\n background-repeat: no-repeat;\r\n\r\n @media screen and (min-width: 640px) {\r\n padding: 15px 20px 15px 10px;\r\n }\r\n`;\r\n\r\nconst DropdownMenu = styled.div`\r\n position: absolute;\r\n display: none;\r\n top: 100%;\r\n left: 0;\r\n z-index: 1000;\r\n min-width: 10rem;\r\n padding: 0.5rem 0;\r\n margin: 0.125rem 0 0;\r\n font-size: 1rem;\r\n color: #212529;\r\n text-align: left;\r\n list-style: none;\r\n background-color: ${({ theme }) => theme.palette.white};\r\n background-clip: padding-box;\r\n border: 1px solid rgba(0,0,0,.15);\r\n border-radius: 0.25rem;\r\n\r\n @media screen and (max-width: 640px) {\r\n width: 100%;\r\n }\r\n\r\n .dropdown-item {\r\n display: block;\r\n width: 100%;\r\n padding: 2rem 1.5rem;\r\n clear: both;\r\n font-weight: 400;\r\n text-align: inherit;\r\n white-space: nowrap;\r\n background-color: transparent;\r\n border: 0;\r\n color: inherit;\r\n\r\n @media screen and (min-width: 640px) {\r\n padding: 0.25rem 1.5rem;\r\n }\r\n\r\n &:hover {\r\n text-decoration: none;\r\n background-color: ${({ theme }) => theme.palette.grey.ultraLight};\r\n }\r\n }\r\n`;\r\n\r\nconst LogoWrapper = styled.div`\r\n @media print {\r\n display:block; \r\n }\r\n padding: ${({ theme }) => theme.spacer * 1.5}px;\r\n background-color: ${({ theme }) => theme.palette.white};\r\n border-bottom: 3px solid ${({ theme }) => theme.palette.primary};\r\n\r\n display: flex;\r\n align-items: stretch;\r\n\r\n a {\r\n @media print {\r\n display:inline-block; \r\n }\r\n border: none;\r\n }\r\n .Logo {\r\n font-size: 1.6rem;\r\n @media print {\r\n font-size: 30px;\r\n }\r\n }\r\n\r\n > span {\r\n @media print {\r\n display:inline-block; \r\n font-size: 20px;\r\n position:relative;\r\n span{\r\n position:absolute;\r\n top:5px;\r\n \r\n }\r\n }\r\n font-size: 1.3rem;\r\n display: flex;\r\n align-items: center;\r\n &:before {\r\n @media print {\r\n display:inline-block; \r\n height:30px; \r\n }\r\n content: \"\";\r\n display: block;\r\n margin: 0 ${({ theme }) => theme.spacer}px;\r\n width: 1px;\r\n height: 100%;\r\n background-color: ${({ theme }) => theme.palette.grey.medium};\r\n }\r\n color: ${({ theme }) => theme.palette.grey.medium};\r\n }\r\n\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n padding: ${({ theme }) => theme.spacer * 2.5}px\r\n ${({ theme }) => theme.spacer * 4}px;\r\n .Logo {\r\n font-size: 2.8rem;\r\n }\r\n span {\r\n font-size: 1.9rem;\r\n }\r\n }\r\n\r\n\r\n`;\r\n\r\n\r\nconst Header = ({ className, heading }) => {\r\n const classes = [\"Header\"];\r\n\r\n // Toggle language selector dropdown toggle class //\r\n const [isActive, setActive] = useState(\"false\");\r\n const toggleClass = () => {\r\n setActive(!isActive);\r\n };\r\n\r\n // Remove dropdown menu when anywhere but dropdown is clicked //\r\n document.addEventListener(\"click\", (event) => {\r\n if (!event.target.classList.contains(\"dropdown-toggle\")) {\r\n setActive(true);\r\n }\r\n });\r\n\r\n if (className) classes.push(className);\r\n const state = globalState();\r\n const LinksComponent = Links.map((link) => (\r\n
  • \r\n \r\n {T({ path: `header.${link}.text` })}\r\n \r\n
  • \r\n ));\r\n const LanguageSelector = Language.map((link) => (\r\n \r\n {T({ path: `languages.${link}.text` })}\r\n \r\n ));\r\n\r\n return (\r\n !state.iframe.get() && (\r\n \r\n \r\n {LinksComponent}\r\n \r\n \r\n \r\n {LanguageSelector}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {heading && {heading}}\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nHeader.displayName = \"Header\";\r\n\r\nHeader.propTypes = {\r\n className: PropTypes.string,\r\n heading: PropTypes.string,\r\n};\r\n\r\nHeader.defaultProps = {\r\n className: null,\r\n heading: null,\r\n};\r\n\r\nexport default Header;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport styled from \"styled-components\";\r\n\r\nconst Wrapper = styled.h2`\r\n margin: ${({ theme }) => theme.spacer * 2}px\r\n ${({ theme }) => theme.spacer * 1.5}px;\r\n\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n margin: ${({ theme }) => theme.spacer * 2.5}px\r\n ${({ theme }) => theme.spacer * 4}px;\r\n }\r\n\r\n /* margin-bottom: 0; */\r\n`;\r\n\r\nconst PageHeading = ({ className, children }) => {\r\n const classes = [\"PageHeading\"];\r\n if (className) classes.push(className);\r\n\r\n return {children};\r\n};\r\n\r\nPageHeading.displayName = \"PageHeading\";\r\n\r\nPageHeading.propTypes = {\r\n className: PropTypes.string,\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nPageHeading.defaultProps = {\r\n className: null,\r\n};\r\n\r\nexport default PageHeading;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport styled from \"styled-components\";\r\n\r\nconst Wrapper = styled.div`\r\n ${({ theme, isSmall }) => theme.resFontSize[isSmall ? \"small\" : \"medium\"]};\r\n ul{\r\n padding:0px 0px 0px 20px;\r\n list-style:disc;\r\n margin-bottom:20px;\r\n }\r\n`;\r\n\r\nconst TextSection = ({ className, isSmall, children }) => {\r\n const classes = [\"TextSection\"];\r\n if (className) classes.push(className);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nTextSection.displayName = \"TextSection\";\r\n\r\nTextSection.propTypes = {\r\n className: PropTypes.string,\r\n isSmall: PropTypes.bool,\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nTextSection.defaultProps = {\r\n className: null,\r\n isSmall: false,\r\n};\r\n\r\nexport default TextSection;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport styled from \"styled-components\";\r\nimport { Link } from \"react-router-dom\";\r\nimport T from \"i18n\";\r\n\r\nconst Wrapper = styled.ul`\r\n @media print {\r\n display:block; \r\n }\r\n display: flex;\r\n flex-wrap: wrap;\r\n\r\n li {\r\n display: flex;\r\n align-items: center;\r\n @media print {\r\n display:inline-block; \r\n }\r\n }\r\n\r\n a {\r\n border: none;\r\n display: flex;\r\n align-items: center;\r\n color: ${({ theme }) => theme.palette.secondary};\r\n &:after {\r\n content: \">\";\r\n display: inline-block;\r\n color: ${({ theme }) => theme.palette.accent};\r\n /* font-weight: bold; */\r\n padding: 0 0.5em;\r\n }\r\n }\r\n\r\n .leaf {\r\n color: ${({ theme }) => theme.palette.primary};\r\n }\r\n\r\n a,\r\n .leaf {\r\n padding: 0.5em 0;\r\n }\r\n\r\n p {\r\n margin-block-start: 1em;\r\n margin-block-end: 1em;\r\n margin-right:10px;\r\n }\r\n`;\r\n\r\nconst Breadcrumbs = ({ className, steps }) => {\r\n const classes = [\"Breadcrumbs\"];\r\n if (className) classes.push(className);\r\n\r\n return (\r\n \r\n {(steps.length > 1 ?

    {T({ path: \"breadcrumbs.yourSelection\" })}

    : null)}\r\n {steps.map(\r\n (step, index) =>\r\n step.label && (\r\n
  • \r\n {index === steps.length - 1 ? (\r\n {step.label}\r\n ) : (\r\n {step.label}\r\n )}\r\n
  • \r\n )\r\n )}\r\n
    \r\n );\r\n};\r\n\r\nBreadcrumbs.displayName = \"Breadcrumbs\";\r\n\r\nBreadcrumbs.propTypes = {\r\n className: PropTypes.string,\r\n steps: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n label: PropTypes.string,\r\n path: PropTypes.string,\r\n })\r\n ),\r\n};\r\n\r\nBreadcrumbs.defaultProps = {\r\n className: null,\r\n steps: [],\r\n};\r\n\r\nexport default Breadcrumbs;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport styled from \"styled-components\";\r\n\r\nconst Wrapper = styled.div`\r\n font-size: ${({ size }) => size}em;\r\n height: 1em;\r\n width: 1em;\r\n position: relative;\r\n &:before {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n content: \"\";\r\n border: 0.16em solid ${({ theme }) => theme.palette.darker};\r\n border-radius: 50%;\r\n box-sizing: border-box;\r\n }\r\n svg {\r\n position: relative;\r\n fill: transparent;\r\n stroke: ${({ theme }) => theme.palette.blue.light};\r\n stroke-width: 16;\r\n stroke-dasharray: 263;\r\n stroke-dashoffset: ${({ perc }) => 263 - (263 * perc) / 100};\r\n /* stroke-linecap: round; */\r\n transform-origin: 50% 50%;\r\n transform: rotate(-90deg);\r\n }\r\n`;\r\n\r\nconst ProgressCircle = ({ className, perc, size }) => {\r\n const classes = [\"ProgressCircle\"];\r\n if (className) classes.push(className);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nProgressCircle.displayName = \"ProgressCircle\";\r\n\r\nProgressCircle.propTypes = {\r\n className: PropTypes.string,\r\n perc: PropTypes.number.isRequired,\r\n size: PropTypes.number,\r\n};\r\n\r\nProgressCircle.defaultProps = {\r\n className: null,\r\n size: 1,\r\n};\r\n\r\nexport default ProgressCircle;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport styled from \"styled-components\";\r\n\r\nimport Breadcrumbs from \"components/views/Breadcrumbs\";\r\nimport ProgressCircle from \"components/views/atoms/ProgressCircle\";\r\n\r\nconst Wrapper = styled.div`\r\n .Breadcrumbs {\r\n padding: 0 ${({ theme }) => theme.spacer * 1.5}px;\r\n background-color: ${({ theme }) => theme.palette.grey.lightest};\r\n\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n padding: 0px ${({ theme }) => theme.spacer * 4}px;\r\n }\r\n }\r\n`;\r\nconst Heading = styled.div`\r\n display: flex;\r\n align-items: center;\r\n background-color: ${({ theme }) => theme.palette.background.grey};\r\n padding: ${({ theme }) => theme.spacer}px\r\n ${({ theme }) => theme.spacer * 1.5}px;\r\n\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n padding: ${({ theme }) => theme.spacer}px\r\n ${({ theme }) => theme.spacer * 4}px;\r\n }\r\n\r\n .ProgressCircle {\r\n margin-right: ${({ theme }) => theme.spacer}px;\r\n font-size: 3.5rem;\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n font-size: 5.2rem;\r\n }\r\n }\r\n h2 {\r\n ${({ theme }) => theme.resFontSize.large};\r\n margin: 0;\r\n }\r\n`;\r\n\r\nconst ProgressHeading = ({ className, perc, heading, breadcrumbSteps }) => {\r\n const classes = [\"ProgressHeading\"];\r\n if (className) classes.push(className);\r\n\r\n return (\r\n \r\n \r\n \r\n

    {heading}

    \r\n
    \r\n\r\n \r\n
    \r\n );\r\n};\r\n\r\nProgressHeading.displayName = \"ProgressHeading\";\r\n\r\nProgressHeading.propTypes = {\r\n className: PropTypes.string,\r\n heading: PropTypes.string.isRequired,\r\n perc: PropTypes.number.isRequired,\r\n breadcrumbSteps: Breadcrumbs.propTypes.steps,\r\n};\r\n\r\nProgressHeading.defaultProps = {\r\n className: null,\r\n breadcrumbSteps: [],\r\n};\r\n\r\nexport default ProgressHeading;\r\n","// eslint-disable-next-line import/prefer-default-export\r\nexport default {\r\n tracker: \"/api/industrial/tracking\",\r\n manufacturers: \"/api/industrial/manufacturer\",\r\n products: \"/api/industrial/products\",\r\n types: \"/api/industrial/type\",\r\n group: \"/api/industrial/group\",\r\n};\r\n","import axios from \"axios\";\r\nimport queryString from \"query-string\";\r\n\r\nconst baseUrl = process.env.REACT_APP_API_BASEURL;\r\nconst token = process.env.REACT_APP_API_TOKEN;\r\n\r\n// Please create the `.env` file in the project root to configure api's calls.\r\n// See README.md\r\n\r\n\r\nconst getCulture = (newCulture) => {\r\n let culture = \"en-gb\";\r\n if (newCulture) {\r\n const [,value] = newCulture;\r\n switch (value) {\r\n case \"pl\":\r\n culture = \"pl-pl\";\r\n break;\r\n case \"fr\":\r\n culture = \"fr-fr\";\r\n break;\r\n case \"tr\":\r\n culture = \"tr-tr\";\r\n break;\r\n case \"it\":\r\n culture = \"it-it\";\r\n break;\r\n case \"de\":\r\n culture = \"de-de\";\r\n break;\r\n default:\r\n culture = \"en-gb\";\r\n break;\r\n }\r\n }\r\n\r\n return culture;\r\n}\r\n\r\nconst headers = {\r\n token,\r\n};\r\nconst fetcher = (endpoint, queryParams) => {\r\n let { culture = \"en-gb\" } = queryString.parse(window.location.search);\r\n culture = getCulture(window.location.pathname.split('/'));\r\n \r\n // executing the fetch only if there're no params with undefined values\r\n if (\r\n queryParams &&\r\n Object.values(queryParams).filter((o) => o === undefined).length > 0\r\n )\r\n return Promise.reject(new Error(\"no params\"));\r\n\r\n const url = queryString.stringifyUrl({\r\n url: baseUrl + endpoint,\r\n query: {\r\n culture,\r\n ...queryParams,\r\n },\r\n });\r\n\r\n return axios.get(url, { headers }).then((res) => res.data);\r\n};\r\n\r\nconst poster = (endpoint, body) => {\r\n let { culture = \"en-gb\" } = queryString.parse(window.location.search);\r\n culture = getCulture(window.location.pathname.split('/'));\r\n\r\n const url = queryString.stringifyUrl({\r\n url: baseUrl + endpoint,\r\n query: {\r\n culture,\r\n },\r\n });\r\n\r\n return axios\r\n .post(url, body, {\r\n headers: {\r\n ...headers,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.data);\r\n};\r\n\r\nexport { fetcher, poster, getCulture };\r\n","import React from \"react\";\r\nimport globalState from \"globalState\";\r\n\r\nimport endPoints from \"./endPoints\";\r\nimport { fetcher } from \"./tools\";\r\n\r\nconst inProgressMap = {};\r\n\r\nconst useGenericFetch = (key, params) => {\r\n const depsAsString = ((params && Object.values(params)) || []).join();\r\n const state = globalState();\r\n const cache = state.cache.get();\r\n\r\n const data = cache[key + depsAsString];\r\n\r\n const [error, setError] = React.useState();\r\n\r\n React.useEffect(() => {\r\n const isLoading = inProgressMap[key + depsAsString];\r\n if (data === undefined && !isLoading) {\r\n inProgressMap[key + depsAsString] = true;\r\n\r\n fetcher(endPoints[key], params)\r\n .then((res) => {\r\n state.cache.set((oldCache) => ({\r\n ...oldCache,\r\n [key + depsAsString]: res,\r\n }));\r\n })\r\n .catch((err) => {\r\n if (err.message === \"no params\") {\r\n state.cache.set((oldCache) => {\r\n const { [key + depsAsString]: old, ...rest } = oldCache;\r\n return rest;\r\n });\r\n } else {\r\n state.cache.set((oldCache) => ({\r\n ...oldCache,\r\n [key + depsAsString]: null,\r\n }));\r\n\r\n setError(err);\r\n }\r\n })\r\n .finally(() => {\r\n inProgressMap[key + depsAsString] = true;\r\n });\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [depsAsString, inProgressMap]);\r\n\r\n return { data, error };\r\n};\r\n\r\nexport const useProducts = () => useGenericFetch(\"products\");\r\n\r\nexport const useManufacturers = () => {\r\n const state = globalState();\r\n const { familyId } = state.get();\r\n\r\n const params = React.useMemo(() => ({ nodeId: familyId }), [familyId]);\r\n const { data } = useGenericFetch(\"manufacturers\", params);\r\n\r\n return data ? { data: data.manufacturers } : { data };\r\n};\r\n\r\nexport const useGroup = (nodeId) => {\r\n const params = React.useMemo(() => ({ nodeId }), [nodeId]);\r\n return useGenericFetch(\"group\", params);\r\n};\r\n\r\nexport const useType = (nodeId) => {\r\n const params = React.useMemo(() => ({ nodeId }), [nodeId]);\r\n return useGenericFetch(\"types\", params);\r\n};\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 136\",\n d: \"M6.644 5.556l-5.307 5.557L0 9.713l3.971-4.157L0 1.399l1.337-1.4z\",\n fill: \"#d90017\"\n});\n\nfunction SvgChevronRight(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 6.644 11.113\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChevronRight);\nexport default __webpack_public_path__ + \"static/media/chevronRight.b18dd1e7.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport styled from \"styled-components\";\r\n\r\nconst Wrapper = styled.button`\r\n @media print {\r\n display:inline-block; \r\n }\r\n border-radius: ${({ theme }) => theme.radius.small}px;\r\n background-color: ${({ theme }) => theme.palette.blue.lighter};\r\n font-weight: bold;\r\n padding: ${({ theme }) => theme.spacer * 1.5}px\r\n ${({ theme }) => theme.spacer * 2}px;\r\n`;\r\n\r\nconst RoundedButton = ({ className, children, onClick, ...rest }) => {\r\n const classes = [\"RoundedButton\"];\r\n if (className) classes.push(className);\r\n\r\n return (\r\n // eslint-disable-next-line react/jsx-props-no-spreading\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nRoundedButton.displayName = \"RoundedButton\";\r\n\r\nRoundedButton.propTypes = {\r\n className: PropTypes.string,\r\n children: PropTypes.node.isRequired,\r\n onClick: PropTypes.func.isRequired,\r\n};\r\n\r\nRoundedButton.defaultProps = {\r\n className: null,\r\n};\r\n\r\nexport default RoundedButton;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport styled from \"styled-components\";\r\nimport { ReactComponent as Chevron } from \"assets/svg/chevronRight.svg\";\r\nimport RoundedButton from \"./atoms/RoundedButton\";\r\n\r\nconst Wrapper = styled(RoundedButton)`\r\n ${({ theme }) => theme.resFontSize.medium};\r\n align-items: center;\r\n color: ${({ theme }) => theme.palette.primary};\r\n display: flex;\r\n font-weight: bold;\r\n justify-content: space-between;\r\n width: 100%;\r\n\r\n > svg {\r\n height: 1.2rem;\r\n margin-left: 1em;\r\n flex-shrink: 0;\r\n }\r\n`;\r\n\r\nconst StepButton = ({ className, label, onClick }) => {\r\n const classes = [\"StepButton\"];\r\n if (className) classes.push(className);\r\n\r\n return (\r\n \r\n {label}\r\n \r\n \r\n );\r\n};\r\n\r\nStepButton.displayName = \"StepButton\";\r\n\r\nStepButton.propTypes = {\r\n className: PropTypes.string,\r\n label: PropTypes.string.isRequired,\r\n onClick: PropTypes.func.isRequired,\r\n};\r\n\r\nStepButton.defaultProps = {\r\n className: null,\r\n};\r\n\r\nexport default StepButton;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst Wrapper = styled.div`\r\n position: ${({ relativeToParent }) =>\r\n relativeToParent ? \"absolute\" : \"fixed\"};\r\n top: 0%;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n background-color: ${({ theme }) => theme.palette.background.azure};\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n font-size: 3rem;\r\n z-index: 99;\r\n`;\r\n\r\nconst SpinnerElement = styled.div`\r\n display: inline-block;\r\n\r\n &:after {\r\n content: \" \";\r\n display: block;\r\n width: 1em;\r\n height: 1em;\r\n margin: 0.2em;\r\n border-radius: 50%;\r\n border: 0.2em solid ${({ theme }) => theme.palette.blue.medium};\r\n border-color: ${({ theme }) => theme.palette.blue.medium} transparent\r\n ${({ theme }) => theme.palette.blue.medium} transparent;\r\n animation: lds-dual-ring 1.2s linear infinite;\r\n }\r\n @keyframes lds-dual-ring {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n`;\r\n\r\nconst Spinner = ({ relativeToParent }) => (\r\n \r\n \r\n \r\n);\r\n\r\nSpinner.propTypes = {\r\n relativeToParent: PropTypes.bool,\r\n};\r\n\r\nSpinner.defaultProps = {\r\n relativeToParent: false,\r\n};\r\nexport default Spinner;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport styled from \"styled-components\";\r\nimport StepButton from \"components/views/StepButton\";\r\nimport Spinner from \"components/views/atoms/Spinner\";\r\n\r\nconst Wrapper = styled.ul`\r\n display: grid;\r\n grid-gap: ${({ theme }) => theme.spacer}px;\r\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\r\n position: relative;\r\n\r\n &.loading {\r\n min-height: 100px;\r\n }\r\n\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n grid-template-columns: repeat(auto-fit, minmax(275px, 1fr));\r\n }\r\n`;\r\n\r\nconst StepsListView = ({ className, list, onClick }) => {\r\n const classes = [\"StepsListView\"];\r\n\r\n if (className) classes.push(className);\r\n if (list === undefined) classes.push(\"loading\");\r\n\r\n function handleClick(item) {\r\n return () => onClick(item);\r\n }\r\n\r\n return (\r\n \r\n {list === undefined && }\r\n {list &&\r\n list.map((item) => (\r\n
  • \r\n \r\n
  • \r\n ))}\r\n
    \r\n );\r\n};\r\n\r\nStepsListView.displayName = \"StepsListView\";\r\n\r\nStepsListView.propTypes = {\r\n className: PropTypes.string,\r\n list: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n label: PropTypes.string,\r\n })\r\n ),\r\n onClick: PropTypes.func,\r\n};\r\n\r\nStepsListView.defaultProps = {\r\n className: null,\r\n list: undefined,\r\n onClick: () => {},\r\n};\r\n\r\nexport default StepsListView;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useManufacturers } from \"api/hooks\";\r\nimport { useLocation, useNavigate } from \"react-router-dom\";\r\nimport queryString from \"query-string\";\r\n\r\nimport StepsListView from \"../views/StepsListView\";\r\n\r\nconst ManufacturersList = ({ className }) => {\r\n const classes = [\"ManufacturersList\"];\r\n if (className) classes.push(className);\r\n\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n\r\n function handleClick(item) {\r\n const { iframe = false } = queryString.parse(location.search);\r\n\r\n if (item.engine_types_id && item.specifications_id) {\r\n navigate(`search_selector?manufacturerid=${item.id}&iframe=${iframe}`);\r\n } else {\r\n if (item.engine_types_id) {\r\n navigate(\r\n `/engine_model_group?manufacturerid=${item.id}&groupid=${item.engine_types_id}&iframe=${iframe}`\r\n );\r\n }\r\n\r\n if (item.specifications_id) {\r\n navigate(\r\n `/specification_group?manufacturerid=${item.id}&groupid=${item.specifications_id}&iframe=${iframe}`\r\n );\r\n }\r\n }\r\n }\r\n\r\n const { data } = useManufacturers();\r\n // mapping the data list\r\n const steps = data\r\n ? data.map((d) => {\r\n const label = d.name;\r\n return {\r\n label,\r\n key: d.id,\r\n ...d,\r\n };\r\n })\r\n : data;\r\n return ;\r\n};\r\n\r\nManufacturersList.displayName = \"ManufacturersList\";\r\n\r\nManufacturersList.propTypes = {\r\n className: PropTypes.string,\r\n};\r\n\r\nManufacturersList.defaultProps = {\r\n className: null,\r\n};\r\n\r\nexport default ManufacturersList;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport styled from \"styled-components\";\r\nimport { ReactComponent as Chevron } from \"assets/svg/chevronRight.svg\";\r\n\r\nconst Wrapper = styled.button`\r\n border-radius: ${({ theme }) => theme.radius.large}px;\r\n border: 1px solid ${({ theme }) => theme.palette.primary};\r\n display: flex;\r\n align-items: center;\r\n padding: ${({ theme }) => theme.spacer}px;\r\n padding-right: 0;\r\n background-color: ${({ theme }) => theme.palette.white};\r\n ${({ theme }) => theme.resFontSize.medium};\r\n width: 100%;\r\n\r\n > .contentWrapper {\r\n flex-grow: 1;\r\n border-right: 1px solid ${({ theme }) => theme.palette.blue.lighter};\r\n padding: 0 ${({ theme }) => theme.spacer * 2}px;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n svg.chevron {\r\n flex-shrink: 0;\r\n height: 1.2rem;\r\n margin: 0 ${({ theme }) => theme.spacer * 2}px;\r\n }\r\n\r\n @media print {\r\n display: none;\r\n }\r\n`;\r\n\r\nconst OutlinedLink = ({ className, children, onClick }) => {\r\n const classes = [\"OutlinedLink\"];\r\n if (className) classes.push(className);\r\n\r\n return (\r\n \r\n
    {children}
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nOutlinedLink.displayName = \"OutlinedLink\";\r\n\r\nOutlinedLink.propTypes = {\r\n className: PropTypes.string,\r\n children: PropTypes.node.isRequired,\r\n onClick: PropTypes.node\r\n};\r\n\r\nOutlinedLink.defaultProps = {\r\n className: null,\r\n onClick: null\r\n};\r\n\r\nexport default OutlinedLink;\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n \"data-name\": \"Ellipse 5\",\n cx: 0.965,\n cy: 0.965,\n r: 0.965,\n transform: \"translate(4.245 18.584)\",\n fill: \"#17457a\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 65\",\n d: \"M5.209 18.583a.965.965 0 10.687.286.965.965 0 00-.687-.286z\",\n fill: \"#17457a\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 66\",\n d: \"M4.488 24.754a4.481 4.481 0 01-2.916-7.89l7.283-6.218A8.256 8.256 0 0119.789.576l1.284.519-5.484 5.479 2.594 2.594 5.482-5.484.519 1.284a8.187 8.187 0 01-1.844 8.864 8.187 8.187 0 01-8.231 2.07L7.89 23.187a4.5 4.5 0 01-3.225 1.565zm12.271-22.94a6.445 6.445 0 00-5.978 8.772l.246.613-8.256 7.063a2.645 2.645 0 00-.292 3.728c.044.051.092.1.139.15a2.753 2.753 0 001.976.776 2.622 2.622 0 001.906-.917l7.06-8.257.611.248a6.357 6.357 0 006.864-1.455 6.4 6.4 0 001.835-5.462l-4.688 4.7-5.188-5.199 4.69-4.69a6.238 6.238 0 00-.925-.07zm4.934 11.38\",\n fill: \"#17457a\"\n});\n\nfunction SvgSpanner(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n \"data-name\": \"Group 163\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24.773 24.754\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSpanner);\nexport default __webpack_public_path__ + \"static/media/spanner.6731bc50.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport styled from \"styled-components\";\r\nimport ReactMarkdown from \"react-markdown\";\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n color: ${({ theme }) => theme.palette.primary};\r\n\r\n svg {\r\n height: 2.5rem;\r\n flex-shrink: 0;\r\n margin-right: ${({ theme }) => theme.spacer * 2}px;\r\n }\r\n .message {\r\n text-align: left;\r\n p:last-child {\r\n margin-bottom: 0;\r\n }\r\n }\r\n`;\r\n\r\nconst Base = ({ className, Svg, label }) => {\r\n const classes = [\"Base\"];\r\n if (className) classes.push(className);\r\n\r\n return (\r\n \r\n \r\n {label}\r\n \r\n );\r\n};\r\n\r\nBase.displayName = \"Base\";\r\n\r\nBase.propTypes = {\r\n className: PropTypes.string,\r\n Svg: PropTypes.elementType.isRequired,\r\n label: PropTypes.string.isRequired,\r\n};\r\n\r\nBase.defaultProps = {\r\n className: null,\r\n};\r\n\r\nexport default Base;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { ReactComponent as Spanner } from \"assets/svg/spanner.svg\";\r\nimport T from \"i18n\";\r\nimport Base from \"./Base\";\r\n\r\nconst MoreHelp = ({ className }) => {\r\n const classes = [\"MoreHelp\"];\r\n if (className) classes.push(className);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nMoreHelp.displayName = \"MoreHelp\";\r\n\r\nMoreHelp.propTypes = {\r\n className: PropTypes.string,\r\n};\r\n\r\nMoreHelp.defaultProps = {\r\n className: null,\r\n};\r\n\r\nexport default MoreHelp;\r\n","import ReactGA from \"react-ga\";\r\n\r\nexport default {\r\n pageview: (params) => {\r\n if (window.OnetrustActiveGroups != null && window.OnetrustActiveGroups.split(',').includes('C0002')) {\r\n ReactGA.pageview(params);\r\n }\r\n },\r\n event: ({ category, action, label }) => {\r\n if (window.OnetrustActiveGroups != null && window.OnetrustActiveGroups.split(',').includes('C0002')) {\r\n ReactGA.event({ category, action, label });\r\n }\r\n },\r\n};\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport OutlinedLink from \"components/views/atoms/OutlinedLink\";\r\nimport MoreHelp from \"components/views/atoms/OutlinedLinkContent/MoreHelp\";\r\nimport GA from \"components/utils/GA\";\r\n\r\n\r\nconst navigateHelpLink = (_lbl) => {\r\n GA.event({\r\n category: \"homepage\",\r\n action: \"help_link\",\r\n label: _lbl,\r\n });\r\n window.open(_lbl, '_blank');\r\n}\r\n\r\nconst OutlinedMoreHelp = ({LinkLabel, className}) => {\r\n const classes = [\"OutlinedMoreHelp\"];\r\n\r\n if (className) classes.push(className);\r\n\r\n return (\r\n navigateHelpLink(LinkLabel)}>\r\n \r\n \r\n );\r\n};\r\n\r\nOutlinedMoreHelp.displayName = \"OutlinedMoreHelp\";\r\n\r\nOutlinedMoreHelp.propTypes = {\r\n className: PropTypes.string,\r\n LinkLabel : PropTypes.string\r\n};\r\n\r\nOutlinedMoreHelp.defaultProps = {\r\n className: null,\r\n LinkLabel : \"\"\r\n};\r\n\r\nexport default OutlinedMoreHelp;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport styled from \"styled-components\";\r\n\r\nconst Wrapper = styled.div`\r\n display: grid;\r\n grid-gap: ${({ theme }) => theme.spacer}px;\r\n grid-template-columns: 1fr;\r\n\r\n ${({ theme }) => theme.mediaQueries.large} {\r\n grid-template-columns: repeat(3, 1fr);\r\n grid-gap: ${({ theme }) => theme.spacer * 2}px;\r\n }\r\n\r\n &.HelpButton {\r\n ${({ theme }) => theme.mediaQueries.large} {\r\n grid-template-columns: repeat(2, 1fr);\r\n grid-gap: ${({ theme }) => theme.spacer * 2}px;\r\n }\r\n }\r\n`;\r\n\r\nconst OutlinedLinksGrid = ({ className, children }) => {\r\n const classes = [\"OutlinedLinksGrid\"];\r\n\r\n if (children && children.type && children.type.displayName === 'OutlinedMoreHelp') {\r\n classes.push('HelpButton');\r\n }\r\n\r\n if (className) classes.push(className);\r\n\r\n return {children};\r\n};\r\n\r\nOutlinedLinksGrid.displayName = \"OutlinedLinksGrid\";\r\n\r\nOutlinedLinksGrid.propTypes = {\r\n className: PropTypes.string,\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nOutlinedLinksGrid.defaultProps = {\r\n className: null,\r\n};\r\n\r\nexport default OutlinedLinksGrid;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport styled from \"styled-components\";\r\nimport T from \"i18n\";\r\nimport ReactMarkdown from \"react-markdown\";\r\nimport TextSection from \"./atoms/TextSection\";\r\n\r\nconst Wrapper = styled(TextSection)``;\r\n\r\nconst EndOfPageNotes = ({ className }) => {\r\n const classes = [\"EndOfPageNotes\"];\r\n if (className) classes.push(className);\r\n\r\n return (\r\n \r\n \r\n {T({ \r\n path: \"common.endOfpageNotes\"\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\nEndOfPageNotes.displayName = \"EndOfPageNotes\";\r\n\r\nEndOfPageNotes.propTypes = {\r\n className: PropTypes.string,\r\n};\r\n\r\nEndOfPageNotes.defaultProps = {\r\n className: null,\r\n};\r\n\r\nexport default EndOfPageNotes;\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 79\",\n d: \"M13.741 25.865H2.425A2.426 2.426 0 010 23.44v-6.238a7.261 7.261 0 013.233-6.048l7.493-5 .9 1.345-7.486 4.99a5.645 5.645 0 00-2.52 4.707v6.238a.809.809 0 00.808.808h11.313a.809.809 0 00.808-.808V6.466h1.617V23.44a2.426 2.426 0 01-2.425 2.425z\",\n fill: \"#17457a\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 80\",\n d: \"M16.974 4.85h-6.467a.809.809 0 01-.808-.809V.808A.809.809 0 0110.507 0h6.466a.809.809 0 01.808.808v3.233a.809.809 0 01-.807.809zm-5.658-1.617h4.85V1.617h-4.85z\",\n fill: \"#17457a\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 81\",\n d: \"M8.649 21.953a2.994 2.994 0 01-2.991-2.991 15.573 15.573 0 012.3-5.968.839.839 0 011.167-.212.85.85 0 01.212.212 15.544 15.544 0 012.3 5.968 2.994 2.994 0 01-2.988 2.991zm0-6.887a10.768 10.768 0 00-1.374 3.9 1.374 1.374 0 102.748 0 10.708 10.708 0 00-1.374-3.9z\",\n fill: \"#17457a\"\n});\n\nfunction SvgOilCan(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n \"data-name\": \"Group 211\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 17.782 25.865\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgOilCan);\nexport default __webpack_public_path__ + \"static/media/oilCan.21a3682a.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { ReactComponent as OilCan } from \"assets/svg/oilCan.svg\";\r\nimport T from \"i18n\";\r\nimport Base from \"./Base\";\r\n\r\nconst MSLA = ({ className }) => {\r\n const classes = [\"MSLA\"];\r\n if (className) classes.push(className);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nMSLA.displayName = \"MSLA\";\r\n\r\nMSLA.propTypes = {\r\n className: PropTypes.string,\r\n};\r\n\r\nMSLA.defaultProps = {\r\n className: null,\r\n};\r\n\r\nexport default MSLA;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport OutlinedLink from \"components/views/atoms/OutlinedLink\";\r\nimport MSLA from \"components/views/atoms/OutlinedLinkContent/MSLA\";\r\nimport GA from \"components/utils/GA\";\r\n\r\nconst navigateMsla = (_lbl) => {\r\n GA.event({\r\n category: \"homepage\",\r\n action: \"msla_link\",\r\n label: _lbl,\r\n });\r\n window.open(_lbl, '_blank');\r\n}\r\n\r\nconst OutlinedMSLA = ({ className, LinkLabel }) => {\r\n const classes = [\"OutlinedMSLA\"];\r\n if (className) classes.push(className);\r\n\r\n return (\r\n navigateMsla(LinkLabel)}>\r\n \r\n \r\n );\r\n};\r\n\r\nOutlinedMSLA.displayName = \"OutlinedMSLA\";\r\n\r\nOutlinedMSLA.propTypes = {\r\n className: PropTypes.string,\r\n LinkLabel : PropTypes.string\r\n};\r\n\r\nOutlinedMSLA.defaultProps = {\r\n className: null,\r\n LinkLabel : \"\"\r\n};\r\n\r\nexport default OutlinedMSLA;\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 76\",\n d: \"M9.999 21.332h-4a.667.667 0 01-.665-.668v-2.666A.667.667 0 016 17.332h4a.667.667 0 01.666.666v2.666a.667.667 0 01-.667.668zm-3.332-1.334h2.667v-1.333H6.667z\",\n fill: \"#17457a\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 77\",\n d: \"M10.666 16.666H9.333v-1.613a.667.667 0 01.485-.641 6.665 6.665 0 10-3.638 0 .665.665 0 01.487.641v1.613H5.334v-1.125a8 8 0 115.332 0z\",\n fill: \"#17457a\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 78\",\n d: \"M4.001 8.669H2.668v-.668A5.332 5.332 0 018 2.669h.668v1.333H8a4 4 0 00-4 4z\",\n fill: \"#17457a\"\n});\n\nfunction SvgBulb(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n \"data-name\": \"Group 209\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 21.331\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBulb);\nexport default __webpack_public_path__ + \"static/media/bulb.10e9e70a.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { ReactComponent as Bulb } from \"assets/svg/bulb.svg\";\r\nimport T from \"i18n\";\r\nimport Base from \"./Base\";\r\n\r\nconst VisitHub = ({ className }) => {\r\n const classes = [\"VisitHub\"];\r\n if (className) classes.push(className);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nVisitHub.displayName = \"VisitHub\";\r\n\r\nVisitHub.propTypes = {\r\n className: PropTypes.string,\r\n};\r\n\r\nVisitHub.defaultProps = {\r\n className: null,\r\n};\r\n\r\nexport default VisitHub;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport OutlinedLink from \"components/views/atoms/OutlinedLink\";\r\nimport VisitHub from \"components/views/atoms/OutlinedLinkContent/VisitHub\";\r\nimport GA from \"components/utils/GA\";\r\n\r\nconst navigateVisitHub = (_lbl) => {\r\n GA.event({\r\n category: \"homepage\",\r\n action: \"visit_hub_link\",\r\n label: _lbl,\r\n });\r\n window.open(_lbl, '_blank');\r\n}\r\n\r\nconst OuttlinedVisitHub = ({ LinkLabel, className, doRender }) => {\r\n const classes = [\"OuttlinedVisitHub\"];\r\n if (className) classes.push(className);\r\n if(doRender !== \"null\"){\r\n return (\r\n navigateVisitHub(LinkLabel)}>\r\n \r\n \r\n );\r\n }\r\n return (\r\n <>\r\n );\r\n};\r\n\r\nOuttlinedVisitHub.displayName = \"OuttlinedVisitHub\";\r\n\r\nOuttlinedVisitHub.propTypes = {\r\n className: PropTypes.string,\r\n LinkLabel : PropTypes.string,\r\n doRender : PropTypes.string\r\n};\r\n\r\nOuttlinedVisitHub.defaultProps = {\r\n className: null,\r\n LinkLabel : \"\",\r\n doRender : \"\"\r\n};\r\n\r\nexport default OuttlinedVisitHub;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { ReactComponent as Spanner } from \"assets/svg/spanner.svg\";\r\nimport T from \"i18n\";\r\nimport Base from \"./Base\";\r\n\r\nconst MoreTechInfo = ({ className }) => {\r\n const classes = [\"MoreTechInfo\"];\r\n if (className) classes.push(className);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nMoreTechInfo.displayName = \"MoreTechInfo\";\r\n\r\nMoreTechInfo.propTypes = {\r\n className: PropTypes.string,\r\n};\r\n\r\nMoreTechInfo.defaultProps = {\r\n className: null,\r\n};\r\n\r\nexport default MoreTechInfo;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport OutlinedLink from \"components/views/atoms/OutlinedLink\";\r\nimport MoreTechInfo from \"components/views/atoms/OutlinedLinkContent/MoreTechInfo\";\r\nimport GA from \"components/utils/GA\";\r\n\r\nconst navigateTechInfo = (_lbl) => {\r\n GA.event({\r\n category: \"homepage\",\r\n action: \"tech_info_link\",\r\n label: _lbl,\r\n });\r\n window.open(_lbl, '_blank');\r\n}\r\n\r\nconst OutlinedMoreTechInfo = ({ LinkLabel, className }) => {\r\n const classes = [\"OutlinedMoreTechInfo\"];\r\n if (className) classes.push(className);\r\n\r\n return (\r\n navigateTechInfo(LinkLabel)}>\r\n \r\n \r\n );\r\n};\r\n\r\nOutlinedMoreTechInfo.displayName = \"OutlinedMoreTechInfo\";\r\n\r\nOutlinedMoreTechInfo.propTypes = {\r\n className: PropTypes.string, \r\n LinkLabel : PropTypes.string\r\n};\r\n\r\nOutlinedMoreTechInfo.defaultProps = {\r\n className: null,\r\n LinkLabel : \"\"\r\n};\r\n\r\nexport default OutlinedMoreTechInfo;\r\n","export default __webpack_public_path__ + \"static/media/triangleDown.f86b0461.svg\";","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport styled from \"styled-components\";\r\nimport Triangle from \"assets/svg/triangleDown.svg\";\r\n\r\nconst Wrapper = styled.div`\r\n overflow-x: auto;\r\n border-left: 1px solid ${({ theme }) => theme.palette.blue.lighter};\r\n`;\r\n\r\nconst Table = styled.table`\r\n border-collapse: collapse;\r\n @media print {\r\n font-size:12px;\r\n width:100%;\r\n }\r\n th {\r\n color: ${({ theme }) => theme.palette.white};\r\n background-color: ${({ theme }) => theme.palette.blue.medium};\r\n border: 1px solid ${({ theme }) => theme.palette.blue.light};\r\n\r\n button {\r\n @media print {\r\n font-size:12px;\r\n }\r\n background-color: transparent;\r\n border: none;\r\n color: inherit;\r\n padding: ${({ theme }) => theme.spacer}px;\r\n @media print {\r\n padding:10px 5px;\r\n }\r\n font-size: inherit;\r\n width: 100%;\r\n text-align: left;\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n &:focus {\r\n box-shadow: none;\r\n }\r\n\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n padding-right: ${({ theme }) => theme.spacer * 2.6}px;\r\n &::before,\r\n &::after {\r\n position: absolute;\r\n right: 8px;\r\n\r\n content: \"\";\r\n width: 12px;\r\n height: 12px;\r\n transform-origin: 50%;\r\n background-image: url(${Triangle});\r\n background-size: contain;\r\n background-repeat: no-repeat;\r\n\r\n opacity: 0.3;\r\n }\r\n\r\n &:before {\r\n transform: translateY(7px);\r\n }\r\n &:after {\r\n transform: translateY(-8px) rotate(180deg);\r\n }\r\n\r\n &.ascending {\r\n &:after {\r\n opacity: 0.8;\r\n }\r\n }\r\n &.descending {\r\n &:before {\r\n opacity: 0.8;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n td {\r\n padding: ${({ theme }) => theme.spacer}px;\r\n text-align: center;\r\n border: 1px solid ${({ theme }) => theme.palette.blue.lighter};\r\n svg {\r\n width: 0.8rem;\r\n margin: 0 1px;\r\n @media print {\r\n width:8px;\r\n }\r\n }\r\n }\r\n\r\n th:first-child {\r\n background-color: ${({ theme }) => theme.palette.blue.darker};\r\n \r\n }\r\n\r\n th:first-child,\r\n td:first-child {\r\n position: sticky;\r\n z-index: 2;\r\n left: 0px;\r\n text-align: left;\r\n border-left: none;\r\n min-width: unset;\r\n @media print {\r\n min-width:170px;\r\n }\r\n\r\n ${({ theme }) => theme.mediaQueries.large} {\r\n min-width: 250px;\r\n }\r\n }\r\n\r\n tbody {\r\n tr {\r\n td {\r\n background-color: ${({ theme }) => theme.palette.background.azure};\r\n }\r\n }\r\n\r\n tr:nth-child(even) {\r\n td {\r\n background-color: ${({ theme }) => theme.palette.white};\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst TableComponent = ({ className, children }) => {\r\n const classes = [\"Table\"];\r\n if (className) classes.push(className);\r\n\r\n return (\r\n \r\n {children}
    \r\n
    \r\n );\r\n};\r\n\r\nTableComponent.displayName = \"Table\";\r\n\r\nTableComponent.propTypes = {\r\n className: PropTypes.string,\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nTableComponent.defaultProps = {\r\n className: null,\r\n};\r\n\r\nexport default TableComponent;\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 43\",\n d: \"M5.353 0C4.784 2.561 0 6.989 0 10.19a5.359 5.359 0 005.353 5.353 5.258 5.258 0 005.353-5.353c0-3.13-4.553-7.594-5.353-10.19zM1.298 7.95a6.32 6.32 0 004.464 6.829A4.628 4.628 0 011.298 7.95z\",\n fill: \"#0d67b3\"\n});\n\nfunction SvgDroplet(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 10.706 15.543\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDroplet);\nexport default __webpack_public_path__ + \"static/media/droplet.a981f371.svg\";\nexport { ForwardRef as ReactComponent };","/* eslint-disable react/no-array-index-key */\r\nimport React from \"react\";\r\nimport { ReactComponent as Droplet } from \"assets/svg/droplet.svg\";\r\n\r\nconst attributeIds = [\r\n \"name\",\r\n \"sulfated_ash_percentage\",\r\n \"tbn\",\r\n \"sae_grade\",\r\n \"performance_odi\",\r\n \"wear_protection\",\r\n \"oxidation_nitration\",\r\n \"engine_cleanliness\",\r\n];\r\n\r\nfunction createDroplets(value) {\r\n return Array.from(new Array(value)).map((_val, index) => (\r\n \r\n ));\r\n}\r\n\r\nfunction countDecimals(value) { \r\n if ((value % 1) !== 0) \r\n return value.toString().split(\".\")[1].length; \r\n return 0;\r\n};\r\n\r\nfunction renderSulphurAshPercentage(value) {\r\n const decimals = countDecimals(value);\r\n\r\n return `${decimals > 1 ? value.toFixed(2): value.toFixed(1) }%`\r\n}\r\n\r\nconst colRendererMap = {\r\n engine_cleanliness: createDroplets,\r\n oxidation_nitration: createDroplets,\r\n performance_odi: createDroplets,\r\n sulfated_ash_percentage: renderSulphurAshPercentage,\r\n wear_protection: createDroplets,\r\n};\r\n\r\nfunction colRenderer(colName, value) {\r\n return colRendererMap[colName] ? colRendererMap[colName](value) : value;\r\n}\r\n\r\nexport { attributeIds, colRenderer };\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport styled from \"styled-components\";\r\nimport Table from \"components/views/atoms/Table\";\r\nimport Spinner from \"components/views/atoms/Spinner\";\r\nimport T from \"i18n\";\r\n\r\nimport {\r\n attributeIds,\r\n colRenderer,\r\n} from \"components/utils/ProductAttributesMapping\";\r\n\r\nconst Wrapper = styled.div`\r\n position: relative;\r\n\r\n .legend {\r\n font-size:0.8em;\r\n margin-top:10px;\r\n\r\n .legendItem {\r\n margin:0 30px 0 10px;\r\n display:block;\r\n width:100%;\r\n margin-bottom:5px;\r\n\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n display:inline-block;\r\n width:auto;\r\n }\r\n\r\n .icon {\r\n padding-right:10px;\r\n\r\n &.syntheticOil {\r\n color:red;\r\n }\r\n\r\n &.bioGas {\r\n color:green;\r\n }\r\n }\r\n }\r\n\r\n span {\r\n vertical-align: text-top;\r\n }\r\n }\r\n\r\n &.loading {\r\n min-height: 100px;\r\n }\r\n\r\n .naturalGasProduct { \r\n &:after {\r\n content: \" (N)\"; \r\n } \r\n }\r\n\r\n .syntheticProduct { \r\n &:after {\r\n content: \" (S)\";\r\n color: red; \r\n }\r\n }\r\n\r\n .bioProduct { \r\n color:green; \r\n &:after {\r\n content: \" (B)\";\r\n } \r\n }\r\n\r\n tr {\r\n td {\r\n a{\r\n color:#004C9B;\r\n cursor:pointer;\r\n display: inline-block;\r\n text-decoration:none;\r\n outline: none;\r\n &:focus, &:hover{\r\n text-decoration:underline;\r\n }\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst ProductsTableView = ({ className, list, showLegend }) => {\r\n const classes = [\"ProductsTableView\"];\r\n if (className) classes.push(className);\r\n if (list === undefined) classes.push(\"loading\");\r\n const [orderBy, setOrderBy] = React.useState();\r\n const clonedList = list && [...list];\r\n\r\n if (orderBy)\r\n clonedList.sort((a, b) => {\r\n switch (typeof a[orderBy.colName]) {\r\n case \"number\":\r\n return orderBy.ascending\r\n ? a[orderBy.colName] - b[orderBy.colName]\r\n : b[orderBy.colName] - a[orderBy.colName];\r\n\r\n case \"string\":\r\n if (orderBy.ascending) {\r\n return a[orderBy.colName].toUpperCase() >\r\n b[orderBy.colName].toUpperCase()\r\n ? 1\r\n : -1;\r\n }\r\n return a[orderBy.colName].toUpperCase() >\r\n b[orderBy.colName].toUpperCase()\r\n ? -1\r\n : 1;\r\n\r\n default:\r\n return 1;\r\n }\r\n });\r\n\r\n function onColClick(colName) {\r\n return () => {\r\n setOrderBy((orderData) => ({\r\n colName,\r\n ascending:\r\n orderData?.colName === colName ? !orderData.ascending : false,\r\n }));\r\n };\r\n }\r\n\r\n const legendSyntheticOil = T({ path: \"productTable.syntheticOil\" });\r\n const legendNaturalGas = T({ path: \"productTable.includesNaturalGas\" });\r\n const legendSuitableBioLandSewage = T({ path: \"productTable.suitableBioLandSewage\" });\r\n \r\n const attributeLabelsMap = {\r\n name: T({path: \"productTable.productName\"}),\r\n engine_cleanliness: T({path: \"productTable.engineCleanliness\"}),\r\n oxidation_nitration: T({path: \"productTable.oxidationResistance\"}),\r\n performance_odi: T({path: \"productTable.oilDrainInterval\"}),\r\n sae_grade: T({path: \"productTable.saeGrade\"}),\r\n sulfated_ash_percentage: T({path: \"productTable.sulphatedAsh\"}),\r\n tbn: T({path: \"productTable.totalBaseNumber\"}),\r\n wear_protection: T({path: \"productTable.wearProtection\"}),\r\n };\r\n \r\n return (\r\n \r\n {clonedList === undefined && }\r\n {clonedList && (\r\n <>\r\n \r\n \r\n \r\n {attributeIds.map((colName) => {\r\n const isOrdered = orderBy?.colName === colName;\r\n const orderDirection = orderBy?.ascending\r\n ? \"ascending\"\r\n : \"descending\";\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n {clonedList?.map((prod) => { \r\n const categories = [];\r\n if (prod.natural_gas_product) {\r\n categories.push(\"naturalGasProduct\");\r\n } \r\n if (prod.synthetic_oil_product) {\r\n categories.push(\"syntheticProduct\");\r\n }\r\n if (prod.suitable_for_bio_landfill_sewage) {\r\n categories.push(\"bioProduct\");\r\n }\r\n \r\n return (\r\n \r\n {attributeIds.map((colName) => (\r\n \r\n ))}\r\n \r\n );\r\n })}\r\n \r\n
    \r\n \r\n {attributeLabelsMap[colName]}\r\n \r\n
    \r\n {(colName === \"name\" && (prod.product_url || prod.product_page_link)\r\n ? (\r\n \r\n \r\n {colRenderer(colName, prod[colName])} \r\n \r\n {categories.map((cat) => )}\r\n \r\n ) \r\n : colRenderer(colName, prod[colName]))}\r\n
    \r\n \r\n {(!showLegend ? null : \r\n (\r\n

    \r\n \r\n (S)\r\n {legendSyntheticOil}\r\n \r\n \r\n (N)\r\n {legendNaturalGas}\r\n \r\n \r\n (B)\r\n {legendSuitableBioLandSewage}\r\n \r\n

    \r\n )\r\n )}\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nProductsTableView.displayName = \"ProductsTableView\";\r\n\r\nProductsTableView.propTypes = {\r\n className: PropTypes.string,\r\n list: PropTypes.arrayOf(PropTypes.shape({})),\r\n showLegend: PropTypes.bool\r\n};\r\n\r\nProductsTableView.defaultProps = {\r\n className: null,\r\n list: undefined,\r\n showLegend: true,\r\n};\r\n\r\nexport default ProductsTableView;\r\n","/* eslint-disable react/no-array-index-key */\r\nimport React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport { useProducts } from \"api/hooks\";\r\nimport ProductsTableView from \"components/views/ProductTableView\";\r\n\r\nconst ProductsList = ({ className }) => {\r\n const classes = [\"ProductsList\"];\r\n if (className) classes.push(className);\r\n\r\n const { data } = useProducts();\r\n\r\n return ;\r\n};\r\n\r\nProductsList.displayName = \"ProductsList\";\r\n\r\nProductsList.propTypes = {\r\n className: PropTypes.string,\r\n};\r\n\r\nProductsList.defaultProps = {\r\n className: null,\r\n};\r\n\r\nexport default ProductsList;\r\n","export default __webpack_public_path__ + \"static/media/footer-cap-mesh.48150e88.png\";","export default __webpack_public_path__ + \"static/media/footer-brand-logos.8f050fce.svg\";","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport styled from \"styled-components\";\r\nimport meshImg from \"assets/png/footer-cap-mesh.png\";\r\nimport FooterLogos from \"assets/svg/footer-brand-logos.svg\";\r\n\r\nconst Top = styled.div`\r\n background-image: linear-gradient(to right, #06459f, #33a2df);\r\n position: relative;\r\n &:before {\r\n position: absolute;\r\n content: \"\";\r\n left: 0;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n background-image: url(${meshImg});\r\n opacity: 0.5;\r\n }\r\n color: ${({ theme }) => theme.palette.white};\r\n font-weight: bold;\r\n padding: ${({ theme }) => theme.spacer * 1.5}px;\r\n\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n padding: ${({ theme }) => theme.spacer * 1.5}px\r\n ${({ theme }) => theme.spacer * 4}px;\r\n }\r\n`;\r\n\r\nconst Medium = styled.div`\r\n background-color: ${({ theme }) => theme.palette.grey.darker};\r\n color: ${({ theme }) => theme.palette.white};\r\n padding: ${({ theme }) => theme.spacer}px;\r\n\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n padding: ${({ theme }) => theme.spacer * 2}px\r\n ${({ theme }) => theme.spacer * 4}px;\r\n }\r\n img {\r\n height: 1em;\r\n margin-right: ${({ theme }) => theme.spacer}px;\r\n }\r\n a {\r\n display: flex;\r\n align-items: center;\r\n color: ${({ theme }) => theme.palette.white};\r\n padding: ${({ theme }) => theme.spacer}px 0;\r\n }\r\n`;\r\n\r\nconst Bottom = styled.div`\r\n display: flex;\r\n \r\n\r\n background-color: ${({ theme }) => theme.palette.grey.darkest};\r\n padding: ${({ theme }) => theme.spacer * 2}px ${({ theme }) => theme.spacer}px;\r\n flex-flow: row wrap;\r\n\r\n .corporate {\r\n background: url(${FooterLogos}) no-repeat;\r\n background-position: -300px center;\r\n background-size: 1000px 30px;\r\n width: 122px;\r\n height: 33px;\r\n margin-right: ${({ theme }) => theme.spacer * 5}px;\r\n margin-bottom: ${({ theme }) => theme.spacer * 0.5}px;\r\n }\r\n\r\n\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n padding: ${({ theme }) => theme.spacer * 3}px\r\n ${({ theme }) => theme.spacer * 4}px; \r\n\r\n .corporate {\r\n margin-bottom: 0;\r\n }\r\n }\r\n\r\n a {\r\n text-indent: -9999px;\r\n }\r\n`;\r\n\r\nconst IconWrapper = styled.div` \r\n\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n flex-basis:50%;\r\n }\r\n`;\r\n\r\nconst CopyrightWrapper = styled.div`\r\n width: -webkit-fill-available; \r\n margin-top: 25px; \r\n\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n margin-top: 15px;\r\n flex-basis:50%;\r\n text-align:left;\r\n } \r\n\r\n`;\r\n\r\nconst LinkSection = styled.div`\r\n\r\n display:flex;\r\n //justify-content: flex-end;\r\n flex-flow: row wrap;\r\n\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n justify-content: flex-end;\r\n }\r\n\r\n #ot-sdk-btn{\r\n background: none!important;\r\n border: none!important;\r\n padding: 0!important;\r\n /*optional*/\r\n font-family: inherit!important;\r\n /*input has OS specific font-family*/\r\n color: #fff!important;\r\n text-decoration: none;\r\n cursor: pointer;\r\n float:right;\r\n font-size: 12px!important;\r\n &:hover{\r\n text-decoration: underline;\r\n }\r\n }\r\n\r\na, button {\r\n text-indent: 0;\r\n float: right;\r\n font-size: 12px;\r\n color:#fff;\r\n\r\n margin: 0 10px 0 0;\r\n\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n margin: 0 0 0 10px;\r\n }\r\n \r\n \r\n\r\n}\r\n\r\n`;\r\n\r\n\r\nconst LinksUl = styled.ul`\r\n display: flex;\r\n li {\r\n margin-right: ${({ theme }) => theme.spacer * 2.5}px;\r\n }\r\n a {\r\n background: url(${FooterLogos}) no-repeat;\r\n background-size: 1000px 30px;\r\n height: 33px;\r\n padding: 0;\r\n }\r\n\r\n .exxon-logo {\r\n background-position: -600px -1px;\r\n width: 38px;\r\n }\r\n\r\n .mobil-logo {\r\n background-position: -698px 0;\r\n width: 35px;\r\n }\r\n\r\n .esso-logo {\r\n background-position: -798px 0;\r\n width: 33px;\r\n }\r\n\r\n .xto-logo {\r\n background-position: -898px 0;\r\n width: 40px;\r\n }\r\n`;\r\n\r\nconst Links = ({ list }) => (\r\n \r\n {list.map((l) => (\r\n
  • \r\n \r\n {l.name}\r\n \r\n
  • \r\n ))}\r\n
    \r\n);\r\n\r\nLinks.propTypes = {\r\n list: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n name: PropTypes.string,\r\n href: PropTypes.string,\r\n })\r\n ).isRequired,\r\n};\r\n\r\nexport { CopyrightWrapper, IconWrapper, Top, Medium, Bottom, Links, LinkSection };\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport styled from \"styled-components\";\r\nimport T from \"i18n\";\r\nimport globe from \"assets/png/icon-globe-white.png\";\r\nimport globalState from \"globalState\";\r\nimport { CopyrightWrapper, IconWrapper, Medium, Bottom, Links, LinkSection } from \"./FooterSectionsSt\";\r\n\r\nconst Wrapper = styled.div`\r\n a {\r\n border: none;\r\n }\r\n\r\n .copyright { \r\n display:flex;\r\n margin: 0;\r\n font-family: 'EMprint Semibold',Arial,'Helvetica Neue',Helvetica,'Lucida Grande',sans-serif;\r\n font-size: 12px;\r\n color: #d4d4d4;\r\n text-align:left;\r\n margin-top:10px;\r\n\r\n ${({ theme }) => theme.mediaQueries.medium} {\r\n justify-content: flex-end;\r\n text-align:right;\r\n }\r\n }\r\n`;\r\n\r\nconst links = [\r\n {\r\n name: \"exxon-logo\",\r\n href: \"https://www.exxon.com/en\",\r\n },\r\n\r\n {\r\n name: \"mobil-logo\",\r\n href: \"https://www.global.mobil.com/en\",\r\n },\r\n\r\n {\r\n name: \"esso-logo\",\r\n href: \"https://www.esso.com\",\r\n },\r\n\r\n {\r\n name: \"xto-logo\",\r\n href: \"http://www.xtoenergy.com/\",\r\n },\r\n];\r\n\r\nconst Footer = ({ className }) => {\r\n const classes = [\"Footer\"];\r\n if (className) classes.push(className);\r\n const state = globalState();\r\n\r\n const locationCopy = T({ path: \"footer.selectLocation\" });\r\n const copyrightCopy = T({ path: \"copyright.text\" });\r\n const termsText = T({ path: \"footer.termsAndConditions.text\" });\r\n const termsLink = T({ path: \"footer.termsAndConditions.url\" });\r\n const privacyText = T({ path: \"footer.privacyPolicy.text\" });\r\n const privacyLink = T({ path: \"footer.privacyPolicy.url\" });\r\n\r\n return (\r\n !state.iframe.get() && (\r\n \r\n \r\n \r\n \"\"\r\n {locationCopy}\r\n\r\n \r\n \r\n \r\n \r\n \r\n corporate\r\n \r\n \r\n \r\n \r\n \r\n {privacyText}\r\n {termsText}\r\n \r\n \r\n \r\n {copyrightCopy}\r\n \r\n \r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nFooter.displayName = \"Footer\";\r\n\r\nFooter.propTypes = {\r\n className: PropTypes.string,\r\n};\r\n\r\nFooter.defaultProps = {\r\n className: null,\r\n};\r\n\r\nexport default Footer;\r\n","export default \"data:image/png;base64,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\"","import React, { useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport OneCol, { Row } from \"layouts/OneCol\";\r\nimport Header from \"components/views/Header\";\r\nimport T from \"i18n\";\r\nimport PageHeading from \"components/views/atoms/PageHeading\";\r\nimport TextSection from \"components/views/atoms/TextSection\";\r\nimport ReactMarkdown from \"react-markdown\";\r\nimport ProgressHeading from \"components/views/ProgressHeading\";\r\nimport ManufacturersList from \"components/containers/ManufacturersList\";\r\nimport OutlinedMoreHelp from \"components/views/OutlinedMoreHelp\";\r\nimport OutlinedLinksGrid from \"components/views/OutlinedLinksGrid\";\r\nimport EndOfPageNotes from \"components/views/EndOfPageNotes\";\r\nimport OutlinedMSLA from \"components/views/OutlinedMSLA\";\r\nimport OutlinedVisitHub from \"components/views/OutlinedVisitHub\";\r\nimport OutlinedMoreTechInfo from \"components/views/OutlinedMoreTechInfo\";\r\nimport ProductsTable from \"components/containers/ProductsTable\";\r\nimport Footer from \"components/views/atoms/Footer\";\r\n\r\nconst Home = ({ className }) => {\r\n\r\n useEffect(() => {\r\n const target = document.querySelectorAll(\"a[href='/comparisonList']\")[0];\r\n \r\n if (target) {\r\n // eslint-disable-next-line\r\n target.onclick = function(e) {\r\n e.preventDefault();\r\n const newTarget = document.getElementById('comparisonList');\r\n newTarget.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n }\r\n }\r\n });\r\n\r\n const classes = [\"Home\"];\r\n const visitHubCopy = T({ path: \"button.visitHub\" });\r\n\r\n if (className) classes.push(className);\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {T({ path: \"homePage.intro\", anchor: \"/comparisonList\" })}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n

    \r\n {T({ path: \"homePage.productComparisonListTitle\" })}\r\n

    \r\n \r\n {T({ path: \"homePage.productComparisonListBody\" })}\r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n