{"version":3,"file":"bundle.js","mappings":"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","sources":["webpack://elc-ecomm/webpack/runtime/create fake namespace object","webpack://elc-ecomm/webpack/runtime/load script","webpack://elc-ecomm/webpack/runtime/remotes loading","webpack://elc-ecomm/external var [\"ElcRuntime\",\"HypoContainer\"]","webpack://elc-ecomm/./src/internal/stores/EcommStore.ts","webpack://elc-ecomm/./src/service-setup/ServiceBusController.ts","webpack://elc-ecomm/./src/service-setup/diContainer.ts","webpack://elc-ecomm/./node_modules/odiff/odiff.js","webpack://elc-ecomm/external script \"elc_service_config_manager@http://localhost:8000/fe-elc-service-config-manager/build/bundle.js\"","webpack://elc-ecomm/external script \"elc_service_session_mgmt@http://localhost:8000/fe-elc-service-session-mgmt/build/bundle.js\"","webpack://elc-ecomm/external script \"elc_service_translations@http://localhost:8000/fe-elc-service-translations/build/bundle.js\"","webpack://elc-ecomm/external var \"ElcServiceBus\"","webpack://elc-ecomm/webpack/bootstrap","webpack://elc-ecomm/webpack/runtime/define property getters","webpack://elc-ecomm/webpack/runtime/ensure chunk","webpack://elc-ecomm/webpack/runtime/get javascript chunk filename","webpack://elc-ecomm/webpack/runtime/global","webpack://elc-ecomm/webpack/runtime/hasOwnProperty shorthand","webpack://elc-ecomm/webpack/runtime/make namespace object","webpack://elc-ecomm/webpack/runtime/sharing","webpack://elc-ecomm/webpack/runtime/publicPath","webpack://elc-ecomm/webpack/runtime/jsonp chunk loading","webpack://elc-ecomm/webpack/container-entry","webpack://elc-ecomm/./node_modules/@estee/elc-universal-utils/src/UniversalUtils.ts","webpack://elc-ecomm/./node_modules/@estee/elc-universal-utils/src/BrowserStorage.ts","webpack://elc-ecomm/./node_modules/@estee/elc-universal-utils/src/Service/ServiceVersion.ts","webpack://elc-ecomm/external var [\"ElcRuntime\",\"ELCLogger\"]","webpack://elc-ecomm/./node_modules/@estee/elc-service/src/Service/BaseService.ts","webpack://elc-ecomm/./node_modules/@estee/elc-service/src/Service/utils/index.ts","webpack://elc-ecomm/./node_modules/@estee/elc-service/src/Service/LazyService/ServiceLazyLoader.ts","webpack://elc-ecomm/./node_modules/@estee/elc-service/src/Service/ViewsManager/ViewManager.ts","webpack://elc-ecomm/./node_modules/@estee/elc-service/src/Service/ViewsManager/ViewsManager.ts","webpack://elc-ecomm/./node_modules/@estee/elc-telemetry/src/mPulse/mPulse.tsx","webpack://elc-ecomm/./node_modules/@estee/elc-telemetry/src/PerformanceMarker/PerformanceMarker.ts","webpack://elc-ecomm/external var [\"ElcRuntime\",\"React\"]","webpack://elc-ecomm/./node_modules/@estee/elc-telemetry/src/ErrorBoundary/ErrorBoundary.tsx","webpack://elc-ecomm/./src/service-setup/DrupalConfig.ts","webpack://elc-ecomm/./src/service-setup/EcommApp.tsx","webpack://elc-ecomm/./src/utils/onScriptError.ts","webpack://elc-ecomm/./src/index.ts","webpack://elc-ecomm/./node_modules/@estee/elc-universal-utils/src/Service/ServiceUtils.ts"],"sourcesContent":["var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"elc-ecomm:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t};\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","var chunkMapping = {\n\t\"webpack_container_remote_elc_service_translations_diContainer\": [\n\t\t\"webpack/container/remote/elc_service_translations/diContainer\"\n\t],\n\t\"webpack_container_remote_elc_service_config_manager_diContainer\": [\n\t\t\"webpack/container/remote/elc_service_config_manager/diContainer\"\n\t],\n\t\"webpack_container_remote_elc_service_session_mgmt_diContainer\": [\n\t\t\"webpack/container/remote/elc_service_session_mgmt/diContainer\"\n\t]\n};\nvar idToExternalAndNameMapping = {\n\t\"webpack/container/remote/elc_service_translations/diContainer\": [\n\t\t\"default\",\n\t\t\"./diContainer\",\n\t\t\"webpack/container/reference/elc_service_translations\"\n\t],\n\t\"webpack/container/remote/elc_service_config_manager/diContainer\": [\n\t\t\"default\",\n\t\t\"./diContainer\",\n\t\t\"webpack/container/reference/elc_service_config_manager\"\n\t],\n\t\"webpack/container/remote/elc_service_session_mgmt/diContainer\": [\n\t\t\"default\",\n\t\t\"./diContainer\",\n\t\t\"webpack/container/reference/elc_service_session_mgmt\"\n\t]\n};\n__webpack_require__.f.remotes = (chunkId, promises) => {\n\tif(__webpack_require__.o(chunkMapping, chunkId)) {\n\t\tchunkMapping[chunkId].forEach((id) => {\n\t\t\tvar getScope = __webpack_require__.R;\n\t\t\tif(!getScope) getScope = [];\n\t\t\tvar data = idToExternalAndNameMapping[id];\n\t\t\tif(getScope.indexOf(data) >= 0) return;\n\t\t\tgetScope.push(data);\n\t\t\tif(data.p) return promises.push(data.p);\n\t\t\tvar onError = (error) => {\n\t\t\t\tif(!error) error = new Error(\"Container missing\");\n\t\t\t\tif(typeof error.message === \"string\")\n\t\t\t\t\terror.message += '\\nwhile loading \"' + data[1] + '\" from ' + data[2];\n\t\t\t\t__webpack_require__.m[id] = () => {\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tdata.p = 0;\n\t\t\t};\n\t\t\tvar handleFunction = (fn, arg1, arg2, d, next, first) => {\n\t\t\t\ttry {\n\t\t\t\t\tvar promise = fn(arg1, arg2);\n\t\t\t\t\tif(promise && promise.then) {\n\t\t\t\t\t\tvar p = promise.then((result) => (next(result, d)), onError);\n\t\t\t\t\t\tif(first) promises.push(data.p = p); else return p;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn next(promise, d, first);\n\t\t\t\t\t}\n\t\t\t\t} catch(error) {\n\t\t\t\t\tonError(error);\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar onExternal = (external, _, first) => (external ? handleFunction(__webpack_require__.I, data[0], 0, external, onInitialized, first) : onError());\n\t\t\tvar onInitialized = (_, external, first) => (handleFunction(external.get, data[1], getScope, 0, onFactory, first));\n\t\t\tvar onFactory = (factory) => {\n\t\t\t\tdata.p = 1;\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tmodule.exports = factory();\n\t\t\t\t}\n\t\t\t};\n\t\t\thandleFunction(__webpack_require__, data[2], 0, 0, onExternal, 1);\n\t\t});\n\t}\n}","const __WEBPACK_NAMESPACE_OBJECT__ = ElcRuntime.HypoContainer;","export class EcommStore {\n private uriEncodeParams = (params: Record = {}) => {\n return Object.keys(params)\n .map((key) => [key, params[key]].map(encodeURIComponent).join('='))\n .join('&');\n };\n\n public changeLocation(\n pathName: string,\n queryParams: Record = {},\n enforceOrigin: boolean = false\n ) {\n let encodedParams = this.uriEncodeParams(queryParams);\n encodedParams = encodedParams && `?${encodedParams}`;\n const pathWithParams = `${pathName}${encodedParams}`;\n\n if (!enforceOrigin && (pathName.indexOf('http') === 0 || pathName.indexOf('www') === 0)) {\n window.location.assign(pathWithParams);\n\n return;\n }\n const url = `${location.origin}${pathWithParams}`;\n window.location.assign(url);\n }\n}\n","import { EcommStore } from '../internal/stores/EcommStore';\nimport { events, on } from '@estee/elc-service-bus';\n\nexport class ServiceBusController {\n // eslint-disable-next-line @typescript-eslint/no-parameter-properties\n constructor(private ecommStore: EcommStore) {}\n\n @on(events.CHANGE_LOCATION)\n public changeLocation = async (payload: { redirectUrl: string }) => {\n this.ecommStore.changeLocation(payload.redirectUrl);\n };\n}\n","import { Container } from 'hypo-container';\nimport { EcommStore } from '../internal/stores/EcommStore';\nimport { ServiceBusController } from './ServiceBusController';\n\nexport const serviceNames = {\n serviceBusController: 'SERVICE_BUS_CONTROLLER',\n ecommStore: 'ECOMM_STORE'\n};\n\nexport const diContainer = new Container();\n\ndiContainer\n .register(serviceNames.ecommStore, () => new EcommStore())\n .register(\n serviceNames.serviceBusController,\n (c) => new ServiceBusController(c.get(serviceNames.ecommStore))\n );\n\nexport const getServiceBusController = () => {\n // This is needed to run the serviceBus decorators\n diContainer.get(serviceNames.serviceBusController);\n};\n","\"use strict\";\n\n/* Copyright (c) 2013 Billy Tetrud - Free to use for any purpose: MIT License*/\n// gets the changes that need to happen to a to change it into b\n// returns an object with the members\n // type\n // property\n // value\n // values\n // count\nmodule.exports = function(a,b) {\n var results = []\n diffInternal(a,b,results,[])\n return results\n}\n\nvar diffInternal = function(a,b,acc,base) {\n if(a === b || Number.isNaN(a)&&Number.isNaN(b)) {\n return;\n } else if(a instanceof Array && b instanceof Array) {\n var an=a.length-1,bn=b.length-1\n while(an >= 0 && bn >= 0) { // loop backwards (so that making changes in order will work correctly)\n if(!equal(a[an], b[bn])) {\n var indexes = findMatchIndexes(equal, a,b, an,bn, 0, 0)\n\n var anInner=an,bnInner=bn\n while(anInner > indexes.a && bnInner > indexes.b) {\n if(similar(a[anInner], b[bnInner])) {\n // get change for that element\n diffInternal(a[anInner],b[bnInner],acc, base.concat([anInner]))\n anInner--; bnInner--;\n } else {\n var indexesInner = findMatchIndexes(similar, a,b, anInner,bnInner, indexes.a+1, indexes.b+1)\n\n var numberPulled = anInner-indexesInner.a\n var numberPushed = bnInner-indexesInner.b\n\n if(numberPulled === 1 && numberPushed === 1) {\n set(acc, base.concat(indexesInner.a+1), b[indexesInner.b+1]) // set the one\n } else if(numberPulled === 1 && numberPushed === 2) {\n // set one, push the other\n add(acc, base,indexesInner.a+2, b.slice(indexesInner.b+2, bnInner+1))\n set(acc, base.concat(indexesInner.a+1), b[indexesInner.b+1])\n } else if(numberPulled === 2 && numberPushed === 1) {\n // set one, pull the other\n rm(acc, base, indexesInner.a+2, 1, a)\n set(acc, base.concat(indexesInner.a+1), b[indexesInner.b+1])\n } else if(numberPulled === 2 && numberPushed === 2) {\n set(acc, base.concat(indexesInner.a+2), b[indexesInner.b+2])\n set(acc, base.concat(indexesInner.a+1), b[indexesInner.b+1])\n } else {\n if(numberPulled > 0) { // if there were some elements pulled\n rm(acc, base, indexesInner.a+1, numberPulled, a)\n }\n if(numberPushed > 0) { // if there were some elements pushed\n add(acc, base,indexesInner.a+1, b.slice(indexesInner.b+1, bnInner+1))\n }\n }\n\n anInner = indexesInner.a\n bnInner = indexesInner.b\n }\n }\n\n if(anInner > indexes.a) { // more to pull\n rm(acc, base, anInner, anInner-indexes.a, a)\n } else if(bnInner > indexes.b) { // more to push\n add(acc, base, anInner+1, b.slice(indexes.b+1, bnInner+1))\n }\n\n an = indexes.a\n bn = indexes.b\n } else {\n an--; bn--;\n }\n }\n\n if(an >= 0) { // more to pull\n rm(acc, base, 0, an+1, a)\n } else if(bn >= 0) { // more to push\n add(acc, base,0, b.slice(0, bn+1))\n }\n\n } else if(a instanceof Date && b instanceof Date) {\n if(a.getTime() !== b.getTime()) {\n set(acc, base, b)\n }\n } else if(a instanceof Object && b instanceof Object) {\n var keyMap = merge(arrayToMap(Object.keys(a)), arrayToMap(Object.keys(b)))\n for(var key in keyMap) {\n var path = base.concat([key])\n if(key in a && !(key in b)) {\n unset(acc, path)\n } else {\n diffInternal(a[key],b[key],acc, path)\n }\n }\n } else {\n set(acc, base, b)\n }\n\n // adds a 'set' type to the changeList\n function set(changeList, property, value) {\n changeList.push({\n type:'set',\n path: property,\n val: value\n })\n }\n\n // adds an 'unset' type to the changeList\n function unset(changeList, property) {\n changeList.push({\n type:'unset',\n path: property\n })\n }\n\n // adds an 'rm' type to the changeList\n function rm(changeList, property, index, count, a) {\n var finalIndex = index ? index - count + 1 : 0\n changeList.push({\n type:'rm',\n path: property,\n index: finalIndex,\n num: count,\n vals: a.slice(finalIndex, finalIndex+count)\n })\n }\n\n // adds an 'add' type to the changeList\n function add(changeList, property, index, values) {\n changeList.push({\n type:'add',\n path: property,\n index: index,\n vals: values\n })\n }\n}\n\nmodule.exports.similar = similar\nmodule.exports.equal = equal\n\n\n// finds and returns the closest indexes in a and b that match starting with divergenceIndex\n// note: loops backwards like the rest of this stuff\n// returns the index beyond the first element (aSubMin-1 or bSubMin-1) for each if there is no match\n// parameters:\n // compareFn - determines what matches (returns true if the arguments match)\n // a,b - two arrays to compare\n // divergenceIndexA,divergenceIndexB - the two positions of a and b to start comparing from\n // aSubMin,bSubMin - the two positions to compare until\nfunction findMatchIndexes(compareFn, a,b, divergenceIndexA,divergenceIndexB, aSubMin, bSubMin) {\n var maxNForA = divergenceIndexA-aSubMin\n var maxNForB = divergenceIndexB-bSubMin\n var maxN = Math.max(maxNForA, maxNForB)\n for(var n=1; n<=maxN; n++) {\n var newestA = a[divergenceIndexA-n] // the current item farthest from the divergence index being compared\n var newestB = b[divergenceIndexB-n]\n\n if(n<=maxNForB && n<=maxNForA && compareFn(newestA, newestB)) {\n return {a:divergenceIndexA-n, b:divergenceIndexB-n}\n }\n\n for(var j=0; j= 2 && notEqual > tenPercent || notEqual === a.length) {\n return false\n }\n\n notEqual++\n }\n }\n // else\n return true\n\n } else if(a instanceof Object) {\n if(!(b instanceof Object))\n return false\n\n var keyMap = merge(arrayToMap(Object.keys(a)), arrayToMap(Object.keys(b)))\n var keyLength = Object.keys(keyMap).length\n var tenPercent = keyLength / 10\n var notEqual = 0\n for(var key in keyMap) {\n var aVal = a[key]\n var bVal = b[key]\n\n if(!equal(aVal,bVal)) {\n if(notEqual >= 2 && notEqual > tenPercent || notEqual+1 === keyLength) {\n return false\n }\n\n notEqual++\n }\n }\n // else\n return true\n\n } else {\n return a===b || Number.isNaN(a) && Number.isNaN(b)\n }\n}\n\n// compares arrays and objects for value equality (all elements and members must match)\nfunction equal(a,b) {\n if(a instanceof Array) {\n if(!(b instanceof Array))\n return false\n if(a.length !== b.length) {\n return false\n } else {\n for(var n=0; n {\n\tif(typeof elc_service_config_manager !== \"undefined\") return resolve();\n\t__webpack_require__.l(\"http://localhost:8000/fe-elc-service-config-manager/build/bundle.js\", (event) => {\n\t\tif(typeof elc_service_config_manager !== \"undefined\") return resolve();\n\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\tvar realSrc = event && event.target && event.target.src;\n\t\t__webpack_error__.message = 'Loading script failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t__webpack_error__.name = 'ScriptExternalLoadError';\n\t\t__webpack_error__.type = errorType;\n\t\t__webpack_error__.request = realSrc;\n\t\treject(__webpack_error__);\n\t}, \"elc_service_config_manager\");\n}).then(() => (elc_service_config_manager));","var __webpack_error__ = new Error();\nmodule.exports = new Promise((resolve, reject) => {\n\tif(typeof elc_service_session_mgmt !== \"undefined\") return resolve();\n\t__webpack_require__.l(\"http://localhost:8000/fe-elc-service-session-mgmt/build/bundle.js\", (event) => {\n\t\tif(typeof elc_service_session_mgmt !== \"undefined\") return resolve();\n\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\tvar realSrc = event && event.target && event.target.src;\n\t\t__webpack_error__.message = 'Loading script failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t__webpack_error__.name = 'ScriptExternalLoadError';\n\t\t__webpack_error__.type = errorType;\n\t\t__webpack_error__.request = realSrc;\n\t\treject(__webpack_error__);\n\t}, \"elc_service_session_mgmt\");\n}).then(() => (elc_service_session_mgmt));","var __webpack_error__ = new Error();\nmodule.exports = new Promise((resolve, reject) => {\n\tif(typeof elc_service_translations !== \"undefined\") return resolve();\n\t__webpack_require__.l(\"http://localhost:8000/fe-elc-service-translations/build/bundle.js\", (event) => {\n\t\tif(typeof elc_service_translations !== \"undefined\") return resolve();\n\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\tvar realSrc = event && event.target && event.target.src;\n\t\t__webpack_error__.message = 'Loading script failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t__webpack_error__.name = 'ScriptExternalLoadError';\n\t\t__webpack_error__.type = errorType;\n\t\t__webpack_error__.request = realSrc;\n\t\treject(__webpack_error__);\n\t}, \"elc_service_translations\");\n}).then(() => (elc_service_translations));","module.exports = ElcServiceBus;","// 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\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\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","// define getter functions for harmony exports\n__webpack_require__.d = (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__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + {\"webpack_container_remote_elc_service_translations_diContainer\":\"a198a270806b9de4112a\",\"webpack_container_remote_elc_service_config_manager_diContainer\":\"595c648cf9d849b925a3\",\"webpack_container_remote_elc_service_session_mgmt_diContainer\":\"6661c549ea6265f4a939\"}[chunkId] + \".bundle.js\";\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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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__.S = {};\nvar initPromises = {};\nvar initTokens = {};\n__webpack_require__.I = (name, initScope) => {\n\tif(!initScope) initScope = [];\n\t// handling circular init calls\n\tvar initToken = initTokens[name];\n\tif(!initToken) initToken = initTokens[name] = {};\n\tif(initScope.indexOf(initToken) >= 0) return;\n\tinitScope.push(initToken);\n\t// only runs once\n\tif(initPromises[name]) return initPromises[name];\n\t// creates a new share scope if needed\n\tif(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};\n\t// runs all init snippets from all modules reachable\n\tvar scope = __webpack_require__.S[name];\n\tvar warn = (msg) => (typeof console !== \"undefined\" && console.warn && console.warn(msg));\n\tvar uniqueName = \"elc-ecomm\";\n\tvar register = (name, version, factory, eager) => {\n\t\tvar versions = scope[name] = scope[name] || {};\n\t\tvar activeVersion = versions[version];\n\t\tif(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };\n\t};\n\tvar initExternal = (id) => {\n\t\tvar handleError = (err) => (warn(\"Initialization of sharing external failed: \" + err));\n\t\ttry {\n\t\t\tvar module = __webpack_require__(id);\n\t\t\tif(!module) return;\n\t\t\tvar initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope))\n\t\t\tif(module.then) return promises.push(module.then(initFn, handleError));\n\t\t\tvar initResult = initFn(module);\n\t\t\tif(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\n\t\t} catch(err) { handleError(err); }\n\t}\n\tvar promises = [];\n\tswitch(name) {\n\t\tcase \"default\": {\n\t\t\tinitExternal(\"webpack/container/reference/elc_service_translations\");\n\t\t\tinitExternal(\"webpack/container/reference/elc_service_config_manager\");\n\t\t\tinitExternal(\"webpack/container/reference/elc_service_session_mgmt\");\n\t\t}\n\t\tbreak;\n\t}\n\tif(!promises.length) return initPromises[name] = 1;\n\treturn initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1));\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// 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\"elc_ecomm\": 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(\"elc_ecomm\" == chunkId) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\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((id) => (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\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkelc_ecomm\"] = self[\"webpackChunkelc_ecomm\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","var moduleMap = {\n\t\"./diContainer\": () => {\n\t\treturn Promise.resolve().then(() => (() => ((__webpack_require__(\"./src/service-setup/diContainer.ts\")))));\n\t}\n};\nvar get = (module, getScope) => {\n\t__webpack_require__.R = getScope;\n\tgetScope = (\n\t\t__webpack_require__.o(moduleMap, module)\n\t\t\t? moduleMap[module]()\n\t\t\t: Promise.resolve().then(() => {\n\t\t\t\tthrow new Error('Module \"' + module + '\" does not exist in container.');\n\t\t\t})\n\t);\n\t__webpack_require__.R = undefined;\n\treturn getScope;\n};\nvar init = (shareScope, initScope) => {\n\tif (!__webpack_require__.S) return;\n\tvar name = \"default\"\n\tvar oldScope = __webpack_require__.S[name];\n\tif(oldScope && oldScope !== shareScope) throw new Error(\"Container initialization failed as it has already been initialized with a different share scope\");\n\t__webpack_require__.S[name] = shareScope;\n\treturn __webpack_require__.I(name, initScope);\n};\n\n// This exports getters to disallow modifications\n__webpack_require__.d(exports, {\n\tget: () => (get),\n\tinit: () => (init)\n});","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ServiceBus } from '@estee/elc-service-bus';\nimport {\n IServiceRegistry,\n IComponentViewController,\n IEcommApp,\n AllServicesTypes\n} from './Service/ServiceUtils';\n\nexport const MOBILE_VERSION_SELECTOR = 'js-mobile-version';\nexport const DESKTOP_VERSION_SELECTOR = 'js-desktop-version';\n\nexport interface ISingleServiceInfo {\n [key: string]: string;\n}\n\nexport interface IServiceInfo {\n [name: string]: ISingleServiceInfo;\n}\n\nexport type ArrayMinOne = {\n 0: T;\n} & T[];\n\ninterface IObjectOfStrings {\n [key: string]: string;\n}\n\ninterface IServiceBusTopics {\n commands: IObjectOfStrings;\n events: IObjectOfStrings;\n queries: IObjectOfStrings;\n}\n\nexport interface IPayload {\n url: string;\n body?: {};\n options?: {};\n headers?: {};\n}\n\nexport interface IGetPayload {\n url: string;\n options?: {};\n headers?: {};\n params?: {};\n}\n\nexport interface IRequestOptions {\n debounceInterval?: number;\n}\n\nexport type HeaderType = 'Business-Unit' | 'Authorization' | 'AuthorizationToken' | 'ClientId';\nexport type HeaderObject = { [key in HeaderType]?: string };\nexport type IHeaderSetter = () => Promise;\nexport type IRequestTransformerConfig = { url: string } & RequestInit;\nexport type IRequestTransformer = (config: IRequestTransformerConfig) => Promise;\n\nexport interface IHttpTransport {\n getStaticGlobalHeaders(): HeaderObject;\n setBaseUrl(baseUrl: string): void;\n addGlobalHeaders(headers: HeaderObject): void;\n removeGlobalHeader(headerName: string): void;\n addGlobalHeaderSetter(setter: IHeaderSetter): void;\n removeGlobalHeaderSetter(setter: IHeaderSetter): void;\n addRequestTransformer(transformer: IRequestTransformer): void;\n removeRequestTransformer(transformer: IRequestTransformer): void;\n delete(payload: string | IPayload): Promise;\n post(payload: IPayload): Promise;\n patch(payload: IPayload): Promise;\n put(payload: IPayload): Promise;\n get(payload: string | IGetPayload, IRequestOptions?: IRequestOptions): Promise;\n readonly isAuthFailureHandlingEnabled: boolean;\n setAuthFailureHandlingEnabled(enabled: boolean): void;\n}\n\nexport interface IUtagData {\n [key: string]: string | string[] | undefined | boolean | number | null | number[];\n}\nexport interface IUtagCfgOvrd {\n noview: boolean;\n dom_complete?: boolean;\n lowerqp?: boolean;\n noload?: boolean | number;\n nocookie?: boolean;\n readywait?: boolean | number;\n waittimer?: number;\n}\nexport interface IUtag {\n link(data: IUtagData, cb?: Function): void;\n view(data: IUtagData, cb?: Function): void;\n}\n\nexport interface IFrontendLogger {\n isEnabled?: boolean;\n loggedServices?: {\n [key: string]: {\n isEnabled?: boolean;\n };\n };\n}\n\ninterface IDrupalSite {\n translations?: any;\n trackingDataLayer?: any;\n client?: {\n subdomain?: string;\n isMobile?: number;\n };\n frontendLogger?: IFrontendLogger;\n}\nexport type AnyObject = { [key: string]: any };\ntype ITranslationsCollection = { [key: string]: string | IObjectOfStrings };\ntype ViewDataPreloader = {\n addConfigs(configs: AnyObject): void;\n addTranslations(translations: ITranslationsCollection): void;\n getPreloadedConfigs(arg: string[]): AnyObject | null;\n getPreloadedTranslations(arg: string[]): ITranslationsCollection | null;\n preload(): Promise;\n registerTranslationFieldsToPreload(fields?: string[]): void;\n registerConfigFieldsToPreload(fields?: string[]): void;\n};\ninterface IComponentRenderer {\n init(): Promise;\n getDataPreloader(): ViewDataPreloader | null;\n setDataPreloader(arg: ViewDataPreloader): void;\n}\n\ntype IObjectLike = { [key: string]: any } | null;\nexport interface IViewManager {\n loadComponent(): Promise;\n module: React.ComponentType | null;\n controllerFromView: IComponentViewController | null;\n}\nexport interface IViewsManager {\n lazyServicesStarted: boolean;\n getViewManager(viewName: string): IViewManager;\n startService(service: AllServicesTypes): Promise;\n startLazyServices(): Promise;\n}\n\ntype ObjectWithNumbers = { [key: string]: number };\n\nexport interface ImPulse {\n sendMetric(name: string, value: number): void;\n sendMetrics(metrics: ObjectWithNumbers): void;\n sendTimer(name: string, value: number): void;\n sendTimers(metrics: ObjectWithNumbers): void;\n}\n\ndeclare global {\n // Augment Node.js `global`\n namespace NodeJS {\n interface Global {\n ServiceBusTopics: IServiceBusTopics;\n ServiceRegistry: IServiceRegistry;\n GlobalServiceBus: ServiceBus;\n HttpTransport: IHttpTransport;\n __translationsCache__: { [key: string]: string };\n __configsCache__: { [key: string]: any };\n getPreloadedConfigs(fields?: string[]): IObjectLike;\n addConfigs(configs: object): void;\n getPreloadedTranslations(fields?: string[]): IObjectLike;\n addTranslations(translations: object): void;\n replaceSrc(originalSrc: string): string;\n utag_data: IUtagData;\n utag_cfg_ovrd: IUtagCfgOvrd;\n utag: IUtag;\n site?: IDrupalSite;\n location: Location;\n navigator: Navigator;\n ComponentRenderer: IComponentRenderer;\n ViewsManager: IViewsManager;\n registerTranslationFieldsToPreload: Function;\n registerConfigFieldsToPreload: Function;\n serviceInfo: IServiceInfo;\n getServiceVersions(): void;\n __ssr: boolean;\n __SENTRY__: IObjectLike;\n Sentry: IObjectLike;\n onerror(\n message: string,\n url: string,\n line: number,\n column: number,\n error: Error\n ): boolean;\n env: string;\n buid: string;\n requestIdleCallback: Function;\n cancelIdleCallback: Function;\n }\n }\n\n // Augment Browser `window`\n interface Window {\n EcommApp?: IEcommApp;\n ServiceBusTopics: IServiceBusTopics;\n __translationsCache__: { [key: string]: string };\n __configsCache__: { [key: string]: any };\n getPreloadedConfigs(fields?: string[]): IObjectLike;\n addConfigs(configs: object): void;\n getPreloadedTranslations(fields?: string[]): IObjectLike;\n addTranslations(translations: object): void;\n ServiceRegistry: IServiceRegistry;\n GlobalServiceBus: ServiceBus;\n HttpTransport: IHttpTransport;\n replaceSrc(originalSrc: string): string;\n utag_data: any;\n utag_cfg_ovrd: IUtagCfgOvrd;\n utag: IUtag;\n location: Location;\n site?: IDrupalSite;\n addEventListener(a: string, b: Function): void;\n ComponentRenderer: IComponentRenderer;\n ViewsManager: IViewsManager;\n registerTranslationFieldsToPreload: Function;\n registerConfigFieldsToPreload: Function;\n getServiceVersions(): void;\n __ssr: boolean;\n onerror(message: string, url: string, line: number, column: number, error: Error): boolean;\n env: string;\n buid: string;\n serviceInfo: IServiceInfo;\n __SENTRY__: IObjectLike;\n Sentry: IObjectLike;\n requestIdleCallback: Function;\n cancelIdleCallback: Function;\n mPulse: ImPulse;\n }\n\n // Augment Web Worker `self`\n interface WorkerGlobalScope {\n ServiceBusTopics: IServiceBusTopics;\n ServiceRegistry: IServiceRegistry;\n GlobalServiceBus: ServiceBus;\n HttpTransport: IHttpTransport;\n __translationsCache__: { [key: string]: string };\n __configsCache__: { [key: string]: any };\n getPreloadedConfigs(fields?: string[]): IObjectLike;\n addConfigs(configs: object): void;\n getPreloadedTranslations(fields?: string[]): IObjectLike;\n addTranslations(translations: object): void;\n replaceSrc(originalSrc: string): string;\n utag_data: IUtagData;\n utag_cfg_ovrd: IUtagCfgOvrd;\n __SENTRY__: IObjectLike;\n Sentry: IObjectLike;\n utag: IUtag;\n location: Location;\n addEventListener(a: string, b: Function): void;\n ComponentRenderer: IComponentRenderer;\n ViewsManager: IViewsManager;\n registerTranslationFieldsToPreload: Function;\n registerConfigFieldsToPreload: Function;\n }\n}\n\nexport const isWebRendered = typeof self === 'object' && self.self === self;\n\nexport const root: NodeJS.Global | Window = typeof window === 'undefined' ? global : window;\n\nexport const setupServiceInfo = (serviceInfo: ISingleServiceInfo) => {\n const { name, ...rest } = serviceInfo;\n\n root.serviceInfo = root.serviceInfo || {};\n root.serviceInfo[name] = rest;\n};\n\nexport enum ISandboxEnvironment {\n LIVE = 'live',\n FEATURE = 'feature',\n DEV = 'dev',\n STAGE = 'stage',\n CMS = 'cms',\n PERSONAL = 'personal',\n PRODUCTION = 'production'\n}\n\nexport const getSandboxEnvironment: () => string = () => {\n let urlParts = root.location.hostname.split('.');\n const { LIVE, FEATURE, DEV, STAGE, CMS, PERSONAL } = ISandboxEnvironment;\n\n urlParts = urlParts.filter(part => !['www', 'm'].includes(part));\n const isLive = !(urlParts[0] === 'c') && !(urlParts[0] === 'e');\n\n return isLive\n ? LIVE\n : urlParts.includes(FEATURE)\n ? FEATURE\n : urlParts.includes(DEV)\n ? DEV\n : urlParts.includes(STAGE)\n ? STAGE\n : urlParts.includes(CMS)\n ? CMS\n : PERSONAL;\n};\n","export type storageKeyType = 'localStorage' | 'sessionStorage';\nexport namespace BrowserStorage {\n export function eraseCookie(name: string) {\n document.cookie = `${name}=; Max-Age=-99999999;`;\n }\n\n export function setCookie(name: string, value: string, daysOrDate: number | Date) {\n let expires = '';\n if (daysOrDate) {\n const expirationDate =\n typeof daysOrDate === 'number'\n ? new Date(Date.now() + daysOrDate * 24 * 60 * 60 * 1000)\n : daysOrDate;\n expires = `; expires=${expirationDate.toUTCString()}`;\n }\n document.cookie = `${name}=${value || ''}${expires};path=/`;\n }\n\n export function getCookie(name: string) {\n const nameEQ = `${name}=`;\n const ca = document.cookie.split(';');\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') {\n c = c.substring(1, c.length);\n }\n if (c.indexOf(nameEQ) === 0) {\n return c.substring(nameEQ.length, c.length);\n }\n }\n\n return null;\n }\n\n export function getItem(key: string, storageKey: storageKeyType = 'localStorage') {\n try {\n if (window[storageKey].getItem(key) !== null) {\n return window[storageKey].getItem(key);\n }\n } catch (e) {\n console.error(e);\n\n return getCookie(key);\n }\n }\n\n export function setItem(\n key: string,\n value: string,\n storageKey: storageKeyType = 'localStorage'\n ) {\n try {\n window[storageKey].setItem(key, value);\n } catch (e) {\n console.error(e);\n setCookie(key, value, 20);\n }\n }\n\n export function removeItem(key: string, storageKey: storageKeyType = 'localStorage') {\n try {\n window[storageKey].removeItem(key);\n } catch (e) {\n console.error(e);\n eraseCookie(key);\n }\n }\n\n export function storagePolling(key: string, callBack: Function) {\n let storageValue = getItem(key);\n\n const checkForKeyChange = () => {\n const latestValue = getItem(key);\n\n if (storageValue !== latestValue) {\n storageValue = latestValue;\n callBack(latestValue);\n }\n };\n\n return setInterval(checkForKeyChange, 2000);\n }\n}\n","import { root, ISingleServiceInfo } from '../UniversalUtils';\n\nconst extractServiceVersion = (serviceInfo: ISingleServiceInfo) =>\n serviceInfo && serviceInfo.version;\n\nconst searchForServiceInfo = (serviceName: string) => {\n root.serviceInfo = root.serviceInfo || {};\n root.ServiceRegistry = root.ServiceRegistry || {};\n\n return root.serviceInfo[serviceName] || root.ServiceRegistry[serviceName];\n};\n\nexport const getServiceVersion = (serviceName: string, fallback: string = '') =>\n extractServiceVersion(searchForServiceInfo(serviceName)) || fallback;\n","const __WEBPACK_NAMESPACE_OBJECT__ = ElcRuntime.ELCLogger;","import {\n IAppConfig,\n IFederatedService,\n ServiceInitializer,\n root\n} from '@estee/elc-universal-utils';\nimport { ELCLogger, TriggerType } from '@estee/elc-logging';\n\nroot.ServiceRegistry = root.ServiceRegistry || {};\n\nconst noop = async () => {};\n\nexport abstract class BaseService {\n private startPromise: Promise;\n public isStarted: boolean = false;\n protected logger: ELCLogger;\n\n static setViews(serviceName: string, name: string, version: string, views: string[]) {\n root.ServiceRegistry[serviceName] = {\n name,\n version,\n views,\n isStarted: true\n } as IFederatedService;\n }\n\n constructor(\n public name: string,\n protected version: string,\n protected serviceInitializer: ServiceInitializer | null = null\n ) {}\n\n private async initializeService(appConfig: IAppConfig): Promise {\n try {\n const initializer = this.serviceInitializer || noop;\n await initializer(appConfig);\n this.isStarted = true;\n } catch (error) {\n this.logger.error({\n message: `Could not start service ${this.name}`,\n triggerType: TriggerType.render,\n payload: {\n error,\n context: {\n serviceRegistry: root.ServiceRegistry\n }\n }\n });\n } finally {\n this.isStarted = true;\n }\n }\n\n public start(appConfig: IAppConfig): Promise {\n if (!this.startPromise && !this.isStarted) {\n this.logger =\n this.logger ||\n new ELCLogger({\n serviceName: this.name,\n environment: appConfig.env || root.env,\n buid: appConfig.businessUnitId || root.buid,\n serviceVersion: this.version\n });\n\n this.startPromise = this.initializeService(appConfig);\n }\n\n return this.startPromise;\n }\n}\n","import {\n root,\n AllServicesTypes,\n AllUpdatedServicesTypes,\n IComponentViewController,\n IFederatedService,\n IOlderServiceRegistryComponent,\n IServiceRegistryComponent\n} from '@estee/elc-universal-utils';\n\nexport function getServices() {\n return root.ServiceRegistry || {};\n}\n\nexport function hasServiceStarted(service: AllServicesTypes) {\n return service.isStarted;\n}\n// isLazy is true for exported services by createServiceManifest\nexport function isServiceLazy(service: AllUpdatedServicesTypes) {\n return Boolean(service.isLazy);\n}\n// createServiceManifest exports an object with fewer keys\nexport function isServiceFromManifest(service: AllServicesTypes) {\n // @ts-ignore\n return Boolean(service.getView) && isServiceLazy(service);\n}\n// To be removed after SDFEFND-1853\nexport function isServiceUpdated(service: AllServicesTypes) {\n return Boolean(service.views); // key added in elc-service v7.x\n}\n\nfunction isViewInService(viewName: string) {\n return (service: AllServicesTypes) => {\n if (isServiceUpdated(service)) {\n return (service as IServiceRegistryComponent).views.includes(viewName);\n }\n\n return (service as IOlderServiceRegistryComponent).getView(viewName);\n };\n}\n\n// Refactor after SDFEFND-1853 to only search in views[]\nexport function findServiceByViewName(viewName: string): AllServicesTypes {\n const services = Object.values(getServices());\n const service: AllServicesTypes | undefined = services.find(isViewInService(viewName));\n\n if (!service) {\n throw new Error(`Service wasn't found for view ${viewName}`);\n }\n\n return service;\n}\n\n/* SSR */\nexport interface IComponentDataState {\n [key: string]: object | number | string;\n}\nexport interface IComponentState extends IComponentDataState {\n children: string[];\n}\n\nexport function setStateInController(state: object, controller: IComponentViewController) {\n const viewState = Object.values(state)[0]; // { [VIEW_NAME]: { ...state } }\n if (viewState && controller.setSSRState) {\n controller.setSSRState(viewState);\n }\n}\n\nexport function setControllerId(config: string | null, controller: IComponentViewController) {\n if (config && controller.setId) {\n controller.setId(config);\n }\n}\n\nexport function parseState(state: string | null) {\n let parsedState: IComponentState | undefined;\n try {\n if (state) {\n parsedState = JSON.parse(state);\n }\n } finally {\n parsedState = parsedState ? parsedState : { children: [] };\n }\n\n return parsedState;\n}\n\nexport function initializeControllerForSSR(\n viewController: IComponentViewController | null,\n state: IComponentDataState,\n config: string | null\n) {\n if (viewController) {\n setStateInController(state, viewController);\n setControllerId(config, viewController);\n }\n}\n\n/* Module Federation */\nexport async function getModule(child: string, router: string): Promise {\n // @ts-ignore\n const module = await (root[child] as unknown).get(`./${router}`);\n\n return module() as T;\n}\n\nexport async function importComponent(componentName: string): Promise {\n const srv = (Object.entries(getServices()).find(([_, value]) =>\n value.views?.includes(componentName)\n ) as unknown) as [string, IFederatedService];\n\n const { name } = srv[1];\n\n return getModule(name, componentName);\n}\n","import { ELCLogger, TriggerType } from '@estee/elc-logging';\nimport {\n AllServicesTypes,\n AllUpdatedServicesTypes,\n IAppConfig,\n IManifestServiceRegistryComp,\n root\n} from '@estee/elc-universal-utils';\nimport { getServices, hasServiceStarted, isServiceLazy } from '../utils';\n\nenum ServiceQueryAndEmitFields {\n events = 'events',\n queries = 'queries'\n}\n\nexport class ServiceLazyLoader {\n constructor(private logger: ELCLogger, private appConfig: IAppConfig = {}) {}\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private beforeEmit = async (action: string, payload: any, next: Function) => {\n await this.maybeStartService(ServiceQueryAndEmitFields.events)(action);\n\n next(action, payload);\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private beforeQuery = async (queryName: string, payload: any, next: Function) => {\n await this.maybeStartService(ServiceQueryAndEmitFields.queries)(queryName);\n\n return next(queryName, payload);\n };\n\n private maybeStartService = (key: keyof IManifestServiceRegistryComp) => async (\n item: string\n ) => {\n const srv = Object.values(getServices()).find((service: AllServicesTypes) => {\n if (isServiceLazy(service as AllUpdatedServicesTypes) && !hasServiceStarted(service)) {\n const _service = service as IManifestServiceRegistryComp;\n\n return (_service[key] as string[]).indexOf(item) !== -1;\n }\n\n return false;\n }) as IManifestServiceRegistryComp | undefined;\n\n if (srv && srv.name) {\n const message = `Starting ${srv.name} service due to ${item} ${\n key === 'queries' ? 'query' : 'event'\n }!`;\n this.logger.info({\n message,\n triggerType: TriggerType.render\n });\n await srv.start(this.appConfig);\n }\n };\n\n public load() {\n root.GlobalServiceBus.applyHook(() => ({\n beforeEmit: this.beforeEmit,\n beforeQuery: this.beforeQuery\n }));\n }\n}\n","import {\n root,\n AllServicesTypes,\n IComponent,\n IServiceRegistryComponent,\n RegisteredComponent\n} from '@estee/elc-universal-utils';\nimport { ELCLogger, TriggerType } from '@estee/elc-logging';\nimport {\n getModule,\n getServices,\n hasServiceStarted,\n isServiceUpdated,\n findServiceByViewName\n} from '../utils';\n\nexport class ViewManager {\n // TODO Clean this code after SDFEFND-3634\n private federatedView: React.ComponentType | null = null;\n private service: AllServicesTypes;\n private view: IComponent | null = null;\n private isServiceUpdated = false; // if not updated then it needs to start all the services\n\n constructor(private viewName: string, private logger: ELCLogger) {\n try {\n this.service = findServiceByViewName(viewName);\n this.isServiceUpdated = isServiceUpdated(this.service); // TODO: remove after SDFEFND-1853\n const { lazyServicesStarted } = root.ViewsManager;\n if (\n hasServiceStarted(this.service) &&\n (this.isServiceUpdated || (!this.isServiceUpdated && lazyServicesStarted)) &&\n (this.service as IServiceRegistryComponent).getView\n ) {\n this.getView();\n }\n } catch (error) {\n this.logError(`ViewManager for view: (${viewName}) fail to initialize`, error);\n }\n }\n\n private logError = (msg: string, error: Error) => {\n this.logger.error({\n message: msg,\n triggerType: TriggerType.render,\n payload: { error, context: { serviceRegistry: getServices() } }\n });\n };\n\n private loadModule = async (componentView: Pick) => {\n const componentViewMethod = componentView.component.load || componentView.component;\n const module = await ((componentViewMethod as unknown) as RegisteredComponent)();\n\n return module.default;\n };\n\n private loadAndSaveModule = async () => {\n try {\n if (!this.view) {\n throw new Error(`Load view before requesting module ${this.viewName}`);\n }\n\n // Service should already been .register() by this point\n const service = this.service as IServiceRegistryComponent;\n\n const componentModule = await this.loadModule(this.view);\n\n service.setViewInCache(this.viewName, componentModule);\n } catch (error) {\n this.logError(`Error with module: ${this.viewName}`, error);\n }\n };\n\n private getView = () => {\n try {\n const service = this.service as IServiceRegistryComponent;\n\n this.view = service.getView(this.viewName);\n } catch (error) {\n this.logError(`Error getting the view: ${this.viewName}`, error);\n this.view = null;\n }\n };\n\n private startNeededServices = async () => {\n if (!this.isServiceUpdated) {\n await root.ViewsManager.startLazyServices();\n }\n if (!hasServiceStarted(this.service)) {\n await root.ViewsManager.startService(this.service);\n }\n };\n\n public loadComponent = async () => {\n try {\n if (this.service) {\n await this.startNeededServices();\n\n // TODO Clean this code after SDFEFND-3634\n if (!(this.service as IServiceRegistryComponent).getView) {\n // Module Federation\n this.federatedView = (\n await getModule<{ default: React.ComponentType }>(\n this.service.name,\n this.viewName\n )\n ).default;\n } else {\n this.getView();\n await this.loadAndSaveModule();\n }\n }\n } catch (error) {\n this.logError(`Error trying to load the component - ${this.viewName}`, error);\n }\n };\n\n get module() {\n const service = this.service as IServiceRegistryComponent;\n\n if (this.view && service && service.getViewFromCache) {\n return service.getViewFromCache(this.viewName);\n }\n\n return this.federatedView;\n }\n\n get controllerFromView() {\n const controller = this.view && this.view.viewController && this.view.viewController();\n\n return controller || null;\n }\n}\n","import { ELCLogger, TriggerType } from '@estee/elc-logging';\nimport {\n AllServicesTypes,\n AllUpdatedServicesTypes,\n IAppConfig,\n ILazyServiceRegistryComponent,\n root\n} from '@estee/elc-universal-utils';\nimport { ViewManager } from './ViewManager';\nimport { isServiceLazy, hasServiceStarted } from '../utils';\nimport { getServices } from '../utils/index';\n\n// TODO: remove after SDFEFND-1853\nconst EXCLUDED_SERVICES = ['ecomm', 'translation', 'config', 'sign'];\n\nexport class ViewsManager {\n public lazyServicesStarted = false;\n private logger: ELCLogger;\n private views = new Map();\n\n constructor(private servicesConfig: IAppConfig, name: string, version: string) {\n this.logger = new ELCLogger({\n serviceName: name,\n serviceVersion: version,\n environment: root.env,\n buid: root.buid\n });\n }\n\n private isServiceExcluded = (serviceName: string) => {\n const name = serviceName.toLowerCase();\n\n return EXCLUDED_SERVICES.some(excSrv => name.includes(excSrv));\n };\n\n private getNonStartedServices = () => {\n const serviceNames = Object.keys(getServices());\n const services = Object.values(getServices());\n\n return services.filter((srv: AllServicesTypes, index: number) => {\n let isNonStarted = false;\n\n const serviceName = (srv && srv.name) || serviceNames[index];\n\n try {\n isNonStarted =\n !hasServiceStarted(srv) &&\n isServiceLazy(srv as AllUpdatedServicesTypes) &&\n !this.isServiceExcluded(serviceName);\n } catch (error) {\n this.logger.error({\n message: `Fail filtering service - ${serviceName}`,\n triggerType: TriggerType.render,\n payload: {\n error,\n context: {\n serviceRegistry: getServices(),\n service: srv\n }\n }\n });\n }\n\n return isNonStarted;\n }) as ILazyServiceRegistryComponent[];\n };\n\n public getViewManager(viewName: string): ViewManager {\n let view = this.views.get(viewName);\n\n if (!view) {\n view = new ViewManager(viewName, this.logger);\n this.views.set(viewName, view);\n }\n\n return view;\n }\n\n public async startService(service: AllUpdatedServicesTypes) {\n const { GlobalServiceBus, ServiceBusTopics } = root;\n\n try {\n await service.start(this.servicesConfig);\n GlobalServiceBus.emit(ServiceBusTopics.events.SERVICE_STARTED, {\n serviceName: service.name\n });\n } catch (error) {\n this.logger.error({\n triggerType: TriggerType.render,\n message: `Error starting the service [${service.name}]`,\n payload: {\n error\n }\n });\n }\n }\n\n // TODO: remove after SDFEFND-1853\n public async startLazyServices() {\n if (!this.lazyServicesStarted) {\n const nonStartedServices = this.getNonStartedServices();\n\n for (const service of nonStartedServices) {\n await this.startService(service);\n }\n\n this.lazyServicesStarted = true;\n }\n }\n}\n\nexport function getViewsManager(name: string, version: string) {\n if (!root.ViewsManager) {\n root.ViewsManager = new ViewsManager(\n {\n businessUnitId: root.buid || '',\n env: root.env || ''\n },\n name,\n version\n );\n }\n\n return root.ViewsManager;\n}\n","import { ELCLogger, TriggerType } from '@estee/elc-logging';\nimport { root } from '@estee/elc-universal-utils';\n\ntype ObjectWithNumbers = { [key: string]: number };\n\ninterface ImPulse {\n sendMetric(name: string, value: number): void;\n sendMetrics(metrics: ObjectWithNumbers): void;\n sendTimer(name: string, value: number): void;\n sendTimers(metrics: ObjectWithNumbers): void;\n}\n\ndeclare global {\n namespace NodeJS {\n interface Global {\n BOOMR: undefined;\n }\n }\n interface Window {\n BOOMR?: ImPulse;\n }\n}\n\nexport class mPulse {\n constructor(\n private readonly logger: ELCLogger\n ) {}\n\n private emptyFunction = (fnName: string) => (...args: any) => {\n this.logger.warning({\n triggerType: TriggerType.other,\n message: `Function ${fnName} was not found on root.BOOMR`,\n payload: {\n context: {\n mPulse: root.BOOMR,\n arguments: JSON.stringify(args)\n }\n }\n });\n };\n\n sendMetric = (...args: Parameters) =>\n (root.BOOMR?.sendMetric || this.emptyFunction('sendMetric'))(...args);\n\n sendMetrics = (...args: Parameters) =>\n (root.BOOMR?.sendMetrics || this.emptyFunction('sendMetrics'))(...args);\n\n sendTimer = (...args: Parameters) =>\n (root.BOOMR?.sendTimer|| this.emptyFunction('sendTimer'))(...args);\n\n sendTimers = (...args: Parameters) =>\n (root.BOOMR?.sendTimers || this.emptyFunction('sendTimers'))(...args);\n};\n","import { ELCLogger, TriggerType } from '@estee/elc-logging';\nexport class PerformanceMarker {\n private readonly logger: ELCLogger;\n private readonly serviceViewName: string;\n\n constructor(logger: ELCLogger, name: string) {\n this.logger = logger;\n this.serviceViewName = name;\n }\n\n startMark = (name: string) => {\n try {\n performance.mark(`${this.serviceViewName}_${name}`);\n } catch (error) {\n this.logger.error({\n message: `[${this.serviceViewName}]: ${error}`,\n triggerType: TriggerType.other,\n payload: {\n error\n }\n });\n }\n };\n\n endMark = (name: string) => {\n try {\n if (performance.getEntriesByName(name)) {\n const markName = `${this.serviceViewName}_${name}`;\n const markNameEnd = `${markName}_end`;\n\n performance.mark(markNameEnd);\n\n const measurement = performance.measure(\n `${this.serviceViewName}_measure_${name}`,\n markName,\n markNameEnd\n ) as unknown as PerformanceMeasure;\n this.logger.info({\n triggerType: TriggerType.other,\n message: `Performance measure between (${markName}) and (${markNameEnd})`,\n payload: {\n context: measurement.toJSON(),\n serviceName: this.serviceViewName\n }\n });\n this.clearMark(markName);\n\n return measurement;\n }\n } catch (error) {\n this.logger.error({\n message: `[${this.serviceViewName}]: ${error}`,\n triggerType: TriggerType.other,\n payload: {\n error\n }\n });\n }\n };\n\n // Chrome has a limit of markers that it can support at the same time\n // In order to limit the amount of markers we'll clean everything except the measure one after we take the measurements\n clearMark = (name: string) => {\n performance.clearMarks(name);\n performance.clearMarks(`${name}_end`);\n };\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = ElcRuntime.React;","import * as React from 'react';\nimport { ELCLogger, TriggerType } from '@estee/elc-logging';\nimport { root, getServiceVersion } from '@estee/elc-universal-utils';\n\ninterface IProps {\n children: JSX.Element | null;\n serviceName: string;\n name: string;\n}\n\ninterface IState {\n error?: Error;\n}\n\nexport class ErrorBoundary extends React.Component {\n private logger: ELCLogger;\n\n constructor(props: IProps) {\n super(props);\n this.state = { error: undefined };\n this.logger = new ELCLogger({\n serviceName: props.serviceName,\n buid: root.buid || '',\n environment: root.env || '',\n serviceVersion: getServiceVersion(props.serviceName) || ''\n });\n }\n\n static getDerivedStateFromError(error?: Error) {\n return { error };\n }\n\n public componentDidCatch(error?: Error) {\n this.logger.error({\n triggerType: TriggerType.render,\n message: `Error caught in external view ${this.props.name}`,\n payload: {\n error: error,\n context: { serviceRegistry: root.ServiceRegistry }\n }\n });\n }\n\n public render() {\n return this.state.error ? null : this.props.children;\n }\n}\n","import { IAppConfig } from '@estee/elc-universal-utils';\n\ntype UnknownObject = { [key: string]: unknown };\n\ntype DrupalPropsToCast = {\n sessionExpiredStartTime?: T;\n sessionExpiredTimeout?: T;\n costLimit?: T;\n maxQuantity?: T;\n threeInstallmentsLimit?: T;\n sixInstallmentsLimit?: T;\n};\n\nexport type DrupalProps = {\n routes: UnknownObject;\n services: UnknownObject;\n cdnPath: string;\n defaultDomain: string;\n clientId: string;\n} & DrupalPropsToCast &\n IAppConfig &\n UnknownObject;\n\nexport type CastedDrupalProps = {\n routes: UnknownObject;\n services: UnknownObject;\n cdnPath: string;\n defaultDomain: string;\n clientId: string;\n} & DrupalPropsToCast &\n IAppConfig &\n UnknownObject;\n\nexport const mapConfigToProps = (drupalProps: DrupalProps): CastedDrupalProps => {\n const castDrupalPropToNumber = (key: string): number | undefined => {\n const drupalProp = drupalProps[key] as string | number;\n\n return typeof drupalProp === 'string' ? Number(drupalProp) : drupalProp;\n };\n\n const sessionExpiredStartTime = castDrupalPropToNumber('sessionExpiredStartTime');\n const sessionExpiredTimeout = castDrupalPropToNumber('sessionExpiredTimeout');\n const costLimit = castDrupalPropToNumber('costLimit');\n const maxQuantity = castDrupalPropToNumber('maxQuantity');\n const threeInstallmentsLimit = castDrupalPropToNumber('threeInstallmentsLimit');\n const sixInstallmentsLimit = castDrupalPropToNumber('sixInstallmentsLimit');\n const baseUrl = drupalProps.defaultDomain;\n\n return {\n ...drupalProps,\n sessionExpiredStartTime,\n sessionExpiredTimeout,\n costLimit,\n maxQuantity,\n threeInstallmentsLimit,\n sixInstallmentsLimit,\n baseUrl\n };\n};\n","import { BaseService, ServiceLazyLoader, ViewsManager } from '@estee/elc-service';\nimport { emit, events, ServiceBusLogHook } from '@estee/elc-service-bus';\nimport { AllUpdatedServicesTypes, root, ServiceInitializer } from '@estee/elc-universal-utils';\nimport { ELCLogger, TriggerType } from '@estee/elc-logging';\nimport { PerformanceMarker, mPulse } from '@estee/elc-telemetry';\nimport { onScriptError } from '../utils/onScriptError';\nimport { CastedDrupalProps, DrupalProps, mapConfigToProps } from './DrupalConfig';\nimport { getServiceBusController } from './diContainer';\n\nconst { name, version } = __serviceInfo__;\n\ndeclare type IObjectLike = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n} | null;\nexport interface IJsAssets { jsRepoAssets: { maxRetries: number } & IObjectLike }\n\nexport class EcommApp extends BaseService {\n private performanceMarker: PerformanceMarker;\n // eslint-disable-next-line @typescript-eslint/no-parameter-properties\n constructor(private onStartService: ServiceInitializer = getServiceBusController) {\n super(name, version);\n this.initializeServiceVersions();\n }\n\n // @TODO: SDFEFND-4051 Removing this method will require a refactor on Drupal side\n public register = () => {\n console.warn('This method has been deprecated.');\n };\n\n private startWrapper = async (appConfig: DrupalProps) => {\n const ecommServiceMark = 'ecomm_service_start';\n\n this.performanceMarker.startMark(ecommServiceMark);\n\n root.env = root.env || appConfig.env || '';\n root.buid = root.buid || appConfig.businessUnitId || '';\n\n const props = await this.initialize(appConfig);\n\n await this.onStartService(appConfig);\n\n this.setupHttpTransport(props.defaultDomain, props.clientId);\n\n await this.bootstrap(props);\n this.performanceMarker.endMark(ecommServiceMark);\n\n await this.initializeComponentRenderer();\n };\n\n public async start(appConfig: DrupalProps) {\n this.logger = new ELCLogger({\n serviceName: name,\n serviceVersion: version,\n environment: root.env || appConfig.env,\n buid: root.buid || appConfig.businessUnitId\n });\n this.performanceMarker = new PerformanceMarker(this.logger, name);\n\n (root as Window).mPulse = new mPulse(this.logger);\n\n const sbLoaded = await this.isServiceBusLoaded();\n if (sbLoaded) {\n this.serviceInitializer = this.serviceInitializer || this.startWrapper;\n\n return super.start(appConfig);\n } else {\n this.logger.error({\n triggerType: TriggerType.runtimeError,\n message: 'Error loading ServiceBus chunks, can\\'t start the rest of the services'\n });\n }\n }\n\n private initialize = async (appConfig: DrupalProps) => {\n const ecommInitializeMark = 'ecomm_initialize';\n this.performanceMarker.startMark(ecommInitializeMark);\n\n // @ts-ignore\n root.GlobalServiceBus.applyHook(ServiceBusLogHook);\n\n const props: CastedDrupalProps = mapConfigToProps(appConfig);\n new ServiceLazyLoader(this.logger, props).load();\n // @ts-ignore\n root.ViewsManager = new ViewsManager(props, name, version);\n\n // Use @ as a service and version separator if there is at least one script\n // in page that uses that convention\n const useAtSignSeparator = Array.from(document.querySelectorAll('script'))\n .map((s) => s.src)\n .filter((src) => src.indexOf(props.cdnPath) !== -1)\n .some((src) => src.split('@').length > 1);\n const versionSeparator = useAtSignSeparator ? '@' : '/';\n\n const replaceFunction = (originalSrc: string) => {\n const elcSrc = originalSrc.indexOf('elc-');\n const pgSrc = originalSrc.indexOf('pg-');\n const realSrc = elcSrc > -1 ? elcSrc : pgSrc;\n const sourceInfo = originalSrc.slice(realSrc);\n const [serviceName, chunkName] = sourceInfo.split('/');\n const serviceVersion = props.services[serviceName];\n\n return `${props.cdnPath}/${serviceName}${versionSeparator}${serviceVersion}/${chunkName}`;\n };\n root.replaceSrc = root.replaceSrc || replaceFunction;\n // @ts-ignore\n root.onerror = onScriptError(appConfig.siteUrl, this.logger);\n\n this.performanceMarker.endMark(ecommInitializeMark);\n\n return props;\n };\n\n private setupHttpTransport = (defaultDomain: string, clientId: string) => {\n root.HttpTransport.setBaseUrl(defaultDomain);\n root.HttpTransport.addGlobalHeaders({\n 'Business-Unit': root.buid,\n ClientId: clientId || 'stardust-fe-client'\n });\n };\n\n private startMandatoryServices = async (props: CastedDrupalProps) => {\n try {\n const translationServiceMark = 'start_service_translations';\n\n this.performanceMarker.startMark(translationServiceMark);\n await this.isTranslationsLoaded();\n // @ts-ignore\n const translations = await (() => import('elc_service_translations/diContainer'))();\n await translations.serviceStarter(props);\n this.performanceMarker.endMark(translationServiceMark);\n\n const configServiceMark = 'start_service_config_manager';\n\n this.performanceMarker.startMark(configServiceMark);\n await this.isConfigManagerLoaded();\n // @ts-ignore\n const configManager = await (() => import('elc_service_config_manager/diContainer'))();\n await configManager.serviceStarter(props);\n this.performanceMarker.endMark(configServiceMark);\n } catch (error) {\n this.logger.error({\n triggerType: TriggerType.runtimeError,\n message: error.message\n });\n }\n };\n\n private initializeComponentRenderer = async () => {\n try {\n const crLoaded = await this.isComponentRendererLoaded();\n if (!crLoaded) {\n throw new Error('Error loading ComponentRenderer');\n }\n await root.ComponentRenderer.init();\n } catch (err) {\n this.logger.error({\n triggerType: TriggerType.render,\n message: err.message\n });\n }\n };\n\n private bootstrap = async (props: CastedDrupalProps) => {\n try {\n const sessionMgmtMark = 'start_session_mgmt';\n\n this.performanceMarker.startMark(sessionMgmtMark);\n await (this.isSessionMgmtLoaded());\n // @ts-ignore\n const mgmt = await (() => import('elc_service_session_mgmt/diContainer'))();\n await mgmt.serviceStarter(props);\n this.performanceMarker.endMark(sessionMgmtMark);\n\n await this.startMandatoryServices(props);\n emit(events.ECOMM_STARTED);\n\n const servicesMark = 'start_services';\n\n this.performanceMarker.startMark(servicesMark);\n await this.startServices(props);\n this.performanceMarker.endMark(servicesMark);\n } catch (error) {\n this.logger.error({\n message: error?.message,\n payload: {\n error\n },\n triggerType: TriggerType.render\n });\n }\n };\n\n private startServices = async (props: CastedDrupalProps) => {\n const servicesToInitialize = Object.keys(root.ServiceRegistry).filter(\n (serviceName) =>\n serviceName !== this.name &&\n !(root.ServiceRegistry[serviceName] as AllUpdatedServicesTypes).isLazy &&\n !root.ServiceRegistry[serviceName].isStarted\n );\n for (const serviceName of servicesToInitialize) {\n const service = root.ServiceRegistry && root.ServiceRegistry[serviceName];\n if (service && !service.isStarted) {\n await service.start(props);\n emit(events.SERVICE_STARTED, { serviceName: serviceName });\n }\n }\n };\n\n private initializeServiceVersions() {\n // the logic related to ServiceRegistry will go away from this function once we transition all the code to root.serviceInfo\n root.getServiceVersions = () => {\n const serviceInfo = root.serviceInfo;\n const nonServiceVersions = Object.keys(serviceInfo).reduce((acc, serviceName) => {\n return { ...acc, [serviceName]: serviceInfo[serviceName].version };\n }, {});\n /* eslint-disable no-param-reassign */\n const serviceRegistryVersions = Object.keys(root.ServiceRegistry).reduce(\n (acc, serviceName) => {\n const serviceVesion = root.ServiceRegistry[serviceName].version;\n if (serviceVesion) {\n return { ...acc, [serviceName]: serviceVesion };\n }\n\n return acc;\n },\n {}\n );\n /* eslint-enable no-param-reassign */\n const versions: { [key: string]: string } = {\n ...serviceRegistryVersions,\n ...nonServiceVersions\n };\n const fullInfoVersions = Object.keys(versions).reduce((acc, serviceName) => {\n const currentServiceInfo = serviceInfo[serviceName] || {};\n const branchName = currentServiceInfo.branchName || '';\n const commitHash = currentServiceInfo.commitHash || '';\n\n return {\n ...acc,\n [serviceName]: { version: versions[serviceName], branchName, commitHash }\n };\n }, {});\n\n console.table(fullInfoVersions);\n };\n }\n\n private isAssetLoaded = (asset: { succeeded: string[] }) => Boolean(asset?.succeeded?.length);\n\n private isServiceBusLoaded: () => Promise = () => this.checkIfAssetHasLoaded(\n 'service-bus', () => Boolean(root.GlobalServiceBus)\n );\n\n private isTranslationsLoaded: () => Promise = () => this.checkIfAssetHasLoaded(\n 'translations',\n // @ts-ignore\n () => true\n );\n\n private isConfigManagerLoaded: () => Promise = () => this.checkIfAssetHasLoaded(\n 'config-manager',\n // @ts-ignore\n () => true\n );\n\n private isSessionMgmtLoaded: () => Promise = () => this.checkIfAssetHasLoaded(\n 'session-mgmt',\n // @ts-ignore\n () => true\n );\n\n private isComponentRendererLoaded: () => Promise = () => this.checkIfAssetHasLoaded(\n 'component-renderer',\n () => Boolean(root.ComponentRenderer)\n );\n\n private checkIfAssetHasLoaded = (serviceAssetName: string, defaultCheck: Function) => {\n const serviceAssets = (root as Window & IJsAssets).jsRepoAssets;\n\n if (!serviceAssets) {\n return defaultCheck();\n }\n\n const asset = Object.entries(serviceAssets)\n .find(([key]) => key.includes(serviceAssetName))?.[1];\n\n if (!asset) {\n return false;\n }\n\n if (this.isAssetLoaded(asset)) {\n return true;\n }\n\n return () => new Promise((resolve) => {\n const intervalId = setInterval(() => {\n if (this.isAssetLoaded(asset)) {\n clearInterval(intervalId);\n\n return resolve(true);\n }\n if ((serviceAssets.maxRetries || 3) === asset?.failed?.length) {\n clearInterval(intervalId);\n\n return resolve(false);\n }\n }, 50);\n });\n };\n}","import { getServiceVersion } from '@estee/elc-universal-utils';\nimport { ELCLogger, TriggerType } from '@estee/elc-logging';\n\nexport const JS_REPO = 'js-repo';\nexport const DRUPAL = 'drupal';\nexport const UNKNOWN = 'unknown/external';\n\nenum REPO {\n INTEGRATION = '/integration.js-repo/',\n QA = '/qa.js-repo/',\n PROD = '/js-repo/'\n}\n\ninterface IErrorPayload {\n error: Error;\n serviceName?: string;\n serviceVersion?: string;\n context: {\n url: string;\n line: number;\n column: number;\n siteUrl: string;\n };\n}\n\nexport const getServiceName = (pathname: string) => {\n return pathname.includes(JS_REPO)\n ? pathname.replace(REPO.INTEGRATION, '').replace(REPO.QA, '').replace(REPO.PROD, '')\n : DRUPAL;\n};\n\nexport const onScriptError = (siteUrl: string, logger: ELCLogger) => (\n message: string,\n url: string,\n line: number,\n column: number,\n error: Error\n) => {\n const payload: IErrorPayload = {\n context: {\n siteUrl,\n url,\n line,\n column\n },\n error,\n serviceName: '',\n serviceVersion: ''\n };\n\n try {\n const parsedURL = new URL(url);\n const split = parsedURL.pathname.split('@');\n const serviceName = getServiceName(split[0]);\n payload.serviceName = serviceName;\n payload.serviceVersion = getServiceVersion(serviceName, split.length > 1 ? split[1] : '');\n } catch (err) {\n payload.serviceName = UNKNOWN;\n }\n\n logger.error({\n triggerType: TriggerType.runtimeError,\n payload,\n message\n });\n\n return false;\n};\n","import { root, setupServiceInfo, getModuleFederatedName } from '@estee/elc-universal-utils';\nimport { EcommApp } from './service-setup/EcommApp';\n\nsetupServiceInfo(__serviceInfo__);\n\nconst { name, version } = __serviceInfo__;\n\nEcommApp.setViews(name, getModuleFederatedName(name), version, []);\n\n(root as Window).EcommApp = EcommApp;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { LoadableComponent } from '@loadable/component';\n\nexport const SERVICE_VIEW_CLASSNAME = 'elc-service-view-renderer';\nexport const SERVICE_VIEW_RENDERED_ATTRIBUTE = 'data-rendered-view';\n\nexport function getModuleFederatedName(serviceName: string) {\n return serviceName.replace(/-/g, '_');\n}\n\nexport interface ICachedComponentsRegistry {\n [key: string]: React.ComponentType;\n}\n\nexport type RegisteredComponent = () => Promise<{\n ['default']: React.ComponentType;\n}>;\n\ntype AnyObject = { [key: string]: any };\n\nexport interface IAppConfig extends AnyObject {\n env?: string;\n businessUnitId?: string;\n}\n\nexport type ServiceInitializer = (config: IAppConfig) => Promise | void;\n\nexport interface IViewControllerData {\n [key: string]: any;\n}\n\nexport type ViewControllerLoadedMethod = (...args: any[]) => Promise;\n\nexport interface IComponentViewController {\n id?: string;\n loaded?: ViewControllerLoadedMethod;\n data?: IViewControllerData;\n dataState?: IViewControllerData;\n configMergeStrategy?: Function;\n initialize?(...args: any[]): void;\n handleState?(...args: any[]): void;\n setSSRState(data: IViewControllerData): void;\n setId(id: string): void;\n isLoading: boolean;\n}\n\nexport interface IComponent {\n componentName: string;\n component: LoadableComponent;\n viewController?(): IComponentViewController;\n}\n\nexport interface IComponentRegistry {\n [key: string]: IComponent;\n}\n\nexport interface IFederatedService {\n isStarted: true;\n name: string;\n version: string;\n views: string[];\n}\n\ndeclare class EcommApp {\n isStarted: boolean;\n name: string;\n start(appConfig: any): Promise;\n // @TODO: SDFEFND-4051 Removing this method will require a refactor on Drupal side\n register(): void;\n}\n\nexport type IEcommApp = typeof EcommApp;\n\ninterface IBaseServiceRegistryComp {\n isStarted: boolean;\n name: string;\n isLazy?: boolean;\n start(appConfig: IAppConfig): Promise;\n startPromise?: Promise;\n version: string;\n views: string[];\n}\n\nexport type IManifestService = {\n events: string[];\n queries: string[];\n};\n\ntype BaseServiceRegistryComponent = {\n cachedComponentsRegistry: ICachedComponentsRegistry;\n componentsRegistry: IComponentRegistry;\n getView(componentName: string): IComponent | null;\n getViewFromCache(componentName: string): React.ComponentType | null;\n registerView(\n componentName: string,\n component: RegisteredComponent,\n viewController?: () => IComponentViewController\n ): void;\n serviceInitializer: ServiceInitializer;\n serviceBusController?: any;\n setViewInCache(componentName: string, component: React.ComponentType): void;\n};\n// Exported object by the createServiceManifest method\nexport type IManifestServiceRegistryComp = IBaseServiceRegistryComp & IManifestService;\n// Service exported by the register method after applying the manifest\nexport type ILazyServiceRegistryComponent = BaseServiceRegistryComponent &\n IManifestServiceRegistryComp;\n// Service exported by the register method if manifest is not applied (non lazy service)\nexport type IServiceRegistryComponent = BaseServiceRegistryComponent & IBaseServiceRegistryComp;\n\n// Remove after SDFEFND-1853\n// Exported from older versions of the register method (elc-service < v7)\nexport interface IOlderServiceRegistryComponent\n extends Omit<\n IServiceRegistryComponent,\n 'getView' | 'start' | 'views' | 'isLazy' | 'startPromise'\n > {\n getView(componentName: string): IComponent | undefined;\n start(appConfig: IAppConfig): Promise;\n // These keys doesn't exist but this will avoid TS errors\n views?: string[];\n isLazy?: boolean;\n}\n\nexport type AllUpdatedServicesTypes =\n | ILazyServiceRegistryComponent\n | IManifestServiceRegistryComp\n | IServiceRegistryComponent;\n\nexport type AllServicesTypes =\n | AllUpdatedServicesTypes\n | IFederatedService\n | IOlderServiceRegistryComponent;\n\nexport interface IServiceRegistry {\n [key: string]: AllServicesTypes;\n}\n"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","chunkMapping","idToExternalAndNameMapping","ElcRuntime","HypoContainer","EcommStore","uriEncodeParams","params","Object","keys","map","key","encodeURIComponent","join","changeLocation","pathName","queryParams","enforceOrigin","encodedParams","this","pathWithParams","indexOf","window","location","assign","url","origin","ServiceBusController","constructor","ecommStore","payload","redirectUrl","on","events","serviceNames","serviceBusController","diContainer","Container","register","c","get","getServiceBusController","module","exports","a","b","results","diffInternal","acc","base","property","Number","isNaN","Array","an","length","bn","equal","indexes","findMatchIndexes","anInner","bnInner","similar","concat","indexesInner","numberPulled","numberPushed","set","add","slice","rm","Date","getTime","keyMap","merge","arrayToMap","path","push","type","changeList","value","val","index","count","finalIndex","num","vals","values","compareFn","divergenceIndexA","divergenceIndexB","aSubMin","bSubMin","maxNForA","maxNForB","maxN","Math","max","n","newestA","newestB","j","elemA","elemB","tenPercent","notEqual","abs","keyLength","aKeys","bKeys","array","result","forEach","v","obj1","obj2","__webpack_error__","Error","Promise","resolve","reject","elc_service_config_manager","__webpack_require__","l","event","errorType","realSrc","target","src","message","name","request","then","elc_service_session_mgmt","elc_service_translations","ElcServiceBus","__webpack_module_cache__","moduleId","cachedModule","undefined","__webpack_modules__","m","getPrototypeOf","obj","t","mode","__esModule","ns","create","r","def","current","getOwnPropertyNames","d","definition","o","defineProperty","enumerable","f","e","chunkId","all","reduce","promises","u","g","globalThis","Function","prop","prototype","hasOwnProperty","call","done","script","needAttach","scripts","document","getElementsByTagName","i","s","getAttribute","createElement","charset","timeout","nc","setAttribute","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","fn","setTimeout","bind","head","appendChild","Symbol","toStringTag","remotes","id","getScope","R","data","p","onError","error","handleFunction","arg1","arg2","next","first","promise","onInitialized","_","external","onFactory","factory","I","S","initPromises","initTokens","initScope","initToken","initExternal","handleError","err","msg","console","warn","initFn","init","initResult","scriptUrl","importScripts","currentScript","replace","installedChunks","installedChunkData","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","self","moduleMap","BrowserStorage","eraseCookie","cookie","setCookie","daysOrDate","expires","now","toUTCString","getCookie","nameEQ","ca","split","charAt","substring","getItem","storageKey","setItem","removeItem","storagePolling","callBack","storageValue","setInterval","latestValue","serviceName","fallback","extractServiceVersion","serviceInfo","searchForServiceInfo","version","ELCLogger","noop","BaseService","serviceInitializer","isStarted","setViews","views","initializeService","appConfig","initializer","logger","triggerType","TriggerType","context","serviceRegistry","start","startPromise","environment","env","buid","businessUnitId","serviceVersion","getServices","hasServiceStarted","service","isServiceLazy","Boolean","isLazy","isServiceUpdated","findServiceByViewName","viewName","find","includes","getView","isViewInService","getModule","child","router","ServiceLazyLoader","beforeEmit","action","maybeStartService","beforeQuery","queryName","item","srv","info","load","ViewManager","federatedView","view","logError","loadModule","componentView","componentViewMethod","component","default","loadAndSaveModule","componentModule","setViewInCache","startNeededServices","loadComponent","lazyServicesStarted","getViewFromCache","controllerFromView","viewController","EXCLUDED_SERVICES","ViewsManager","servicesConfig","Map","isServiceExcluded","toLowerCase","excSrv","getNonStartedServices","filter","isNonStarted","getViewManager","startService","GlobalServiceBus","ServiceBusTopics","emit","SERVICE_STARTED","startLazyServices","nonStartedServices","mPulse","emptyFunction","fnName","args","warning","arguments","JSON","stringify","sendMetric","sendMetrics","sendTimer","sendTimers","PerformanceMarker","startMark","performance","mark","serviceViewName","endMark","getEntriesByName","markName","markNameEnd","measurement","measure","toJSON","clearMark","clearMarks","React","mapConfigToProps","drupalProps","castDrupalPropToNumber","drupalProp","sessionExpiredStartTime","sessionExpiredTimeout","costLimit","maxQuantity","threeInstallmentsLimit","sixInstallmentsLimit","baseUrl","defaultDomain","EcommApp","onStartService","super","startWrapper","ecommServiceMark","performanceMarker","props","initialize","setupHttpTransport","clientId","bootstrap","initializeComponentRenderer","ecommInitializeMark","ServiceBusLogHook","versionSeparator","from","querySelectorAll","cdnPath","siteUrl","originalSrc","elcSrc","pgSrc","sourceInfo","chunkName","services","line","column","URL","pathname","ClientId","startMandatoryServices","translationServiceMark","isTranslationsLoaded","translations","serviceStarter","configServiceMark","isConfigManagerLoaded","configManager","isComponentRendererLoaded","sessionMgmtMark","isSessionMgmtLoaded","mgmt","servicesMark","startServices","servicesToInitialize","isAssetLoaded","asset","succeeded","isServiceBusLoaded","checkIfAssetHasLoaded","serviceAssetName","defaultCheck","serviceAssets","entries","intervalId","_a","clearInterval","maxRetries","failed","initializeServiceVersions","nonServiceVersions","serviceRegistryVersions","serviceVesion","versions","fullInfoVersions","currentServiceInfo","branchName","commitHash","table","rest","setupServiceInfo","shareScope","oldScope"],"sourceRoot":""}