{"version":3,"file":"bundle.js","mappings":"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","sources":["webpack://elc-service-account/webpack/runtime/load script","webpack://elc-service-account/./node_modules/@estee/elc-logging/node_modules/debug/src/browser.js","webpack://elc-service-account/./node_modules/@estee/elc-logging/node_modules/debug/src/common.js","webpack://elc-service-account/./node_modules/@estee/elc-logging/node_modules/ms/index.js","webpack://elc-service-account/./node_modules/@estee/elc-logging/node_modules/@estee/elc-universal-utils/src/UniversalUtils.ts","webpack://elc-service-account/./node_modules/@estee/elc-logging/node_modules/@estee/elc-universal-utils/src/BrowserStorage.ts","webpack://elc-service-account/./node_modules/@estee/elc-logging/node_modules/@estee/elc-universal-utils/src/Service/ServiceVersion.ts","webpack://elc-service-account/./node_modules/@estee/elc-logging/src/ELCLoggerValidations.ts","webpack://elc-service-account/./node_modules/@estee/elc-logging/src/LoggerApiSDK.ts","webpack://elc-service-account/./node_modules/@estee/elc-logging/src/ELCLogger.ts","webpack://elc-service-account/./node_modules/@estee/elc-service-view-names/src/index.ts","webpack://elc-service-account/./node_modules/@estee/elc-service/node_modules/@estee/elc-universal-utils/src/UniversalUtils.ts","webpack://elc-service-account/./node_modules/@estee/elc-service/node_modules/@estee/elc-universal-utils/src/Service/ServiceUtils.ts","webpack://elc-service-account/./node_modules/@estee/elc-service/node_modules/@estee/elc-universal-utils/src/BrowserStorage.ts","webpack://elc-service-account/./node_modules/@estee/elc-service/node_modules/@estee/elc-universal-utils/src/Service/ServiceVersion.ts","webpack://elc-service-account/./node_modules/@estee/elc-service/src/Service/ServiceManager/ServiceManager.ts","webpack://elc-service-account/./node_modules/@estee/elc-universal-utils/src/UniversalUtils.ts","webpack://elc-service-account/./node_modules/@estee/elc-universal-utils/src/Service/ServiceUtils.ts","webpack://elc-service-account/./node_modules/@estee/elc-universal-utils/src/BrowserStorage.ts","webpack://elc-service-account/./node_modules/@estee/elc-service/src/Service/BaseService.ts","webpack://elc-service-account/./src/service-setup/AccountService.ts","webpack://elc-service-account/./src/service-setup/packageInfo.ts","webpack://elc-service-account/./node_modules/process/browser.js","webpack://elc-service-account/external var \"ElcServiceBus\"","webpack://elc-service-account/external var [\"ElcRuntime\",\"HttpTransport\"]","webpack://elc-service-account/external var [\"ElcRuntime\",\"HypoContainer\"]","webpack://elc-service-account/external var [\"ElcRuntime\",\"React\"]","webpack://elc-service-account/external var [\"ElcRuntime\",\"ReactDom\"]","webpack://elc-service-account/external var [\"ElcRuntime\",\"mobx\"]","webpack://elc-service-account/external var [\"ElcRuntime\",\"mobxReact\"]","webpack://elc-service-account/external var [\"ElcRuntime\",\"styled5\"]","webpack://elc-service-account/webpack/bootstrap","webpack://elc-service-account/webpack/runtime/compat get default export","webpack://elc-service-account/webpack/runtime/define property getters","webpack://elc-service-account/webpack/runtime/ensure chunk","webpack://elc-service-account/webpack/runtime/get javascript chunk filename","webpack://elc-service-account/webpack/runtime/global","webpack://elc-service-account/webpack/runtime/hasOwnProperty shorthand","webpack://elc-service-account/webpack/runtime/make namespace object","webpack://elc-service-account/webpack/runtime/publicPath","webpack://elc-service-account/webpack/runtime/jsonp chunk loading","webpack://elc-service-account/./src/service-setup/ServiceBus.ts","webpack://elc-service-account/./node_modules/@estee/elc-service/src/Service/ServiceBusController.ts","webpack://elc-service-account/./src/index.ts","webpack://elc-service-account/webpack/container-entry"],"sourcesContent":["var inProgress = {};\nvar dataWebpackPrefix = \"elc-service-account:\";\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\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};","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\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 ILoggerApiSDK {\n sendLog: Function;\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}\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 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 loggerApiSDK: ILoggerApiSDK;\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 loggerApiSDK: ILoggerApiSDK;\n requestIdleCallback: Function;\n cancelIdleCallback: Function;\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 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 isString: Function = (value: unknown) => typeof value === 'string';\n\nconst VALIDATORS: { [key: string]: Function[] } = {\n buid: [Boolean],\n context: [Boolean],\n environment: [Boolean, isString],\n level: [Boolean, isString],\n message: [Boolean, isString],\n serviceName: [Boolean, isString],\n serviceVersion: [Boolean, isString],\n triggerType: [Boolean, isString],\n userAgent: [Boolean, isString]\n};\n\nexport const validate = (requestBody: { [key: string]: unknown }) => {\n const result = Object.keys(VALIDATORS).reduce((acc: boolean[], key) => {\n VALIDATORS[key].forEach((validator: (value: unknown) => boolean) => {\n const requestValue = requestBody[key];\n acc.push(validator(requestValue));\n });\n\n return acc;\n }, []);\n\n return result.every(Boolean);\n};\n","import { root, IFrontendLogger } from '@estee/elc-universal-utils';\nimport { validate } from './ELCLoggerValidations';\nimport { ILogData, IFullData } from './ELCLogger';\n\nexport class LoggerApiSDK {\n private loggingServiceUrl: string = '/stardust-fe-logging-v0/logMessage';\n private queue: ILogData[] = [];\n private isRequestIdleCallbackScheduled: boolean;\n private lastTimeExecuted: number = Date.now();\n private frontendLogger: IFrontendLogger = root.site ? root.site.frontendLogger || {} : {};\n\n private generateRequestBody(fullData: IFullData) {\n const { config, level, logdata } = fullData;\n\n const { payload = {}, message, triggerType } = logdata;\n const {\n serviceName: payloadServiceName,\n serviceVersion: payloadServiceVersion,\n context,\n error\n } = payload;\n\n const {\n serviceName: configServiceName,\n serviceVersion: configServiceVersion,\n buid: configBuid,\n environment: configEnvironment\n } = config;\n const stringifiedError = error && JSON.stringify(error, Object.getOwnPropertyNames(error));\n\n return {\n context: {\n ...context,\n date: new Date().toUTCString(),\n error: stringifiedError\n },\n environment: configEnvironment || root.env,\n level: level,\n message,\n serviceName: payloadServiceName || configServiceName,\n serviceVersion: payloadServiceVersion || configServiceVersion,\n siteUrl: root.location.href,\n buid: configBuid || root.buid,\n triggerType,\n userAgent: root.navigator.userAgent\n };\n }\n\n public sendLog(fullData: IFullData) {\n const requestBody = this.generateRequestBody(fullData);\n const loggedServices = this.frontendLogger.loggedServices || {};\n const serviceConfig = loggedServices[requestBody.serviceName] || {};\n const isServiceEnabled = serviceConfig.isEnabled;\n\n if (this.frontendLogger.isEnabled && isServiceEnabled) {\n if (!validate(requestBody)) {\n throw new Error(`Request body for error logging did not validate`);\n }\n\n this.addLogToQueue(requestBody);\n }\n }\n\n public addLogToQueue = (log: ILogData) => {\n this.queue.push(log);\n this.schedulePendingEvents();\n };\n\n private schedulePendingEvents = () => {\n if (this.isRequestIdleCallbackScheduled) {\n return;\n }\n\n this.isRequestIdleCallbackScheduled = true;\n root.requestIdleCallback(this.processPendingLogs);\n };\n\n private processPendingLogs = () => {\n this.isRequestIdleCallbackScheduled = false;\n\n if (this.queue.length > 0 && Date.now() - this.lastTimeExecuted > 2000) {\n root.HttpTransport.post({\n url: this.loggingServiceUrl,\n body: this.queue\n }).catch(() => console.error('Errors failed to be sent to sumoLogic', this.queue));\n\n this.queue = [];\n this.lastTimeExecuted = Date.now();\n }\n\n if (this.queue.length > 0) {\n this.schedulePendingEvents();\n }\n };\n}\n","import { debug, Debugger } from 'debug';\nimport { LoggerApiSDK } from './LoggerApiSDK';\nimport { getSandboxEnvironment, root, ISandboxEnvironment } from '@estee/elc-universal-utils';\n\nexport interface IFullData {\n logdata: ILogData;\n level: string;\n config: IELCLogger;\n}\n\nexport interface IPayload {\n error?: Error;\n context?: object;\n serviceName?: string;\n serviceVersion?: string;\n}\n\nexport interface ILogData {\n triggerType: TriggerType;\n message: string;\n payload?: IPayload;\n}\n\nexport enum TriggerType {\n runtimeError = 'runtimeError',\n api = 'api',\n graphqlApi = 'graphqlApi',\n render = 'render',\n serviceBus = 'serviceBus',\n config = 'config',\n translation = 'translation',\n other = 'other'\n}\n\nexport interface IELCLogger {\n serviceName: string;\n serviceVersion?: string;\n environment?: string;\n buid?: string;\n}\n\nexport class ELCLogger {\n private config: IELCLogger;\n\n private errorDebugger?: Debugger;\n private infoDebugger?: Debugger;\n private warningDebugger?: Debugger;\n private eventDebugger?: Debugger;\n private queryDebugger?: Debugger;\n private commandDebugger?: Debugger;\n\n constructor(config: IELCLogger) {\n this.config = config;\n const logger = debug(this.config.serviceName);\n root.loggerApiSDK = root.loggerApiSDK || new LoggerApiSDK();\n\n this.errorDebugger = logger.extend('error');\n this.infoDebugger = logger.extend('info');\n this.warningDebugger = logger.extend('warning');\n this.eventDebugger = logger.extend('event');\n this.queryDebugger = logger.extend('query');\n this.commandDebugger = logger.extend('command');\n }\n\n public error = async (logdata: ILogData) => {\n if (this.errorDebugger) {\n this.errorDebugger(this.enhanceLogData(logdata));\n }\n\n const isProd =\n this.config.environment === ISandboxEnvironment.PRODUCTION ||\n root.env === ISandboxEnvironment.PRODUCTION;\n\n if ((isProd && getSandboxEnvironment() === ISandboxEnvironment.LIVE) || !isProd) {\n return this.sendLog(logdata, 'error');\n }\n };\n\n public info = (logdata: ILogData) => {\n if (this.infoDebugger) {\n this.infoDebugger(this.enhanceLogData(logdata));\n }\n };\n\n public warning = (logdata: ILogData) => {\n if (this.warningDebugger) {\n this.warningDebugger(this.enhanceLogData(logdata));\n }\n };\n\n public event = (logdata: ILogData) => {\n if (this.eventDebugger) {\n this.eventDebugger(this.enhanceLogData(logdata));\n }\n };\n\n public query = (logdata: ILogData) => {\n if (this.queryDebugger) {\n this.queryDebugger(this.enhanceLogData(logdata));\n }\n };\n\n public command = (logdata: ILogData) => {\n if (this.commandDebugger) {\n this.commandDebugger(this.enhanceLogData(logdata));\n }\n };\n\n private enhanceLogData = (logdata: ILogData) => ({\n ...logdata,\n triggerSource: this.config.serviceName,\n date: new Date().toUTCString()\n });\n // @ts-ignore\n private async sendLog(logdata: ILogData, level: string) {\n try {\n root.loggerApiSDK.sendLog({ logdata, level, config: this.config });\n } catch (e) {\n if (this.errorDebugger) {\n this.errorDebugger(\n this.enhanceLogData({\n message: 'Could not send log',\n triggerType: TriggerType.api,\n payload: {\n error: e,\n context: logdata\n }\n })\n );\n }\n }\n }\n}\n","export const OFFERS_TO_DISPLAY = 'offers-to-display';\nexport const ORDER_ERROR_MESSAGE = 'order-error-message';\nexport const PAYMENT_METHODS = 'payment-methods';\nexport const PAYMENT_INFORMATION = 'payment-information';\nexport const FORGOT_PASSWORD = 'forgot-password';\nexport const RESET_PASSWORD = 'reset-password';\nexport const AUTOMATIC_OFFERS = 'automatic-offers';\nexport const THRESHOLD_MESSAGES = 'threshold-messages';\nexport const MANUAL_OFFER = 'manual-offer';\nexport const ORDER_CONFIRMATION_COMPONENT = 'order-confirmation-component';\nexport const PASSWORD_STRENGTH = 'password-strength';\nexport const SAVE_FOR_LATER_LIST = 'save-for-later-list';\nexport const SIGN_IN_FORM = 'sign-in-form';\n\nexport const SIGN_UP_FORM = 'sign-up-form';\nexport const CHANGE_PASSWORD = 'change-password';\nexport const CHANGE_EMAIL = 'change-email';\nexport const EMAIL_VERIFICATION = 'email-verification';\nexport const CONFIRM_REGISTRATION = 'confirm-registration';\n\nexport const ACCOUNT_DASHBOARD = 'account-dashboard';\nexport const ACCOUNT_LANDING_SCREEN = 'account-landing-screen';\nexport const ACCOUNT_LATEST_ORDER = 'account-latest-order';\nexport const ACCOUNT_ORDER_INFORMATION = 'account-order-information';\nexport const ACCOUNT_OVERLAY = 'account-overlay';\nexport const ACCOUNT_PAST_ORDER_STATUS_MENU = 'account-past-order-status-menu';\nexport const ACCOUNT_SIDEBAR = 'account-sidebar';\nexport const ACCOUNT_SIDEBAR_LOYALTY = 'account-sidebar-loyalty';\nexport const ACCOUNT_ORDERS = 'account-orders';\nexport const ACCOUNT_ORDERS_HEADER = 'account-orders-header';\nexport const ACCOUNT_ORDERS_LIST = 'account-orders-list';\n\nexport const USER_PROFILE = 'user-profile';\nexport const USER_PROFILE_WELCOME = 'user-profile-welcome';\nexport const USER_PROFILE_CARD = 'user-profile-card';\n\nexport const ADDRESS_FORM = 'address-form';\nexport const ADDRESS_LIST = 'address-list';\nexport const FORMATTED_ADDRESS = 'formatted-address';\nexport const RETURN_USER_EMAIL = 'return-user-email';\nexport const USER_EMAIL = 'user-email';\nexport const USER_EMAIL_WITH_OPT_IN = 'user-email-with-opt-in';\nexport const SIGN_OUT_LINK = 'sign-out-link';\nexport const CART_ITEMS = 'cart-items';\nexport const CART_ORDER_SUMMARY = 'cart-order-summary';\nexport const CART_MERGE = 'cart-merge';\nexport const ACCOUNT_INFO = 'account-info';\nexport const PRODUCT_GRID = 'product-grid';\nexport const PRODUCT_FULL = 'product-full';\nexport const CART_OVERLAY = 'cart-overlay';\nexport const CART_ICON_BUTTON = 'cart-icon-button';\nexport const ORDER_HISTORY = 'order-history';\nexport const ORDER_DETAILS = 'order-details';\nexport const ORDER_HISTORY_COUNTER_BUTTONS = 'order-history-counter-buttons';\nexport const ORDER_HISTORY_TEMPORARY_MODULE = 'order-history-temporary-module';\nexport const ACCOUNT_INFO_LINK = 'account-info-link';\nexport const SIGN_IN_NAV_LINK = 'sign-in-nav-link';\n\nexport const CART_SIDEBAR = 'cart-sidebar';\nexport const CART_SIDEBAR_OFFERS_TAB = 'cart-sidebar-offers-tab';\nexport const CART_SIDEBAR_CART_OFFERS = 'cart-sidebar-cart-offers';\nexport const CART_SIDEBAR_OFFER_CODE_MODULE = 'cart-sidebar-offer-code-module';\n\nexport const EMAIL_OPT_IN = 'email-opt-in';\nexport const VIEW_EMAIL_OPT_IN = 'view-email-opt-in';\nexport const HELPFUL_LINKS = 'helpful-links';\n\nexport const SIGN_UP_SCREEN = 'sign-up-screen';\nexport const SIGN_IN_SCREEN = 'sign-in-screen';\nexport const ORDER_CONFIRMATION_SCREEN = 'order-confirmation-screen';\nexport const ORDER_ASSOCIATION_SCREEN = 'order-association-screen';\nexport const EXTERNAL_PAYMENT_ERROR_SCREEN = 'external-payment-error-screen';\nexport const PAYMENT_SCREEN = 'payment-screen';\nexport const PAYMENT_NAME = 'payment-name';\nexport const PAYMENT_ICON = 'payment-icon';\nexport const CHECKOUT_HEADER = 'checkout-header';\nexport const CHECKOUT_FOOTER = 'checkout-footer';\nexport const SHIPPING_SCREEN = 'shipping-screen';\nexport const SHOPPING_BAG_PAGE = 'shopping-bag-page';\nexport const PRODUCT_BRIEF = 'product-brief';\nexport const PRODUCT_QUICKVIEW = 'product-quickview';\nexport const SHIPPING_METHODS = 'shipping-methods';\nexport const HOME_DELIVERY_OPTIONS = 'home-delivery-options';\nexport const DELIVERY_TOUT = 'delivery-tout';\nexport const ELC_CHECKOUT = 'elc-checkout';\nexport const ELC_ACCOUNT = 'elc-account';\nexport const STYLEGUIDE = 'style-guide';\nexport const PRODUCT_NOTIFY_ME = 'product-notify-me';\nexport const CHOICE_OF_SKUS_LIST = 'choice-of-skus-list';\nexport const PRODUCT_CROSS_SELL = 'product-cross-sell';\nexport const PRODUCT_ADD_TO_BAG = 'product-add-to-bag';\nexport const PRODUCT_SHADESVIEW = 'product-shadesview';\nexport const PRODUCT_SIZE_PICKER = 'product-size-picker';\nexport const PRODUCT_QUANTITY_SELECTOR = 'product-quantity-selector';\nexport const PRODUCT_SHADE_PICKER = 'product-shade-picker';\nexport const PRODUCT_MEDIA_CAROUSEL_NAV = 'product-media-carousel-nav';\nexport const PRODUCT_SHADE_PICKER_BUTTON = 'product-shade-picker-button';\nexport const PRODUCT_RATING = 'product-rating';\nexport const PRODUCT_REVIEWS = 'product-reviews';\nexport const REVIEW_DETAILS = 'review-details';\nexport const PRODUCT_CTA = 'product-cta';\nexport const PRODUCT_SHADES_SIDEBAR = 'product-shades-sidebar';\nexport const PRODUCT_BASIC_INFO = 'product-basic-info';\nexport const PRODUCT_BASIC_CTA = 'product-basic-cta';\nexport const PRODUCT_COMPARISON_MODULE = 'product-comparison-module';\nexport const LOYALTY_POINTS_INFO = 'loyalty-points-info';\nexport const LOYALTY_DASHBOARD = 'loyalty-dashboard';\nexport const LOYALTY_TIER_INFO = 'loyalty-tier-info';\nexport const LOYALTY_SUBMIT_A_RECEIPT = 'loyalty-submit-receipt';\n\nexport const CONTENT_BLOCK = 'content-block';\nexport const BASIC_TOUT = 'elc-basic-tout-v1';\nexport const VIDEO_TOUT = 'elc-video-tout-v1';\nexport const VIDEO_TOUT_YOUTUBE = 'elc-video-tout-youtube-v1';\nexport const VIDEO_TOUT_MP4_FILE = 'elc-video-tout-mp4-file-v1';\nexport const THIRD_PARTY_TOUT = 'elc-third-party-tout-v1';\nexport const VTO_FOUNDATION_OVERLAY = 'elc-vto-foundation-overlay-v1';\nexport const VTO_FOUNDATION_QR_CODE_OVERLAY = 'elc-vto-foundation-qr-code-overlay-v1';\n\nexport const OLAPIC_WIDGET = 'ugc-olapic-widget';\n\nexport const VTO = 'vto';\nexport const VTO_CTA_BUTTON = 'vto-cta-button';\nexport const VTO_SKIN_CARE = 'vto-skin-care';\n\nexport const SMARTGIFT = 'smartgift';\n\nexport const STORES = 'stores';\nexport const STORES_DIRECTORY = 'stores-directory';\nexport const SEARCH_RESULTS = 'search-results';\nexport const SEARCH_GNAV_INPUT_FIELD = 'search-gnav-input-field';\nexport const VOICE_SEARCH = 'voice-search';\nexport const STORE_DETAILS = 'store-details';\nexport const FIND_IN_STORE_BUTTON = 'find-in-store-button';\nexport const FIND_IN_STORE_MODAL = 'find-in-store-modal';\nexport const PICK_UP_IN_STORE = 'pick-up-in-store';\n\nexport const STYLEGUIDE_TYPOGRAPHY = 'styleguide-typography';\nexport const STYLEGUIDE_BUTTONS = 'styleguide-buttons';\nexport const STYLEGUIDE_INPUTS = 'styleguide-inputs';\nexport const STYLEGUIDE_COMPONENTS = 'styleguide-components';\n\nexport const ELC_RAMP = 'elc-ramp';\nexport const RAMP_SOCIAL_PROFILE = 'ramp-social-profile';\n\nexport const CARE_LANDING = 'elc-care-landing';\nexport const ORDER_TRACKING = 'order-tracking';\nexport const ORDER_TRACKING_INFORMATION = 'order-tracking-information';\nexport const ORDER_TRACKING_STATUS = 'order-tracking-status';\nexport const AUTO_REPLENISH = 'auto-replenish';\n\nexport const GIFTING_TIER_PICK = 'gifting-tier-pick';\nexport const GIFTING_PRODUCTS_TRAY = 'gifting-products-tray';\nexport const GIFT_WRAP_SIDEBAR = 'gift-wrap-sidebar';\n\nexport const DISCOVERY = 'discovery';\nexport const DISCOVERY_GNAV = 'discovery-gnav';\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 ILoggerApiSDK {\n sendLog: Function;\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}\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 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 loggerApiSDK: ILoggerApiSDK;\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 loggerApiSDK: ILoggerApiSDK;\n requestIdleCallback: Function;\n cancelIdleCallback: Function;\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 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","/* 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","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","import {\n ServiceQueries,\n query,\n serviceQueries,\n ServiceEvents,\n ServiceCommands,\n events,\n on,\n emit\n} from '@estee/elc-service-bus';\nimport { ELCLogger, TriggerType } from '@estee/elc-logging';\nimport { ViewController } from '../../ViewController';\nimport { ServiceBusController } from '../ServiceBusController';\nimport { BaseService } from '../BaseService';\n\ntype diContainerType = { get(key: string): T };\nexport type ContainerImport = () => Promise<{ diContainer: diContainerType }>;\n\nexport type ServiceBusControllerBody = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: Promise<(...args: any[]) => any> | Function;\n} & { onEcommStarted(): void };\n\ninterface IServiceStartParams {\n serviceName: string;\n diContainerImport: ContainerImport;\n serviceKey: string;\n serviceBusControllerKey?: string;\n serviceBusBaseClass?: ServiceBusController & ServiceBusControllerBody;\n}\n\nexport class ServiceManagerClass {\n public serviceName: string;\n private containerImport: ContainerImport;\n private diContainer: diContainerType;\n private serviceKey: string;\n private service: BaseService;\n private serviceBusControllerKey?: string;\n private serviceBusBaseClass?: ServiceBusController & ServiceBusControllerBody;\n private logger: ELCLogger;\n private ecommStarted: boolean = false;\n private startPromise: Promise;\n\n get serviceHasStarted(): boolean {\n return Boolean(this.service && this.service.isStarted);\n }\n\n private async getContainer() {\n if (!this.diContainer) {\n this.diContainer = (await this.containerImport()).diContainer;\n }\n\n return this.diContainer;\n }\n\n public setServiceStartParams({\n serviceName,\n diContainerImport,\n serviceKey,\n serviceBusControllerKey,\n serviceBusBaseClass\n }: IServiceStartParams) {\n this.serviceName = serviceName;\n this.containerImport = diContainerImport;\n this.serviceKey = serviceKey;\n this.serviceBusControllerKey = serviceBusControllerKey;\n this.serviceBusBaseClass = serviceBusBaseClass;\n this.logger = new ELCLogger({ serviceName });\n }\n\n public getServiceBusControllerMethod(functionName: string) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return async (...args: any[]) => {\n await this.startService();\n const diContainer = await this.getContainer();\n const srvBusController = diContainer.get(\n this.serviceBusControllerKey || ''\n );\n const method = (srvBusController as ServiceBusControllerBody)[functionName] as Function;\n\n return method.call(null, ...args);\n };\n }\n\n public setDecoratorOnFunction(decorator: Function) {\n return ([trigger, functionName]: [\n trigger: keyof ServiceQueries | keyof ServiceEvents | keyof ServiceCommands,\n functionName: string\n ]) => {\n if (!this.serviceBusBaseClass || !this.serviceBusControllerKey) {\n throw new Error(`\n ServiceBus hasn't been provided to ServiceManager at setServiceStartParams method.\n ServiceBus: ${\n this.serviceBusBaseClass ? 'ServiceBus found' : this.serviceBusBaseClass\n }.\n ServiceBusKey: (${this.serviceBusControllerKey})\n `);\n }\n\n decorator(trigger)(this.serviceBusBaseClass.__proto__, functionName);\n this.serviceBusBaseClass[functionName] = this.getServiceBusControllerMethod(\n functionName\n );\n };\n }\n\n @on(events.ECOMM_STARTED, { replay: true })\n public setEcommHasStarted = () => {\n this.ecommStarted = true;\n };\n\n private onStart = (cb: (error?: Error) => void) => async () => {\n let error: Error | undefined;\n try {\n if (this.serviceHasStarted) {\n cb();\n return;\n }\n if (!this.ecommStarted) {\n return;\n }\n\n await this.getContainer();\n this.service = this.diContainer.get(this.serviceKey);\n const config = await query(serviceQueries.GET_CONFIG, ['ecommConfig']);\n // If ecommConfig is not available them EcommApp hasn't started yet\n if (!config || !config.ecommConfig) {\n throw new Error('EcommConfig not found');\n }\n\n await this.service.start(config.ecommConfig);\n emit(events.SERVICE_STARTED, { serviceName: this.serviceName });\n } catch (err) {\n error = err;\n this.logger.error({\n triggerType: TriggerType.render,\n message: err.message,\n payload: {\n error: err\n }\n });\n } finally {\n cb(error);\n }\n };\n\n public async startService() {\n if (!this.startPromise) {\n this.startPromise = new Promise((resolve, reject) => {\n let timeoutId: NodeJS.Timeout | null = null;\n timeoutId = setInterval(\n this.onStart((error?: Error) => {\n if (timeoutId) {\n clearInterval(timeoutId);\n }\n if (error) {\n reject(error);\n } else {\n resolve();\n }\n }),\n 200\n );\n });\n }\n\n return this.startPromise;\n }\n\n public getController(controllerKey?: string): ViewController | undefined {\n if (!this.diContainer) {\n const message = \"Can't request controller without starting the service first\";\n\n this.logger.error({\n triggerType: TriggerType.render,\n message,\n payload: {\n serviceName: this.serviceName,\n context: {\n method: 'getController method on ServiceManager'\n }\n }\n });\n\n throw new Error(message);\n }\n\n const controller = controllerKey\n ? this.diContainer.get(controllerKey)\n : undefined;\n\n return controller;\n }\n}\n\nexport const ServiceManager = new ServiceManagerClass();\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 ILoggerApiSDK {\n sendLog: Function;\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}\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 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 loggerApiSDK: ILoggerApiSDK;\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 loggerApiSDK: ILoggerApiSDK;\n requestIdleCallback: Function;\n cancelIdleCallback: Function;\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 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","/* 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 setupDisabledServices(): Promise;\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","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 {\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 { BaseService } from '@estee/elc-service';\nimport { ServiceInitializer } from '@estee/elc-universal-utils';\nimport { serviceName, version } from '~setup/packageInfo';\n\nexport class AccountService extends BaseService {\n constructor(serviceInitializer: ServiceInitializer) {\n super(serviceName, version, serviceInitializer);\n }\n}\n\nexport default {\n accountOverlay: 'ACCOUNT_OVERLAY',\n accountRepository: 'ACCOUNT_REPOSITORY',\n accountService: 'ACCOUNT_SERVICE',\n accountDashboardViewController: 'ACCOUNT_DASHBOARD_VIEW_CONTROLLER',\n accountOrdersViewController: 'ACCOUNT_ORDERS_VIEW_CONTROLLER',\n accountSidebarViewController: 'ACCOUNT_SIDEBAR_VIEW_CONTROLLER',\n authenticatedRepository: 'AUTHENTICATED_REPOSITORY',\n config: 'CONFIG',\n configRepository: 'CONFIG_REPOSITORY',\n httpTransport: 'HTTP_TRANSPORT',\n serviceBusController: 'SERVICE_BUS_CONTROLLER'\n};\n","const { name, version } = __serviceInfo__;\nexport { name as serviceName, version };\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","module.exports = ElcServiceBus;","module.exports = ElcRuntime.HttpTransport;","module.exports = ElcRuntime.HypoContainer;","module.exports = ElcRuntime.React;","module.exports = ElcRuntime.ReactDom;","module.exports = ElcRuntime.mobx;","module.exports = ElcRuntime.mobxReact;","module.exports = ElcRuntime.styled5;","// 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","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\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 + \".\" + {\"diContainer\":\"a0453436c3028ac5547d\",\"account-dashboard\":\"5bb7c1bd6e9291b97d11\",\"account-orders\":\"1661f5ca4bf87ca40105\",\"account-sidebar\":\"226a9ebb969224a5ec72\",\"vendors-node_modules_estee_elc-layouts_src_views_OrderRender_tsx-node_modules_estee_elc-servi-53177e\":\"34d155b1cdfd5c1c79ff\",\"vendors-node_modules_estee_elc-slider_src_views_SliderView_tsx\":\"da04d3e3cc8758587ee7\",\"src_exported_account-dashboard_AccountDashboard_tsx\":\"a10b6a8dcd5e75ff242a\",\"src_exported_account-orders_AccountOrders_tsx\":\"6a51966355301b56c63c\",\"vendors-node_modules_estee_elc-icons_src_views_RemoveIcon_tsx-node_modules_estee_elc-icons_sr-e6fc4c\":\"5fdef5f8b0337f6f73b7\",\"src_exported_account-sidebar_AccountSidebar_tsx\":\"477c92be5585621ea89d\"}[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};","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_service_account\": 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(true) { // all chunks have JS\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[chunkIds[i]] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkelc_service_account\"] = self[\"webpackChunkelc_service_account\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","import { ServiceManager, ServiceBusController, ServiceBusControllerBody } from '@estee/elc-service';\nimport { events, on, commandProvider, serviceCommands } from '@estee/elc-service-bus';\n\nconst commands = [\n [serviceCommands.ACCOUNT_OVERLAY_SHOW, 'showOverlay'],\n [serviceCommands.ACCOUNT_OVERLAY_HIDE, 'hideOverlay']\n];\n\nexport class ServiceBus extends ServiceBusController {\n @on(events.ECOMM_STARTED, { replay: true })\n public onEcommStarted = () => {\n commands.forEach(ServiceManager.setDecoratorOnFunction(commandProvider));\n };\n}\n\nexport const serviceBusBaseClass = new ServiceBus() as ServiceBusControllerBody;\n","/* eslint-disable @typescript-eslint/no-empty-function */\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport abstract class ServiceBusController {\n constructor() {}\n}\n","import { ServiceManager } from '@estee/elc-service';\nimport { ACCOUNT_DASHBOARD, ACCOUNT_ORDERS, ACCOUNT_SIDEBAR } from '@estee/elc-service-view-names';\nimport { getModuleFederatedName, setupServiceInfo } from '@estee/elc-universal-utils';\n\nimport serviceNames, { AccountService } from '~setup/AccountService';\nimport { serviceBusBaseClass } from '~setup/ServiceBus';\n\nsetupServiceInfo(__serviceInfo__);\nconst { name, version } = __serviceInfo__;\n\nAccountService.setViews(name, getModuleFederatedName(name), version, [\n ACCOUNT_SIDEBAR,\n ACCOUNT_DASHBOARD,\n ACCOUNT_ORDERS\n]);\n\nServiceManager.setServiceStartParams({\n serviceName: name,\n diContainerImport: () => import('~setup/diContainer'),\n serviceKey: serviceNames.accountService,\n serviceBusControllerKey: serviceNames.serviceBusController,\n serviceBusBaseClass\n});\n","var moduleMap = {\n\t\"./diContainer\": () => {\n\t\treturn __webpack_require__.e(/* diContainer */ \"diContainer\").then(() => (() => ((__webpack_require__(\"./src/service-setup/diContainer.ts\")))));\n\t},\n\t\"./account-dashboard\": () => {\n\t\treturn __webpack_require__.e(/* account-dashboard */ \"account-dashboard\").then(() => (() => ((__webpack_require__(\"./src/exported/account-dashboard/index.ts\")))));\n\t},\n\t\"./account-orders\": () => {\n\t\treturn __webpack_require__.e(/* account-orders */ \"account-orders\").then(() => (() => ((__webpack_require__(\"./src/exported/account-orders/index.ts\")))));\n\t},\n\t\"./account-sidebar\": () => {\n\t\treturn __webpack_require__.e(/* account-sidebar */ \"account-sidebar\").then(() => (() => ((__webpack_require__(\"./src/exported/account-sidebar/index.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 oldScope = __webpack_require__.S[\"default\"];\n\tvar name = \"default\"\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});"],"names":["inProgress","dataWebpackPrefix","exports","formatArgs","args","this","useColors","namespace","module","humanize","diff","c","color","splice","index","lastC","replace","match","save","namespaces","storage","setItem","removeItem","error","load","r","getItem","process","DEBUG","window","type","__nwjs","navigator","userAgent","toLowerCase","document","documentElement","style","WebkitAppearance","console","firebug","exception","table","parseInt","RegExp","$1","localStorage","localstorage","destroy","warned","warn","colors","log","debug","formatters","j","v","JSON","stringify","message","env","createDebug","prevTime","namespacesCache","enabledCache","enableOverride","enabled","self","curr","Number","Date","ms","prev","coerce","unshift","format","formatter","val","call","apply","selectColor","extend","Object","defineProperty","enumerable","configurable","get","set","init","delimiter","newDebug","toNamespace","regexp","toString","substring","length","default","Error","stack","disable","names","map","skips","join","enable","i","split","len","push","substr","name","test","keys","forEach","key","hash","charCodeAt","Math","abs","s","m","h","d","w","y","plural","msAbs","n","isPlural","round","options","str","String","exec","parseFloat","parse","isFinite","long","fmtLong","fmtShort","g","ISandboxEnvironment","BrowserStorage","cookie","value","daysOrDate","expires","now","toUTCString","nameEQ","ca","charAt","indexOf","storageKey","e","getCookie","eraseCookie","setCookie","storagePolling","callBack","storageValue","setInterval","latestValue","isString","VALIDATORS","buid","Boolean","context","environment","level","serviceName","serviceVersion","triggerType","LoggerApiSDK","loggingServiceUrl","queue","lastTimeExecuted","frontendLogger","addLogToQueue","schedulePendingEvents","isRequestIdleCallbackScheduled","processPendingLogs","url","body","catch","generateRequestBody","fullData","config","logdata","payload","payloadServiceName","payloadServiceVersion","configServiceName","configServiceVersion","configBuid","configEnvironment","stringifiedError","getOwnPropertyNames","date","siteUrl","sendLog","requestBody","isServiceEnabled","loggedServices","isEnabled","reduce","acc","validator","requestValue","every","validate","TriggerType","ELCLogger","constructor","errorDebugger","enhanceLogData","isProd","PRODUCTION","urlParts","location","hostname","LIVE","FEATURE","DEV","STAGE","CMS","PERSONAL","filter","part","includes","getSandboxEnvironment","info","infoDebugger","warning","warningDebugger","event","eventDebugger","query","queryDebugger","command","commandDebugger","triggerSource","logger","api","ACCOUNT_DASHBOARD","ACCOUNT_LATEST_ORDER","ACCOUNT_ORDER_INFORMATION","ACCOUNT_PAST_ORDER_STATUS_MENU","ACCOUNT_SIDEBAR","ACCOUNT_SIDEBAR_LOYALTY","ACCOUNT_ORDERS","ACCOUNT_ORDERS_LIST","USER_PROFILE_WELCOME","USER_PROFILE_CARD","LOYALTY_POINTS_INFO","SERVICE_VIEW_CLASSNAME","SERVICE_VIEW_RENDERED_ATTRIBUTE","getServiceVersion","fallback","extractServiceVersion","serviceInfo","searchForServiceInfo","version","ServiceManagerClass","ecommStarted","setEcommHasStarted","onStart","cb","serviceHasStarted","getContainer","service","diContainer","serviceKey","serviceQueries","ecommConfig","start","emit","events","err","isStarted","containerImport","setServiceStartParams","diContainerImport","serviceBusControllerKey","serviceBusBaseClass","getServiceBusControllerMethod","functionName","startService","setDecoratorOnFunction","decorator","trigger","__proto__","startPromise","Promise","resolve","reject","timeoutId","clearInterval","getController","controllerKey","method","on","replay","ServiceManager","setupServiceInfo","rest","getModuleFederatedName","noop","AccountService","serviceInitializer","views","initializeService","appConfig","initializer","serviceRegistry","businessUnitId","super","accountOverlay","accountRepository","accountService","accountDashboardViewController","accountOrdersViewController","accountSidebarViewController","authenticatedRepository","configRepository","httpTransport","serviceBusController","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","run","marker","runClearTimeout","Item","array","nextTick","Array","arguments","prototype","title","browser","argv","versions","addListener","once","off","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","ElcServiceBus","ElcRuntime","HttpTransport","HypoContainer","React","ReactDom","mobx","mobxReact","styled5","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","__esModule","a","definition","o","f","chunkId","all","promises","u","globalThis","Function","obj","prop","hasOwnProperty","l","done","script","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","nc","setAttribute","src","onScriptComplete","onerror","onload","doneFns","parentNode","removeChild","fn","bind","target","head","appendChild","Symbol","toStringTag","scriptUrl","importScripts","currentScript","p","installedChunks","installedChunkData","promise","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","id","chunkLoadingGlobal","commands","serviceCommands","ServiceBus","onEcommStarted","commandProvider","moduleMap","then","getScope","R","shareScope","initScope","S","oldScope","I"],"sourceRoot":""}