{"version":3,"file":"renderNewsletterPopUp.min.js","mappings":"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","sources":["webpack://ecommerce/webpack/runtime/chunk loaded","webpack://ecommerce/./src/config/config.inwild.js","webpack://ecommerce/./src/config/config.js","webpack://ecommerce/./src/config/config.production.inwild.js","webpack://ecommerce/./src/config/config.production.js","webpack://ecommerce/./src/config/config.production.runkd.js","webpack://ecommerce/./src/config/config.runkd.js","webpack://ecommerce/./src/config/config.staging.inwild.js","webpack://ecommerce/./src/config/config.staging.js","webpack://ecommerce/./src/config/config.staging.runkd.js","webpack://ecommerce/./src/config/index.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://ecommerce/./src/common/httpService.js","webpack://ecommerce/./src/common/common.js","webpack://ecommerce/./src/tracing.js","webpack://ecommerce/./src/services/data/dataPageService.js","webpack://ecommerce/./src/services/marketingAndAnalytics/ga4Service.js","webpack://ecommerce/./src/services/marketingAndAnalytics/marketingAndAnalyticsService.js","webpack://ecommerce/./src/services/marketingAndAnalytics/facebookService.js","webpack://ecommerce/./src/components/Button.jsx","webpack://ecommerce/./src/components/PopUp.jsx","webpack://ecommerce/./src/views/shared/renderNewsletterPopUp.js","webpack://ecommerce/./wwwroot/js/modernizr-custom-mq.js","webpack://ecommerce/./node_modules/object-assign/index.js","webpack://ecommerce/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://ecommerce/./node_modules/scheduler/index.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/typeof.js","webpack://ecommerce/./node_modules/@babel/runtime/regenerator/index.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://ecommerce/webpack/bootstrap","webpack://ecommerce/webpack/runtime/compat get default export","webpack://ecommerce/webpack/runtime/define property getters","webpack://ecommerce/webpack/runtime/global","webpack://ecommerce/webpack/runtime/harmony module decorator","webpack://ecommerce/webpack/runtime/hasOwnProperty shorthand","webpack://ecommerce/webpack/runtime/make namespace object","webpack://ecommerce/webpack/runtime/node module decorator","webpack://ecommerce/webpack/runtime/runtimeId","webpack://ecommerce/webpack/runtime/jsonp chunk loading","webpack://ecommerce/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","module.exports = {\r\n debug: true,\r\n realtime: {\r\n tokenUrl: 'http://localhost/JSport.RealtimeServiceWeb/api/Token',\r\n paymentHubUrl: 'http://localhost/JSport.RealtimeServiceWeb/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: false,\r\n cdnImagesUrl: 'https://d26ztvr3v93474.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.inwild.com:4433',\r\n cdnCmsAssetsUrl: 'https://d19sv9e4y8qwzh.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n ],\r\n cms: {\r\n cmsUrl: 'http://localhost:1339',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: true,\r\n realtime: {\r\n tokenUrl: 'http://localhost/JSport.RealtimeServiceWeb/api/Token',\r\n paymentHubUrl: 'http://localhost/JSport.RealtimeServiceWeb/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: false,\r\n cdnImagesUrl: 'https://d3n8mmvj9ns1ml.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.lordgunbicycles.com:4433',\r\n cdnCmsAssetsUrl: 'https://d2umopxfu128sk.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n 'en-AU',\r\n 'ko-KR',\r\n ],\r\n cms: {\r\n cmsUrl: 'http://localhost:1337',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: false,\r\n realtime: {\r\n tokenUrl: 'https://api.inwild.com/realtime/api/Token',\r\n paymentHubUrl: 'https://api.inwild.com/realtime/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: true,\r\n cdnImagesUrl: 'https://d26ztvr3v93474.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.inwild.com:4433',\r\n cdnCmsAssetsUrl: 'https://d19sv9e4y8qwzh.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n ],\r\n cms: {\r\n cmsUrl: 'https://news.inwild.com',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: false,\r\n realtime: {\r\n tokenUrl: 'https://api.lordgunbicycles.com/realtime/api/Token',\r\n paymentHubUrl: 'https://api.lordgunbicycles.com/realtime/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: true,\r\n cdnImagesUrl: 'https://d3n8mmvj9ns1ml.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.lordgunbicycles.com:4433',\r\n cdnCmsAssetsUrl: 'https://d2umopxfu128sk.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n 'en-AU',\r\n 'ko-KR',\r\n ],\r\n cms: {\r\n cmsUrl: 'https://news.lordgun.com',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: false,\r\n realtime: {\r\n tokenUrl: 'https://api.runkd.com/realtime/api/Token',\r\n paymentHubUrl: 'https://api.runkd.com/realtime/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: true,\r\n cdnImagesUrl: 'https://dufrl78eaxiu3.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.runkd.com:4433',\r\n cdnCmsAssetsUrl: 'https://d218t1pkbrmetd.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n ],\r\n cms: {\r\n cmsUrl: 'https://news.runkd.com',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: true,\r\n realtime: {\r\n tokenUrl: 'http://localhost/JSport.RealtimeServiceWeb/api/Token',\r\n paymentHubUrl: 'http://localhost/JSport.RealtimeServiceWeb/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: false,\r\n cdnImagesUrl: 'https://dufrl78eaxiu3.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.runkd.com:4433',\r\n cdnCmsAssetsUrl: 'https://d218t1pkbrmetd.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n ],\r\n cms: {\r\n cmsUrl: 'http://localhost:1338',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: true,\r\n realtime: {\r\n tokenUrl: 'https://staging.lordgunbicycles.com/inwild/webapi/realtime/api/Token',\r\n paymentHubUrl: 'https://staging.lordgunbicycles.com/inwild/webapi/realtime/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: false,\r\n cdnImagesUrl: 'https://d26ztvr3v93474.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.inwild.com:4433',\r\n cdnCmsAssetsUrl: 'https://d19sv9e4y8qwzh.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n ],\r\n cms: {\r\n cmsUrl: 'https://lnxtest.lordgunbicycles.com',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: true,\r\n realtime: {\r\n tokenUrl: 'https://staging.lordgunbicycles.com/webapi/realtime/api/Token',\r\n paymentHubUrl: 'https://staging.lordgunbicycles.com/webapi/realtime/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: false,\r\n cdnImagesUrl: 'https://d3n8mmvj9ns1ml.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.lordgunbicycles.com:4433',\r\n cdnCmsAssetsUrl: 'https://d2umopxfu128sk.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n 'en-AU',\r\n 'ko-KR',\r\n ],\r\n cms: {\r\n cmsUrl: 'https://lnxtest.lordgunbicycles.com',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: true,\r\n realtime: {\r\n tokenUrl: 'https://staging.lordgunbicycles.com/runkd/webapi/realtime/api/Token',\r\n paymentHubUrl: 'https://staging.lordgunbicycles.com/runkd/webapi/realtime/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: false,\r\n cdnImagesUrl: 'https://dufrl78eaxiu3.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.runkd.com:4433',\r\n cdnCmsAssetsUrl: 'https://d218t1pkbrmetd.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n ],\r\n cms: {\r\n cmsUrl: 'https://lnxtest.lordgunbicycles.com',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","const config_lordgun = require('./config');\r\nconst config_staging_lordgun = require('./config.staging');\r\nconst config_production_lordgun = require('./config.production');\r\n// RUNKD\r\nconst config_runkd = require('./config.runkd');\r\nconst config_staging_runkd = require('./config.staging.runkd');\r\nconst config_production_runkd = require('./config.production.runkd');\r\n// INWILD\r\nconst config_inwild = require('./config.inwild');\r\nconst config_staging_inwild = require('./config.staging.inwild');\r\nconst config_production_inwild = require('./config.production.inwild');\r\n\r\nconst config = {\r\n lordgun: {\r\n development: config_lordgun,\r\n staging: config_staging_lordgun,\r\n production: config_production_lordgun,\r\n },\r\n runkd: {\r\n development: config_runkd,\r\n staging: config_staging_runkd,\r\n production: config_production_runkd,\r\n },\r\n inwild: {\r\n development: config_inwild,\r\n staging: config_staging_inwild,\r\n production: config_production_inwild,\r\n },\r\n};\r\n\r\nconst isEnvironmentSet =\r\n NODE_ENV !== null && NODE_ENV !== undefined && NODE_ENV !== '';\r\n\r\nlet environment = isEnvironmentSet\r\n ? NODE_ENV.toLowerCase().trim()\r\n : 'production';\r\n\r\nlet configObj = {\r\n getConfig: () => config[SITE.toLowerCase()][environment],\r\n};\r\n\r\nmodule.exports = configObj;\r\n","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import { hasIn, includes, split } from 'lodash';\r\n// import \"whatwg-fetch\"; // Polyfill per fetch su IE11\r\n\r\nconst _normalizeUrl = (url) => {\r\n if (!window.location.origin) {\r\n window.location.origin =\r\n window.location.protocol +\r\n '//' +\r\n window.location.hostname +\r\n (window.location.port ? ':' + window.location.port : '');\r\n }\r\n return window.location.origin + $pathBase + url;\r\n};\r\n\r\nconst get = async function ({ url, headers = {} }) {\r\n const mergedHeaders = {\r\n ...{\r\n method: 'GET', // *GET, POST, PUT, DELETE, etc.\r\n // mode: 'no-cors', // no-cors, cors, *same-origin\r\n // cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached\r\n // credentials: 'same-origin', // include, *same-origin, omit\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Cache-Control': 'max-age=15',\r\n // 'Content-Type': 'application/x-www-form-urlencoded',\r\n },\r\n // redirect: 'follow', // manual, *follow, error\r\n // referrer: 'no-referrer', // no-referrer, *client\r\n // body: JSON.stringify(data), // body data type must match \"Content-Type\" header\r\n },\r\n ...headers,\r\n };\r\n url = _normalizeUrl(url);\r\n return fetch(url, mergedHeaders)\r\n .then((response) => {\r\n if (response.status >= 400 && response.status < 600) {\r\n const errorMessage = hasIn(response, 'statusText')\r\n ? response.statusText\r\n : 'Bad response from server';\r\n // throw new Error( errorMessage );\r\n throw { status: response.status, errorMessage };\r\n } else if (response.redirected) {\r\n if (includes(response.url.toLowerCase(), 'logon?returnurl')) {\r\n const returnUrl = encodeURIComponent(\r\n split(\r\n window.location.toString(),\r\n window.location.origin\r\n )[1]\r\n );\r\n window.location = `${\r\n split(response.url, '?')[0]\r\n }?returnUrl=${returnUrl}`;\r\n return;\r\n }\r\n window.location = response.url;\r\n return;\r\n }\r\n return response;\r\n })\r\n .then((returnedResponse) => {\r\n // Your response to manipulate\r\n return includes(\r\n returnedResponse.headers.get('Content-Type'),\r\n 'application/json'\r\n )\r\n ? returnedResponse.json()\r\n : returnedResponse;\r\n })\r\n .catch((error) => {\r\n // Your error is here!\r\n if (error.status && error.status === 500) {\r\n console.error(error);\r\n }\r\n throw error;\r\n });\r\n};\r\n\r\nconst postFormData = async function ({ url, body }) {\r\n url = _normalizeUrl(url);\r\n const response = await fetch(url, {\r\n method: 'POST',\r\n body: body,\r\n });\r\n return response;\r\n};\r\n\r\nconst post = async function ({ url, body = {} }) {\r\n url = _normalizeUrl(url);\r\n const rawResponse = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(body),\r\n });\r\n\r\n if (rawResponse.redirected) {\r\n if (includes(rawResponse.url.toLowerCase(), 'logon?returnurl')) {\r\n const returnUrl = encodeURIComponent(\r\n split(window.location.toString(), window.location.origin)[1]\r\n );\r\n window.location = `${\r\n split(rawResponse.url, '?')[0]\r\n }?returnUrl=${returnUrl}`;\r\n return {};\r\n }\r\n window.location = rawResponse.url;\r\n return {};\r\n }\r\n\r\n const content = await rawResponse.json();\r\n return content;\r\n};\r\n\r\nconst remove = async function ({ url, headers = {} }) {\r\n url = _normalizeUrl(url);\r\n return fetch(url, {\r\n ...{\r\n method: 'DELETE', // *GET, POST, PUT, DELETE, etc.\r\n cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n },\r\n ...headers,\r\n })\r\n .then((returnedResponse) => {\r\n return includes(\r\n returnedResponse.headers.get('Content-Type'),\r\n 'application/json'\r\n )\r\n ? returnedResponse.json()\r\n : returnedResponse;\r\n })\r\n .catch((error) => {\r\n if (error.status && error.status === 500) {\r\n console.error(error);\r\n }\r\n throw error;\r\n });\r\n};\r\n\r\nexport { get, postFormData, post, remove };\r\n","const configHelper = require('../config/index');\r\nimport { reduce, replace, isNil, some, startsWith, isEmpty } from 'lodash';\r\n\r\nrequire('../../wwwroot/js/modernizr-custom-mq.js');\r\nconst trimTrailingSlash = (virtualdir = '') => {\r\n return virtualdir.length > 0 && virtualdir[virtualdir.length - 1] === '/'\r\n ? virtualdir.slice(0, virtualdir.length - 1)\r\n : virtualdir;\r\n};\r\nconst getSiteUrl = (virtualdir = window.$pathBase) => {\r\n if (virtualdir === undefined) {\r\n throw new Error(\r\n 'common.getSiteUrl: virtualdir undefined. Should be emtpy or set.'\r\n );\r\n }\r\n if (window.location.port === '') {\r\n return trimTrailingSlash(\r\n window.location.protocol +\r\n '//' +\r\n window.location.hostname +\r\n virtualdir\r\n );\r\n }\r\n return trimTrailingSlash(\r\n window.location.protocol +\r\n '//' +\r\n window.location.hostname +\r\n ':' +\r\n window.location.port +\r\n virtualdir\r\n );\r\n};\r\nconst getSiteCommercialName = () => {\r\n const siteName = {\r\n lordgun: 'LordGun',\r\n runkd: 'RUNKD',\r\n inwild: 'INWILD',\r\n };\r\n return siteName[SITE.toLowerCase()];\r\n};\r\nconst contentFromCdn = ({ path, keepUrlAsIs }) => {\r\n try {\r\n if (keepUrlAsIs === true) {\r\n return path;\r\n }\r\n const config = configHelper.getConfig();\r\n const { useCdn, cdnImagesUrl, cdnImagesFallbackUrl, cms } = config;\r\n\r\n if (cms && cms.cmsUrl && !isNil(cms.cmsUrl) && !isEmpty(cms.cmsUrl)) {\r\n if (startsWith(path, cms.cmsUrl)) {\r\n return path;\r\n }\r\n }\r\n\r\n if (some([useCdn, cdnImagesUrl, cdnImagesFallbackUrl], isNil)) {\r\n throw new Error('Some config for contentFromCdn is missing');\r\n }\r\n let transformedPath = replace(path.toLowerCase(), '~', '');\r\n transformedPath = replace(\r\n transformedPath,\r\n '/content/products',\r\n '/products'\r\n );\r\n transformedPath = replace(transformedPath, '/content/kits', '/kits');\r\n transformedPath = replace(transformedPath, '/content/img/', '/img/');\r\n transformedPath = replace(transformedPath, '/content/img', '/img');\r\n transformedPath = replace(transformedPath, 'content/img/', '/img/');\r\n transformedPath = replace(transformedPath, 'content/', '');\r\n transformedPath = replace(transformedPath, cdnImagesUrl, '');\r\n transformedPath = replace(transformedPath, cdnImagesFallbackUrl, '');\r\n let siteUrl = getSiteUrl().toLowerCase();\r\n transformedPath = transformedPath.replace(siteUrl, '');\r\n transformedPath = replace(\r\n transformedPath,\r\n window.$pathBase.toLowerCase(),\r\n ''\r\n );\r\n transformedPath = transformedPath.startsWith('/')\r\n ? transformedPath.slice(1, transformedPath.length)\r\n : transformedPath;\r\n if (useCdn && startsWith(transformedPath, cdnImagesUrl.toLowerCase())) {\r\n transformedPath = replace(\r\n transformedPath,\r\n cdnImagesUrl.toLowerCase(),\r\n ''\r\n );\r\n }\r\n if (\r\n useCdn === false &&\r\n startsWith(transformedPath, cdnImagesFallbackUrl.toLowerCase())\r\n ) {\r\n transformedPath = replace(\r\n transformedPath,\r\n cdnImagesFallbackUrl.toLowerCase(),\r\n ''\r\n );\r\n }\r\n\r\n let finalPath = useCdn\r\n ? `${cdnImagesUrl}/${transformedPath}`\r\n : `${cdnImagesFallbackUrl}/${transformedPath}`;\r\n return finalPath;\r\n } catch (error) {\r\n console.error('contentFromCdn. Set content from Cdn', error);\r\n }\r\n};\r\nconst getPartnersByCulture = ({ culture, partners }) => {\r\n const items = reduce(\r\n partners,\r\n (acc, el) => {\r\n return el.Culture === culture ? acc.concat(el) : acc;\r\n },\r\n []\r\n );\r\n return reduce(\r\n items,\r\n (acc, p) => {\r\n acc.push({\r\n title: p.Name,\r\n url: p.Url,\r\n culture: p.Culture,\r\n logo: contentFromCdn({\r\n path: `/Content/img/${p.Logo}`,\r\n keepUrlAsIs: false,\r\n }),\r\n });\r\n return acc;\r\n },\r\n []\r\n );\r\n};\r\nconst getParameterByName = function (name, url = window.location.href) {\r\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\r\n var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),\r\n results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\r\n};\r\nexport default {\r\n getSiteUrl,\r\n getLang: () => document.documentElement.lang,\r\n isTouch: () => Modernizr.touch || window.innerWidth <= 768,\r\n isDesktop: () => Modernizr.mq('(min-width: 64em)'),\r\n getSite: () => SITE.trim().toLowerCase(),\r\n getSiteCommercialName,\r\n contentFromCdn,\r\n getPartnersByCulture,\r\n getParameterByName,\r\n};\r\n","import * as Sentry from '@sentry/browser';\r\nimport { JL } from 'jsnlog';\r\nimport { Integrations } from '@sentry/tracing';\r\nimport common from './common/common';\r\nconst configHelper = require('./config/index');\r\n\r\nconst initTracing = () => {\r\n const site = common.getSite();\r\n if (configHelper.getConfig().debug === false) {\r\n Sentry.init({\r\n dsn: configHelper.getConfig().tracingUrl,\r\n integrations: [new Integrations.BrowserTracing()],\r\n\r\n // Set tracesSampleRate to 1.0 to capture 100%\r\n // of transactions for performance monitoring.\r\n // We recommend adjusting this value in production\r\n tracesSampleRate: NODE_ENV.toLowerCase() === 'development' ? 1.0 : 0.5,\r\n environment: NODE_ENV,\r\n });\r\n Sentry.setTag('SITE', site);\r\n Sentry.setTag('getSiteUrl', common.getSiteUrl());\r\n Sentry.setTag('lang', common.getLang());\r\n Sentry.setTag('isTouch', common.isTouch());\r\n Sentry.setTag('isDesktop', common.isDesktop());\r\n }\r\n};\r\nlet initializedLoggers = [];\r\nconst _initJsNlog = ({ loggerName }) => {\r\n if (initializedLoggers.indexOf(loggerName) === -1) {\r\n const defaultLoggingUrl = window.$pathBase + 'jsnlog.logger';\r\n var appender = JL.createAjaxAppender('mycustomappender.' + loggerName);\r\n var consoleAppender = JL.createConsoleAppender(\r\n 'consoleAppender.' + loggerName\r\n );\r\n appender.setOptions({\r\n bufferSize: 80,\r\n maxBatchSize: 80,\r\n url: defaultLoggingUrl,\r\n });\r\n JL.setOptions({\r\n defaultAjaxUrl: defaultLoggingUrl,\r\n });\r\n JL(loggerName).setOptions({\r\n appenders: [appender, consoleAppender],\r\n });\r\n if (typeof window !== 'undefined') {\r\n let _oldOnErrorHandler = window.onerror || null;\r\n window.onerror = function (msg, url, line, column, error) {\r\n let sourceUrl =\r\n window && window.location && window.location.href\r\n ? `${url} window.location.href: ${window.location.href}`\r\n : url;\r\n JL('onerrorLogger').fatalException(\r\n {\r\n msg: 'Uncaught Exception',\r\n errorMsg: `onerror: ${msg}`,\r\n url: sourceUrl,\r\n 'line number': line,\r\n column: column,\r\n },\r\n error\r\n );\r\n if (_oldOnErrorHandler) {\r\n // eslint-disable-next-line prefer-rest-params\r\n return _oldOnErrorHandler.apply(this, arguments);\r\n }\r\n return false;\r\n };\r\n let _oldOnUnhandledRejectionHandler =\r\n window.onunhandledrejection || null;\r\n window.onunhandledrejection = function (event) {\r\n // How to test this handler: window.setTimeout(function() {throw new Error('abc')}, 0);\r\n let sourceUrl =\r\n window && window.location && window.location.href\r\n ? ` window.location.href: ${window.location.href}`\r\n : '';\r\n let reasonMessage =\r\n event.reason && event.reason.message\r\n ? event.reason.message\r\n : '';\r\n JL('onerrorLogger').fatal(\r\n `Reason message: ${reasonMessage} SourceUrl: ${sourceUrl}`\r\n );\r\n JL('onerrorLogger').fatalException(\r\n {\r\n msg: 'unhandledrejection',\r\n errorMsg: `onunhandledrejection: ${reasonMessage} SourceUrl: ${sourceUrl}`,\r\n },\r\n event.reason\r\n );\r\n if (_oldOnUnhandledRejectionHandler) {\r\n // eslint-disable-next-line prefer-rest-params\r\n return _oldOnUnhandledRejectionHandler.apply(\r\n this,\r\n arguments\r\n );\r\n }\r\n return false;\r\n };\r\n }\r\n initializedLoggers.push(loggerName);\r\n }\r\n};\r\nconst logDebug = function (...args) {\r\n _initJsNlog({ loggerName: 'jsnlogfile' });\r\n JL('jsnlogfile').debug(args);\r\n};\r\nconst logInfo = function (...args) {\r\n _initJsNlog({ loggerName: 'jsnlogfile' });\r\n JL('jsnlogfile').info(args);\r\n};\r\nconst logEvent = function (...args) {\r\n _initJsNlog({ loggerName: 'jsnlogfile' });\r\n _initJsNlog({ loggerName: 'jsnlogeventfile' });\r\n JL('jsnlogeventfile').debug(args);\r\n JL('jsnlogfile').debug(args);\r\n};\r\nconst logWarn = function (...args) {\r\n console.warn(args);\r\n _initJsNlog({ loggerName: 'jsnlogfile' });\r\n JL('jsnlogfile').warn(args);\r\n};\r\nconst logError = function (...args) {\r\n console.error(args);\r\n _initJsNlog({ loggerName: 'jsnlogfile' });\r\n JL('jsnlogfile').error(args);\r\n};\r\nexport { initTracing, logDebug, logInfo, logWarn, logError, logEvent };\r\n","import {\r\n logDebug,\r\n logInfo,\r\n logWarn,\r\n logError,\r\n logEvent,\r\n} from '../../tracing.js';\r\n\r\nconst validateGoogleData = (prop, defaultValue) => {\r\n if (!window.googleData) {\r\n throw new Error('window.googleData is not defined');\r\n }\r\n if (\r\n window.googleData[prop] === null ||\r\n window.googleData[prop] === undefined\r\n ) {\r\n if (defaultValue !== undefined) {\r\n logWarn(\r\n `${prop} is not defined on window.googleData. Falling back ${defaultValue}`\r\n );\r\n return defaultValue;\r\n } else {\r\n throw new Error(`${prop} is not defined on window.googleData`);\r\n }\r\n }\r\n logDebug(\r\n `Google data prop found. Retrieving prop ${prop} with value ${window.googleData[prop]}`\r\n );\r\n return window.googleData[prop];\r\n};\r\nconst validateEcommerceData = (prop, defaultValue) => {\r\n if (!window.ecommerceData) {\r\n throw new Error('window.ecommerceData is not defined');\r\n }\r\n if (\r\n window.ecommerceData[prop] === null ||\r\n window.ecommerceData[prop] === undefined\r\n ) {\r\n if (defaultValue !== undefined) {\r\n logWarn(\r\n `${prop} is not defined on window.ecommerceData. Falling back ${defaultValue}`\r\n );\r\n return defaultValue;\r\n } else {\r\n throw new Error(`${prop} is not defined on window.ecommerceData`);\r\n }\r\n }\r\n logDebug(\r\n `Ecommerce data prop found. Retrieving prop ${prop} with value ${window.ecommerceData[prop]}`\r\n );\r\n return window.ecommerceData[prop];\r\n};\r\n\r\nconst extractAdwordsConfiguration = () => {\r\n const adwordsConfiguration = validateGoogleData('adwordsConfiguration');\r\n const ads = JSON.parse(adwordsConfiguration.replace(/"/g, '\"'));\r\n return ads;\r\n};\r\nexport {\r\n validateGoogleData,\r\n extractAdwordsConfiguration,\r\n validateEcommerceData,\r\n};\r\n","// https://developers.google.com/analytics/devguides/collection/ga4/reference/events\r\nimport { logDebug, logWarn, logError, logEvent } from '../../tracing.js';\r\n\r\nimport {\r\n map,\r\n isArray,\r\n find,\r\n some,\r\n includes,\r\n forEach,\r\n isNil,\r\n isEmpty,\r\n} from 'lodash';\r\n\r\nimport { validateGoogleData } from '../data/dataPageService.js';\r\n\r\nconst _prefix = 'GA4';\r\nconst _validateGtag = () => {\r\n if (!window.gtag) {\r\n throw new Error('window.gtag is null or undefined');\r\n }\r\n};\r\n\r\nconst _setCategories = ({ itemObj, categories }) => {\r\n forEach(categories, (category, index) => {\r\n itemObj[`item_category${index === 0 ? '' : index}`] = category;\r\n });\r\n return itemObj;\r\n};\r\n\r\nconst _mapItems = (items) =>\r\n map(items, (item) => {\r\n const itemObj = {\r\n item_id: item.googleId,\r\n item_name: item.slug,\r\n };\r\n if (!isNil(item.quantity)) {\r\n itemObj.quantity = item.quantity;\r\n }\r\n if (!isNil(item.currency)) {\r\n itemObj.currency = item.currency;\r\n }\r\n if (!isNil(item.price)) {\r\n itemObj.price = item.price;\r\n }\r\n if (!isNil(item.disciplines)) {\r\n itemObj.disciplines = item.disciplines;\r\n }\r\n if (!isNil(item.brandName)) {\r\n itemObj.item_brand = item.brandName;\r\n }\r\n if (\r\n !isNil(item.categories) &&\r\n item.categories &&\r\n item.categories.length > 0\r\n ) {\r\n return _setCategories({ itemObj, categories: item.categories });\r\n }\r\n return itemObj;\r\n });\r\n\r\nconst beginCheckout = ({ currency, totaleuro, items }) => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n const obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n // transaction_id: cartId, // CREDO NON sia passabile, non è documentato e non mi pare registrare l'evento se lo aggiungo.\r\n currency,\r\n value: totaleuro,\r\n items: _mapItems(items),\r\n };\r\n logEvent(`${_prefix} begin_checkout`, obj);\r\n gtag('event', 'begin_checkout', obj);\r\n};\r\n\r\nconst purchase = ({ transaction_id, currency, value, shipping, items }) => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n let obj = {\r\n transaction_id,\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n currency,\r\n value,\r\n shipping,\r\n items: items.map((li) => ({\r\n item_id: li.googleId,\r\n item_name: li.slug,\r\n item_category:\r\n li.categories &&\r\n isArray(li.categories) &&\r\n li.categories.length > 0\r\n ? li.categories[0]\r\n : '',\r\n item_brand:\r\n isNil(li.brandName) || isEmpty(li.brandName)\r\n ? ''\r\n : li.brandName,\r\n price: li.price,\r\n quantity: li.quantity,\r\n })),\r\n };\r\n logEvent(`${_prefix} purchase`, obj);\r\n gtag('event', 'purchase', obj);\r\n};\r\n\r\nconst newsletterRegistration = ({ url, email }) => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n let obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n url: url === undefined ? window.location.href : url,\r\n email,\r\n };\r\n logEvent(`${_prefix} CompleteRegistration`, obj);\r\n gtag('event', 'CompleteRegistration', obj);\r\n};\r\n\r\nconst viewItem = ({ currency, value, items }) => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n const obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n\r\n currency,\r\n value,\r\n items: _mapItems(items),\r\n };\r\n\r\n logEvent(`${_prefix} view_item`, obj);\r\n gtag('event', 'view_item', obj);\r\n};\r\n\r\nconst searchItemsResults = ({ searchterm }) => {\r\n // NOTA: abbiamo disabilitato l'enhancement measure su GA4 (stream web)\r\n // al fine di evitare duplicazione di questi eventi.\r\n // Disabilitandolo, nei report ne risulta uno,\r\n // anche se comunque ne vengono sparati due (uno dal nostro codice e uno by default da Google)\r\n _validateGtag();\r\n const obj = {\r\n search_term: searchterm,\r\n };\r\n\r\n logEvent(`${_prefix} search`, obj);\r\n gtag('event', 'search', obj);\r\n};\r\n\r\nconst viewItemList = ({ items }) => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n const obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n items: _mapItems(items),\r\n };\r\n\r\n logEvent(`${_prefix} view_item_list`, obj);\r\n gtag('event', 'view_item_list', obj);\r\n};\r\n\r\nconst viewCart = ({ cartId, currency, totaleuro, items }) => {\r\n _validateGtag();\r\n const obj = {\r\n // transaction_id: cartId,\r\n currency,\r\n value: parseFloat(totaleuro),\r\n items: _mapItems(items),\r\n };\r\n\r\n logEvent(`${_prefix} view_cart`, obj);\r\n gtag('event', 'view_cart', obj);\r\n};\r\n\r\nconst addShippingInfo = ({ cartId, currency, value, items, shipping_tier }) => {\r\n _validateGtag();\r\n const obj = {\r\n // transaction_id: cartId, // NON SI PUO' METTERE o NON REGISTRA L'EVENTO\r\n currency,\r\n value: parseFloat(value),\r\n items: _mapItems(items),\r\n shipping_tier: shipping_tier,\r\n };\r\n logEvent(`${_prefix} add_shipping_info`, obj);\r\n gtag('event', 'add_shipping_info', obj);\r\n};\r\n\r\nconst addToCart = ({\r\n id,\r\n quantity,\r\n currency,\r\n price,\r\n items,\r\n disciplines,\r\n categories,\r\n brandName,\r\n}) => {\r\n _validateGtag();\r\n\r\n if (!some(items, (item) => item.googleId === id)) {\r\n logWarn(\r\n `Mismatch between serverside ids and current clientside id ${id} on add_to_cart. Serverside ids: ${map(\r\n items,\r\n (i) => i.googleId\r\n )}`\r\n );\r\n }\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n const obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n currency,\r\n value: find(items, (item) => item.googleId === id).price,\r\n items: _mapItems([\r\n {\r\n googleId: id,\r\n slug: find(items, (item) => item.googleId === id).slug,\r\n quantity,\r\n currency,\r\n price: find(items, (item) => item.googleId === id).price,\r\n disciplines,\r\n brandName,\r\n categories,\r\n },\r\n ]),\r\n };\r\n\r\n logEvent(`${_prefix} add_to_cart`, obj);\r\n gtag('event', 'add_to_cart', obj);\r\n};\r\n\r\nconst addPaymentInfo = ({ currency, value, items, payment }) => {\r\n _validateGtag();\r\n const obj = {\r\n currency,\r\n value,\r\n payment_type: payment,\r\n items: _mapItems(items),\r\n };\r\n logEvent(`${_prefix} add_payment_info`, obj);\r\n gtag('event', 'add_payment_info', obj);\r\n};\r\n\r\nconst closePopUp = () => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n const obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n content_type: 'close pop up',\r\n };\r\n\r\n logEvent(`${_prefix} select_content`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst popUpButtonClick = () => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n const obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n content_type: 'pop up button click',\r\n };\r\n\r\n logEvent(`${_prefix} select_content`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst init = ({ debug }) => {\r\n // Analytics 4\r\n if (!window.dataLayer) {\r\n logDebug('window.dataLayer does not exist. Creating it as empty array');\r\n }\r\n window.dataLayer = window.dataLayer || [];\r\n logDebug('window.dataLayer set...');\r\n function gtag() {\r\n dataLayer.push(arguments);\r\n }\r\n window.gtag = gtag;\r\n _validateGtag();\r\n logDebug('window.gtag set...');\r\n gtag('js', new Date());\r\n};\r\nconst setConfigGoogleAnalytics4 = ({ debug }) => {\r\n _validateGtag();\r\n // Questo config in automatico, per default, setta send_page_view a true per GA4 (con dei parametri di default).\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n\r\n const configAlreadySetAnalytics4MeasurementId = some(\r\n dataLayer,\r\n (d) => includes(d, 'config') && includes(d, analytics4MeasurementId)\r\n );\r\n if (!configAlreadySetAnalytics4MeasurementId) {\r\n if (debug === true) {\r\n gtag('config', analytics4MeasurementId, {\r\n debug_mode: debug,\r\n });\r\n } else {\r\n gtag('config', analytics4MeasurementId);\r\n }\r\n logEvent(\r\n `GA4 pageview via \\'config\\' for measurement id ${analytics4MeasurementId}`\r\n );\r\n }\r\n\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n const configAlreadySetAnalytics4MeasurementGlobalId = some(\r\n dataLayer,\r\n (d) =>\r\n includes(d, 'config') && includes(d, analytics4MeasurementGlobalId)\r\n );\r\n if (!configAlreadySetAnalytics4MeasurementGlobalId) {\r\n if (debug === true) {\r\n gtag('config', configAlreadySetAnalytics4MeasurementGlobalId, {\r\n debug_mode: debug,\r\n });\r\n } else {\r\n gtag('config', configAlreadySetAnalytics4MeasurementGlobalId);\r\n }\r\n logEvent(\r\n `GA4 pageview via \\'config\\' for Global measurement id ${analytics4MeasurementGlobalId}`\r\n );\r\n }\r\n};\r\n\r\nconst recordGA4BannerClick = ({ linkUrl, title, index }) => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'banner',\r\n item_id: linkUrl,\r\n title,\r\n index,\r\n };\r\n logEvent(\r\n `GA4 custom event BANNER CLICK: ${linkUrl} ${title} ${index}`,\r\n obj\r\n );\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4PromoImagesClick = ({\r\n linkUrl,\r\n promoMessage,\r\n index,\r\n imageSrc,\r\n}) => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'promoImages',\r\n item_id: linkUrl,\r\n promoMessage,\r\n index,\r\n imageSrc,\r\n };\r\n logEvent(\r\n `GA4 custom event PROMO IMAGES CLICK: ${linkUrl} ${promoMessage.message} ${index}`,\r\n obj\r\n );\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4InfoboxClick = ({ linkUrl }) => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'infobox',\r\n item_id: linkUrl,\r\n };\r\n logEvent(`GA4 custom event INFOBOX CLICK: ${linkUrl}`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4NewsHomepageClick = () => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'news',\r\n };\r\n logEvent(`GA4 custom event NEWS HOMEPAGE`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4HelpClick = () => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'help',\r\n };\r\n logEvent(`GA4 custom event HELP PAGE`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4CategoryClick = ({ linkUrl }) => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'category',\r\n item_id: linkUrl,\r\n };\r\n logEvent(`GA4 custom event CATEGORY CLICK: ${linkUrl}`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4LogonClick = ({ linkUrl }) => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'logon',\r\n item_id: linkUrl,\r\n };\r\n logEvent(`GA4 custom event LOGON CLICK: ${linkUrl}`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4RegisterClick = ({ linkUrl }) => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'register',\r\n item_id: linkUrl,\r\n };\r\n logEvent(`GA4 custom event REGISTER CLICK: ${linkUrl}`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nexport {\r\n beginCheckout,\r\n purchase,\r\n newsletterRegistration,\r\n viewItem,\r\n searchItemsResults,\r\n viewItemList,\r\n viewCart,\r\n addShippingInfo,\r\n addToCart,\r\n addPaymentInfo,\r\n closePopUp,\r\n popUpButtonClick,\r\n init,\r\n setConfigGoogleAnalytics4,\r\n recordGA4BannerClick,\r\n recordGA4PromoImagesClick,\r\n recordGA4InfoboxClick,\r\n recordGA4NewsHomepageClick,\r\n recordGA4HelpClick,\r\n recordGA4CategoryClick,\r\n recordGA4LogonClick,\r\n recordGA4RegisterClick,\r\n};\r\n","import cookieService from '../cookieService.js';\r\nimport {\r\n beginCheckout as ga4BeginCheckout,\r\n purchase as ga4Purchase,\r\n newsletterRegistration as ga4NewsletterRegistration,\r\n viewItem as ga4ViewItem,\r\n searchItemsResults as ga4SearchItemsResults,\r\n viewItemList as ga4ViewItemList,\r\n viewCart as ga4ViewCart,\r\n addShippingInfo as ga4AddShippingInfo,\r\n addToCart as ga4AddToCart,\r\n addPaymentInfo as ga4AddPaymentInfo,\r\n closePopUp as ga4ClosePopUp,\r\n popUpButtonClick as ga4PopUpButtonClick,\r\n init as initGoogleAnalytics4,\r\n setConfigGoogleAnalytics4,\r\n recordGA4BannerClick,\r\n recordGA4PromoImagesClick,\r\n recordGA4InfoboxClick,\r\n recordGA4NewsHomepageClick,\r\n recordGA4HelpClick,\r\n recordGA4CategoryClick,\r\n recordGA4LogonClick,\r\n recordGA4RegisterClick,\r\n} from './ga4Service.js';\r\nimport {\r\n beginCheckout as adsBeginCheckoutSendConversion,\r\n purchaseDynamicRemarketing,\r\n purchaseConversion,\r\n adsSearchItemResultsDynamicRemarketing,\r\n adsViewItemListDynamicRemarketing,\r\n adsViewItemDynamicRemarketing,\r\n adsAddToCartDynamicRemarketing,\r\n adsAddToCartConversion,\r\n newsletterRegistration as adsNewsletterRegistrationSendConversion,\r\n initConversions,\r\n} from './adsService.js';\r\nimport {\r\n init as initFbq,\r\n addToCart as fbqAddToCart,\r\n fbqPixelId,\r\n pageView as fbqPageView,\r\n beginCheckout as fbqBeginCheckout,\r\n newsletterRegistration as fbqNewsletterRegistration,\r\n contact as fbqContact,\r\n search as fbqSearch,\r\n addPaymentInfo as fbqAddPaymentInfo,\r\n viewItem as fbqViewItem,\r\n purchase as fbqPurchase,\r\n} from './facebookService.js';\r\n\r\nimport { logDebug, logWarn, logError, logEvent } from '../../tracing.js';\r\nimport { isArray } from 'lodash';\r\nimport { validateGoogleData } from '../data/dataPageService.js';\r\n\r\nconst pageTypes = {\r\n view_item: 'view_item',\r\n view_item_list: 'view_item_list',\r\n cart: 'cart',\r\n view_search_results: 'view_search_results',\r\n registration: 'registration',\r\n contact: 'contact',\r\n view_cart: 'view_cart',\r\n add_shipping_info: 'add_shipping_info',\r\n add_payment_info: 'add_payment_info',\r\n purchase: 'purchase',\r\n};\r\n\r\nconst _validateEcommPageType = () => {\r\n if (!window.ecomm_pagetype) {\r\n throw new Error('window.ecomm_pagetype is not defined');\r\n }\r\n return window.ecomm_pagetype;\r\n};\r\nconst _validateEcommTransactionId = () => {\r\n if (!window.ecomm_transactionid) {\r\n logError('window.ecomm_transactionid is not defined');\r\n throw new Error('window.ecomm_transactionid is not defined');\r\n }\r\n\r\n if (window.ecomm_transactionid === '00000000-0000-0000-0000-000000000000') {\r\n logError(\r\n 'Skipping because orderId happens to be 00000000-0000-0000-0000-000000000000'\r\n );\r\n throw new Error(\r\n 'Skipping because orderId happens to be 00000000-0000-0000-0000-000000000000'\r\n );\r\n }\r\n return window.ecomm_transactionid;\r\n};\r\nconst _validateEcommTotalValue = () => {\r\n if (!window.ecomm_totalvalue) {\r\n logError('window.ecomm_totalvalue is not defined');\r\n throw new Error('window.ecomm_totalvalue is not defined');\r\n }\r\n return window.ecomm_totalvalue;\r\n};\r\nconst _validateEcommTotalValueEuro = () => {\r\n if (!window.ecomm_totalvalueeuro) {\r\n logError('window.ecomm_totalvalueeuro is not defined');\r\n throw new Error('window.ecomm_totalvalueeuro is not defined');\r\n }\r\n return window.ecomm_totalvalueeuro;\r\n};\r\n\r\nconst _validateEcommCurrency = () => {\r\n if (!window.ecomm_currency) {\r\n logError('window.ecomm_currency is undefined');\r\n throw new Error('window.ecomm_currency is undefined');\r\n }\r\n return window.ecomm_currency;\r\n};\r\n\r\nconst _validateEcommSearchTerm = () => {\r\n if (!window.ecomm_searchterm) {\r\n logError('window.ecomm_searchterm is undefined');\r\n throw new Error('window.ecomm_searchterm is undefined');\r\n }\r\n if (window.ecomm_searchterm === '') {\r\n logWarn('window.ecomm_searchterm is empty');\r\n }\r\n return window.ecomm_searchterm;\r\n};\r\nconst _validateEcommItems = () => {\r\n if (!window.ecomm_items) {\r\n logError('window.ecomm_items is undefined');\r\n throw new Error('window.ecomm_items is undefined');\r\n }\r\n if (isArray(window.ecomm_items) && window.ecomm_items.length === 0) {\r\n logWarn('window.ecomm_items is empty');\r\n }\r\n return window.ecomm_items;\r\n};\r\nconst _validateEcommShippingOptionName = () => {\r\n if (!window.ecomm_shippingoptionname) {\r\n logError('window.ecomm_shippingoptionname is undefined');\r\n throw new Error('window.ecomm_shippingoptionname is undefined');\r\n }\r\n if (window.ecomm_shippingoptionname === '') {\r\n logWarn('window.ecomm_shippingoptionname is empty');\r\n }\r\n return window.ecomm_shippingoptionname;\r\n};\r\nconst _validateEcommShippingFeesEuro = () => {\r\n if (!window.ecomm_shippingfeeseuro) {\r\n logError('window.ecomm_shippingfeeseuro is undefined');\r\n throw new Error('window.ecomm_shippingfeeseuro is undefined');\r\n }\r\n if (window.ecomm_shippingfeeseuro === '') {\r\n logWarn('window.ecomm_shippingfeeseuro is empty');\r\n }\r\n return window.ecomm_shippingfeeseuro;\r\n};\r\nconst _validateEcommEmail = () => {\r\n if (!window.ecomm_email) {\r\n logError('window.ecomm_email is undefined');\r\n throw new Error('window.ecomm_email is undefined');\r\n }\r\n return window.ecomm_email;\r\n};\r\n\r\nconst _sendInitiateCheckout = () => {\r\n if (window.ecomm_pagetype && window.ecomm_pagetype === pageTypes.cart) {\r\n const cartId = _validateEcommTransactionId();\r\n const totaleuro = _validateEcommTotalValueEuro();\r\n const currency = _validateEcommCurrency();\r\n const items = _validateEcommItems();\r\n fbqBeginCheckout({\r\n currency,\r\n value: totaleuro,\r\n items,\r\n eventId: cartId,\r\n });\r\n\r\n ga4BeginCheckout({\r\n currency,\r\n totaleuro,\r\n items,\r\n });\r\n adsBeginCheckoutSendConversion({\r\n cartId,\r\n currency,\r\n totaleuro,\r\n items,\r\n });\r\n }\r\n};\r\n\r\nconst _sendNewsletterRegistration = ({ url, email }) => {\r\n logDebug('_sendRegistration');\r\n fbqNewsletterRegistration({ url, email });\r\n ga4NewsletterRegistration({\r\n url,\r\n email,\r\n });\r\n adsNewsletterRegistrationSendConversion({\r\n email,\r\n });\r\n};\r\n\r\nconst sendRegistration = ({ url, email }) => {\r\n return initLibs()\r\n .then(() => {\r\n try {\r\n _sendNewsletterRegistration({ url, email });\r\n } catch (error) {\r\n throw new Error(error.message);\r\n }\r\n })\r\n .catch((err) => {\r\n logError('sendRegistration from form ', err.message, url, email);\r\n return err;\r\n });\r\n};\r\n\r\nconst _sendRegistration = () => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.registration\r\n ) {\r\n const email = _validateEcommEmail();\r\n _sendNewsletterRegistration({ url: window.location.href, email });\r\n }\r\n};\r\n\r\nconst _sendFbqContact = () => {\r\n if (window.ecomm_pagetype && window.ecomm_pagetype === pageTypes.contact) {\r\n logDebug('_sendFbqContact');\r\n fbqContact();\r\n }\r\n};\r\n\r\nconst _sendViewItem = () => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.view_item\r\n ) {\r\n logDebug('_sendGoogleAnalyticsFourViewItem');\r\n const currency = _validateEcommCurrency();\r\n const value = _validateEcommTotalValue();\r\n const items = _validateEcommItems();\r\n\r\n // Commentato per evitare eventi duplicati, essendoci dynamic remarketing\r\n ga4ViewItem({\r\n currency,\r\n value,\r\n items,\r\n });\r\n adsViewItemDynamicRemarketing({ value, items });\r\n }\r\n};\r\n\r\nconst _sendSearchItemResults = () => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.view_search_results\r\n ) {\r\n logDebug('_sendSearchItemResults');\r\n const searchterm = _validateEcommSearchTerm();\r\n const items = _validateEcommItems();\r\n\r\n fbqSearch({ searchterm });\r\n ga4SearchItemsResults({ searchterm });\r\n adsSearchItemResultsDynamicRemarketing({ searchterm, items });\r\n }\r\n};\r\n\r\nconst _sendViewItemList = () => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.view_item_list\r\n ) {\r\n logDebug('_sendViewItemList');\r\n const items = _validateEcommItems();\r\n ga4ViewItemList({\r\n items,\r\n });\r\n adsViewItemListDynamicRemarketing({ items });\r\n }\r\n};\r\n\r\nconst _sendViewCart = () => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.view_cart\r\n ) {\r\n logDebug('_sendViewCart');\r\n const cartId = _validateEcommTransactionId();\r\n const currency = _validateEcommCurrency();\r\n const totaleuro = _validateEcommTotalValueEuro();\r\n const items = _validateEcommItems();\r\n ga4ViewCart({ cartId, currency, totaleuro, items });\r\n }\r\n};\r\n\r\nconst _sendShippingInfo = () => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.add_shipping_info\r\n ) {\r\n logDebug('_sendGoogleAnalyticsFourShippingInfo');\r\n const cartId = _validateEcommTransactionId();\r\n const currency = _validateEcommCurrency();\r\n const value = _validateEcommTotalValue();\r\n const items = _validateEcommItems();\r\n const shipping_tier = _validateEcommShippingOptionName();\r\n ga4AddShippingInfo({ cartId, currency, value, items, shipping_tier });\r\n }\r\n};\r\n\r\nconst addPaymentInfo = ({ payment, value }) => {\r\n logDebug('addPaymentInfo');\r\n return initLibs().then(() => {\r\n const cartId = _validateEcommTransactionId();\r\n const currency = _validateEcommCurrency();\r\n const items = _validateEcommItems();\r\n fbqAddPaymentInfo({ currency, value, items, eventId: cartId });\r\n ga4AddPaymentInfo({ currency, value, items, payment });\r\n return payment;\r\n });\r\n};\r\n\r\nconst closePopUp = () => {\r\n logDebug('closePopUp');\r\n return initLibs().then(() => {\r\n ga4ClosePopUp();\r\n return;\r\n });\r\n};\r\n\r\nconst popUpButtonClick = () => {\r\n logDebug('popUpButtonClick');\r\n return initLibs().then(() => {\r\n ga4PopUpButtonClick();\r\n return;\r\n });\r\n};\r\n\r\nconst initLibs = () => {\r\n // https://support.google.com/analytics/answer/7201382?hl=en\r\n\r\n return new Promise((resolve, reject) => {\r\n if (window.gtag && window.fbq) {\r\n logDebug('window.gtag && window.fbq ALL INITIALIZED!');\r\n \r\n const analytics4EnableDebug = validateGoogleData(\r\n 'analytics4EnableDebug',\r\n false\r\n );\r\n return resolve({\r\n gtag: window.gtag,\r\n fbq: window.fbq,\r\n analytics4EnableDebug,\r\n });\r\n }\r\n let retryCount = 4;\r\n const interval = setInterval(function () {\r\n try {\r\n logDebug('--> Run analytics script');\r\n\r\n const analytics4EnableDebug = validateGoogleData(\r\n 'analytics4EnableDebug',\r\n false\r\n );\r\n\r\n if (!window.gtag) {\r\n initGoogleAnalytics4({ debug: analytics4EnableDebug });\r\n }\r\n // FACEBOOK\r\n if (!window.fbq) {\r\n initFbq();\r\n }\r\n\r\n if (window.gtag && window.fbq) {\r\n logDebug('--> ga gtag and fbq ALL DEFINED');\r\n\r\n clearInterval(interval);\r\n return resolve({\r\n gtag: window.gtag,\r\n fbq: window.fbq,\r\n analytics4EnableDebug,\r\n });\r\n }\r\n if (retryCount === 0) {\r\n clearInterval(interval);\r\n return reject('Some function is not defined');\r\n }\r\n\r\n retryCount = retryCount - 1;\r\n } catch (error) {\r\n reject(error);\r\n }\r\n }, 1000);\r\n });\r\n};\r\n\r\nconst addToCart = ({\r\n isKit,\r\n guid,\r\n quantity,\r\n options,\r\n currency,\r\n price,\r\n disciplines,\r\n categories,\r\n brandName,\r\n transactionId,\r\n}) => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.view_item\r\n ) {\r\n initLibs().then(() => {\r\n const id = isKit ? guid : `${guid}-${options[0].optionId}`;\r\n fbqAddToCart({\r\n isKit,\r\n id,\r\n quantity,\r\n currency,\r\n price,\r\n eventId: transactionId,\r\n });\r\n const items = _validateEcommItems();\r\n\r\n // Commentato per evitare eventi duplicati, essendoci dynamic remarketing\r\n ga4AddToCart({\r\n id,\r\n quantity,\r\n currency,\r\n price,\r\n items,\r\n disciplines,\r\n categories,\r\n brandName,\r\n });\r\n\r\n adsAddToCartDynamicRemarketing({\r\n id,\r\n price,\r\n });\r\n adsAddToCartConversion({\r\n id,\r\n currency,\r\n price,\r\n items,\r\n transactionId,\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst viewItemFbq = async ({ slug, guid, options, currencyCode, isKit }) => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.view_item\r\n ) {\r\n await initLibs();\r\n\r\n fbqViewItem({ slug, guid, options, currencyCode, isKit });\r\n }\r\n};\r\n\r\nconst _sendPurchase = () => {\r\n if (window.ecomm_pagetype && window.ecomm_pagetype === pageTypes.purchase) {\r\n const transaction_id = _validateEcommTransactionId();\r\n const currency = _validateEcommCurrency();\r\n const value = _validateEcommTotalValue();\r\n const items = _validateEcommItems();\r\n const shipping = _validateEcommShippingFeesEuro();\r\n const valueDecimal = parseFloat(value);\r\n const shippingDecimal = parseFloat(shipping);\r\n fbqPurchase({ currency, value, items, eventId: transaction_id });\r\n ga4Purchase({\r\n transaction_id,\r\n currency,\r\n value: valueDecimal,\r\n shipping: shippingDecimal,\r\n items,\r\n });\r\n purchaseDynamicRemarketing({\r\n value: valueDecimal,\r\n items,\r\n });\r\n\r\n logDebug(`Preparing purchaseConversion data...`);\r\n logDebug(`transaction_id ${transaction_id}`);\r\n const totalEuro = parseFloat(_validateEcommTotalValueEuro());\r\n logDebug(`totalEuro ${totalEuro}`);\r\n purchaseConversion({\r\n orderId: transaction_id,\r\n currency,\r\n totalEuro,\r\n items,\r\n });\r\n }\r\n};\r\n\r\nconst sendGoogleSurvey = ({\r\n enableGoogleSurvey,\r\n merchantId,\r\n orderId,\r\n userEmail,\r\n deliveryCountry,\r\n estimatedDeliveryDate,\r\n surveyoptin,\r\n}) => {\r\n const handleSurvey =\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.purchase &&\r\n enableGoogleSurvey;\r\n console.log('handleSurvey', handleSurvey);\r\n if (handleSurvey) {\r\n console.log('handle');\r\n\r\n const surveyObj = {\r\n merchant_id: merchantId,\r\n order_id: orderId,\r\n email: userEmail,\r\n delivery_country: deliveryCountry,\r\n estimated_delivery_date: estimatedDeliveryDate,\r\n };\r\n logEvent('gooogle survey', surveyObj);\r\n if (!surveyoptin) {\r\n logError('window.gapi.surveyoptin is not defined');\r\n return;\r\n }\r\n console.log('surveyoptin');\r\n surveyoptin.render(surveyObj);\r\n } else {\r\n logDebug(\r\n `Google survey script is disabled for merchantId ${merchantId}. Delivery country: ${deliveryCountry} Order id: ${orderId}`\r\n );\r\n }\r\n};\r\n\r\nconst run = () => {\r\n try {\r\n logDebug('Starting marketing and analytics service...');\r\n initLibs()\r\n .then(({ gtag, fbq, analytics4EnableDebug }) => {\r\n try {\r\n logDebug('window.googleData', window.googleData);\r\n logDebug('window.facebookData', window.facebookData);\r\n\r\n setConfigGoogleAnalytics4({ debug: analytics4EnableDebug });\r\n initConversions();\r\n let thirdPartyConsent = cookieService.getThirdParty();\r\n let marketingPartyConsent =\r\n cookieService.getMarketingParty();\r\n\r\n if (thirdPartyConsent) {\r\n logDebug('Executing actions for thirdPartyConsent...');\r\n fbqPixelId();\r\n fbqPageView();\r\n } else {\r\n logDebug(`No third party consent given`);\r\n }\r\n if (marketingPartyConsent) {\r\n logDebug(\r\n 'Executing actions for marketingPartyConsent...'\r\n );\r\n\r\n _sendInitiateCheckout();\r\n _sendPurchase();\r\n\r\n _sendRegistration();\r\n _sendFbqContact();\r\n _sendViewItem();\r\n _sendSearchItemResults();\r\n _sendViewItemList();\r\n _sendViewCart();\r\n _sendShippingInfo();\r\n } else {\r\n logDebug(`No marketing consent given`);\r\n }\r\n } catch (error) {\r\n logError(`Error on run. ${error}`);\r\n }\r\n })\r\n .catch((err) => {\r\n logError(`Error on run after initializing libs. ${err}`);\r\n });\r\n } catch (error) {\r\n logError(`Error on run() : ${error}`);\r\n }\r\n};\r\n\r\nconst recordBannerClick = async ({ linkUrl, title, index }) => {\r\n try {\r\n await initLibs();\r\n recordGA4BannerClick({ linkUrl, title, index });\r\n } catch (error) {\r\n logError(\r\n `Error recording banner click for url: ${linkUrl} - title: ${title} - index: ${index}`,\r\n error.message\r\n );\r\n }\r\n};\r\n\r\nconst recordPromoImagesClick = async ({\r\n linkUrl,\r\n promoMessage,\r\n index,\r\n imageSrc,\r\n}) => {\r\n try {\r\n await initLibs();\r\n recordGA4PromoImagesClick({\r\n linkUrl,\r\n promoMessage,\r\n index,\r\n imageSrc,\r\n });\r\n } catch (error) {\r\n logError(\r\n `Error recording promo images click for url: ${linkUrl} - promoMessage: ${promoMessage} - index: ${index} - imageSrc: ${imageSrc}`,\r\n error.message\r\n );\r\n }\r\n};\r\n\r\nconst recordInfoboxClick = async ({ linkUrl }) => {\r\n try {\r\n await initLibs();\r\n recordGA4InfoboxClick({\r\n linkUrl,\r\n });\r\n } catch (error) {\r\n logError(\r\n `Error recording infoboxes click for url: ${linkUrl}`,\r\n error.message\r\n );\r\n }\r\n};\r\n\r\nconst recordNewsHomepageClick = async () => {\r\n try {\r\n await initLibs();\r\n recordGA4NewsHomepageClick();\r\n } catch (error) {\r\n logError(`Error recording news homepage click.`, error.message);\r\n }\r\n};\r\n\r\nconst recordHelpClick = async () => {\r\n try {\r\n await initLibs();\r\n recordGA4HelpClick();\r\n } catch (error) {\r\n logError(`Error recording news homepage click.`, error.message);\r\n }\r\n};\r\nconst recordCategoryClick = async ({ linkUrl }) => {\r\n try {\r\n await initLibs();\r\n recordGA4CategoryClick({ linkUrl });\r\n } catch (error) {\r\n logError(\r\n `Error recording category click for ${linkUrl}`,\r\n error.message\r\n );\r\n }\r\n};\r\n\r\nconst recordLogonClick = async ({ linkUrl }) => {\r\n try {\r\n await initLibs();\r\n recordGA4LogonClick({ linkUrl });\r\n } catch (error) {\r\n logError(`Error recording logon click for ${linkUrl}`, error.message);\r\n }\r\n};\r\n\r\nconst recordRegisterClick = async ({ linkUrl }) => {\r\n try {\r\n await initLibs();\r\n recordGA4RegisterClick({ linkUrl });\r\n } catch (error) {\r\n logError(\r\n `Error recording register click for ${linkUrl}`,\r\n error.message\r\n );\r\n }\r\n};\r\n\r\nexport default {\r\n run,\r\n initLibs,\r\n addToCart,\r\n viewItemFbq,\r\n addPaymentInfo,\r\n closePopUp,\r\n popUpButtonClick,\r\n sendGoogleSurvey,\r\n sendRegistration,\r\n recordBannerClick,\r\n recordPromoImagesClick,\r\n recordInfoboxClick,\r\n recordNewsHomepageClick,\r\n recordHelpClick,\r\n recordCategoryClick,\r\n recordLogonClick,\r\n recordRegisterClick,\r\n};\r\n","import {\r\n logDebug,\r\n logInfo,\r\n logWarn,\r\n logError,\r\n logEvent,\r\n} from '../../tracing.js';\r\n\r\nimport { map } from 'lodash';\r\nconst _prefix = 'FBQ';\r\n\r\nconst _validateFbq = () => {\r\n if (!fbq) {\r\n throw new Error('fbq is null or undefined');\r\n }\r\n};\r\n\r\nconst _validateFbqData = (prop) => {\r\n if (!window.facebookData) {\r\n throw new Error(`${_prefix} window.facebookData is not defined`);\r\n }\r\n if (!window.facebookData[prop]) {\r\n throw new Error(\r\n `${_prefix} ${prop} is not defined on window.facebookData`\r\n );\r\n }\r\n};\r\n\r\nconst fbqPixelId = () => {\r\n _validateFbqData('pixelId');\r\n _validateFbqData('fbCulture');\r\n _validateFbq();\r\n logDebug(\r\n `PixelId: ${window.facebookData.pixelId} fbCulture: ${window.facebookData.fbCulture} `\r\n );\r\n logDebug('Firing pixelId', window.facebookData.pixelId);\r\n fbq('init', window.facebookData.pixelId);\r\n};\r\n\r\nconst init = () => {\r\n //Facebook pixelId\r\n !(function (f, b, e, v, n, t, s) {\r\n if (f.fbq) return;\r\n n = f.fbq = function () {\r\n n.callMethod\r\n ? n.callMethod.apply(n, arguments)\r\n : n.queue.push(arguments);\r\n };\r\n if (!f._fbq) f._fbq = n;\r\n n.push = n;\r\n n.loaded = !0;\r\n n.version = '2.0';\r\n n.queue = [];\r\n t = b.createElement(e);\r\n t.async = !0;\r\n t.src = v;\r\n s = b.getElementsByTagName(e)[0];\r\n s.parentNode.insertBefore(t, s);\r\n })(\r\n window,\r\n document,\r\n 'script',\r\n 'https://connect.facebook.net/en_US/fbevents.js'\r\n );\r\n};\r\n\r\nconst addToCart = ({ isKit, id, quantity, currency, price, eventId }) => {\r\n _validateFbq();\r\n const addToCartObject = {\r\n content_name: isKit\r\n ? `${window.$pathBase}Cart/AddKitToCartNew`\r\n : `${window.$pathBase}Cart/AddProductToCartNew`,\r\n content_type: 'product',\r\n contents: [\r\n {\r\n id,\r\n quantity: Number(quantity),\r\n },\r\n ],\r\n currency: currency,\r\n value: price,\r\n };\r\n\r\n logEvent(`${_prefix} AddToCart Facebook`, addToCartObject);\r\n fbq('track', 'AddToCart', addToCartObject, { eventID: eventId });\r\n};\r\n\r\nconst pageView = () => {\r\n _validateFbq();\r\n logEvent(`${_prefix} PageView Facebook`);\r\n fbq('track', 'PageView');\r\n};\r\n\r\nconst beginCheckout = ({ currency, value, items, eventId }) => {\r\n logDebug('_sendFbqInitiateCheckout');\r\n _validateFbq();\r\n const initiateCheckoutData = {\r\n currency,\r\n value,\r\n num_items: items.length,\r\n contents: map(items, (item) => ({\r\n id: item.facebookId,\r\n quantity: item.quantity,\r\n })),\r\n };\r\n logEvent(`${_prefix} InitiateCheckout Facebook`, initiateCheckoutData);\r\n fbq('track', 'InitiateCheckout', initiateCheckoutData, {\r\n eventID: eventId,\r\n });\r\n};\r\n\r\nconst newsletterRegistration = ({ url, email }) => {\r\n logDebug('_sendFbqRegistration');\r\n _validateFbq();\r\n const completeRegistrationObj = {\r\n status: true,\r\n content_name: url === undefined ? window.location.href : url,\r\n value: email,\r\n };\r\n logEvent(\r\n `${_prefix} CompleteRegistration Facebook`,\r\n completeRegistrationObj\r\n );\r\n fbq('track', 'CompleteRegistration', completeRegistrationObj);\r\n};\r\n\r\nconst contact = () => {\r\n _validateFbq();\r\n\r\n logEvent(`${_prefix} Contact Facebook`);\r\n fbq('track', 'Contact');\r\n};\r\n\r\nconst search = ({ searchterm }) => {\r\n _validateFbq();\r\n logEvent(`${_prefix} Search Facebook`, searchterm);\r\n fbq('track', 'Search', {\r\n search_string: searchterm,\r\n });\r\n};\r\n\r\nconst addPaymentInfo = ({ currency, value, items, eventId }) => {\r\n _validateFbq();\r\n const paymentObj = {\r\n currency,\r\n value,\r\n contents: map(items, (item) => ({\r\n id: item.googleId,\r\n quantity: item.quantity,\r\n })),\r\n };\r\n logEvent(`${_prefix} AddPaymentInfo Facebook`, paymentObj);\r\n fbq('track', 'AddPaymentInfo', paymentObj, { eventID: eventId });\r\n};\r\n\r\nconst viewItem = ({ slug, guid, options, currencyCode, isKit }) => {\r\n _validateFbq();\r\n fbqPixelId();\r\n const viewItemObject = {\r\n content_name: `${window.$pathBase}${slug}`,\r\n content_ids: isKit\r\n ? [`${guid}`]\r\n : map(options, (o) => `${guid}-${o.sourceId}`),\r\n currency: currencyCode,\r\n };\r\n logEvent(`${_prefix} ViewContent Facebook`, viewItemObject);\r\n fbq('track', 'ViewContent', viewItemObject);\r\n};\r\n\r\nconst purchase = ({ currency, value, items, eventId }) => {\r\n _validateFbq();\r\n let purchaseData = {\r\n contents: items.map((li) => ({\r\n id: li.facebookId,\r\n quantity: li.quantity,\r\n })),\r\n content_type: 'product',\r\n value,\r\n currency,\r\n };\r\n logEvent(`${_prefix} Purchase Facebook`, purchaseData);\r\n fbq('track', 'Purchase', purchaseData, { eventID: eventId });\r\n};\r\n\r\nexport {\r\n init,\r\n addToCart,\r\n fbqPixelId,\r\n pageView,\r\n beginCheckout,\r\n newsletterRegistration,\r\n contact,\r\n search,\r\n addPaymentInfo,\r\n viewItem,\r\n purchase,\r\n};\r\n","import React from 'react';\r\nimport { isNil } from 'lodash';\r\n\r\nconst Button = ({ className, text, onClick, type }) => {\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n};\r\n\r\nexport default Button;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { get, post } from '../common/httpService';\r\nimport marketingAndAnalyticsService from '../services/marketingAndAnalytics/marketingAndAnalyticsService';\r\nimport Button from './Button.jsx';\r\n\r\nimport './PopUp.scss';\r\n\r\nconst PopUp = () => {\r\n const [popUpInfo, setPopUpInfo] = useState({\r\n show: false,\r\n cancelUrl: '',\r\n buttonText: '',\r\n buttonLink: '',\r\n backgroundColor: '',\r\n textColor: '',\r\n borderColor: '',\r\n heading: '',\r\n text: '',\r\n validFrom: '',\r\n validTo: '',\r\n });\r\n\r\n const handleClose = async () => {\r\n try {\r\n post({\r\n url: `home/PopUp`,\r\n });\r\n await marketingAndAnalyticsService.closePopUp();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n setPopUpInfo((prevState) => ({\r\n ...prevState,\r\n show: false,\r\n }));\r\n };\r\n\r\n const getPopUpInfo = async () => {\r\n try {\r\n get({\r\n url: `home/ShowPopUp`,\r\n }).then((r) => {\r\n setPopUpInfo(r);\r\n });\r\n } catch (error) {\r\n console.log(e);\r\n }\r\n };\r\n\r\n const handleButtonClick = async () => {\r\n try {\r\n await marketingAndAnalyticsService.popUpButtonClick();\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n window.location = popUpInfo.buttonLink;\r\n };\r\n\r\n useEffect(() => {\r\n getPopUpInfo();\r\n }, []);\r\n\r\n const style = {\r\n backgroundColor: popUpInfo.backgroundColor,\r\n color: popUpInfo.textColor,\r\n borderColor: popUpInfo.borderColor,\r\n };\r\n\r\n return popUpInfo.show ? (\r\n
\r\n
\r\n \r\n ×\r\n \r\n
\r\n
\r\n

