{"version":3,"sources":["webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./src/components/Footer/styles.js","webpack:///./src/components/Footer/index.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./src/components/Select/styled.js","webpack:///./src/components/Select/index.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./src/constants/index.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./src/components/HeaderHome/styles.js","webpack:///./src/components/HeaderHome/index.js","webpack:///./src/modules/v1/landingCars/CarCard/styles.js","webpack:///./src/components/SelectModel/styles.js","webpack:///./src/components/SelectModel/useSelectModel.js","webpack:///./src/components/SelectModel/index.js","webpack:///./src/modules/v1/landingCars/CarCard/car-card-show.js","webpack:///./src/modules/v1/landingCars/CarCard/car-slider.js","webpack:///./src/modules/v1/landingCars/CarCard/index.js","webpack:///./src/modules/v1/landingCars/index.js","webpack:///./src/templates/v1/landing-cars.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/axios.js"],"names":["module","exports","url","test","baseURL","relativeURL","replace","utils","InterceptorManager","this","handlers","prototype","use","fulfilled","rejected","push","length","eject","id","forEach","fn","h","buildURL","dispatchRequest","mergeConfig","Axios","instanceConfig","defaults","interceptors","request","response","config","arguments","method","toLowerCase","chain","undefined","promise","Promise","resolve","interceptor","unshift","then","shift","getUri","params","paramsSerializer","merge","data","callback","arr","apply","FooterWrapper","styled","div","Container","Footer","privacyPolicyUrl","footer","header","breakpoints","useBreakpoint","isTablet","l","copyright_text","href","onClick","window","gtag","event_category","location","privacy_policy_text","logo_link","src","logo","Logo","alt","thisArg","args","Array","i","asyncGeneratorStep","gen","reject","_next","_throw","key","arg","info","value","error","done","_asyncToGenerator","self","err","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","isUndefined","adapter","XMLHttpRequest","process","Object","toString","call","transformRequest","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","JSON","stringify","transformResponse","parse","e","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","enhanceError","message","code","Error","__CANCEL__","encode","val","encodeURIComponent","serializedParams","parts","isArray","v","isDate","toISOString","join","hashmarkIndex","indexOf","slice","isAxiosError","toJSON","name","description","number","fileName","lineNumber","columnNumber","stack","isStandardBrowserEnv","originURL","msie","navigator","userAgent","urlParsingNode","document","createElement","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","requestURL","parsed","isString","createError","Input","button","success","selectIsFocused","hasOptions","SelectWrapper","OptionsWrapper","display","Option","InputSpan","span","Label","label","SelectContainer","ErrorMessage","InputInnerWrapper","Select","placeholder","options","onChange","showNoFeeback","textError","showCustomError","useState","showSelection","setShowSelection","showError","setShowError","showSuccess","setShowSuccess","setSelectIsFocused","optionWrapperRef","useRef","useEffect","handleMouseClick","addEventListener","event","current","contains","target","removeEventListener","style","marginRight","className","ref","state","onFocus","onBlur","color","overflow","textOverflow","whiteSpace","maxWidth","transform","top","fontSize","map","option","selectOption","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","prop","deepMerge","axiosKeys","concat","otherKeys","keys","filter","transformData","isCancel","throwIfCancellationRequested","cancelToken","throwIfRequested","reason","ROOT_URL","STRAPI_URL","experiences","guia_360_fordranger_br","ranger_360_xlt","ranger_360_limited","ranger_still_xls","ranger_still_storm","ranger_still_black","guia_360_br","bronco_sport","territory_still_titanium","territory_still_sel","territory_360_titanium","territory_360_sel","maverick_360","ranger_360_raptor","ranger_360_limited_v6_2023","ranger_360_xl_4x4_mt_2023","ranger_limitedv6_2023","ranger_xltv6_2023","ranger_xls4x4_at_2023","ranger_xls4x2_at_2023","ranger_xls4x4_2022","ranger_storm_2022","ranger_storm_2023","ranger_fx4_2023","mustang_mach_e_360","guia_360_ar","ranger_still_xls4x4","ranger_still_xls4x2","ranger_still_xlt4x4","ranger_still_xlt4x2","ranger_still_raptor","bronco_sport_360","bronco_sport_still","ranger_360_raptor_2023","ranger_360_xlt_4x4_at_2023","ranger_360_xls_v6_2023","ranger_limited_2023","ranger_xlt4x2_at_2023","ranger_xls4x2_mt_2023","ranger_xl4x2_mt_2023","guia_360_fordranger_ar","guia_360_fordbronco_ar","guia_360_fordbronco_br","Cancel","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","read","match","RegExp","decodeURIComponent","remove","now","isAbsoluteURL","combineURLs","requestedURL","CancelToken","executor","TypeError","resolvePromise","token","source","cancel","c","HeaderWrapper","HeaderHome","CharactericticsWrapper","p","ButtonPrimary","props","disabled","CardCharacNew","CardTitleNew","CharImage","SelectsWrapper","css","ButtonNext","ButtonNextDisable","ButtonsWrapper","ACTIONS","initialState","showModelSelect","showContinueButton","yearOptions","versionOptions","modelOptions","selectedYear","selectedVersion","selectedModel","reducer","action","type","payload","valueToOptionType","arrayToOptionTypes","arrayValue","SelectModel","homeSelects","car","models","hasYearDropDown","nextButtonText","envs","useReducer","dispatch","getYearOptions","useCallback","from","Set","model","Year_Model","sort","reverse","getVersionOptions","year","versions","VERSION","Version_Name","uniqueVersions","version","find","_version","versionA","versionB","priorityA","priority","priorityB","Infinity","getModelOptions","versionName","modelA","modelB","nameA","Model_Name","toUpperCase","nameB","buildModelLink","Full_Name","slugify","CATEGORY","category_slug","handleSelectYearOption","handleSelectVersionOption","handleSelectModelOption","modelName","m","useSelectModel","year_select","placeholder_text","label_text","error_text","version_select","model_select","car_name","event_label","width","lineHeight","ArrowSpan","CarCardShow","pageContext","carPicture","disable_button_text","redirect_link_button_text","open","setIsOpen","carVersionsIds","VERSIONS","carModels","includes","isOpen","height","cursor","is_active","redirect_url","minWidth","padding","to","website","home_selects","has_model_year","button_text","CarSlider","cars","activeItemIndex","setActiveItemIndex","Slider","index","car_picture","sm","justifyContent","Wrapper","WrapperChars","BreakLine","hr","CategoryTitle","h5","CategoryWrapper","CarCards","title","second_subtitle","categoryTableName","groupCars","filteredCard","category_name","categories","a","b","sortByPriorityCars","category","textAlign","zIndex","margin","carCategory","indexCat","sortedCars","LandingCars","website_info","metatag_title","metatag_description","metatag_language","Privacy_policy_url","subtitle","has_cookie_consent","privacy_policy_subtext","privacy_policy_accept_button_text","vin","split","country","SEQS","isoCountry","axios","get","VIN_ENDPOINT","matchingModel","seq","ver","categorySlug","carDetailsSlug","navigate","forwardParams","getSeq","isHome","language","site","SITE","CarCard","settle","buildFullPath","parseHeaders","isURLSameOrigin","requestData","requestHeaders","auth","username","password","Authorization","btoa","fullPath","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","responseType","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","cookies","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","onUploadProgress","upload","abort","send","ignoreDuplicateOf","line","trim","substr","fns","bind","isFunction","obj","hasOwnProperty","constructor","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","result","assignValue","extend","str","normalizedName","createInstance","defaultConfig","context","instance","create","all","promises","spread","default"],"mappings":"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","file":"component---src-templates-v-1-landing-cars-js-8070ed90b01913edc5d4.js","sourcesContent":["'use strict';\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\n\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};","'use strict';\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\n\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n\n\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\n\n\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\n\n\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;","'use strict';\n\nvar utils = require('./../utils');\n\nvar buildURL = require('../helpers/buildURL');\n\nvar InterceptorManager = require('./InterceptorManager');\n\nvar dispatchRequest = require('./dispatchRequest');\n\nvar mergeConfig = require('./mergeConfig');\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\n\n\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\n\n\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config); // Set config.method\n\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n } // Hook up interceptors middleware\n\n\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n}; // Provide aliases for supported request methods\n\n\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\nmodule.exports = Axios;","'use strict';\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\n\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};","import styled, { css } from 'styled-components'\n\nexport const FooterWrapper = styled.div`\n /* display: flex;\n flex-direction: row; */\n height: 80px;\n justify-content: space-between;\n padding: 0;\n align-items: center;\n\n justify-items: center;\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n\n img {\n width: 95px;\n }\n\n @media only screen and (max-width: 1023px) {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-evenly;\n height: 80px;\n padding: 0 24px;\n height: 18vh;\n padding: 10px 25px;\n padding: 10px 35px;\n\n p {\n width: 250px;\n display: block;\n }\n\n img {\n width: 86px;\n }\n }\n\n @media only screen and (max-width: 600px) {\n padding: 10px 10px;\n }\n\n p {\n color: #4d4d4d;\n font-size: 11px;\n letter-spacing: 1px;\n line-height: 16px;\n font-family: FordAntennaRegular, Arial, Helvetica, sans-serif;\n /* width: 27%; */\n /* width: 100%; */\n @media only screen and (max-width: 600px) {\n /* width: 83%; */\n }\n }\n a {\n font-size: 11px;\n line-height: 16px;\n color: #1700f4;\n /* font-weight: 400; */\n font-family: FordAntennaRegular, Arial, Helvetica, sans-serif;\n width: 50%;\n text-decoration: underline;\n width: fit-content;\n letter-spacing: 1px;\n\n @media only screen and (max-width: 1023px) {\n margin: 20px 0px;\n }\n }\n\n @media only screen and (min-width: 1024px) {\n p {\n justify-self: start;\n }\n\n img {\n justify-self: right;\n }\n }\n\n @media only screen and (min-width: 1440px) {\n p {\n width: max-content;\n }\n }\n`\n\nexport const Container = styled.div`\n /* padding: 10px 80px; */\n padding: 0px 100px;\n /* margin: -8px; */\n background-color: white;\n\n @media only screen and (max-width: 600px) {\n padding: 0px;\n min-height: 25vh;\n }\n\n @media only screen and (max-width: 1023px) {\n margin: 0;\n padding: 10px 15px;\n margin-top: 15px;\n\n @media (orientation: landscape) {\n padding: 40px 15px;\n }\n }\n\n @media only screen and (min-width: 1024px) and (max-width: 1439px) {\n padding: 10px 80px;\n }\n\n @media only screen and (min-width: 1440px) {\n min-height: 11.5vh;\n }\n\n @media only screen and (max-width: 1439px) {\n margin: 0;\n /* padding: 10px 15px; */\n }\n`\n","import React from 'react'\nimport { FooterWrapper, Container } from './styles'\n\nimport Logo from '../../assets/images/logo.svg'\nimport { useBreakpoint } from 'gatsby-plugin-breakpoints'\n\nconst Footer = ({ privacyPolicyUrl, footer, header }) => {\n const breakpoints = useBreakpoint()\n\n const handlePrivacyPolicyClick = () => {\n if (window.gtag) {\n window.gtag('event', 'click', {\n event_category: `privacy-policy`\n })\n }\n\n window.location.href = privacyPolicyUrl\n }\n\n const handleLogoClick = () => {\n if (window.gtag) {\n window.gtag('event', 'click', {\n event_category: `institutional-website`\n })\n }\n\n window.location.href = footer?.logo_link || ''\n }\n\n return (\n \n \n

{footer?.copyright_text || ''}

\n handlePrivacyPolicyClick()}>\n {footer?.privacy_policy_text}\n \n handleLogoClick()}>\n \"\"\n \n
\n
\n )\n}\n\nexport default Footer\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n return fn.apply(thisArg, args);\n };\n};","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","'use strict';\n\nvar utils = require('./utils');\n\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) {\n /* Ignore */\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;","'use strict';\n\nvar enhanceError = require('./enhanceError');\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\n\n\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\n\n\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};","'use strict';\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\n\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function () {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n\n return error;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\nfunction standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n\n return function isURLSameOrigin(requestURL) {\n var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n };\n}() : // Non standard browser envs (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n}();","'use strict';\n\nvar createError = require('./createError');\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\n\n\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n\n if (!validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n }\n};","import styled, { css } from 'styled-components'\n\nexport const Input = styled.button`\n background: white !important;\n width: 100%;\n height: 40px;\n padding: 0.2rem 0 !important;\n text-align: left;\n border: 1px solid ${({ error, success }) => (success ? '#008200' : error ? '#d62d14' : '#6e6e6e')} !important;\n display: flex;\n align-items: center;\n justify-content: space-between;\n z-index: ${({ selectIsFocused }) => (selectIsFocused ? '100' : 'inherit')};\n border-radius: 0.2rem;\n border-bottom-left-radius: ${({ selectIsFocused }) => (selectIsFocused ? '0px' : '0.2rem')};\n border-bottom-right-radius: ${({ selectIsFocused }) => (selectIsFocused ? '0px' : '0.2rem')};\n box-shadow: ${({ selectIsFocused }) =>\n selectIsFocused\n ? '0 1rem 1rem 0 rgb(0 0 0 / 10%), 0 2rem 2rem 0 rgb(0 0 0 / 10%), 0 3rem 3rem 0 rgb(0 0 0 / 15%);'\n : 'none'};\n font-family: 'FordAntenna';\n transition: box-shadow 0.3s ease-in-out;\n cursor: ${({ hasOptions }) => (hasOptions ? 'pointer' : 'not-allowed !important')};\n`\nexport const SelectWrapper = styled.div`\n position: relative;\n`\nexport const OptionsWrapper = styled.div`\n position: absolute;\n top: 48px;\n background-color: white;\n width: 100%;\n z-index: 99;\n border: solid 1px #6e6e6e;\n border-top: none;\n max-height: calc(5 * 5rem);\n padding: 0;\n outline: none;\n box-shadow: 0 1rem 1rem 0 rgb(0 0 0 / 10%), 0 2rem 2rem 0 rgb(0 0 0 / 10%), 0 3rem 3rem 0 rgb(0 0 0 / 15%);\n transition: box-shadow 0.3s ease-in-out;\n display: ${({ display }) => (display ? 'block' : 'none')};\n border-bottom-left-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n overflow-y: auto;\n`\n\nexport const Option = styled.div`\n cursor: pointer;\n padding: 10px;\n color: #00095b;\n font-size: 0.9rem;\n line-height: 3rem;\n padding: 0 1rem;\n &:hover {\n background-color: #6e6e6e;\n color: white;\n }\n`\n\nexport const InputSpan = styled.span`\n color: #00095b;\n padding: 10px;\n font-size: 0.9rem;\n width: auto;\n padding-right: 20px;\n line-height: 1.6rem;\n letter-spacing: 1px;\n font-weight: 400 !important;\n`\n\nexport const Label = styled.label`\n font-size: 11px;\n line-height: 16px;\n letter-spacing: 1px;\n margin-bottom: 10px;\n display: inline-block;\n font-family: FordAntennaRegular, Arial, Helvetica, sans-serif;\n color: #4d4d4d;\n`\n\nexport const SelectContainer = styled.div`\n min-height: 80px;\n margin-bottom: 5px;\n`\n\nexport const ErrorMessage = styled.span`\n position: absolute;\n top: 37px;\n padding-top: 0.7rem;\n color: #d62d14;\n font-size: 0.6rem;\n line-height: 1.8rem;\n letter-spacing: 0.1rem;\n`\n\nexport const InputInnerWrapper = styled.div`\n padding-left: 0.4rem !important;\n`\n","import React, { useState, useRef, useEffect } from 'react'\n\nimport {\n Input,\n SelectWrapper,\n OptionsWrapper,\n Option,\n InputSpan,\n Label,\n SelectContainer,\n ErrorMessage,\n InputInnerWrapper\n} from './styled'\n\nconst Select = ({\n placeholder,\n options,\n label,\n onChange,\n value,\n showNoFeeback,\n textError,\n onClick,\n showCustomError = false\n}) => {\n const [showSelection, setShowSelection] = useState(false)\n const [showError, setShowError] = useState(false)\n const [showSuccess, setShowSuccess] = useState(false)\n const [selectIsFocused, setSelectIsFocused] = useState(false)\n const optionWrapperRef = useRef()\n\n const showOptions = () => {\n setShowSelection(state => !state)\n\n if (!value || !value.value) {\n setShowError(true)\n }\n }\n\n useEffect(() => {\n if (!value) {\n setShowSuccess()\n } else {\n setShowSuccess(true)\n }\n }, [value])\n\n const selectOption = value => {\n setShowSelection(false)\n setShowError(false)\n setShowSuccess(true)\n onChange({ label: value, value: value })\n }\n\n useEffect(() => {\n const handleMouseClick = document.addEventListener('click', event => {\n if (!(optionWrapperRef && optionWrapperRef.current && optionWrapperRef.current.contains(event.target))) {\n setShowSelection(false)\n }\n })\n\n return () => document.removeEventListener('click', handleMouseClick)\n }, [optionWrapperRef])\n\n return (\n \n \n \n (options.length ? showOptions() : {})}\n error={showError && !showNoFeeback}\n success={showSuccess && !showNoFeeback}\n onFocus={() => setSelectIsFocused(true)}\n onBlur={() => setSelectIsFocused(false)}\n selectIsFocused={selectIsFocused && showSelection}\n >\n \n \n {value && value.value ? value.value : placeholder}\n {' '}\n \n \n \n \n {options.map(option => {\n return \n })}\n \n {showError && !showNoFeeback && (\n {textError ? `${textError}` : `Por favor, selecione um ${label}`}\n )}\n {showCustomError && {textError}}\n \n \n )\n}\n\nexport default Select\n","'use strict';\n\nvar utils = require('../utils');\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\n\n\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];\n var defaultToConfig2Keys = ['baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer', 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName', 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent', 'httpsAgent', 'cancelToken', 'socketPath'];\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n }\n });\n utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {\n if (utils.isObject(config2[prop])) {\n config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n } else if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (utils.isObject(config1[prop])) {\n config[prop] = utils.deepMerge(config1[prop]);\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n var axiosKeys = valueFromConfig2Keys.concat(mergeDeepPropertiesKeys).concat(defaultToConfig2Keys);\n var otherKeys = Object.keys(config2).filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n return config;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nvar transformData = require('./transformData');\n\nvar isCancel = require('../cancel/isCancel');\n\nvar defaults = require('../defaults');\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\n\n\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config); // Ensure headers exist\n\n config.headers = config.headers || {}; // Transform request data\n\n config.data = transformData(config.data, config.headers, config.transformRequest); // Flatten headers\n\n config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers);\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function cleanHeaderConfig(method) {\n delete config.headers[method];\n });\n var adapter = config.adapter || defaults.adapter;\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config); // Transform response data\n\n response.data = transformData(response.data, response.headers, config.transformResponse);\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config); // Transform response data\n\n if (reason && reason.response) {\n reason.response.data = transformData(reason.response.data, reason.response.headers, config.transformResponse);\n }\n }\n\n return Promise.reject(reason);\n });\n};","export const ROOT_URL = 'http://localhost:3000'\n\nexport const STRAPI_URL = 'https://www.ford360guide.com'\n\nexport const experiences = {\n guia_360_fordranger_br: {\n ranger_360_xlt: `https://interactive.guia360fordranger.com.br/still/?car=xlt&inst=true`,\n ranger_360_limited: `https://interactive.guia360fordranger.com.br/360/?car=limited&inst=true`,\n ranger_still_xls: `https://interactive.guia360fordranger.com.br/still/?car=xls`,\n ranger_still_storm: `https://interactive.guia360fordranger.com.br/still/?car=storm`,\n ranger_still_black: `https://interactive.guia360fordranger.com.br/still/?car=black`\n },\n guia_360_br: {\n ranger_360_xlt: `https://interactive.guia360ford.com.br/still/ranger/?car=xlt&inst=true`,\n ranger_360_limited: `https://interactive.guia360ford.com.br/360/ranger/?car=limited&inst=true`,\n ranger_still_xls: `https://interactive.guia360ford.com.br/still/ranger/?car=xls`,\n ranger_still_storm: `https://interactive.guia360ford.com.br/still/ranger/?car=storm`,\n ranger_still_black: `https://interactive.guia360ford.com.br/still/ranger/?car=black`,\n bronco_sport: `https://interactive.guia360ford.com.br/bronco/?r=t`,\n territory_still_titanium: `https://interactive.guia360ford.com.br/still/territory/?car=titanium`,\n territory_still_sel: `https://interactive.guia360ford.com.br/still/territory/?car=sel`,\n territory_360_titanium: `https://interactive.guia360ford.com.br/360/territory/?inst=true&car=titanium`,\n territory_360_sel: `https://interactive.guia360ford.com.br/360/territory/?inst=true&car=sel`,\n maverick_360: `https://interactive.guia360ford.com.br/360/maverick/?car=maverick&lang=br`,\n ranger_360_raptor: `https://interactive.guia360ford.com.br/360/maverick/?car=ranger&lang=br`,\n\n // NEW\n ranger_360_limited_v6_2023: `https://interactive.guia360ford.com.br/360/v2/?car=ranger&lang=br&model=limited_v6`,\n ranger_360_xl_4x4_mt_2023: `https://interactive.guia360ford.com.br/360/v2/?car=ranger&model=xl_4x4_mt_2023&lang=br`,\n ranger_limitedv6_2023: `https://interactive.guia360ford.com.br/still/v2/?lang=br&car=ranger&model=limitedv6_2023`,\n ranger_xltv6_2023: `https://interactive.guia360ford.com.br/still/v2/?car=ranger&model=xltv6_2023&lang=br`,\n ranger_xls4x4_at_2023: `https://interactive.guia360ford.com.br/still/v2/?lang=br&car=ranger&model=xls4x4_2023`,\n ranger_xls4x2_at_2023: `https://interactive.guia360ford.com.br/still/v2/?lang=br&car=ranger&model=xls4x2_at_2023`,\n // END\n\n ranger_xls4x4_2022: `https://interactive.guia360ford.com.br/still/v2/?lang=br&car=ranger&model=xls4x4`,\n ranger_storm_2022: `https://interactive.guia360ford.com.br/still/v2/?lang=br&car=ranger&model=storm`,\n ranger_storm_2023: `https://interactive.guia360ford.com.br/still/v2/?lang=br&car=ranger&model=storm_2023`,\n ranger_fx4_2023: `https://interactive.guia360ford.com.br/still/v2/?lang=br&car=ranger&model=fx4_2023`,\n\n mustang_mach_e_360: `https://interactive.guia360ford.com.ar/360/v2/?car=mustang&lang=br&model=mach_e`\n },\n guia_360_ar: {\n ranger_360_limited: `https://interactive.guia360ford.com.ar/360/ranger/?car=limited&inst=true`,\n ranger_still_xls4x4: `https://interactive.guia360ford.com.ar/still/ranger/?car=xls4x4`,\n ranger_still_xls4x2: `https://interactive.guia360ford.com.ar/still/ranger/?car=xls4x2`,\n ranger_still_xlt4x4: `https://interactive.guia360ford.com.ar/still/ranger/?car=xlt4x4`,\n ranger_still_xlt4x2: `https://interactive.guia360ford.com.ar/still/ranger/?car=xlt4x2`,\n ranger_still_raptor: `https://interactive.guia360ford.com.ar/still/ranger/?car=raptor`,\n bronco_sport_360: `https://interactive.guia360ford.com.ar/360/bronco/?r=t`,\n bronco_sport_still: `https://interactive.guia360ford.com.ar/still/bronco/?r=t`,\n territory_still_titanium: `https://interactive.guia360ford.com.ar/still/territory/?car=titanium`,\n territory_still_sel: `https://interactive.guia360ford.com.ar/still/territory/?car=sel`,\n territory_360_titanium: `https://interactive.guia360ford.com.ar/360/territory/?inst=true&car=titanium`,\n territory_360_sel: `https://interactive.guia360ford.com.ar/360/territory/?inst=true&car=sel`,\n\n maverick_360: `https://interactive.guia360ford.com.br/360/v2/?car=maverick&lang=ar`,\n\n // NEW\n ranger_360_raptor_2023: `https://interactive.guia360ford.com.ar/360/v2/?car=ranger&model=raptor_2023&lang=ar`,\n ranger_360_limited_v6_2023: `https://interactive.guia360ford.com.ar/360/v2/?car=ranger&model=limited_v6&lang=ar`,\n ranger_360_xl_4x4_mt_2023: `https://interactive.guia360ford.com.ar/360/v2/?car=ranger&model=xl_4x4_mt_2023&lang=ar`,\n ranger_360_xlt_4x4_at_2023: `https://interactive.guia360ford.com.ar/360/v2/?car=ranger&model=xlt_4x4_at_2023&lang=ar`,\n ranger_360_xls_v6_2023: `https://interactive.guia360ford.com.ar/360/v2/?car=ranger&model=xls_v6_2023&lang=ar`,\n ranger_limited_2023: `https://interactive.guia360ford.com.ar/still/v2/?lang=ar&car=ranger&model=limited_2023`,\n ranger_xlt4x2_at_2023: `https://interactive.guia360ford.com.ar/still/v2/?lang=ar&car=ranger&model=xlt4x2_2023`,\n ranger_xls4x2_mt_2023: `https://interactive.guia360ford.com.ar/still/v2/?lang=ar&car=ranger&model=xls4x2_mt_2023`,\n ranger_xl4x2_mt_2023: `https://interactive.guia360ford.com.ar/still/v2/?lang=ar&car=ranger&model=xl4x2_2023`,\n // END\n\n mustang_mach_e_360: `https://interactive.guia360ford.com.ar/360/v2/?car=mustang&lang=ar&model=mach_e`\n },\n guia_360_fordranger_ar: {\n ranger_360_limited: `https://interactive.guia360fordranger.com.ar/360/?car=limited&inst=true`,\n ranger_still_xls4x4: `https://interactive.guia360fordranger.com.ar/still/?car=xls4x4`,\n ranger_still_xls4x2: `https://interactive.guia360fordranger.com.ar/still/?car=xls4x2`,\n ranger_still_xlt4x4: `https://interactive.guia360fordranger.com.ar/still/?car=xlt4x4`,\n ranger_still_xlt4x2: `https://interactive.guia360fordranger.com.ar/still/?car=xlt4x2`,\n ranger_still_raptor: `https://interactive.guia360fordranger.com.ar/still/?car=raptor`\n },\n guia_360_fordbronco_ar: {\n bronco_sport_360: `https://interactive.guia360fordbroncosport.com.ar/360/?r=t`,\n bronco_sport_still: `https://interactive.guia360fordbroncosport.com.ar/still/?r=t`\n },\n guia_360_fordbronco_br: {\n bronco_sport: `https://interactive.guia360fordbroncosport.com.br/?r=t`\n }\n}\n","'use strict';\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\n\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\nmodule.exports = Cancel;","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs support document.cookie\nfunction standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return match ? decodeURIComponent(match[3]) : null;\n },\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n}() : // Non standard browser env (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() {\n return null;\n },\n remove: function remove() {}\n };\n}();","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\n\nvar combineURLs = require('../helpers/combineURLs');\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\n\n\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n\n return requestedURL;\n};","'use strict';\n\nvar Cancel = require('./Cancel');\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\n\n\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n\n\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;","import styled from 'styled-components';\n\nexport const Container = styled.div`\n padding: 0px 100px;\n /* margin-top: -8px; */\n`;\n\nexport const HeaderWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n height: 80px;\n\n @media only screen and (max-width: 600px) {\n height: 70px;\n }\n\n img{\n width: 102px;\n\n @media only screen and (min-width:1024px){\n width: 95px;\n }\n }\n \n @media only screen and (min-width:1024px){\n justify-content: flex-start;\n }\n`;\n","import React from 'react'\n\nimport { HeaderWrapper, Container } from './styles'\nimport Logo from '../../assets/images/logo.svg'\n\nconst HeaderHome = ({ header }) => {\n return (\n \n \n \n \"\"\n \n \n \n )\n}\n\nexport default HeaderHome\n","import styled from 'styled-components'\n\nexport const Container = styled.div`\n padding: 30px 100px 70px 100px;\n background-color: #f4f4f4;\n padding-top: 1rem;\n /* margin-right: -8px; */\n min-height: 72vh;\n\n @media (max-width: 1440px) {\n padding: 30px 75px 75px 75px;\n }\n\n @media (max-width: 745px) {\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n @media (max-width: 1024px) {\n padding: 15px 60px 15px 60px;\n }\n\n @media (max-width: 667px) {\n /* padding: 10px 25px 30px 25px; */\n padding: 20px 10px 10px 5px;\n }\n\n .buttonTextWrapper {\n max-width: 95%;\n\n label {\n font-size: 11px;\n line-height: 16px;\n letter-spacing: 1px;\n margin-bottom: 10px;\n display: inline-block;\n font-family: FordAntennaRegular, Arial, Helvetica, sans-serif;\n color: #4d4d4d;\n }\n .selectItemWrapper {\n width: 350px;\n max-width: 100%;\n @media (min-width: 746px) and(max-width: 1024px) {\n width: 350px;\n }\n\n @media (min-width: 335px) and (max-width: 745px) {\n width: 350px;\n }\n\n @media only screen and (max-width: 280px) {\n width: 251px;\n }\n }\n }\n`\n\nexport const TitlePage = styled.p`\n color: #00095b;\n font-size: 36px !important;\n letter-spacing: 0;\n line-height: 43px !important;\n padding-bottom: 30px;\n font-family: FordAntennaRegular, Arial, Helvetica, sans-serif;\n\n @media only screen and (min-width: 636px) {\n align-self: start;\n }\n\n @media (max-width: 745px) {\n max-width: 335px;\n }\n\n @media only screen and (max-width: 1024px) {\n padding-bottom: 20px;\n }\n\n @media only screen and (max-width: 320px) {\n font-size: 32px !important;\n }\n\n @media only screen and (max-width: 280px) {\n font-size: 24px !important;\n line-height: 28px !important;\n }\n`\n\nexport const SelectContainer = styled.div`\n label {\n font-size: 11px;\n line-height: 16px;\n letter-spacing: 1px;\n margin-bottom: 10px;\n display: inline-block;\n font-family: FordAntennaRegular, Arial, Helvetica, sans-serif;\n color: #4d4d4d;\n }\n\n .selectItem {\n display: grid;\n grid-template-columns: 1fr 1fr 1fr 1fr;\n gap: 20px;\n\n /* min-width: 290px;\n max-width: 300px; */\n\n @media (max-width: 1024px) {\n /* min-width: 285px;\n max-width: 335px; */\n }\n @media only screen and (max-width: 745px) {\n /* margin-top: 30px; */\n grid-template-columns: 1fr;\n min-width: 285px;\n width: 335px;\n }\n\n @media only screen and (min-width: 746px) and (max-width: 1024px) {\n grid-template-columns: 1fr 1fr;\n }\n }\n`\n\nexport const CharactericticsWrapper = styled.div`\n margin-top: 40px;\n display: grid;\n grid-template-columns: 1fr 1fr 1fr 1fr;\n gap: 30px 20px;\n width: fit-content;\n\n @media only screen and (min-width: 1066px) and (max-width: 1370px) {\n grid-template-columns: 1fr 1fr 1fr;\n gap: 10px 25px;\n }\n\n @media only screen and (min-width: 746px) and (max-width: 1065px) {\n grid-template-columns: 1fr 1fr;\n gap: 5px 20px;\n }\n\n @media only screen and (max-width: 745px) {\n grid-template-columns: 1fr;\n margin-top: 10px;\n gap: 5px;\n }\n`\n\nexport const CardFlexWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 30px 0px;\n width: 100%;\n\n @media (max-width: 800px) {\n flex-wrap: wrap;\n }\n\n @media (max-width: 600px) {\n flex-direction: column;\n }\n`\n\nexport const CardCharac = styled.div`\n border-radius: 3px;\n background-color: #ffffff;\n box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.1);\n\n height: 100%;\n display: flex;\n flex-direction: column;\n\n min-width: 290px;\n max-width: 300px;\n\n @media (max-width: 1024px) {\n min-width: 285px;\n max-width: 335px;\n }\n\n img {\n width: 100%;\n border-radius: 3px;\n }\n`\n\nexport const Text = styled.div`\n padding: 20px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n flex-grow: 1;\n\n p {\n color: #00095b;\n font-size: 20px;\n letter-spacing: 0;\n line-height: 24px;\n margin-bottom: 12px;\n }\n a {\n color: #00095b;\n font-size: 18px;\n letter-spacing: 1px;\n line-height: 24px;\n text-decoration: none;\n font-family: 'Ford Antenna Cond';\n\n &:hover {\n color: #1700f4;\n text-decoration: underline;\n }\n }\n`\n\nexport const InputWrapper = styled.div`\n display: flex;\n flex-direction: column;\n\n label {\n color: #4d4d4d;\n font-size: 11px;\n letter-spacing: 1px;\n line-height: 16px;\n margin-bottom: 6px;\n }\n select {\n color: #4d4d4d;\n font-size: 16px;\n letter-spacing: 1px;\n line-height: 24px;\n padding: 0px 10px;\n\n height: 50px;\n width: 290px;\n border-radius: 3px;\n background-color: #ffffff;\n }\n`\n\nexport const ButtonSecondary = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n\n &:hover {\n color: #1700f4;\n /* text-decoration: underline; */\n cursor: pointer;\n .fds-font--ford-icons__chevron-left-blue-with-hover:before {\n color: #1700f4 !important;\n }\n }\n\n a {\n color: #00095b;\n font-size: 16px;\n letter-spacing: 1px;\n line-height: 24px;\n text-align: center;\n font-family: 'Ford Antenna Cond';\n text-decoration: none;\n\n &:hover {\n color: #1700f4;\n /* text-decoration: underline; */\n .fds-font--ford-icons__chevron-left-blue-with-hover:before {\n color: #1700f4 !important;\n }\n }\n\n @media only screen and (min-width: 1024px) {\n }\n\n .fds-icon {\n margin-right: 0.5rem;\n place-self: center;\n font-size: 0.8rem;\n }\n\n .fds-font--ford-icons__chevron-left::before {\n color: #00095b;\n &:hover {\n color: #1700f4 !important;\n }\n }\n\n .fds-font--ford-icons__chevron-left {\n color: #00095b;\n font-weight: 600;\n &:hover {\n color: #1700f4;\n /* text-decoration: underline; */\n }\n &::before {\n &:hover {\n color: #1700f4;\n }\n }\n }\n }\n`\n\nexport const BackButton = styled.div`\n max-width: 335px;\n padding: 5px 0px;\n margin: 10px auto;\n width: 100%;\n align-self: start;\n display: flex;\n\n @media only screen and (min-width: 636px) {\n max-width: 30px;\n margin: 10px 0px 25px;\n }\n\n @media only screen and (max-width: 1024px) {\n margin: 10px 0px 15px;\n }\n\n .text {\n font-size: 18px;\n line-height: 24px;\n font-family: FordAntennaCondRegular;\n }\n`\n\nexport const BackgroundCharImage = styled.div`\n width: 100%;\n height: 150px;\n background-image: ${props => 'url(' + props.src + ')'};\n background-size: cover;\n`\n\nexport const ExperienceLink = styled.div`\n a {\n color: #00095b;\n font-size: 16px;\n font-weight: bold;\n letter-spacing: 0;\n line-height: 24px;\n text-decoration: none;\n font-family: FordAntennaCondRegular;\n font-weight: bolder;\n letter-spacing: 0.5px;\n\n @media only screen and (max-width: 600px) {\n // position: absolute;\n // right: -20vw;\n margin-left: auto;\n }\n }\n`\n\nexport const ButtonPrimary = styled.div`\n margin: auto;\n margin-bottom: 25px;\n margin-top: 25px;\n\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n a {\n display: inline-block;\n vertical-align: middle;\n text-decoration: none;\n position: relative;\n -webkit-tap-highlight-color: transparent;\n font-family: FordAntennaCondRegular;\n font-size: 1.125rem;\n line-height: 1.5rem;\n letter-spacing: 1px;\n text-transform: none;\n text-align: center;\n padding: 0.5rem 2rem 0.5rem;\n width: auto;\n margin-bottom: 0;\n border-radius: 2rem;\n border: 2px solid transparent;\n cursor: ${props => (props.disabled ? 'default' : 'pointer')};\n color: #fff !important;\n background-color: ${props => (props.disabled ? '#6e6e6e' : '#00095b')};\n border-color: ${props => (props.disabled ? '#6e6e6e' : '#00095b')};\n\n transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out, background-color 0.3s ease-in-out,\n border-color 0.3s ease-in-out;\n\n &:hover {\n background-color: ${props => (props.disabled ? '#6e6e6e' : '#1700f4')};\n border-color: ${props => (props.disabled ? '#6e6e6e' : '#1700f4')};\n color: #fff;\n transform: ${props => (props.disabled ? 'scale(1)' : 'scale(1.07)')};\n }\n }\n`\n\nexport const CardCharacNew = styled.div`\n border-radius: 3px;\n background-color: #ffffff;\n margin-bottom: 20px;\n box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.1);\n width: 291px;\n\n @media (max-width: 768px) {\n width: 312px !important;\n }\n\n @media (max-width: 375px) {\n width: 327px !important;\n }\n\n // @media (min-width: 746px) and(max-width: 1024px) {\n // width: 312px;\n // }\n\n // @media (min-width: 335px) and (max-width: 745px) {\n // width: 327px;\n // }\n\n // @media only screen and (max-width: 280px) {\n // width: 251px;\n // }\n\n img {\n width: 100%;\n border-radius: 3px;\n }\n`\n\nexport const CardTitleNew = styled.div`\n margin-left: 23px;\n margin-right: 23px;\n padding-top: 20px;\n height: 30px;\n display: flex;\n justify-content: space-around;\n align-items: center;\n margin-bottom: 20px;\n\n cursor: pointer;\n\n .title {\n font-family: FordAntennaRegular, Arial, Helvetica, sans-serif;\n width: 258px;\n color: #00095b;\n font-size: 20px;\n letter-spacing: 0;\n line-height: 24px;\n }\n`\n\nexport const CharImage = styled.div`\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n background: url(${({ url }) => url});\n background-position: center;\n background-size: cover;\n height: 157px;\n`\n","import styled, { css } from 'styled-components'\n\nexport const SelectsWrapper = styled.div`\n max-width: 400px;\n padding: 0 23px;\n margin-bottom: 10px;\n user-select: none;\n\n ${({ isTablet }) =>\n isTablet &&\n css`\n max-width: 325px;\n `};\n`\n\nexport const SelectContainer = styled.div`\n max-width: 397px;\n margin: 20px auto;\n\n label {\n margin-bottom: 10px;\n display: inline-block;\n font-size: 11px;\n letter-spacing: 1px;\n line-height: 16px;\n font-family: FordAntennaRegular, Arial, Helvetica, sans-serif;\n color: #4d4d4d;\n }\n`\n\nexport const ButtonNext = styled.div`\n /* margin: auto;\n margin-bottom: 25px;\n margin-top: 25px; */\n\n height: 40px;\n width: 100%;\n /* margin-top: 5px; */\n\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n @media only screen and (max-width: 1023px) {\n width: 165px;\n }\n /* \n .fds-primary-button__button-text {\n width: 100% !important;\n padding: 0 !important;\n width: auto !important;\n display: inline-flex;\n font-family: FordAntennaCondRegular !important;\n line-height: 24px !important;\n } */\n\n a {\n display: inline-block;\n vertical-align: middle;\n text-decoration: none;\n position: relative;\n -webkit-tap-highlight-color: transparent;\n font-family: FordAntennaCondRegular;\n font-size: 1.125rem;\n /* line-height: 1.5rem; */\n line-height: 1.3rem;\n letter-spacing: 1px;\n text-transform: none;\n text-align: center;\n padding: 0.5rem 2rem 0.5rem;\n width: 100%;\n margin-bottom: 0;\n border-radius: 2rem;\n border: 2px solid transparent;\n cursor: pointer;\n color: #fff !important;\n background-color: #00095b;\n border-color: #00095b;\n font-size: 15px !important;\n\n transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out, background-color 0.3s ease-in-out,\n border-color 0.3s ease-in-out;\n\n &:hover {\n background-color: #1700f4;\n border-color: #1700f4;\n color: #fff;\n transform: scale(1.07);\n }\n\n .fds-icon {\n font-size: 14px;\n font-weight: 800;\n font-family: FordAntennaCondRegular;\n }\n }\n`\n\nexport const ButtonNextDisable = styled.button`\n height: 40px;\n width: 100%;\n border-radius: 20px;\n background-color: #6e6e6e;\n border: none;\n /* font-family: 'Ford Antenna'; */\n /* font-size: 18px;\n letter-spacing: 1px;\n line-height: 24px; */\n text-align: center;\n color: #ffffff;\n cursor: no-drop;\n place-content: center;\n font-family: FordAntennaCondRegular;\n margin-top: 10px;\n /* font-size: 18px !important; */\n\n .fds-primary-button__button-text {\n font-size: 15px !important;\n width: 100% !important;\n padding: 0 !important;\n width: auto !important;\n display: inline-flex;\n font-family: FordAntennaCondRegular !important;\n line-height: 24px !important;\n text-transform: none !important;\n }\n\n .fds-icon {\n margin-left: 0.5rem;\n place-self: center;\n font-size: 0.9rem;\n }\n\n .fds-font--ford-icons__chevron-left::before {\n color: #ffffff;\n }\n\n @media only screen and (max-width: 1023px) {\n width: 100%;\n }\n`\n\nexport const ButtonsWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`\n","import { useCallback, useReducer, useEffect, useState } from 'react'\nimport slugify from 'slugify'\n\nconst isBrowser = typeof window !== 'undefined'\n\nconst ACTIONS = {\n SET_YEARS_OPTIONS: 'set_years_options',\n SET_SELECTED_YEAR: 'set_selected_year',\n SET_SELECTED_VERSION: 'set_selected_version',\n SET_SELECTED_MODEL: 'set_selected_model',\n SET_ONLY_YEAR: 'set_only_year'\n}\n\nconst initialState = {\n showModelSelect: false,\n showContinueButton: false,\n yearOptions: [],\n versionOptions: [],\n modelOptions: [],\n selectedYear: null,\n selectedVersion: null,\n selectedModel: null\n}\n\nfunction reducer(state, action) {\n switch (action.type) {\n case ACTIONS.SET_YEARS_OPTIONS:\n return { ...state, yearOptions: action.payload }\n case ACTIONS.SET_ONLY_YEAR:\n return {\n ...state,\n selectedYear: action.payload.selectedYear,\n versionOptions: action.payload.versionOptions,\n modelOptions: []\n }\n case ACTIONS.SET_SELECTED_YEAR:\n return {\n ...state,\n selectedYear: action.payload.selectedYear,\n versionOptions: action.payload.versionOptions,\n modelOptions: [],\n selectedVersion: null,\n selectedModel: null,\n showModelSelect: false\n }\n case ACTIONS.SET_SELECTED_VERSION:\n return {\n ...state,\n selectedVersion: action.payload.selectedVersion,\n modelOptions: action.payload.modelOptions,\n showModelSelect: true,\n selectedModel: null,\n showContinueButton: false\n }\n case ACTIONS.SET_SELECTED_MODEL:\n return {\n ...state,\n selectedModel: action.payload.selectedModel,\n showContinueButton: true\n }\n\n default:\n throw new Error('Unknown Action')\n }\n}\n\nconst valueToOptionType = value => (value ? { value, label: value } : undefined)\nconst arrayToOptionTypes = arrayValue => (arrayValue ? arrayValue.map(value => valueToOptionType(value)) : [])\n\nexport const useSelectModel = ({ models, hasYearDropDown, envs, car }) => {\n const [state, dispatch] = useReducer(reducer, initialState)\n\n const getYearOptions = useCallback(\n () =>\n Array.from(new Set(models.map(model => model.Year_Model)))\n .sort()\n .reverse(),\n [models]\n )\n\n const getVersionOptions = useCallback(\n year => {\n const versions = models\n .filter(model => model.Year_Model === year && !!model[envs.VERSION].Version_Name)\n .map(model => model[envs.VERSION])\n\n const uniqueVersions = []\n\n for (const version of versions) {\n const exitingVersionInArray = uniqueVersions.find(_version => version.Version_Name === _version.Version_Name)\n\n if (!exitingVersionInArray) uniqueVersions.push(version)\n }\n\n uniqueVersions.sort((versionA, versionB) => {\n const priorityA = versionA.priority\n const priorityB = versionB.priority\n\n if (!priorityA || !priorityB) return -Infinity\n if (priorityA < priorityB) return -1\n if (priorityA > priorityB) return 1\n\n return 0\n })\n\n return uniqueVersions\n },\n // get unique version form models and then sort them by priority\n [models, envs.VERSION]\n )\n\n const getModelOptions = useCallback(\n (year, versionName) =>\n models\n .filter(model => model.Year_Model === year && model[envs.VERSION].Version_Name === versionName)\n .sort((modelA, modelB) => {\n const nameA = modelA.Model_Name.toUpperCase()\n const nameB = modelB.Model_Name.toUpperCase()\n if (nameA < nameB) return -1\n if (nameA > nameB) return 1\n return 0\n }),\n [models, envs.VERSION]\n )\n\n useEffect(() => {\n const yearOptions = getYearOptions()\n dispatch({ type: ACTIONS.SET_YEARS_OPTIONS, payload: yearOptions })\n }, [getYearOptions])\n\n const handleSelectYearOption = year => {\n const selectedYear = year\n const versionOptions = getVersionOptions(selectedYear)\n\n if (versionOptions.length === 1) {\n dispatch({ type: ACTIONS.SET_SELECTED_YEAR, payload: { selectedYear, versionOptions } })\n\n const modelOptions = getModelOptions(selectedYear, versionOptions[0].Version_Name)\n const selectedVersion = versionOptions.find(version => version.Version_Name === versionOptions[0].Version_Name)\n\n dispatch({ type: ACTIONS.SET_SELECTED_VERSION, payload: { selectedVersion, modelOptions } })\n\n if (modelOptions.length === 1) {\n dispatch({ type: ACTIONS.SET_SELECTED_MODEL, payload: { selectedModel: modelOptions[0] } })\n }\n } else {\n dispatch({ type: ACTIONS.SET_SELECTED_YEAR, payload: { selectedYear, versionOptions } })\n }\n }\n\n const handleSelectVersionOption = versionName => {\n const modelOptions = getModelOptions(state.selectedYear, versionName)\n const selectedVersion = state.versionOptions.find(version => version.Version_Name === versionName)\n\n dispatch({ type: ACTIONS.SET_SELECTED_VERSION, payload: { selectedVersion, modelOptions } })\n\n if (modelOptions.length === 1) {\n dispatch({ type: ACTIONS.SET_SELECTED_MODEL, payload: { selectedModel: modelOptions[0] } })\n }\n }\n\n const handleSelectModelOption = modelName => {\n const selectedModel = state.modelOptions.find(model => model.Model_Name === modelName)\n\n dispatch({ type: ACTIONS.SET_SELECTED_MODEL, payload: { selectedModel } })\n }\n\n // when page is loaded, load year options, select version if only one, select model if only one\n useEffect(() => {\n if (!state.yearOptions.length) return\n if (!(!hasYearDropDown || state.yearOptions.length === 1)) return\n\n const versionOptions = getVersionOptions(state.yearOptions[0])\n const selectedYear = state.yearOptions[0]\n dispatch({ type: ACTIONS.SET_SELECTED_YEAR, payload: { selectedYear, versionOptions } })\n\n if (versionOptions.length > 1) return\n const selectedVersion = versionOptions[0]\n const modelOptions = getModelOptions(selectedYear, selectedVersion.Version_Name)\n\n dispatch({ type: ACTIONS.SET_SELECTED_VERSION, payload: { selectedVersion, modelOptions } })\n\n if (modelOptions.length > 1) return\n const selectedModel = modelOptions[0]\n\n dispatch({ type: ACTIONS.SET_SELECTED_MODEL, payload: { selectedModel } })\n }, [hasYearDropDown, state.yearOptions, getModelOptions, getVersionOptions])\n\n const buildModelLink = useCallback(() => {\n if (!state.selectedModel) return '#'\n\n const { Full_Name, Year_Model } = state.selectedModel\n return `${slugify(car[envs.CATEGORY].category_slug.toLowerCase())}/${slugify(\n `${Year_Model} ${Full_Name.toLowerCase().replace(`${Year_Model}`, '')}`\n )}`\n }, [state.selectedModel])\n\n return {\n handleSelectYearOption,\n handleSelectVersionOption,\n handleSelectModelOption,\n selectedYear: valueToOptionType(state.selectedYear),\n selectedVersion: valueToOptionType(state.selectedVersion?.Version_Name),\n selectedModel: valueToOptionType(state.selectedModel?.Model_Name),\n yearOptions: arrayToOptionTypes(state.yearOptions),\n versionOptions: arrayToOptionTypes(state.versionOptions.map(v => v.Version_Name)),\n modelOptions: arrayToOptionTypes(state.modelOptions.map(m => m.Model_Name)),\n showModelSelect: state.showModelSelect,\n showContinueButton: state.showContinueButton,\n buildModelLink\n }\n}\n","import React from 'react'\n\nimport { Link } from '@reach/router'\nimport { navigate } from 'gatsby'\nimport { useBreakpoint } from 'gatsby-plugin-breakpoints'\nimport Select from '../Select'\nimport { SelectsWrapper, SelectContainer, ButtonNext, ButtonNextDisable, ButtonsWrapper } from './styles'\nimport { useSelectModel } from './useSelectModel'\n\nexport const SelectModel = ({ homeSelects, car, models, hasYearDropDown, nextButtonText, envs }) => {\n const breakpoints = useBreakpoint()\n const {\n handleSelectYearOption,\n handleSelectVersionOption,\n handleSelectModelOption,\n selectedYear,\n selectedVersion,\n selectedModel,\n yearOptions,\n versionOptions,\n modelOptions,\n showModelSelect,\n showContinueButton,\n buildModelLink\n } = useSelectModel({ models, hasYearDropDown, envs, car })\n\n return (\n \n {hasYearDropDown && (\n \n handleSelectYearOption(option.value)}\n textError={homeSelects.year_select.error_text}\n />\n \n )}\n \n handleSelectVersionOption(option.value)}\n textError={homeSelects.version_select.error_text}\n />\n \n \n handleSelectModelOption(option.value)}\n textError={homeSelects.model_select.error_text}\n />\n \n \n {showContinueButton ? (\n {\n if (window.gtag && car) {\n window.gtag('event', 'go-to-experience', {\n event_category: `${car[envs.CATEGORY].category_slug.toLowerCase()}-${car.car_name.toLowerCase()}`,\n event_label: window.location.href\n })\n }\n\n window.location.href = buildModelLink()\n }}\n style={{ width: '100%' }}\n >\n \n \n {nextButtonText}\n \n \n \n \n \n \n ) : (\n \n \n \n {nextButtonText}\n \n \n \n \n \n \n )}\n \n \n )\n}\n","import React, { useState } from 'react'\nimport { ButtonPrimary, CardCharacNew, CardTitleNew, CharImage } from './styles'\n\nimport { SelectModel } from '../../../../components/SelectModel'\nimport styled from 'styled-components'\nimport { Link } from 'gatsby'\n\nconst ArrowSpan = styled.span`\n .fds-font--ford-icons__chevron-left::before {\n color: black;\n }\n`\n\nexport const CarCardShow = ({ pageContext, car, carPicture, disable_button_text, redirect_link_button_text }) => {\n const [open, setIsOpen] = useState(false)\n\n const carVersionsIds = car[pageContext.envs.VERSIONS].map(version => version.id)\n const carModels = pageContext.models.filter(model => carVersionsIds.includes(model[pageContext.envs.VERSION].id))\n\n return (\n \n car.is_active && setIsOpen(state => !state)}\n />\n
car.is_active && setIsOpen(state => !state)}>\n \n {car.is_active && (\n <>\n {car.car_name}\n {!car.redirect_url && (\n \n \n \n )}\n \n )}\n\n {!car.is_active && (\n <>\n {car.car_name}\n\n \n \n {disable_button_text}\n \n \n \n )}\n\n {car.is_active && car.redirect_url && (\n \n \n {redirect_link_button_text}\n \n \n )}\n \n
\n {open && !car.redirect_url && (\n \n )}\n
\n )\n}\n","import React from 'react'\n\nimport { useState } from 'react'\nimport Slider from '../../../../components/Slider'\nimport { useBreakpoint } from 'gatsby-plugin-breakpoints'\nimport { CarCardShow } from './car-card-show'\n\nexport const CarSlider = ({ cars, pageContext, disable_button_text, redirect_link_button_text }) => {\n const breakpoints = useBreakpoint()\n const [activeItemIndex, setActiveItemIndex] = useState(0)\n\n return (\n \n {cars.map((car, index) => {\n const carPicture = car?.car_picture?.url\n return (\n
\n \n
\n )\n })}\n
\n )\n}\n","import React from 'react'\nimport { Container, CharactericticsWrapper } from './styles'\nimport styled from 'styled-components'\nimport { useBreakpoint } from 'gatsby-plugin-breakpoints'\nimport { sortByPriorityCars } from '../../../../helpers'\nimport { CarCardShow } from './car-card-show'\nimport { CarSlider } from './car-slider'\n\nconst Wrapper = styled.div`\n display: flex;\n justify-content: left;\n flex-direction: column;\n\n .titleWrapper {\n /* max-width: 820px; */\n /* width: 85%; */\n\n @media only screen and (max-width: 600px) {\n max-width: 316.41px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n }\n\n @media only screen and (max-width: 1023px) {\n max-width: 628px;\n margin: auto;\n display: flex;\n flex-direction: column;\n justify-content: center;\n }\n }\n\n h1 {\n color: #00095b;\n font-size: 50px;\n font-weight: 500;\n letter-spacing: 0;\n line-height: 60px;\n text-align: left;\n margin-top: 30px;\n\n @media only screen and (max-width: 600px) {\n font-family: FordAntennaRegular, Arial, Helvetica, sans-serif;\n font-size: 32px;\n line-height: 38px;\n }\n }\n p {\n color: #00095b;\n font-size: 16px;\n letter-spacing: 1px;\n line-height: 24px;\n margin-top: 30px;\n text-align: left;\n font-weight: 400;\n width: 80%;\n margin: 30px auto 0;\n\n @media only screen and (min-width: 601px) {\n width: 100%;\n }\n\n @media only screen and (max-width: 600px) {\n color: #00095b;\n font-size: 16px;\n letter-spacing: 1px;\n line-height: 24px;\n text-align: center;\n font-family: FordAntennaRegular, Arial, Helvetica, sans-serif;\n }\n }\n`\n\nconst WrapperChars = styled.div`\n width: 95%;\n margin: 0 0 0 auto;\n\n @media (max-width: 768px) {\n width: 95%;\n margin-top: 24px;\n }\n`\n\nconst BreakLine = styled.hr``\n\nconst CategoryTitle = styled.h5`\n font-size: 20px !important;\n text-transform: uppercase;\n margin-top: 20px !important;\n`\n\nconst CategoryWrapper = styled.div`\n margin: 20px 0;\n`\n\nconst CarCards = ({\n cars,\n title,\n second_subtitle,\n pageContext,\n categoryTableName,\n disable_button_text,\n redirect_link_button_text\n}) => {\n const breakpoints = useBreakpoint()\n\n let groupCars = {}\n const filteredCard = cars.filter(car => !!car[categoryTableName])\n\n filteredCard.map(car => {\n if (groupCars[car[categoryTableName].category_name]) {\n groupCars[car[categoryTableName].category_name] = [...groupCars[car[categoryTableName].category_name], car]\n } else {\n groupCars[car[categoryTableName].category_name] = [car]\n }\n })\n\n const categories = [\n ...new Set(\n filteredCard\n .map(car => car[categoryTableName])\n .sort((a, b) => {\n return sortByPriorityCars(a, b)\n })\n .map(category => category.category_name)\n )\n ]\n\n return (\n \n \n
\n

{title}

\n
\n\n
\n {/*

\n {subtitle}\n

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

\n
\n
\n {breakpoints.sm ? (\n \n {categories.map((carCategory, indexCat) => {\n const sortedCars = groupCars[carCategory].sort((a, b) => {\n return sortByPriorityCars(a, b)\n })\n return (\n <>\n {carCategory}\n
\n \n
\n \n )\n })}\n
\n ) : (\n
\n {categories.map((carCategory, indexCat) => {\n const sortedCars = groupCars[carCategory].sort((a, b) => {\n return sortByPriorityCars(a, b)\n })\n\n return (\n \n \n {carCategory}\n \n {sortedCars.map((car, index) => {\n const carPicture = car?.car_picture?.url\n return (\n \n )\n })}\n \n \n )\n })}\n
\n )}\n
\n )\n}\n\nexport default CarCards\n","import React, { useEffect } from 'react'\nimport { Template } from '../../../components/template'\n\nimport HeaderHome from '../../../components/HeaderHome'\nimport Footer from '../../../components/Footer'\nimport CarCard from './CarCard'\nimport { navigate } from 'gatsby'\n\nimport axios from 'axios'\nimport slugify from 'slugify'\nimport { forwardParams } from '../../../helpers'\n\nconst VIN_ENDPOINT = `https://app.ford360guide.com`\n// const VIN_ENDPOINT = `http://localhost:3001`\n\nconst LandingCars = ({ pageContext }) => {\n const {\n metatag_title,\n metatag_description,\n metatag_language,\n Privacy_policy_url,\n title,\n subtitle,\n has_cookie_consent,\n redirect_link_button_text,\n privacy_policy_text,\n privacy_policy_subtext,\n privacy_policy_accept_button_text\n } = pageContext.website.website_info\n const { button_text, disable_button_text, second_subtitle } = pageContext.website\n\n const { cars, models, envs } = pageContext\n\n useEffect(() => {\n const vin = window.location.search.split('=')[1]\n\n const getSeq = async () => {\n const country = envs.SEQS.split('_')[0]\n let isoCountry = ''\n\n if (country === 'br') {\n isoCountry = 'bra'\n } else if (country === 'ar') {\n isoCountry = 'arg'\n }\n\n const { data } = await axios.get(`${VIN_ENDPOINT}/vin?n=${vin}&country=${isoCountry}`)\n\n const matchingModel = models.find(model => {\n return model[envs.SEQS].find(seq => seq.code === data.seq)\n })\n\n if (!matchingModel) return\n\n const version = matchingModel[envs.VERSION]\n const car = cars.find(car => {\n return car[envs.VERSIONS].find(ver => ver.id === version.id)\n })\n\n if (!car) return\n\n const { Full_Name, Year_Model } = matchingModel\n\n const categorySlug = slugify(car[envs.CATEGORY].category_slug.toLowerCase())\n const carDetailsSlug = slugify(`${Year_Model} ${Full_Name.toLowerCase().replace(`${Year_Model}`, '')}`)\n\n navigate(forwardParams(`${categorySlug}/${carDetailsSlug}`, ['vin']))\n }\n\n if (vin) getSeq()\n }, [])\n\n return (\n \n \n \n