{popUpInfo.heading}

\r\n

\r\n

\r\n \r\n
\r\n ) : (\r\n <>\r\n );\r\n};\r\n\r\nexport default PopUp;\r\n","import { isNil } from 'lodash';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport PopUp from '../../components/PopUp.jsx';\r\n\r\nconst el = document.querySelector('.newsletter-popup-container');\r\nif (!isNil(el)) {\r\n ReactDOM.render(, el);\r\n}\r\n","/*!\r\n * modernizr v3.6.0\r\n * Build https://modernizr.com/download?-mq-dontmin\r\n *\r\n * Copyright (c)\r\n * Faruk Ates\r\n * Paul Irish\r\n * Alex Sexton\r\n * Ryan Seddon\r\n * Patrick Kettner\r\n * Stu Cox\r\n * Richard Herrera\r\n\r\n * MIT License\r\n */\r\n\r\n/*\r\n * Modernizr tests which native CSS3 and HTML5 features are available in the\r\n * current UA and makes the results available to you in two ways: as properties on\r\n * a global `Modernizr` object, and as classes on the `` element. This\r\n * information allows you to progressively enhance your pages with a granular level\r\n * of control over the experience.\r\n*/\r\n\r\n;(function(window, document, undefined){\r\n var tests = [];\r\n \r\n\r\n /**\r\n *\r\n * ModernizrProto is the constructor for Modernizr\r\n *\r\n * @class\r\n * @access public\r\n */\r\n\r\n var ModernizrProto = {\r\n // The current version, dummy\r\n _version: '3.6.0',\r\n\r\n // Any settings that don't work as separate modules\r\n // can go in here as configuration.\r\n _config: {\r\n 'classPrefix': '',\r\n 'enableClasses': true,\r\n 'enableJSClass': true,\r\n 'usePrefixes': true\r\n },\r\n\r\n // Queue of tests\r\n _q: [],\r\n\r\n // Stub these for people who are listening\r\n on: function(test, cb) {\r\n // I don't really think people should do this, but we can\r\n // safe guard it a bit.\r\n // -- NOTE:: this gets WAY overridden in src/addTest for actual async tests.\r\n // This is in case people listen to synchronous tests. I would leave it out,\r\n // but the code to *disallow* sync tests in the real version of this\r\n // function is actually larger than this.\r\n var self = this;\r\n setTimeout(function() {\r\n cb(self[test]);\r\n }, 0);\r\n },\r\n\r\n addTest: function(name, fn, options) {\r\n tests.push({name: name, fn: fn, options: options});\r\n },\r\n\r\n addAsyncTest: function(fn) {\r\n tests.push({name: null, fn: fn});\r\n }\r\n };\r\n\r\n \r\n\r\n // Fake some of Object.create so we can force non test results to be non \"own\" properties.\r\n var Modernizr = function() {};\r\n Modernizr.prototype = ModernizrProto;\r\n\r\n // Leak modernizr globally when you `require` it rather than force it here.\r\n // Overwrite name so constructor name is nicer :D\r\n Modernizr = new Modernizr();\r\n\r\n \r\n\r\n var classes = [];\r\n \r\n\r\n /**\r\n * is returns a boolean if the typeof an obj is exactly type.\r\n *\r\n * @access private\r\n * @function is\r\n * @param {*} obj - A thing we want to check the type of\r\n * @param {string} type - A string to compare the typeof against\r\n * @returns {boolean}\r\n */\r\n\r\n function is(obj, type) {\r\n return typeof obj === type;\r\n }\r\n ;\r\n\r\n /**\r\n * Run through all tests and detect their support in the current UA.\r\n *\r\n * @access private\r\n */\r\n\r\n function testRunner() {\r\n var featureNames;\r\n var feature;\r\n var aliasIdx;\r\n var result;\r\n var nameIdx;\r\n var featureName;\r\n var featureNameSplit;\r\n\r\n for (var featureIdx in tests) {\r\n if (tests.hasOwnProperty(featureIdx)) {\r\n featureNames = [];\r\n feature = tests[featureIdx];\r\n // run the test, throw the return value into the Modernizr,\r\n // then based on that boolean, define an appropriate className\r\n // and push it into an array of classes we'll join later.\r\n //\r\n // If there is no name, it's an 'async' test that is run,\r\n // but not directly added to the object. That should\r\n // be done with a post-run addTest call.\r\n if (feature.name) {\r\n featureNames.push(feature.name.toLowerCase());\r\n\r\n if (feature.options && feature.options.aliases && feature.options.aliases.length) {\r\n // Add all the aliases into the names list\r\n for (aliasIdx = 0; aliasIdx < feature.options.aliases.length; aliasIdx++) {\r\n featureNames.push(feature.options.aliases[aliasIdx].toLowerCase());\r\n }\r\n }\r\n }\r\n\r\n // Run the test, or use the raw value if it's not a function\r\n result = is(feature.fn, 'function') ? feature.fn() : feature.fn;\r\n\r\n\r\n // Set each of the names on the Modernizr object\r\n for (nameIdx = 0; nameIdx < featureNames.length; nameIdx++) {\r\n featureName = featureNames[nameIdx];\r\n // Support dot properties as sub tests. We don't do checking to make sure\r\n // that the implied parent tests have been added. You must call them in\r\n // order (either in the test, or make the parent test a dependency).\r\n //\r\n // Cap it to TWO to make the logic simple and because who needs that kind of subtesting\r\n // hashtag famous last words\r\n featureNameSplit = featureName.split('.');\r\n\r\n if (featureNameSplit.length === 1) {\r\n Modernizr[featureNameSplit[0]] = result;\r\n } else {\r\n // cast to a Boolean, if not one already\r\n if (Modernizr[featureNameSplit[0]] && !(Modernizr[featureNameSplit[0]] instanceof Boolean)) {\r\n Modernizr[featureNameSplit[0]] = new Boolean(Modernizr[featureNameSplit[0]]);\r\n }\r\n\r\n Modernizr[featureNameSplit[0]][featureNameSplit[1]] = result;\r\n }\r\n\r\n classes.push((result ? '' : 'no-') + featureNameSplit.join('-'));\r\n }\r\n }\r\n }\r\n }\r\n ;\r\n\r\n /**\r\n * docElement is a convenience wrapper to grab the root element of the document\r\n *\r\n * @access private\r\n * @returns {HTMLElement|SVGElement} The root element of the document\r\n */\r\n\r\n var docElement = document.documentElement;\r\n \r\n\r\n /**\r\n * A convenience helper to check if the document we are running in is an SVG document\r\n *\r\n * @access private\r\n * @returns {boolean}\r\n */\r\n\r\n var isSVG = docElement.nodeName.toLowerCase() === 'svg';\r\n \r\n\r\n /**\r\n * createElement is a convenience wrapper around document.createElement. Since we\r\n * use createElement all over the place, this allows for (slightly) smaller code\r\n * as well as abstracting away issues with creating elements in contexts other than\r\n * HTML documents (e.g. SVG documents).\r\n *\r\n * @access private\r\n * @function createElement\r\n * @returns {HTMLElement|SVGElement} An HTML or SVG element\r\n */\r\n\r\n function createElement() {\r\n if (typeof document.createElement !== 'function') {\r\n // This is the case in IE7, where the type of createElement is \"object\".\r\n // For this reason, we cannot call apply() as Object is not a Function.\r\n return document.createElement(arguments[0]);\r\n } else if (isSVG) {\r\n return document.createElementNS.call(document, 'http://www.w3.org/2000/svg', arguments[0]);\r\n } else {\r\n return document.createElement.apply(document, arguments);\r\n }\r\n }\r\n\r\n ;\r\n\r\n /**\r\n * getBody returns the body of a document, or an element that can stand in for\r\n * the body if a real body does not exist\r\n *\r\n * @access private\r\n * @function getBody\r\n * @returns {HTMLElement|SVGElement} Returns the real body of a document, or an\r\n * artificially created element that stands in for the body\r\n */\r\n\r\n function getBody() {\r\n // After page load injecting a fake body doesn't work so check if body exists\r\n var body = document.body;\r\n\r\n if (!body) {\r\n // Can't use the real body create a fake one.\r\n body = createElement(isSVG ? 'svg' : 'body');\r\n body.fake = true;\r\n }\r\n\r\n return body;\r\n }\r\n\r\n ;\r\n\r\n /**\r\n * injectElementWithStyles injects an element with style element and some CSS rules\r\n *\r\n * @access private\r\n * @function injectElementWithStyles\r\n * @param {string} rule - String representing a css rule\r\n * @param {function} callback - A function that is used to test the injected element\r\n * @param {number} [nodes] - An integer representing the number of additional nodes you want injected\r\n * @param {string[]} [testnames] - An array of strings that are used as ids for the additional nodes\r\n * @returns {boolean}\r\n */\r\n\r\n function injectElementWithStyles(rule, callback, nodes, testnames) {\r\n var mod = 'modernizr';\r\n var style;\r\n var ret;\r\n var node;\r\n var docOverflow;\r\n var div = createElement('div');\r\n var body = getBody();\r\n\r\n if (parseInt(nodes, 10)) {\r\n // In order not to give false positives we create a node for each test\r\n // This also allows the method to scale for unspecified uses\r\n while (nodes--) {\r\n node = createElement('div');\r\n node.id = testnames ? testnames[nodes] : mod + (nodes + 1);\r\n div.appendChild(node);\r\n }\r\n }\r\n\r\n style = createElement('style');\r\n style.type = 'text/css';\r\n style.id = 's' + mod;\r\n\r\n // IE6 will false positive on some tests due to the style element inside the test div somehow interfering offsetHeight, so insert it into body or fakebody.\r\n // Opera will act all quirky when injecting elements in documentElement when page is served as xml, needs fakebody too. #270\r\n (!body.fake ? div : body).appendChild(style);\r\n body.appendChild(div);\r\n\r\n if (style.styleSheet) {\r\n style.styleSheet.cssText = rule;\r\n } else {\r\n style.appendChild(document.createTextNode(rule));\r\n }\r\n div.id = mod;\r\n\r\n if (body.fake) {\r\n //avoid crashing IE8, if background image is used\r\n body.style.background = '';\r\n //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible\r\n body.style.overflow = 'hidden';\r\n docOverflow = docElement.style.overflow;\r\n docElement.style.overflow = 'hidden';\r\n docElement.appendChild(body);\r\n }\r\n\r\n ret = callback(div, rule);\r\n // If this is done after page load we don't want to remove the body so check if body exists\r\n if (body.fake) {\r\n body.parentNode.removeChild(body);\r\n docElement.style.overflow = docOverflow;\r\n // Trigger layout so kinetic scrolling isn't disabled in iOS6+\r\n // eslint-disable-next-line\r\n docElement.offsetHeight;\r\n } else {\r\n div.parentNode.removeChild(div);\r\n }\r\n\r\n return !!ret;\r\n\r\n }\r\n\r\n ;\r\n\r\n /**\r\n * Modernizr.mq tests a given media query, live against the current state of the window\r\n * adapted from matchMedia polyfill by Scott Jehl and Paul Irish\r\n * gist.github.com/786768\r\n *\r\n * @memberof Modernizr\r\n * @name Modernizr.mq\r\n * @optionName Modernizr.mq()\r\n * @optionProp mq\r\n * @access public\r\n * @function mq\r\n * @param {string} mq - String of the media query we want to test\r\n * @returns {boolean}\r\n * @example\r\n * Modernizr.mq allows for you to programmatically check if the current browser\r\n * window state matches a media query.\r\n *\r\n * ```js\r\n * var query = Modernizr.mq('(min-width: 900px)');\r\n *\r\n * if (query) {\r\n * // the browser window is larger than 900px\r\n * }\r\n * ```\r\n *\r\n * Only valid media queries are supported, therefore you must always include values\r\n * with your media query\r\n *\r\n * ```js\r\n * // good\r\n * Modernizr.mq('(min-width: 900px)');\r\n *\r\n * // bad\r\n * Modernizr.mq('min-width');\r\n * ```\r\n *\r\n * If you would just like to test that media queries are supported in general, use\r\n *\r\n * ```js\r\n * Modernizr.mq('only all'); // true if MQ are supported, false if not\r\n * ```\r\n *\r\n *\r\n * Note that if the browser does not support media queries (e.g. old IE) mq will\r\n * always return false.\r\n */\r\n\r\n var mq = (function() {\r\n var matchMedia = window.matchMedia || window.msMatchMedia;\r\n if (matchMedia) {\r\n return function(mq) {\r\n var mql = matchMedia(mq);\r\n return mql && mql.matches || false;\r\n };\r\n }\r\n\r\n return function(mq) {\r\n var bool = false;\r\n\r\n injectElementWithStyles('@media ' + mq + ' { #modernizr { position: absolute; } }', function(node) {\r\n bool = (window.getComputedStyle ?\r\n window.getComputedStyle(node, null) :\r\n node.currentStyle).position == 'absolute';\r\n });\r\n\r\n return bool;\r\n };\r\n })();\r\n\r\n\r\n ModernizrProto.mq = mq;\r\n\r\n \r\n\r\n // Run each test\r\n testRunner();\r\n\r\n delete ModernizrProto.addTest;\r\n delete ModernizrProto.addAsyncTest;\r\n\r\n // Run the things that are supposed to run after the tests\r\n for (var i = 0; i < Modernizr._q.length; i++) {\r\n Modernizr._q[i]();\r\n }\r\n\r\n // Leak Modernizr namespace\r\n window.Modernizr = Modernizr;\r\n\r\n\r\n;\r\n\r\n})(window, document);","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v0.19.1\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var f,g,h,k,l;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date,\ny=window.setTimeout,z=window.clearTimeout;if(\"undefined\"!==typeof console){var A=window.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\");\"function\"!==typeof A&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"===\ntypeof w&&\"function\"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = function(module) {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: function() {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = \"renderNewsletterPopUp\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"modernizr\": 0,\n\t\"renderNewsletterPopUp\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkecommerce\"] = self[\"webpackChunkecommerce\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"lodash\",\"react\",\"tracing\"], function() { return __webpack_require__(9996); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","module","exports","debug","realtime","tokenUrl","paymentHubUrl","username","password","useCdn","cdnImagesUrl","cdnImagesFallbackUrl","cdnCmsAssetsUrl","supportedCultures","cms","cmsUrl","tracingUrl","config","lordgun","development","require","staging","production","runkd","inwild","environment","NODE_ENV","toLowerCase","trim","configObj","getConfig","SITE","toPropertyKey","t","i","r","e","Symbol","toPrimitive","call","TypeError","String","Number","_defineProperty","Object","defineProperty","value","enumerable","configurable","writable","asyncGeneratorStep","n","o","a","c","u","done","Promise","resolve","then","this","arguments","apply","_next","_throw","_arrayLikeToArray","length","Array","_slicedToArray","isArray","l","iterator","f","next","push","toString","slice","constructor","name","from","test","_normalizeUrl","url","window","location","origin","protocol","hostname","port","$pathBase","get","_ref2","_asyncToGenerator","_regeneratorRuntime","_callee","_ref","_ref$headers","headers","mergedHeaders","_context","prev","_objectSpread","method","abrupt","fetch","response","status","errorMessage","hasIn","statusText","redirected","includes","returnUrl","encodeURIComponent","split","concat","returnedResponse","json","error","console","stop","_x","post","_ref6","_callee3","_ref5","_ref5$body","body","rawResponse","content","_context3","Accept","JSON","stringify","sent","_x3","initializedLoggers","_initJsNlog","loggerName","indexOf","defaultLoggingUrl","appender","JL","createAjaxAppender","consoleAppender","createConsoleAppender","setOptions","bufferSize","maxBatchSize","defaultAjaxUrl","appenders","_oldOnErrorHandler","onerror","msg","line","column","sourceUrl","href","fatalException","errorMsg","_oldOnUnhandledRejectionHandler","onunhandledrejection","event","reasonMessage","reason","message","fatal","logDebug","_len","args","_key","logEvent","_len3","_key3","logWarn","_len4","_key4","warn","validateGoogleData","prop","defaultValue","googleData","Error","undefined","_prefix","_validateGtag","gtag","initLibs","reject","fbq","analytics4EnableDebug","retryCount","interval","setInterval","_ref12","dataLayer","Date","initGoogleAnalytics4","b","v","s","callMethod","queue","_fbq","loaded","version","createElement","async","src","getElementsByTagName","parentNode","insertBefore","document","clearInterval","obj","send_to","content_type","ga4ClosePopUp","ga4PopUpButtonClick","className","text","onClick","type","React","isNil","_useState2","useState","show","cancelUrl","buttonText","buttonLink","backgroundColor","textColor","borderColor","heading","validFrom","validTo","popUpInfo","setPopUpInfo","handleClose","marketingAndAnalyticsService","t0","log","prevState","getPopUpInfo","_callee2","_context2","handleButtonClick","_ref3","useEffect","style","color","dangerouslySetInnerHTML","__html","Button","el","querySelector","ReactDOM","PopUp","tests","ModernizrProto","_version","_config","_q","on","cb","self","setTimeout","addTest","fn","options","addAsyncTest","Modernizr","prototype","classes","docElement","documentElement","isSVG","nodeName","createElementNS","injectElementWithStyles","rule","callback","nodes","testnames","ret","node","docOverflow","mod","div","fake","getBody","parseInt","id","appendChild","styleSheet","cssText","createTextNode","background","overflow","removeChild","offsetHeight","matchMedia","mq","msMatchMedia","mql","matches","bool","getComputedStyle","currentStyle","position","featureNames","feature","aliasIdx","result","nameIdx","featureNameSplit","featureIdx","hasOwnProperty","aliases","_typeof","Boolean","join","testRunner","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","assign","test1","getOwnPropertyNames","test2","fromCharCode","map","test3","forEach","letter","keys","err","shouldUseNative","target","source","symbols","to","val","toObject","key","g","h","k","MessageChannel","p","q","unstable_now","now","clearTimeout","unstable_forceFrameRate","w","performance","x","y","z","A","cancelAnimationFrame","requestAnimationFrame","B","C","D","E","F","G","Math","floor","H","I","port2","port1","onmessage","postMessage","J","d","K","L","M","pop","m","sortIndex","N","O","P","Q","R","S","T","U","V","startTime","expirationTime","W","X","priorityLevel","Y","Z","unstable_IdlePriority","unstable_ImmediatePriority","unstable_LowPriority","unstable_NormalPriority","unstable_Profiling","unstable_UserBlockingPriority","unstable_cancelCallback","unstable_continueExecution","unstable_getCurrentPriorityLevel","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_requestPaint","unstable_runWithPriority","unstable_scheduleCallback","delay","timeout","unstable_shouldYield","unstable_wrapCallback","__esModule","asyncIterator","toStringTag","define","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","values","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","reverse","charAt","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","Function","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","every","splice","getter","definition","hmd","children","set","nmd","paths","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","some","chunkLoadingGlobal","bind","__webpack_exports__"],"sourceRoot":""}