@atlassian/aui 9.13.0 → 9.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aui/aui-css-deprecations.js.map +1 -1
- package/dist/aui/aui-prototyping-design-tokens-api-full.js +1 -1
- package/dist/aui/aui-prototyping-design-tokens-api-full.js.map +1 -1
- package/dist/aui/aui-prototyping-design-tokens-api.js +1 -1
- package/dist/aui/aui-prototyping-design-tokens-api.js.map +1 -1
- package/dist/aui/aui-prototyping-design-tokens-base-themes-css.css +1 -1
- package/dist/aui/aui-prototyping-design-tokens-base-themes-css.js +1 -1
- package/dist/aui/aui-prototyping-design-tokens-base-themes.js +1 -1
- package/dist/aui/aui-prototyping.css +1 -1
- package/dist/aui/aui-prototyping.js +2 -2
- package/dist/aui/aui-prototyping.js.map +1 -1
- package/dist/aui/aui-prototyping.nodeps.css +1 -1
- package/dist/aui/aui-prototyping.nodeps.js +2 -2
- package/dist/aui/aui-prototyping.nodeps.js.map +1 -1
- package/package.json +1 -1
- package/src/js/aui/date-picker.js +6 -0
- package/src/js/aui/i18n.js +5 -9
- package/src/js/aui/internal/globalize.js +10 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aui-prototyping-design-tokens-api-full.js","mappings":"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","sources":["webpack://__auiPrototyping/webpack/universalModuleDefinition","webpack://__auiPrototyping/webpack/runtime/load script","webpack://__auiPrototyping/../../../node_modules/@atlaskit/feature-gate-js-client/node_modules/eventemitter2/lib/eventemitter2.js","webpack://__auiPrototyping/../../../node_modules/bind-event-listener/dist/bind-all.js","webpack://__auiPrototyping/../../../node_modules/bind-event-listener/dist/bind.js","webpack://__auiPrototyping/../../../node_modules/bind-event-listener/dist/index.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/DynamicConfig.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/ErrorBoundary.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/Errors.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/Layer.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/LocalOverrides.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/LogEvent.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/SDKVersion.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/StatsigClient.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/StatsigIdentity.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/StatsigLogger.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/StatsigNetwork.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/StatsigSDKOptions.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/StatsigStore.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/index.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/utils/BootstrapValidator.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/utils/Constants.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/utils/Hashing.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/utils/ResponseVerification.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/utils/StatsigLocalStorage.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/utils/Timing.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/typeof.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/regenerator/index.js","webpack://__auiPrototyping/webpack/bootstrap","webpack://__auiPrototyping/webpack/runtime/compat get default export","webpack://__auiPrototyping/webpack/runtime/define property getters","webpack://__auiPrototyping/webpack/runtime/ensure chunk","webpack://__auiPrototyping/webpack/runtime/get javascript chunk filename","webpack://__auiPrototyping/webpack/runtime/get mini-css chunk filename","webpack://__auiPrototyping/webpack/runtime/hasOwnProperty shorthand","webpack://__auiPrototyping/webpack/runtime/make namespace object","webpack://__auiPrototyping/webpack/runtime/publicPath","webpack://__auiPrototyping/webpack/runtime/jsonp chunk loading","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/feature-gate-js-client/dist/esm/subscriptions/Subscriptions.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/feature-gate-js-client/dist/esm/client/types.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/feature-gate-js-client/dist/esm/client/version.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/construct.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/feature-gate-js-client/dist/esm/client/fetcher/errors.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/feature-gate-js-client/dist/esm/client/fetcher/Fetcher.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/atlassian-context/dist/esm/services/is-fedramp/index.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/atlassian-context/dist/esm/common/constants/index.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/feature-gate-js-client/dist/esm/client/utils.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/feature-gate-js-client/dist/esm/client/Client.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/feature-gate-js-client/dist/esm/client/FeatureGates.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/platform-feature-flags/dist/esm/debug.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/platform-feature-flags/dist/esm/resolvers.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/platform-feature-flags/dist/esm/index.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/theme-config.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/artifacts/token-names.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/constants.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/get-token-analytics.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/get-token.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/get-token-value.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/utils/color-utils.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/theme-state-transformer.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/utils/hash.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/get-theme-html-attrs.js","webpack://__auiPrototyping/./token-themes-generated/npm/aui-prototyping-design-tokens-theme-import-map.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/utils/theme-loading.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/utils/color-mode-listeners.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/utils/contrast-mode-listeners.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/utils/configure-page.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/utils/custom-theme-loading-utils.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/utils/get-increased-contrast-theme.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/utils/get-theme-preferences.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/set-global-theme.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/enable-global-theme.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/get-theme-styles.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/get-ssr-auto-script.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/get-global-theme.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/theme-mutation-observer.js","webpack://__auiPrototyping/../src/js/aui/design-tokens/design-tokens-testing-theme.js","webpack://__auiPrototyping/../src/js/aui/internal/globalize.js","webpack://__auiPrototyping/../src/js/aui/design-tokens/design-tokens-init.js","webpack://__auiPrototyping/../src/js/aui/design-tokens/design-tokens-full.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"@atlassian/aui\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"@atlassian/aui\"] = factory();\n\telse\n\t\troot[\"AJS\"] = root[\"AJS\"] || {}, root[\"AJS\"][\"DesignTokens\"] = factory();\n})(window, () => {\nreturn ","var inProgress = {};\nvar dataWebpackPrefix = \"__auiPrototyping:\";\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\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/*!\r\n * EventEmitter2\r\n * https://github.com/hij1nx/EventEmitter2\r\n *\r\n * Copyright (c) 2013 hij1nx\r\n * Licensed under the MIT license.\r\n */\r\n;!function(undefined) {\r\n\r\n var isArray = Array.isArray ? Array.isArray : function _isArray(obj) {\r\n return Object.prototype.toString.call(obj) === \"[object Array]\";\r\n };\r\n var defaultMaxListeners = 10;\r\n\r\n function init() {\r\n this._events = {};\r\n if (this._conf) {\r\n configure.call(this, this._conf);\r\n }\r\n }\r\n\r\n function configure(conf) {\r\n if (conf) {\r\n this._conf = conf;\r\n\r\n conf.delimiter && (this.delimiter = conf.delimiter);\r\n this._maxListeners = conf.maxListeners !== undefined ? conf.maxListeners : defaultMaxListeners;\r\n\r\n conf.wildcard && (this.wildcard = conf.wildcard);\r\n conf.newListener && (this.newListener = conf.newListener);\r\n conf.verboseMemoryLeak && (this.verboseMemoryLeak = conf.verboseMemoryLeak);\r\n\r\n if (this.wildcard) {\r\n this.listenerTree = {};\r\n }\r\n } else {\r\n this._maxListeners = defaultMaxListeners;\r\n }\r\n }\r\n\r\n function logPossibleMemoryLeak(count, eventName) {\r\n var errorMsg = '(node) warning: possible EventEmitter memory ' +\r\n 'leak detected. ' + count + ' listeners added. ' +\r\n 'Use emitter.setMaxListeners() to increase limit.';\r\n\r\n if(this.verboseMemoryLeak){\r\n errorMsg += ' Event name: ' + eventName + '.';\r\n }\r\n\r\n if(typeof process !== 'undefined' && process.emitWarning){\r\n var e = new Error(errorMsg);\r\n e.name = 'MaxListenersExceededWarning';\r\n e.emitter = this;\r\n e.count = count;\r\n process.emitWarning(e);\r\n } else {\r\n console.error(errorMsg);\r\n\r\n if (console.trace){\r\n console.trace();\r\n }\r\n }\r\n }\r\n\r\n function EventEmitter(conf) {\r\n this._events = {};\r\n this.newListener = false;\r\n this.verboseMemoryLeak = false;\r\n configure.call(this, conf);\r\n }\r\n EventEmitter.EventEmitter2 = EventEmitter; // backwards compatibility for exporting EventEmitter property\r\n\r\n //\r\n // Attention, function return type now is array, always !\r\n // It has zero elements if no any matches found and one or more\r\n // elements (leafs) if there are matches\r\n //\r\n function searchListenerTree(handlers, type, tree, i) {\r\n if (!tree) {\r\n return [];\r\n }\r\n var listeners=[], leaf, len, branch, xTree, xxTree, isolatedBranch, endReached,\r\n typeLength = type.length, currentType = type[i], nextType = type[i+1];\r\n if (i === typeLength && tree._listeners) {\r\n //\r\n // If at the end of the event(s) list and the tree has listeners\r\n // invoke those listeners.\r\n //\r\n if (typeof tree._listeners === 'function') {\r\n handlers && handlers.push(tree._listeners);\r\n return [tree];\r\n } else {\r\n for (leaf = 0, len = tree._listeners.length; leaf < len; leaf++) {\r\n handlers && handlers.push(tree._listeners[leaf]);\r\n }\r\n return [tree];\r\n }\r\n }\r\n\r\n if ((currentType === '*' || currentType === '**') || tree[currentType]) {\r\n //\r\n // If the event emitted is '*' at this part\r\n // or there is a concrete match at this patch\r\n //\r\n if (currentType === '*') {\r\n for (branch in tree) {\r\n if (branch !== '_listeners' && tree.hasOwnProperty(branch)) {\r\n listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i+1));\r\n }\r\n }\r\n return listeners;\r\n } else if(currentType === '**') {\r\n endReached = (i+1 === typeLength || (i+2 === typeLength && nextType === '*'));\r\n if(endReached && tree._listeners) {\r\n // The next element has a _listeners, add it to the handlers.\r\n listeners = listeners.concat(searchListenerTree(handlers, type, tree, typeLength));\r\n }\r\n\r\n for (branch in tree) {\r\n if (branch !== '_listeners' && tree.hasOwnProperty(branch)) {\r\n if(branch === '*' || branch === '**') {\r\n if(tree[branch]._listeners && !endReached) {\r\n listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], typeLength));\r\n }\r\n listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i));\r\n } else if(branch === nextType) {\r\n listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i+2));\r\n } else {\r\n // No match on this one, shift into the tree but not in the type array.\r\n listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i));\r\n }\r\n }\r\n }\r\n return listeners;\r\n }\r\n\r\n listeners = listeners.concat(searchListenerTree(handlers, type, tree[currentType], i+1));\r\n }\r\n\r\n xTree = tree['*'];\r\n if (xTree) {\r\n //\r\n // If the listener tree will allow any match for this part,\r\n // then recursively explore all branches of the tree\r\n //\r\n searchListenerTree(handlers, type, xTree, i+1);\r\n }\r\n\r\n xxTree = tree['**'];\r\n if(xxTree) {\r\n if(i < typeLength) {\r\n if(xxTree._listeners) {\r\n // If we have a listener on a '**', it will catch all, so add its handler.\r\n searchListenerTree(handlers, type, xxTree, typeLength);\r\n }\r\n\r\n // Build arrays of matching next branches and others.\r\n for(branch in xxTree) {\r\n if(branch !== '_listeners' && xxTree.hasOwnProperty(branch)) {\r\n if(branch === nextType) {\r\n // We know the next element will match, so jump twice.\r\n searchListenerTree(handlers, type, xxTree[branch], i+2);\r\n } else if(branch === currentType) {\r\n // Current node matches, move into the tree.\r\n searchListenerTree(handlers, type, xxTree[branch], i+1);\r\n } else {\r\n isolatedBranch = {};\r\n isolatedBranch[branch] = xxTree[branch];\r\n searchListenerTree(handlers, type, { '**': isolatedBranch }, i+1);\r\n }\r\n }\r\n }\r\n } else if(xxTree._listeners) {\r\n // We have reached the end and still on a '**'\r\n searchListenerTree(handlers, type, xxTree, typeLength);\r\n } else if(xxTree['*'] && xxTree['*']._listeners) {\r\n searchListenerTree(handlers, type, xxTree['*'], typeLength);\r\n }\r\n }\r\n\r\n return listeners;\r\n }\r\n\r\n function growListenerTree(type, listener) {\r\n\r\n type = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\r\n\r\n //\r\n // Looks for two consecutive '**', if so, don't add the event at all.\r\n //\r\n for(var i = 0, len = type.length; i+1 < len; i++) {\r\n if(type[i] === '**' && type[i+1] === '**') {\r\n return;\r\n }\r\n }\r\n\r\n var tree = this.listenerTree;\r\n var name = type.shift();\r\n\r\n while (name !== undefined) {\r\n\r\n if (!tree[name]) {\r\n tree[name] = {};\r\n }\r\n\r\n tree = tree[name];\r\n\r\n if (type.length === 0) {\r\n\r\n if (!tree._listeners) {\r\n tree._listeners = listener;\r\n }\r\n else {\r\n if (typeof tree._listeners === 'function') {\r\n tree._listeners = [tree._listeners];\r\n }\r\n\r\n tree._listeners.push(listener);\r\n\r\n if (\r\n !tree._listeners.warned &&\r\n this._maxListeners > 0 &&\r\n tree._listeners.length > this._maxListeners\r\n ) {\r\n tree._listeners.warned = true;\r\n logPossibleMemoryLeak.call(this, tree._listeners.length, name);\r\n }\r\n }\r\n return true;\r\n }\r\n name = type.shift();\r\n }\r\n return true;\r\n }\r\n\r\n // By default EventEmitters will print a warning if more than\r\n // 10 listeners are added to it. This is a useful default which\r\n // helps finding memory leaks.\r\n //\r\n // Obviously not all Emitters should be limited to 10. This function allows\r\n // that to be increased. Set to zero for unlimited.\r\n\r\n EventEmitter.prototype.delimiter = '.';\r\n\r\n EventEmitter.prototype.setMaxListeners = function(n) {\r\n if (n !== undefined) {\r\n this._maxListeners = n;\r\n if (!this._conf) this._conf = {};\r\n this._conf.maxListeners = n;\r\n }\r\n };\r\n\r\n EventEmitter.prototype.event = '';\r\n\r\n\r\n EventEmitter.prototype.once = function(event, fn) {\r\n return this._once(event, fn, false);\r\n };\r\n\r\n EventEmitter.prototype.prependOnceListener = function(event, fn) {\r\n return this._once(event, fn, true);\r\n };\r\n\r\n EventEmitter.prototype._once = function(event, fn, prepend) {\r\n this._many(event, 1, fn, prepend);\r\n return this;\r\n };\r\n\r\n EventEmitter.prototype.many = function(event, ttl, fn) {\r\n return this._many(event, ttl, fn, false);\r\n }\r\n\r\n EventEmitter.prototype.prependMany = function(event, ttl, fn) {\r\n return this._many(event, ttl, fn, true);\r\n }\r\n\r\n EventEmitter.prototype._many = function(event, ttl, fn, prepend) {\r\n var self = this;\r\n\r\n if (typeof fn !== 'function') {\r\n throw new Error('many only accepts instances of Function');\r\n }\r\n\r\n function listener() {\r\n if (--ttl === 0) {\r\n self.off(event, listener);\r\n }\r\n return fn.apply(this, arguments);\r\n }\r\n\r\n listener._origin = fn;\r\n\r\n this._on(event, listener, prepend);\r\n\r\n return self;\r\n };\r\n\r\n EventEmitter.prototype.emit = function() {\r\n\r\n this._events || init.call(this);\r\n\r\n var type = arguments[0];\r\n\r\n if (type === 'newListener' && !this.newListener) {\r\n if (!this._events.newListener) {\r\n return false;\r\n }\r\n }\r\n\r\n var al = arguments.length;\r\n var args,l,i,j;\r\n var handler;\r\n\r\n if (this._all && this._all.length) {\r\n handler = this._all.slice();\r\n if (al > 3) {\r\n args = new Array(al);\r\n for (j = 0; j < al; j++) args[j] = arguments[j];\r\n }\r\n\r\n for (i = 0, l = handler.length; i < l; i++) {\r\n this.event = type;\r\n switch (al) {\r\n case 1:\r\n handler[i].call(this, type);\r\n break;\r\n case 2:\r\n handler[i].call(this, type, arguments[1]);\r\n break;\r\n case 3:\r\n handler[i].call(this, type, arguments[1], arguments[2]);\r\n break;\r\n default:\r\n handler[i].apply(this, args);\r\n }\r\n }\r\n }\r\n\r\n if (this.wildcard) {\r\n handler = [];\r\n var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\r\n searchListenerTree.call(this, handler, ns, this.listenerTree, 0);\r\n } else {\r\n handler = this._events[type];\r\n if (typeof handler === 'function') {\r\n this.event = type;\r\n switch (al) {\r\n case 1:\r\n handler.call(this);\r\n break;\r\n case 2:\r\n handler.call(this, arguments[1]);\r\n break;\r\n case 3:\r\n handler.call(this, arguments[1], arguments[2]);\r\n break;\r\n default:\r\n args = new Array(al - 1);\r\n for (j = 1; j < al; j++) args[j - 1] = arguments[j];\r\n handler.apply(this, args);\r\n }\r\n return true;\r\n } else if (handler) {\r\n // need to make copy of handlers because list can change in the middle\r\n // of emit call\r\n handler = handler.slice();\r\n }\r\n }\r\n\r\n if (handler && handler.length) {\r\n if (al > 3) {\r\n args = new Array(al - 1);\r\n for (j = 1; j < al; j++) args[j - 1] = arguments[j];\r\n }\r\n for (i = 0, l = handler.length; i < l; i++) {\r\n this.event = type;\r\n switch (al) {\r\n case 1:\r\n handler[i].call(this);\r\n break;\r\n case 2:\r\n handler[i].call(this, arguments[1]);\r\n break;\r\n case 3:\r\n handler[i].call(this, arguments[1], arguments[2]);\r\n break;\r\n default:\r\n handler[i].apply(this, args);\r\n }\r\n }\r\n return true;\r\n } else if (!this._all && type === 'error') {\r\n if (arguments[1] instanceof Error) {\r\n throw arguments[1]; // Unhandled 'error' event\r\n } else {\r\n throw new Error(\"Uncaught, unspecified 'error' event.\");\r\n }\r\n return false;\r\n }\r\n\r\n return !!this._all;\r\n };\r\n\r\n EventEmitter.prototype.emitAsync = function() {\r\n\r\n this._events || init.call(this);\r\n\r\n var type = arguments[0];\r\n\r\n if (type === 'newListener' && !this.newListener) {\r\n if (!this._events.newListener) { return Promise.resolve([false]); }\r\n }\r\n\r\n var promises= [];\r\n\r\n var al = arguments.length;\r\n var args,l,i,j;\r\n var handler;\r\n\r\n if (this._all) {\r\n if (al > 3) {\r\n args = new Array(al);\r\n for (j = 1; j < al; j++) args[j] = arguments[j];\r\n }\r\n for (i = 0, l = this._all.length; i < l; i++) {\r\n this.event = type;\r\n switch (al) {\r\n case 1:\r\n promises.push(this._all[i].call(this, type));\r\n break;\r\n case 2:\r\n promises.push(this._all[i].call(this, type, arguments[1]));\r\n break;\r\n case 3:\r\n promises.push(this._all[i].call(this, type, arguments[1], arguments[2]));\r\n break;\r\n default:\r\n promises.push(this._all[i].apply(this, args));\r\n }\r\n }\r\n }\r\n\r\n if (this.wildcard) {\r\n handler = [];\r\n var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\r\n searchListenerTree.call(this, handler, ns, this.listenerTree, 0);\r\n } else {\r\n handler = this._events[type];\r\n }\r\n\r\n if (typeof handler === 'function') {\r\n this.event = type;\r\n switch (al) {\r\n case 1:\r\n promises.push(handler.call(this));\r\n break;\r\n case 2:\r\n promises.push(handler.call(this, arguments[1]));\r\n break;\r\n case 3:\r\n promises.push(handler.call(this, arguments[1], arguments[2]));\r\n break;\r\n default:\r\n args = new Array(al - 1);\r\n for (j = 1; j < al; j++) args[j - 1] = arguments[j];\r\n promises.push(handler.apply(this, args));\r\n }\r\n } else if (handler && handler.length) {\r\n handler = handler.slice();\r\n if (al > 3) {\r\n args = new Array(al - 1);\r\n for (j = 1; j < al; j++) args[j - 1] = arguments[j];\r\n }\r\n for (i = 0, l = handler.length; i < l; i++) {\r\n this.event = type;\r\n switch (al) {\r\n case 1:\r\n promises.push(handler[i].call(this));\r\n break;\r\n case 2:\r\n promises.push(handler[i].call(this, arguments[1]));\r\n break;\r\n case 3:\r\n promises.push(handler[i].call(this, arguments[1], arguments[2]));\r\n break;\r\n default:\r\n promises.push(handler[i].apply(this, args));\r\n }\r\n }\r\n } else if (!this._all && type === 'error') {\r\n if (arguments[1] instanceof Error) {\r\n return Promise.reject(arguments[1]); // Unhandled 'error' event\r\n } else {\r\n return Promise.reject(\"Uncaught, unspecified 'error' event.\");\r\n }\r\n }\r\n\r\n return Promise.all(promises);\r\n };\r\n\r\n EventEmitter.prototype.on = function(type, listener) {\r\n return this._on(type, listener, false);\r\n };\r\n\r\n EventEmitter.prototype.prependListener = function(type, listener) {\r\n return this._on(type, listener, true);\r\n };\r\n\r\n EventEmitter.prototype.onAny = function(fn) {\r\n return this._onAny(fn, false);\r\n };\r\n\r\n EventEmitter.prototype.prependAny = function(fn) {\r\n return this._onAny(fn, true);\r\n };\r\n\r\n EventEmitter.prototype.addListener = EventEmitter.prototype.on;\r\n\r\n EventEmitter.prototype._onAny = function(fn, prepend){\r\n if (typeof fn !== 'function') {\r\n throw new Error('onAny only accepts instances of Function');\r\n }\r\n\r\n if (!this._all) {\r\n this._all = [];\r\n }\r\n\r\n // Add the function to the event listener collection.\r\n if(prepend){\r\n this._all.unshift(fn);\r\n }else{\r\n this._all.push(fn);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n EventEmitter.prototype._on = function(type, listener, prepend) {\r\n if (typeof type === 'function') {\r\n this._onAny(type, listener);\r\n return this;\r\n }\r\n\r\n if (typeof listener !== 'function') {\r\n throw new Error('on only accepts instances of Function');\r\n }\r\n this._events || init.call(this);\r\n\r\n // To avoid recursion in the case that type == \"newListeners\"! Before\r\n // adding it to the listeners, first emit \"newListeners\".\r\n this.emit('newListener', type, listener);\r\n\r\n if (this.wildcard) {\r\n growListenerTree.call(this, type, listener);\r\n return this;\r\n }\r\n\r\n if (!this._events[type]) {\r\n // Optimize the case of one listener. Don't need the extra array object.\r\n this._events[type] = listener;\r\n }\r\n else {\r\n if (typeof this._events[type] === 'function') {\r\n // Change to array.\r\n this._events[type] = [this._events[type]];\r\n }\r\n\r\n // If we've already got an array, just add\r\n if(prepend){\r\n this._events[type].unshift(listener);\r\n }else{\r\n this._events[type].push(listener);\r\n }\r\n\r\n // Check for listener leak\r\n if (\r\n !this._events[type].warned &&\r\n this._maxListeners > 0 &&\r\n this._events[type].length > this._maxListeners\r\n ) {\r\n this._events[type].warned = true;\r\n logPossibleMemoryLeak.call(this, this._events[type].length, type);\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n EventEmitter.prototype.off = function(type, listener) {\r\n if (typeof listener !== 'function') {\r\n throw new Error('removeListener only takes instances of Function');\r\n }\r\n\r\n var handlers,leafs=[];\r\n\r\n if(this.wildcard) {\r\n var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\r\n leafs = searchListenerTree.call(this, null, ns, this.listenerTree, 0);\r\n }\r\n else {\r\n // does not use listeners(), so no side effect of creating _events[type]\r\n if (!this._events[type]) return this;\r\n handlers = this._events[type];\r\n leafs.push({_listeners:handlers});\r\n }\r\n\r\n for (var iLeaf=0; iLeaf<leafs.length; iLeaf++) {\r\n var leaf = leafs[iLeaf];\r\n handlers = leaf._listeners;\r\n if (isArray(handlers)) {\r\n\r\n var position = -1;\r\n\r\n for (var i = 0, length = handlers.length; i < length; i++) {\r\n if (handlers[i] === listener ||\r\n (handlers[i].listener && handlers[i].listener === listener) ||\r\n (handlers[i]._origin && handlers[i]._origin === listener)) {\r\n position = i;\r\n break;\r\n }\r\n }\r\n\r\n if (position < 0) {\r\n continue;\r\n }\r\n\r\n if(this.wildcard) {\r\n leaf._listeners.splice(position, 1);\r\n }\r\n else {\r\n this._events[type].splice(position, 1);\r\n }\r\n\r\n if (handlers.length === 0) {\r\n if(this.wildcard) {\r\n delete leaf._listeners;\r\n }\r\n else {\r\n delete this._events[type];\r\n }\r\n }\r\n\r\n this.emit(\"removeListener\", type, listener);\r\n\r\n return this;\r\n }\r\n else if (handlers === listener ||\r\n (handlers.listener && handlers.listener === listener) ||\r\n (handlers._origin && handlers._origin === listener)) {\r\n if(this.wildcard) {\r\n delete leaf._listeners;\r\n }\r\n else {\r\n delete this._events[type];\r\n }\r\n\r\n this.emit(\"removeListener\", type, listener);\r\n }\r\n }\r\n\r\n function recursivelyGarbageCollect(root) {\r\n if (root === undefined) {\r\n return;\r\n }\r\n var keys = Object.keys(root);\r\n for (var i in keys) {\r\n var key = keys[i];\r\n var obj = root[key];\r\n if ((obj instanceof Function) || (typeof obj !== \"object\") || (obj === null))\r\n continue;\r\n if (Object.keys(obj).length > 0) {\r\n recursivelyGarbageCollect(root[key]);\r\n }\r\n if (Object.keys(obj).length === 0) {\r\n delete root[key];\r\n }\r\n }\r\n }\r\n recursivelyGarbageCollect(this.listenerTree);\r\n\r\n return this;\r\n };\r\n\r\n EventEmitter.prototype.offAny = function(fn) {\r\n var i = 0, l = 0, fns;\r\n if (fn && this._all && this._all.length > 0) {\r\n fns = this._all;\r\n for(i = 0, l = fns.length; i < l; i++) {\r\n if(fn === fns[i]) {\r\n fns.splice(i, 1);\r\n this.emit(\"removeListenerAny\", fn);\r\n return this;\r\n }\r\n }\r\n } else {\r\n fns = this._all;\r\n for(i = 0, l = fns.length; i < l; i++)\r\n this.emit(\"removeListenerAny\", fns[i]);\r\n this._all = [];\r\n }\r\n return this;\r\n };\r\n\r\n EventEmitter.prototype.removeListener = EventEmitter.prototype.off;\r\n\r\n EventEmitter.prototype.removeAllListeners = function(type) {\r\n if (arguments.length === 0) {\r\n !this._events || init.call(this);\r\n return this;\r\n }\r\n\r\n if (this.wildcard) {\r\n var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\r\n var leafs = searchListenerTree.call(this, null, ns, this.listenerTree, 0);\r\n\r\n for (var iLeaf=0; iLeaf<leafs.length; iLeaf++) {\r\n var leaf = leafs[iLeaf];\r\n leaf._listeners = null;\r\n }\r\n }\r\n else if (this._events) {\r\n this._events[type] = null;\r\n }\r\n return this;\r\n };\r\n\r\n EventEmitter.prototype.listeners = function(type) {\r\n if (this.wildcard) {\r\n var handlers = [];\r\n var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\r\n searchListenerTree.call(this, handlers, ns, this.listenerTree, 0);\r\n return handlers;\r\n }\r\n\r\n this._events || init.call(this);\r\n\r\n if (!this._events[type]) this._events[type] = [];\r\n if (!isArray(this._events[type])) {\r\n this._events[type] = [this._events[type]];\r\n }\r\n return this._events[type];\r\n };\r\n\r\n EventEmitter.prototype.eventNames = function(){\r\n return Object.keys(this._events);\r\n }\r\n\r\n EventEmitter.prototype.listenerCount = function(type) {\r\n return this.listeners(type).length;\r\n };\r\n\r\n EventEmitter.prototype.listenersAny = function() {\r\n\r\n if(this._all) {\r\n return this._all;\r\n }\r\n else {\r\n return [];\r\n }\r\n\r\n };\r\n\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define(function() {\r\n return EventEmitter;\r\n });\r\n } else if (typeof exports === 'object') {\r\n // CommonJS\r\n module.exports = EventEmitter;\r\n }\r\n else {\r\n // Browser global.\r\n window.EventEmitter2 = EventEmitter;\r\n }\r\n}();\r\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindAll = void 0;\nvar bind_1 = require(\"./bind\");\nfunction toOptions(value) {\n if (typeof value === 'undefined') {\n return undefined;\n }\n if (typeof value === 'boolean') {\n return {\n capture: value,\n };\n }\n return value;\n}\nfunction getBinding(original, sharedOptions) {\n if (sharedOptions == null) {\n return original;\n }\n var binding = __assign(__assign({}, original), { options: __assign(__assign({}, toOptions(sharedOptions)), toOptions(original.options)) });\n return binding;\n}\nfunction bindAll(target, bindings, sharedOptions) {\n var unbinds = bindings.map(function (original) {\n var binding = getBinding(original, sharedOptions);\n return (0, bind_1.bind)(target, binding);\n });\n return function unbindAll() {\n unbinds.forEach(function (unbind) { return unbind(); });\n };\n}\nexports.bindAll = bindAll;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bind = void 0;\nfunction bind(target, _a) {\n var type = _a.type, listener = _a.listener, options = _a.options;\n target.addEventListener(type, listener, options);\n return function unbind() {\n target.removeEventListener(type, listener, options);\n };\n}\nexports.bind = bind;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindAll = exports.bind = void 0;\nvar bind_1 = require(\"./bind\");\nObject.defineProperty(exports, \"bind\", { enumerable: true, get: function () { return bind_1.bind; } });\nvar bind_all_1 = require(\"./bind-all\");\nObject.defineProperty(exports, \"bindAll\", { enumerable: true, get: function () { return bind_all_1.bindAll; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DynamicConfig = /** @class */ (function () {\n function DynamicConfig(configName, configValue, ruleID, evaluationDetails, secondaryExposures, allocatedExperimentName, onDefaultValueFallback) {\n if (secondaryExposures === void 0) { secondaryExposures = []; }\n if (allocatedExperimentName === void 0) { allocatedExperimentName = ''; }\n if (onDefaultValueFallback === void 0) { onDefaultValueFallback = null; }\n this._onDefaultValueFallback = null;\n this.value = JSON.parse(JSON.stringify(configValue !== null && configValue !== void 0 ? configValue : {}));\n this._name = configName;\n this._ruleID = ruleID !== null && ruleID !== void 0 ? ruleID : '';\n this._secondaryExposures = secondaryExposures;\n this._allocatedExperimentName = allocatedExperimentName;\n this._evaluationDetails = evaluationDetails;\n this._onDefaultValueFallback = onDefaultValueFallback;\n }\n DynamicConfig.prototype.get = function (key, defaultValue, typeGuard) {\n var _a, _b;\n var val = this.getValue(key, defaultValue);\n if (val == null) {\n return defaultValue;\n }\n var expectedType = Array.isArray(defaultValue)\n ? 'array'\n : typeof defaultValue;\n var actualType = Array.isArray(val) ? 'array' : typeof val;\n if (typeGuard) {\n if (typeGuard(val)) {\n return val;\n }\n (_a = this._onDefaultValueFallback) === null || _a === void 0 ? void 0 : _a.call(this, this, key, expectedType, actualType);\n return defaultValue;\n }\n if (defaultValue == null || expectedType === actualType) {\n return val;\n }\n (_b = this._onDefaultValueFallback) === null || _b === void 0 ? void 0 : _b.call(this, this, key, expectedType, actualType);\n return defaultValue;\n };\n DynamicConfig.prototype.getValue = function (key, defaultValue) {\n if (key == null) {\n return this.value;\n }\n if (defaultValue == null) {\n defaultValue = null;\n }\n if (this.value[key] == null) {\n return defaultValue;\n }\n return this.value[key];\n };\n return DynamicConfig;\n}());\nexports.default = DynamicConfig;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExceptionEndpoint = void 0;\nvar Errors_1 = require(\"./Errors\");\nexports.ExceptionEndpoint = 'https://statsigapi.net/v1/sdk_exception';\nvar ErrorBoundary = /** @class */ (function () {\n function ErrorBoundary(sdkKey, options) {\n this._seen = new Set();\n this._sdkKey = sdkKey;\n this._options = options;\n }\n ErrorBoundary.prototype._setStatsigMetadata = function (statsigMetadata) {\n this._statsigMetadata = statsigMetadata;\n };\n ErrorBoundary.prototype._swallow = function (tag, task) {\n this._capture(tag, task, function () {\n return undefined;\n });\n };\n ErrorBoundary.prototype._capture = function (tag, task, recover, getExtraData) {\n var _this = this;\n try {\n var result = task();\n if (result instanceof Promise) {\n return result.catch(function (e) {\n return _this._onCaught(tag, e, recover, getExtraData);\n });\n }\n return result;\n }\n catch (error) {\n return this._onCaught(tag, error, recover, getExtraData);\n }\n };\n ErrorBoundary.prototype._logError = function (tag, error, getExtraData) {\n var _this = this;\n if (this._options.disableAllLogging)\n return;\n try {\n var impl = function () { return __awaiter(_this, void 0, void 0, function () {\n var extra, _a, unwrapped, isError, name, info, metadata, body;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!(typeof getExtraData === 'function')) return [3 /*break*/, 2];\n return [4 /*yield*/, getExtraData()];\n case 1:\n _a = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n _a = null;\n _c.label = 3;\n case 3:\n extra = _a;\n unwrapped = (error !== null && error !== void 0 ? error : Error('[Statsig] Error was empty'));\n isError = unwrapped instanceof Error;\n name = isError ? unwrapped.name : 'No Name';\n if (this._seen.has(name))\n return [2 /*return*/];\n this._seen.add(name);\n info = isError\n ? unwrapped.stack\n : this._getDescription(unwrapped);\n metadata = (_b = this._statsigMetadata) !== null && _b !== void 0 ? _b : {};\n body = JSON.stringify({\n tag: tag,\n exception: name,\n info: info,\n statsigMetadata: metadata,\n extra: extra !== null && extra !== void 0 ? extra : {},\n });\n return [2 /*return*/, fetch(exports.ExceptionEndpoint, {\n method: 'POST',\n headers: {\n 'STATSIG-API-KEY': this._sdkKey,\n 'STATSIG-SDK-TYPE': String(metadata['sdkType']),\n 'STATSIG-SDK-VERSION': String(metadata['sdkVersion']),\n 'Content-Type': 'application/json',\n 'Content-Length': \"\".concat(body.length),\n },\n body: body,\n })];\n }\n });\n }); };\n impl()\n .then(function () {\n /* noop */\n })\n .catch(function () {\n /* noop */\n });\n }\n catch (_error) {\n /* noop */\n }\n };\n ErrorBoundary.prototype._onCaught = function (tag, error, recover, getExtraData) {\n if (error instanceof Errors_1.StatsigUninitializedError ||\n error instanceof Errors_1.StatsigInvalidArgumentError) {\n throw error; // Don't catch these\n }\n console.error('[Statsig] An unexpected exception occurred.', error);\n this._logError(tag, error, getExtraData);\n return recover();\n };\n ErrorBoundary.prototype._getDescription = function (obj) {\n try {\n return JSON.stringify(obj);\n }\n catch (_a) {\n return '[Statsig] Failed to get string for error.';\n }\n };\n return ErrorBoundary;\n}());\nexports.default = ErrorBoundary;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StatsigSDKKeyMismatchError = exports.StatsigInvalidArgumentError = exports.StatsigUninitializedError = exports.StatsigErrorMessage = void 0;\nvar StatsigErrorMessage;\n(function (StatsigErrorMessage) {\n StatsigErrorMessage[\"REQUIRE_ASYNC_INITIALIZE\"] = \"Call initialize() first.\";\n StatsigErrorMessage[\"REQUIRE_SYNC_INITIALIZE\"] = \"Call and wait for initialize() to finish first.\";\n StatsigErrorMessage[\"REQUIRE_INITIALIZE_FOR_LOG_EVENT\"] = \"Must initialize() before logging events.\";\n})(StatsigErrorMessage = exports.StatsigErrorMessage || (exports.StatsigErrorMessage = {}));\nvar StatsigUninitializedError = /** @class */ (function (_super) {\n __extends(StatsigUninitializedError, _super);\n function StatsigUninitializedError(message) {\n var _this = _super.call(this, message !== null && message !== void 0 ? message : StatsigErrorMessage.REQUIRE_SYNC_INITIALIZE) || this;\n Object.setPrototypeOf(_this, StatsigUninitializedError.prototype);\n return _this;\n }\n return StatsigUninitializedError;\n}(Error));\nexports.StatsigUninitializedError = StatsigUninitializedError;\nvar StatsigInvalidArgumentError = /** @class */ (function (_super) {\n __extends(StatsigInvalidArgumentError, _super);\n function StatsigInvalidArgumentError(message) {\n var _this = _super.call(this, message) || this;\n Object.setPrototypeOf(_this, StatsigInvalidArgumentError.prototype);\n return _this;\n }\n return StatsigInvalidArgumentError;\n}(Error));\nexports.StatsigInvalidArgumentError = StatsigInvalidArgumentError;\nvar StatsigSDKKeyMismatchError = /** @class */ (function (_super) {\n __extends(StatsigSDKKeyMismatchError, _super);\n function StatsigSDKKeyMismatchError(message) {\n var _this = _super.call(this, message) || this;\n Object.setPrototypeOf(_this, StatsigSDKKeyMismatchError.prototype);\n return _this;\n }\n return StatsigSDKKeyMismatchError;\n}(Error));\nexports.StatsigSDKKeyMismatchError = StatsigSDKKeyMismatchError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Layer = /** @class */ (function () {\n function Layer(name, layerValue, ruleID, evaluationDetails, logParameterFunction, secondaryExposures, undelegatedSecondaryExposures, allocatedExperimentName, explicitParameters) {\n if (logParameterFunction === void 0) { logParameterFunction = null; }\n if (secondaryExposures === void 0) { secondaryExposures = []; }\n if (undelegatedSecondaryExposures === void 0) { undelegatedSecondaryExposures = []; }\n if (allocatedExperimentName === void 0) { allocatedExperimentName = ''; }\n if (explicitParameters === void 0) { explicitParameters = []; }\n this._logParameterFunction = logParameterFunction;\n this._name = name;\n this._value = JSON.parse(JSON.stringify(layerValue !== null && layerValue !== void 0 ? layerValue : {}));\n this._ruleID = ruleID !== null && ruleID !== void 0 ? ruleID : '';\n this._evaluationDetails = evaluationDetails;\n this._secondaryExposures = secondaryExposures;\n this._undelegatedSecondaryExposures = undelegatedSecondaryExposures;\n this._allocatedExperimentName = allocatedExperimentName;\n this._explicitParameters = explicitParameters;\n }\n Layer._create = function (name, value, ruleID, evaluationDetails, logParameterFunction, secondaryExposures, undelegatedSecondaryExposures, allocatedExperimentName, explicitParameters) {\n if (logParameterFunction === void 0) { logParameterFunction = null; }\n if (secondaryExposures === void 0) { secondaryExposures = []; }\n if (undelegatedSecondaryExposures === void 0) { undelegatedSecondaryExposures = []; }\n if (allocatedExperimentName === void 0) { allocatedExperimentName = ''; }\n if (explicitParameters === void 0) { explicitParameters = []; }\n return new Layer(name, value, ruleID, evaluationDetails, logParameterFunction, secondaryExposures, undelegatedSecondaryExposures, allocatedExperimentName, explicitParameters);\n };\n Layer.prototype.get = function (key, defaultValue, typeGuard) {\n var _this = this;\n var val = this._value[key];\n if (val == null) {\n return defaultValue;\n }\n var logAndReturn = function () {\n _this._logLayerParameterExposure(key);\n return val;\n };\n if (typeGuard) {\n return typeGuard(val) ? logAndReturn() : defaultValue;\n }\n if (defaultValue == null) {\n return logAndReturn();\n }\n if (typeof val === typeof defaultValue &&\n Array.isArray(defaultValue) === Array.isArray(val)) {\n return logAndReturn();\n }\n return defaultValue;\n };\n Layer.prototype.getValue = function (key, defaultValue) {\n if (defaultValue == undefined) {\n defaultValue = null;\n }\n var val = this._value[key];\n if (val != null) {\n this._logLayerParameterExposure(key);\n }\n return val !== null && val !== void 0 ? val : defaultValue;\n };\n Layer.prototype._logLayerParameterExposure = function (parameterName) {\n var _a;\n (_a = this._logParameterFunction) === null || _a === void 0 ? void 0 : _a.call(this, this, parameterName);\n };\n return Layer;\n}());\nexports.default = Layer;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.saveOverridesToLocalStorage = exports.loadOverridesFromLocalStorage = exports.makeEmptyOverrides = exports.STORAGE_KEY = void 0;\nvar StatsigLocalStorage_1 = __importDefault(require(\"./utils/StatsigLocalStorage\"));\nexports.STORAGE_KEY = 'STATSIG_JS_LITE_LOCAL_OVERRIDES';\nfunction makeEmptyOverrides() {\n return { gates: {}, configs: {}, layers: {} };\n}\nexports.makeEmptyOverrides = makeEmptyOverrides;\nfunction loadOverridesFromLocalStorage() {\n var raw = StatsigLocalStorage_1.default.getItem(exports.STORAGE_KEY);\n if (raw) {\n try {\n return JSON.parse(raw);\n }\n catch (error) {\n // noop\n }\n }\n return makeEmptyOverrides();\n}\nexports.loadOverridesFromLocalStorage = loadOverridesFromLocalStorage;\nfunction saveOverridesToLocalStorage(overrides) {\n StatsigLocalStorage_1.default.setItem(exports.STORAGE_KEY, JSON.stringify(overrides));\n}\nexports.saveOverridesToLocalStorage = saveOverridesToLocalStorage;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction makeLogEvent(eventName, user, statsigMetadata, value, metadata, secondaryExposures) {\n if (value === void 0) { value = null; }\n if (metadata === void 0) { metadata = null; }\n var logUser = user;\n if (logUser === null || logUser === void 0 ? void 0 : logUser.privateAttributes) {\n logUser = __assign({}, user);\n delete logUser.privateAttributes;\n }\n return {\n time: Date.now(),\n eventName: eventName,\n statsigMetadata: statsigMetadata,\n user: logUser,\n value: value,\n metadata: metadata,\n secondaryExposures: secondaryExposures,\n };\n}\nexports.default = makeLogEvent;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.version = void 0;\n// Generated by genversion.\nexports.version = '1.6.0';\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DynamicConfig_1 = __importDefault(require(\"./DynamicConfig\"));\nvar ErrorBoundary_1 = __importDefault(require(\"./ErrorBoundary\"));\nvar Errors_1 = require(\"./Errors\");\nvar Layer_1 = __importDefault(require(\"./Layer\"));\nvar StatsigIdentity_1 = __importDefault(require(\"./StatsigIdentity\"));\nvar StatsigLogger_1 = __importDefault(require(\"./StatsigLogger\"));\nvar StatsigNetwork_1 = __importDefault(require(\"./StatsigNetwork\"));\nvar StatsigSDKOptions_1 = __importDefault(require(\"./StatsigSDKOptions\"));\nvar StatsigStore_1 = __importStar(require(\"./StatsigStore\"));\nvar ResponseVerification_1 = require(\"./utils/ResponseVerification\");\nvar StatsigLocalStorage_1 = __importDefault(require(\"./utils/StatsigLocalStorage\"));\nvar Timing_1 = require(\"./utils/Timing\");\nvar LogEvent_1 = __importDefault(require(\"./LogEvent\"));\nvar LocalOverrides_1 = require(\"./LocalOverrides\");\nvar StatsigClient = /** @class */ (function () {\n function StatsigClient(sdkKey, user, options) {\n var _this = this;\n this._initCalled = false;\n this._pendingInitPromise = null;\n this._sdkKey = null;\n this._logLayerParameterExposureForLayer = function (layer, parameterName, isManualExposure) {\n if (isManualExposure === void 0) { isManualExposure = false; }\n var allocatedExperiment = '';\n var exposures = layer._undelegatedSecondaryExposures;\n var isExplicit = layer._explicitParameters.includes(parameterName);\n if (isExplicit) {\n allocatedExperiment = layer._allocatedExperimentName;\n exposures = layer._secondaryExposures;\n }\n _this._logger.logLayerExposure(_this._identity._user, layer._name, layer._ruleID, exposures, allocatedExperiment, parameterName, isExplicit, layer._evaluationDetails, isManualExposure, _this._store.getBootstrapMetadata());\n };\n if ((options === null || options === void 0 ? void 0 : options.localMode) !== true &&\n (typeof sdkKey !== 'string' || !sdkKey.startsWith('client-'))) {\n throw new Errors_1.StatsigInvalidArgumentError('Invalid key provided. You must use a Client SDK Key from the Statsig console to initialize the sdk');\n }\n this._sdkKey = sdkKey;\n this._startTime = (0, Timing_1.now)();\n this._options = new StatsigSDKOptions_1.default(options);\n this._errorBoundary = new ErrorBoundary_1.default(sdkKey, this._options);\n this._ready = false;\n StatsigLocalStorage_1.default.disabled = this._options.disableLocalStorage;\n this._overrides = (0, LocalOverrides_1.loadOverridesFromLocalStorage)();\n this._identity = new StatsigIdentity_1.default(sdkKey, this._normalizeUser(user !== null && user !== void 0 ? user : null), this._options.overrideStableID);\n this._network = new StatsigNetwork_1.default(this._options, this._identity, this._errorBoundary);\n this._logger = new StatsigLogger_1.default(this._options, this._identity, this._network, this._errorBoundary);\n this._store = new StatsigStore_1.default(this._identity, this._logger.logConfigDefaultValueFallback, this._options.initializeValues);\n this._errorBoundary._setStatsigMetadata(this._identity._statsigMetadata);\n if (this._options.initializeValues != null) {\n this._ready = true;\n this._initCalled = true;\n setTimeout(function () { return _this._delayedSetup(); }, 20);\n }\n }\n StatsigClient.prototype.setInitializeValues = function (initializeValues) {\n var _this = this;\n this._errorBoundary._capture('setInitializeValues', function () {\n _this._store.bootstrap(initializeValues);\n if (!_this._ready) {\n // the sdk is usable and considered initialized when configured\n // with initializeValues\n _this._ready = true;\n _this._initCalled = true;\n }\n // we wont have access to window/document/localStorage if these run on the server\n // so try to run whenever this is called\n _this._logger.sendSavedRequests();\n }, function () {\n _this._ready = true;\n _this._initCalled = true;\n });\n };\n StatsigClient.prototype.initializeAsync = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, this._errorBoundary._capture('initializeAsync', function () { return __awaiter(_this, void 0, void 0, function () {\n var user;\n var _this = this;\n return __generator(this, function (_a) {\n if (this._pendingInitPromise != null) {\n return [2 /*return*/, this._pendingInitPromise];\n }\n if (this._ready) {\n return [2 /*return*/, Promise.resolve()];\n }\n this._initCalled = true;\n if (this._options.localMode) {\n return [2 /*return*/, Promise.resolve()];\n }\n user = this._identity._user;\n this._pendingInitPromise = this._fetchAndSaveValues(user, this._options.initTimeoutMs)\n .then(function () {\n return;\n })\n .catch(function (e) {\n _this._errorBoundary._logError('initializeAsync:fetchAndSaveValues', e);\n return { success: false, message: e.message };\n })\n .then(function () {\n return;\n })\n .finally(function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this._pendingInitPromise = null;\n this._ready = true;\n this._delayedSetup();\n return [2 /*return*/];\n });\n }); });\n return [2 /*return*/, this._pendingInitPromise];\n });\n }); }, function () {\n _this._ready = true;\n _this._initCalled = true;\n return Promise.resolve();\n })];\n });\n });\n };\n StatsigClient.prototype.getEvaluationDetails = function () {\n var _this = this;\n return this._errorBoundary._capture('getEvaluationDetails', function () {\n return _this._store.getGlobalEvaluationDetails();\n }, function () {\n return {\n time: Date.now(),\n reason: StatsigStore_1.EvaluationReason.Error,\n };\n });\n };\n /**\n * Checks the value of a gate for the current user\n * @param {string} gateName - the name of the gate to check\n * @returns {boolean} - value of a gate for the user. Gates are \"off\" (return false) by default\n * @throws Error if initialize() is not called first, or gateName is not a string\n */\n StatsigClient.prototype.checkGate = function (gateName) {\n return this._checkGateImpl(gateName, 'checkGate');\n };\n StatsigClient.prototype.checkGateWithExposureLoggingDisabled = function (gateName) {\n return this._checkGateImpl(gateName, 'checkGateWithExposureLoggingDisabled');\n };\n StatsigClient.prototype.logGateExposure = function (gateName) {\n var _this = this;\n this._errorBoundary._swallow('logGateExposure', function () {\n _this._logGateExposureImpl(gateName);\n });\n };\n /**\n * Checks the value of a config for the current user\n * @param {string} configName - the name of the config to get\n * @returns {DynamicConfig} - value of a config for the user\n * @throws Error if initialize() is not called first, or configName is not a string\n */\n StatsigClient.prototype.getConfig = function (configName) {\n return this._getConfigImpl(configName, 'getConfig');\n };\n StatsigClient.prototype.getConfigWithExposureLoggingDisabled = function (configName) {\n return this._getConfigImpl(configName, 'getConfigWithExposureLoggingDisabled');\n };\n StatsigClient.prototype.logConfigExposure = function (configName) {\n var _this = this;\n this._errorBoundary._swallow('logConfigExposure', function () {\n _this._logConfigExposureImpl(configName);\n });\n };\n StatsigClient.prototype.getExperiment = function (experimentName) {\n return this.getConfig(experimentName);\n };\n StatsigClient.prototype.getExperimentWithExposureLoggingDisabled = function (experimentName) {\n return this.getConfigWithExposureLoggingDisabled(experimentName);\n };\n StatsigClient.prototype.logExperimentExposure = function (experimentName) {\n this.logConfigExposure(experimentName);\n };\n StatsigClient.prototype.getLayer = function (layerName) {\n return this._getLayerImpl(layerName, 'getLayer');\n };\n StatsigClient.prototype.getLayerWithExposureLoggingDisabled = function (layerName) {\n return this._getLayerImpl(layerName, 'getLayerWithExposureLoggingDisabled');\n };\n StatsigClient.prototype.logLayerParameterExposure = function (layerName, parameterName) {\n var _this = this;\n this._errorBoundary._swallow('logLayerParameterExposure', function () {\n var layer = _this._getLayerFromStore(null, layerName);\n _this._logLayerParameterExposureForLayer(layer, parameterName, true);\n });\n };\n StatsigClient.prototype.logEvent = function (eventName, value, metadata) {\n var _this = this;\n if (value === void 0) { value = null; }\n if (metadata === void 0) { metadata = null; }\n this._errorBoundary._swallow('logEvent', function () {\n if (!_this._logger || !_this._identity._sdkKey) {\n throw new Errors_1.StatsigUninitializedError(Errors_1.StatsigErrorMessage.REQUIRE_INITIALIZE_FOR_LOG_EVENT);\n }\n if (typeof eventName !== 'string' || eventName.length === 0) {\n return;\n }\n var event = (0, LogEvent_1.default)(eventName, _this._identity._user, _this._identity._statsigMetadata, value, metadata);\n _this._logger.log(event);\n });\n };\n StatsigClient.prototype.updateUserWithValues = function (user, values) {\n var _this = this;\n var updateStartTime = Date.now();\n var fireCompletionCallback;\n return this._errorBoundary._capture('updateUserWithValues', function () {\n if (!_this.initializeCalled()) {\n throw new Errors_1.StatsigUninitializedError(Errors_1.StatsigErrorMessage.REQUIRE_ASYNC_INITIALIZE);\n }\n fireCompletionCallback = function (success, error) {\n var cb = _this._options.updateUserCompletionCallback;\n cb === null || cb === void 0 ? void 0 : cb(Date.now() - updateStartTime, success, error);\n };\n _this._identity._user = _this._normalizeUser(user);\n _this._store.bootstrap(values);\n _this._logger.resetDedupeKeys();\n fireCompletionCallback(true, null);\n return true;\n }, function () {\n fireCompletionCallback === null || fireCompletionCallback === void 0 ? void 0 : fireCompletionCallback(false, 'Failed to update user. An unexpected error occured.');\n return false;\n });\n };\n StatsigClient.prototype.updateUser = function (user) {\n return __awaiter(this, void 0, void 0, function () {\n var updateStartTime, fireCompletionCallback;\n var _this = this;\n return __generator(this, function (_a) {\n updateStartTime = Date.now();\n return [2 /*return*/, this._errorBoundary._capture('updateUser', function () { return __awaiter(_this, void 0, void 0, function () {\n var currentUser;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.initializeCalled()) {\n throw new Errors_1.StatsigUninitializedError(Errors_1.StatsigErrorMessage.REQUIRE_ASYNC_INITIALIZE);\n }\n fireCompletionCallback = function (success, error) {\n var cb = _this._options.updateUserCompletionCallback;\n cb === null || cb === void 0 ? void 0 : cb(Date.now() - updateStartTime, success, error);\n };\n this._identity._user = this._normalizeUser(user);\n this._store.updateUser();\n this._logger.resetDedupeKeys();\n if (!(this._pendingInitPromise != null)) return [3 /*break*/, 2];\n return [4 /*yield*/, this._pendingInitPromise];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n if (this._options.localMode) {\n fireCompletionCallback(true, null);\n return [2 /*return*/, Promise.resolve(true)];\n }\n currentUser = this._identity._user;\n this._pendingInitPromise = this._fetchAndSaveValues(currentUser).finally(function () {\n _this._pendingInitPromise = null;\n });\n return [2 /*return*/, this._pendingInitPromise\n .then(function () {\n fireCompletionCallback(true, null);\n return Promise.resolve(true);\n })\n .catch(function (error) {\n fireCompletionCallback(false, \"Failed to update user: \".concat(error));\n return Promise.resolve(false);\n })];\n }\n });\n }); }, function () {\n fireCompletionCallback(false, 'Failed to update user. An unexpected error occured.');\n return Promise.resolve(false);\n })];\n });\n });\n };\n /**\n * Informs the statsig SDK that the client is closing or shutting down\n * so the SDK can clean up internal state\n */\n StatsigClient.prototype.shutdown = function () {\n var _this = this;\n this._errorBoundary._swallow('shutdown', function () {\n _this._logger.shutdown();\n });\n };\n /**\n * @returns The Statsig stable ID used for device level experiments\n */\n StatsigClient.prototype.getStableID = function () {\n var _this = this;\n return this._errorBoundary._capture('getStableID', function () { return _this._identity._statsigMetadata.stableID; }, function () { return ''; });\n };\n StatsigClient.prototype.initializeCalled = function () {\n return this._initCalled;\n };\n StatsigClient.prototype.overrideGate = function (gate, result) {\n this._setOverride('gates', gate, result);\n };\n StatsigClient.prototype.overrideConfig = function (config, result) {\n this._setOverride('configs', config, result);\n };\n StatsigClient.prototype.overrideLayer = function (layer, result) {\n this._setOverride('layers', layer, result);\n };\n StatsigClient.prototype.setOverrides = function (overrides) {\n var _this = this;\n this._errorBoundary._swallow('setOverrides', function () {\n _this._overrides = overrides !== null && overrides !== void 0 ? overrides : (0, LocalOverrides_1.makeEmptyOverrides)();\n (0, LocalOverrides_1.saveOverridesToLocalStorage)(_this._overrides);\n });\n };\n StatsigClient.prototype.getOverrides = function () {\n var _this = this;\n return this._errorBoundary._capture('getOverrides', function () { return _this._overrides; }, function () { return (0, LocalOverrides_1.makeEmptyOverrides)(); });\n };\n // Private\n StatsigClient.prototype._delayedSetup = function () {\n var _this = this;\n this._errorBoundary._swallow('delayedSetup', function () {\n _this._identity.saveStableID();\n _this._logger.sendSavedRequests().then(function () {\n /* noop */\n });\n });\n };\n StatsigClient.prototype._normalizeUser = function (user) {\n var userCopy = {};\n try {\n userCopy = JSON.parse(JSON.stringify(user));\n }\n catch (error) {\n throw new Errors_1.StatsigInvalidArgumentError('User object must be convertable to JSON string.');\n }\n if (this._options.environment != null) {\n userCopy = __assign(__assign({}, userCopy), { statsigEnvironment: this._options.environment });\n }\n return userCopy;\n };\n StatsigClient.prototype._ensureStoreLoaded = function () {\n if (!this._store.isLoaded()) {\n throw new Errors_1.StatsigUninitializedError();\n }\n };\n StatsigClient.prototype._getEvaluationDetailsForError = function () {\n return {\n time: Date.now(),\n reason: StatsigStore_1.EvaluationReason.Error,\n };\n };\n StatsigClient.prototype._fetchAndSaveValues = function (user, timeout) {\n if (timeout === void 0) { timeout = this._options.initTimeoutMs; }\n return __awaiter(this, void 0, void 0, function () {\n var sinceTime, previousDerivedFields;\n var _this = this;\n return __generator(this, function (_a) {\n sinceTime = null;\n sinceTime = this._store.getLastUpdateTime(user);\n previousDerivedFields = this._store.getPreviousDerivedFields(user);\n return [2 /*return*/, this._network\n .fetchValues(user, sinceTime, timeout, previousDerivedFields)\n .eventually(function (json) {\n var _a;\n if (!(0, ResponseVerification_1.verifySDKKeyUsed)(json, (_a = _this._sdkKey) !== null && _a !== void 0 ? _a : '', _this._errorBoundary)) {\n return;\n }\n if (json === null || json === void 0 ? void 0 : json.has_updates) {\n _this._store.save(user, json, false);\n }\n })\n .then(function (json) { return __awaiter(_this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, this._errorBoundary._swallow('fetchAndSaveValues', function () { return __awaiter(_this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(0, ResponseVerification_1.verifySDKKeyUsed)(json, (_a = this._sdkKey) !== null && _a !== void 0 ? _a : '', this._errorBoundary)) {\n return [2 /*return*/];\n }\n if (!(json === null || json === void 0 ? void 0 : json.has_updates)) return [3 /*break*/, 2];\n return [4 /*yield*/, this._store.save(user, json)];\n case 1:\n _b.sent();\n return [3 /*break*/, 3];\n case 2:\n if (json === null || json === void 0 ? void 0 : json.is_no_content) {\n this._store.setEvaluationReason(StatsigStore_1.EvaluationReason.NetworkNotModified);\n }\n _b.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n }); })];\n });\n }); })];\n });\n });\n };\n StatsigClient.prototype._checkGateImpl = function (gateName, callsite) {\n var _this = this;\n return this._errorBoundary._capture(callsite, function () {\n if (typeof _this._overrides.gates[gateName] === 'boolean') {\n return _this._overrides.gates[gateName];\n }\n var result = _this._getGateFromStore(gateName);\n if (callsite === 'checkGate') {\n _this._logGateExposureImpl(gateName, result);\n }\n return result.gate.value === true;\n }, function () { return false; });\n };\n StatsigClient.prototype._getGateFromStore = function (gateName) {\n this._ensureStoreLoaded();\n if (typeof gateName !== 'string' || gateName.length === 0) {\n throw new Errors_1.StatsigInvalidArgumentError('Must pass a valid string as the gateName.');\n }\n return this._store.checkGate(gateName);\n };\n StatsigClient.prototype._logGateExposureImpl = function (gateName, fetchResult) {\n var _a;\n var isManualExposure = !fetchResult;\n var result = fetchResult !== null && fetchResult !== void 0 ? fetchResult : this._getGateFromStore(gateName);\n var gate = result.gate;\n this._logger.logGateExposure(this._identity._user, gateName, gate.value, gate.rule_id, this._store.mapExposures((_a = gate.secondary_exposures) !== null && _a !== void 0 ? _a : []), result.evaluationDetails, isManualExposure, this._store.getBootstrapMetadata());\n };\n StatsigClient.prototype._getConfigImpl = function (configName, callsite) {\n var _this = this;\n return this._errorBoundary._capture(callsite, function () {\n if (_this._overrides.configs[configName]) {\n return new DynamicConfig_1.default(configName, _this._overrides.configs[configName], 'local_override', {\n reason: StatsigStore_1.EvaluationReason.LocalOverride,\n time: Date.now(),\n });\n }\n var result = _this._getConfigFromStore(configName);\n if (callsite === 'getConfig') {\n _this._logConfigExposureImpl(configName, result);\n }\n return result;\n }, function () { return _this._getEmptyConfig(configName); });\n };\n StatsigClient.prototype._getConfigFromStore = function (configName) {\n this._ensureStoreLoaded();\n if (typeof configName !== 'string' || configName.length === 0) {\n throw new Errors_1.StatsigInvalidArgumentError('Must pass a valid string as the configName.');\n }\n return this._store.getConfig(configName);\n };\n StatsigClient.prototype._logConfigExposureImpl = function (configName, config) {\n var isManualExposure = !config;\n var localConfig = config !== null && config !== void 0 ? config : this._getConfigFromStore(configName);\n this._logger.logConfigExposure(this._identity._user, configName, localConfig._ruleID, localConfig._secondaryExposures, localConfig._evaluationDetails, isManualExposure, this._store.getBootstrapMetadata());\n };\n StatsigClient.prototype._getLayerImpl = function (layerName, callsite) {\n var _this = this;\n return this._errorBoundary._capture(callsite, function () {\n if (_this._overrides.layers[layerName]) {\n return Layer_1.default._create(layerName, _this._overrides.layers[layerName], 'local_override', {\n reason: StatsigStore_1.EvaluationReason.LocalOverride,\n time: Date.now(),\n });\n }\n var logFunc = callsite === 'getLayer'\n ? _this._logLayerParameterExposureForLayer\n : null;\n return _this._getLayerFromStore(logFunc, layerName);\n }, function () {\n return Layer_1.default._create(layerName, {}, '', _this._getEvaluationDetailsForError());\n });\n };\n StatsigClient.prototype._getLayerFromStore = function (logParameterFunction, layerName) {\n this._ensureStoreLoaded();\n if (typeof layerName !== 'string' || layerName.length === 0) {\n throw new Errors_1.StatsigInvalidArgumentError('Must pass a valid string as the layerName.');\n }\n return this._store.getLayer(logParameterFunction, layerName);\n };\n StatsigClient.prototype._getEmptyConfig = function (configName) {\n return new DynamicConfig_1.default(configName, {}, '', this._getEvaluationDetailsForError());\n };\n StatsigClient.prototype._setOverride = function (type, key, result) {\n if (result == null) {\n delete this._overrides[type][key];\n }\n else {\n this._overrides[type][key] = result;\n }\n this.setOverrides(this._overrides);\n };\n return StatsigClient;\n}());\nexports.default = StatsigClient;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Constants_1 = require(\"./utils/Constants\");\nvar Hashing_1 = require(\"./utils/Hashing\");\nvar StatsigLocalStorage_1 = __importDefault(require(\"./utils/StatsigLocalStorage\"));\nvar SDKVersion_1 = require(\"./SDKVersion\");\nvar Identity = /** @class */ (function () {\n function Identity(sdkKey, user, overrideStableID) {\n var _a;\n this._sdkType = 'js-lite';\n this._sdkKey = sdkKey;\n this._user = user;\n this._sdkVersion = SDKVersion_1.version;\n var stableID = overrideStableID;\n stableID =\n (_a = stableID !== null && stableID !== void 0 ? stableID : StatsigLocalStorage_1.default.getItem(Constants_1.STATSIG_STABLE_ID_KEY)) !== null && _a !== void 0 ? _a : this._getUUID();\n this._statsigMetadata = {\n stableID: stableID,\n sdkType: this._sdkType,\n sdkVersion: this._sdkVersion,\n };\n }\n Identity.prototype.saveStableID = function () {\n if (this._statsigMetadata.stableID != null) {\n StatsigLocalStorage_1.default.setItem(Constants_1.STATSIG_STABLE_ID_KEY, this._statsigMetadata.stableID);\n }\n };\n Identity.prototype.getUserCacheKey = function () {\n return (0, Hashing_1.getUserCacheKey)(this._user);\n };\n Identity.prototype._getUUID = function () {\n var uuid = '';\n for (var i = 0; i < 32; i++) {\n if (i === 8 || i === 12 || i === 16 || i === 20) {\n uuid += '-';\n }\n var randomDigit = (Math.random() * 16) | 0;\n if (i === 12) {\n uuid += '4';\n }\n else if (i === 16) {\n uuid += ((randomDigit & 3) | 8).toString(16);\n }\n else {\n uuid += randomDigit.toString(16);\n }\n }\n return uuid;\n };\n return Identity;\n}());\nexports.default = Identity;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LogEvent_1 = __importDefault(require(\"./LogEvent\"));\nvar StatsigNetwork_1 = require(\"./StatsigNetwork\");\nvar Constants_1 = require(\"./utils/Constants\");\nvar StatsigLocalStorage_1 = __importDefault(require(\"./utils/StatsigLocalStorage\"));\nvar INTERNAL_EVENT_PREFIX = 'statsig::';\nvar CONFIG_EXPOSURE_EVENT = INTERNAL_EVENT_PREFIX + 'config_exposure';\nvar LAYER_EXPOSURE_EVENT = INTERNAL_EVENT_PREFIX + 'layer_exposure';\nvar GATE_EXPOSURE_EVENT = INTERNAL_EVENT_PREFIX + 'gate_exposure';\nvar LOG_FAILURE_EVENT = INTERNAL_EVENT_PREFIX + 'log_event_failed';\nvar DEFAULT_VALUE_WARNING = INTERNAL_EVENT_PREFIX + 'default_value_type_mismatch';\nvar MS_RETRY_LOGS_CUTOFF = 5 * 24 * 60 * 60 * 1000;\nvar MAX_BATCHES_TO_RETRY = 100;\nvar MAX_FAILED_EVENTS = 1000;\nvar MAX_LOCAL_STORAGE_SIZE = 1024 * MAX_FAILED_EVENTS;\nvar StatsigLogger = /** @class */ (function () {\n function StatsigLogger(options, identity, network, errorBoundary) {\n var _this = this;\n this._failedLogEventCount = 0;\n this.logConfigDefaultValueFallback = function (user, message, metadata) {\n var defaultValueEvent = (0, LogEvent_1.default)(DEFAULT_VALUE_WARNING, user, _this._identity._statsigMetadata, message, metadata);\n _this.log(defaultValueEvent);\n _this._loggedErrors.add(message);\n };\n this._options = options;\n this._identity = identity;\n this._network = network;\n this._errorBoundary = errorBoundary;\n this._queue = [];\n this._flushInterval = null;\n this._loggedErrors = new Set();\n this._failedLogEvents = [];\n this._exposureDedupeKeys = {};\n this._failedLogEventCount = 0;\n this._init();\n }\n StatsigLogger.prototype.log = function (event) {\n if (this._options.disableAllLogging) {\n return;\n }\n try {\n if (!this._options.disableCurrentPageLogging &&\n typeof window !== 'undefined' &&\n window != null &&\n typeof window.location === 'object' &&\n typeof window.location.href === 'string') {\n // https://stackoverflow.com/questions/6257463/how-to-get-the-url-without-any-parameters-in-javascript\n var parts = window.location.href.split(/[?#]/);\n if ((parts === null || parts === void 0 ? void 0 : parts.length) > 0) {\n event.statsigMetadata.currentPage = parts[0];\n }\n }\n }\n catch (_e) { }\n this._queue.push(event);\n if (this._queue.length >= this._options.loggingBufferMaxSize) {\n this.flush();\n }\n };\n StatsigLogger.prototype.resetDedupeKeys = function () {\n this._exposureDedupeKeys = {};\n };\n StatsigLogger.prototype.logGateExposure = function (user, gateName, gateValue, ruleID, secondaryExposures, details, isManualExposure, bootstrapMetadata) {\n var dedupeKey = gateName + String(gateValue) + ruleID + details.reason;\n if (!this._shouldLogExposure(dedupeKey)) {\n return;\n }\n var metadata = {\n gate: gateName,\n gateValue: String(gateValue),\n ruleID: ruleID,\n reason: details.reason,\n time: details.time,\n };\n if (isManualExposure) {\n metadata['isManualExposure'] = 'true';\n }\n if (bootstrapMetadata != null) {\n metadata['bootstrapMetadata'] = bootstrapMetadata;\n }\n var gateExposure = (0, LogEvent_1.default)(GATE_EXPOSURE_EVENT, user, this._identity._statsigMetadata, null, metadata, secondaryExposures);\n this.log(gateExposure);\n };\n StatsigLogger.prototype.logConfigExposure = function (user, configName, ruleID, secondaryExposures, details, isManualExposure, bootstrapMetadata) {\n var dedupeKey = configName + ruleID + details.reason;\n if (!this._shouldLogExposure(dedupeKey)) {\n return;\n }\n var metadata = {\n config: configName,\n ruleID: ruleID,\n reason: details.reason,\n time: details.time,\n };\n if (isManualExposure) {\n metadata['isManualExposure'] = 'true';\n }\n if (bootstrapMetadata != null) {\n metadata['bootstrapMetadata'] = bootstrapMetadata;\n }\n var configExposure = (0, LogEvent_1.default)(CONFIG_EXPOSURE_EVENT, user, this._identity._statsigMetadata, null, metadata, secondaryExposures);\n this.log(configExposure);\n };\n StatsigLogger.prototype.logLayerExposure = function (user, configName, ruleID, secondaryExposures, allocatedExperiment, parameterName, isExplicitParameter, details, isManualExposure, bootstrapMetadata) {\n var dedupeKey = [\n configName,\n ruleID,\n allocatedExperiment,\n parameterName,\n String(isExplicitParameter),\n details.reason,\n ].join('|');\n if (!this._shouldLogExposure(dedupeKey)) {\n return;\n }\n var metadata = {\n config: configName,\n ruleID: ruleID,\n allocatedExperiment: allocatedExperiment,\n parameterName: parameterName,\n isExplicitParameter: String(isExplicitParameter),\n reason: details.reason,\n time: details.time,\n };\n if (isManualExposure) {\n metadata['isManualExposure'] = 'true';\n }\n if (bootstrapMetadata != null) {\n metadata['bootstrapMetadata'] = bootstrapMetadata;\n }\n var configExposure = (0, LogEvent_1.default)(LAYER_EXPOSURE_EVENT, user, this._identity._statsigMetadata, null, metadata, secondaryExposures);\n this.log(configExposure);\n };\n StatsigLogger.prototype.shutdown = function () {\n if (this._flushInterval) {\n clearInterval(this._flushInterval);\n this._flushInterval = null;\n }\n this.flush(true);\n };\n StatsigLogger.prototype.flush = function (isClosing) {\n var _this = this;\n if (isClosing === void 0) { isClosing = false; }\n if (this._queue.length === 0) {\n return;\n }\n var statsigMetadata = this._identity._statsigMetadata;\n var oldQueue = this._queue;\n this._queue = [];\n if (isClosing &&\n !this._network.supportsKeepalive() &&\n typeof navigator !== 'undefined' &&\n navigator != null &&\n // @ts-ignore\n navigator.sendBeacon) {\n var beacon = this._network.sendLogBeacon({\n events: oldQueue,\n statsigMetadata: statsigMetadata,\n });\n if (!beacon) {\n this._queue = oldQueue.concat(this._queue);\n if (this._queue.length > 0) {\n this._addFailedRequest({\n events: this._queue,\n statsigMetadata: statsigMetadata,\n time: Date.now(),\n });\n this._queue = [];\n }\n this._saveFailedRequests();\n }\n return;\n }\n var processor = this;\n this._network\n .postToEndpoint(StatsigNetwork_1.StatsigEndpoint.Rgstr, {\n events: oldQueue,\n statsigMetadata: statsigMetadata,\n }, 3 /* retries */, 1000 /* backoff */, 0 /* retry attempt */, isClosing /* useKeepalive */)\n .then(function (response) {\n if (!response.ok) {\n throw response;\n }\n })\n .catch(function (error) {\n if (typeof error.text === 'function') {\n error.text().then(function (errorText) {\n _this._errorBoundary._logError(LOG_FAILURE_EVENT, error, function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, {\n eventCount: oldQueue.length,\n error: errorText,\n }];\n });\n }); });\n });\n }\n else {\n _this._errorBoundary._logError(LOG_FAILURE_EVENT, error, function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, {\n eventCount: oldQueue.length,\n error: error.message,\n }];\n });\n }); });\n }\n processor._newFailedRequest(LOG_FAILURE_EVENT, oldQueue);\n })\n .finally(function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!isClosing) return [3 /*break*/, 2];\n if (this._queue.length > 0) {\n this._addFailedRequest({\n events: this._queue,\n statsigMetadata: statsigMetadata,\n time: Date.now(),\n });\n // on app background/window blur, save unsent events as a request and clean up the queue (in case app foregrounds)\n this._queue = [];\n }\n return [4 /*yield*/, processor._saveFailedRequests()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n }); });\n };\n StatsigLogger.prototype.sendSavedRequests = function () {\n return __awaiter(this, void 0, void 0, function () {\n var failedRequests, fireAndForget, requestBodies, _loop_1, this_1, _i, requestBodies_1, requestBody;\n var _this = this;\n return __generator(this, function (_a) {\n fireAndForget = false;\n failedRequests = StatsigLocalStorage_1.default.getItem(Constants_1.STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY);\n if (failedRequests == null) {\n this._clearLocalStorageRequests();\n return [2 /*return*/];\n }\n if (failedRequests.length > MAX_LOCAL_STORAGE_SIZE) {\n fireAndForget = true;\n }\n requestBodies = [];\n try {\n requestBodies = JSON.parse(failedRequests);\n _loop_1 = function (requestBody) {\n if (requestBody != null &&\n requestBody.events &&\n Array.isArray(requestBody.events)) {\n this_1._network\n .postToEndpoint(StatsigNetwork_1.StatsigEndpoint.Rgstr, requestBody)\n .then(function (response) {\n if (!response.ok) {\n throw Error(response.status + '');\n }\n })\n .catch(function (_e) {\n if (fireAndForget) {\n return;\n }\n _this._addFailedRequest(requestBody);\n });\n }\n };\n this_1 = this;\n for (_i = 0, requestBodies_1 = requestBodies; _i < requestBodies_1.length; _i++) {\n requestBody = requestBodies_1[_i];\n _loop_1(requestBody);\n }\n }\n catch (_e) {\n }\n finally {\n this._clearLocalStorageRequests();\n }\n return [2 /*return*/];\n });\n });\n };\n StatsigLogger.prototype._init = function () {\n var _this = this;\n if (typeof window !== 'undefined' &&\n typeof window.addEventListener === 'function') {\n window.addEventListener('blur', function () { return _this.flush(true); });\n window.addEventListener('beforeunload', function () { return _this.flush(true); });\n window.addEventListener('load', function () {\n setTimeout(function () { return _this.flush(); }, 100);\n setTimeout(function () { return _this.flush(); }, 1000);\n });\n }\n if (typeof document !== 'undefined' &&\n typeof document.addEventListener === 'function') {\n document.addEventListener('visibilitychange', function () {\n _this.flush(document.visibilityState !== 'visible');\n });\n }\n if (!this._options.ignoreWindowUndefined &&\n (typeof window === 'undefined' || window == null)) {\n // dont set the flush interval outside of client browser environments\n return;\n }\n if (this._options.localMode) {\n // unnecessary interval in local mode since logs dont flush anyway\n return;\n }\n var me = this;\n this._flushInterval = setInterval(function () {\n me.flush();\n }, this._options.loggingIntervalMillis);\n // Quick flush\n setTimeout(function () { return _this.flush(); }, 100);\n setTimeout(function () { return _this.flush(); }, 1000);\n };\n StatsigLogger.prototype._shouldLogExposure = function (key) {\n var lastTime = this._exposureDedupeKeys[key];\n var now = Date.now();\n if (lastTime == null) {\n this._exposureDedupeKeys[key] = now;\n return true;\n }\n if (lastTime >= now - 600 * 1000) {\n return false;\n }\n this._exposureDedupeKeys[key] = now;\n return true;\n };\n StatsigLogger.prototype._saveFailedRequests = function () {\n return __awaiter(this, void 0, void 0, function () {\n var requestsCopy;\n return __generator(this, function (_a) {\n if (this._failedLogEvents.length > 0) {\n requestsCopy = JSON.stringify(this._failedLogEvents);\n if (requestsCopy.length > MAX_LOCAL_STORAGE_SIZE) {\n this._clearLocalStorageRequests();\n return [2 /*return*/];\n }\n StatsigLocalStorage_1.default.setItem(Constants_1.STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY, requestsCopy);\n }\n return [2 /*return*/];\n });\n });\n };\n StatsigLogger.prototype._addFailedRequest = function (requestBody) {\n if (requestBody.time < Date.now() - MS_RETRY_LOGS_CUTOFF) {\n return;\n }\n if (this._failedLogEvents.length > MAX_BATCHES_TO_RETRY) {\n return;\n }\n var additionalEvents = requestBody.events.length;\n if (this._failedLogEventCount + additionalEvents > MAX_FAILED_EVENTS) {\n return;\n }\n this._failedLogEvents.push(requestBody);\n this._failedLogEventCount += additionalEvents;\n };\n StatsigLogger.prototype._clearLocalStorageRequests = function () {\n StatsigLocalStorage_1.default.removeItem(Constants_1.STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY);\n };\n StatsigLogger.prototype._newFailedRequest = function (name, queue) {\n if (this._loggedErrors.has(name)) {\n return;\n }\n this._loggedErrors.add(name);\n this._failedLogEvents.push({\n events: queue,\n statsigMetadata: this._identity._statsigMetadata,\n time: Date.now(),\n });\n this._saveFailedRequests().then(function () { });\n };\n return StatsigLogger;\n}());\nexports.default = StatsigLogger;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StatsigEndpoint = void 0;\nvar StatsigEndpoint;\n(function (StatsigEndpoint) {\n StatsigEndpoint[\"Initialize\"] = \"initialize\";\n StatsigEndpoint[\"Rgstr\"] = \"rgstr\";\n StatsigEndpoint[\"LogEventBeacon\"] = \"log_event_beacon\";\n})(StatsigEndpoint = exports.StatsigEndpoint || (exports.StatsigEndpoint = {}));\nvar NO_CONTENT = 204;\nvar StatsigNetwork = /** @class */ (function () {\n function StatsigNetwork(options, identity, errorBoundary) {\n this.retryCodes = {\n 408: true,\n 500: true,\n 502: true,\n 503: true,\n 504: true,\n 522: true,\n 524: true,\n 599: true,\n };\n this.canUseKeepalive = false;\n this._options = options;\n this._identity = identity;\n this._errorBoundary = errorBoundary;\n this.leakyBucket = {};\n this._init();\n }\n StatsigNetwork.prototype.fetchValues = function (user, sinceTime, timeout, previousDerivedFields) {\n var input = {\n user: user,\n statsigMetadata: this._identity._statsigMetadata,\n sinceTime: sinceTime !== null && sinceTime !== void 0 ? sinceTime : undefined,\n hash: 'djb2',\n previousDerivedFields: previousDerivedFields,\n };\n return this._postWithTimeout(StatsigEndpoint.Initialize, input, timeout, // timeout for early returns\n 3);\n };\n StatsigNetwork.prototype.sendLogBeacon = function (payload) {\n if (this._options.localMode) {\n return true;\n }\n var url = new URL(this._options.eventLoggingApi + StatsigEndpoint.LogEventBeacon);\n url.searchParams.append('k', this._identity._sdkKey);\n payload.clientTime = Date.now() + '';\n var stringPayload = null;\n try {\n stringPayload = JSON.stringify(payload);\n }\n catch (_e) {\n return false;\n }\n return navigator.sendBeacon(url.toString(), stringPayload);\n };\n StatsigNetwork.prototype.postToEndpoint = function (endpointName, body, retries, backoff, retryAttempt, useKeepalive) {\n if (retries === void 0) { retries = 0; }\n if (backoff === void 0) { backoff = 1000; }\n if (retryAttempt === void 0) { retryAttempt = 0; }\n if (useKeepalive === void 0) { useKeepalive = false; }\n return __awaiter(this, void 0, void 0, function () {\n var api, url, counter, postBody, statsigMetadata, params;\n var _this = this;\n return __generator(this, function (_a) {\n if (this._options.localMode) {\n return [2 /*return*/, Promise.reject('no network requests in localMode')];\n }\n if (typeof fetch !== 'function') {\n // fetch is not defined in this environment, short circuit\n return [2 /*return*/, Promise.reject('fetch is not defined')];\n }\n if (typeof window === 'undefined' && !this._options.ignoreWindowUndefined) {\n // by default, dont issue requests from the server\n return [2 /*return*/, Promise.reject('window is not defined')];\n }\n api = [StatsigEndpoint.Initialize].includes(endpointName)\n ? this._options.api\n : retryAttempt > 0\n ? this._options.eventLoggingApiForRetries\n : this._options.eventLoggingApi;\n url = api + endpointName;\n counter = this.leakyBucket[url];\n if (counter != null && counter >= 30) {\n return [2 /*return*/, Promise.reject(new Error('Request failed because you are making the same request too frequently.'))];\n }\n if (counter == null) {\n this.leakyBucket[url] = 1;\n }\n else {\n this.leakyBucket[url] = counter + 1;\n }\n postBody = JSON.stringify(body);\n statsigMetadata = this._identity._statsigMetadata;\n params = {\n method: 'POST',\n body: postBody,\n headers: {\n 'Content-type': 'application/json; charset=UTF-8',\n 'STATSIG-API-KEY': this._identity._sdkKey,\n 'STATSIG-CLIENT-TIME': Date.now() + '',\n 'STATSIG-SDK-TYPE': statsigMetadata.sdkType,\n 'STATSIG-SDK-VERSION': statsigMetadata.sdkVersion,\n },\n };\n if (this.canUseKeepalive && useKeepalive) {\n params.keepalive = true;\n }\n return [2 /*return*/, fetch(url, params)\n .then(function (res) { return __awaiter(_this, void 0, void 0, function () {\n var networkResponse, text, errorText;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!res.ok) return [3 /*break*/, 4];\n networkResponse = res;\n if (!(res.status === NO_CONTENT)) return [3 /*break*/, 1];\n networkResponse.data = { has_updates: false, is_no_content: true };\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, res.text()];\n case 2:\n text = _a.sent();\n networkResponse.data = JSON.parse(text);\n _a.label = 3;\n case 3: return [2 /*return*/, Promise.resolve(networkResponse)];\n case 4:\n if (!this.retryCodes[res.status]) {\n retries = 0;\n }\n return [4 /*yield*/, res.text()];\n case 5:\n errorText = _a.sent();\n return [2 /*return*/, Promise.reject(new Error(\"\".concat(res.status, \": \").concat(errorText)))];\n }\n });\n }); })\n .catch(function (e) {\n if (retries > 0) {\n return new Promise(function (resolve, reject) {\n setTimeout(function () {\n _this.leakyBucket[url] = Math.max(_this.leakyBucket[url] - 1, 0);\n _this.postToEndpoint(endpointName, body, retries - 1, backoff * 2, retryAttempt + 1, useKeepalive)\n .then(resolve)\n .catch(reject);\n }, backoff);\n });\n }\n return Promise.reject(e);\n })\n .finally(function () {\n _this.leakyBucket[url] = Math.max(_this.leakyBucket[url] - 1, 0);\n })];\n });\n });\n };\n StatsigNetwork.prototype.supportsKeepalive = function () {\n return this.canUseKeepalive;\n };\n StatsigNetwork.prototype._init = function () {\n if (!this._options.disableNetworkKeepalive) {\n try {\n this.canUseKeepalive = 'keepalive' in new Request('');\n }\n catch (_e) { }\n }\n };\n StatsigNetwork.prototype._postWithTimeout = function (endpointName, body, timeout, retries, backoff) {\n var _this = this;\n if (timeout === void 0) { timeout = 0; }\n if (retries === void 0) { retries = 0; }\n if (backoff === void 0) { backoff = 1000; }\n var hasTimedOut = false;\n var timer = null;\n var cachedReturnValue = null;\n var eventuals = [];\n var eventually = function (boundScope) { return function (fn) {\n if (hasTimedOut && cachedReturnValue) {\n fn(cachedReturnValue);\n }\n else {\n eventuals.push(fn);\n }\n return boundScope;\n }; };\n if (timeout != 0) {\n timer = new Promise(function (resolve, reject) {\n setTimeout(function () {\n hasTimedOut = true;\n reject(new Error(\"The initialization timeout of \".concat(timeout, \"ms has been hit before the network request has completed.\")));\n }, timeout);\n });\n }\n var fetchPromise = this.postToEndpoint(endpointName, body, retries, backoff)\n .then(function (res) {\n if (!res.ok) {\n return Promise.reject(new Error(\"Request to \".concat(endpointName, \" failed with status \").concat(res.status)));\n }\n if (typeof res.data !== 'object') {\n var error = new Error(\"Request to \".concat(endpointName, \" received invalid response type. Expected 'object' but got '\").concat(typeof res.data, \"'\"));\n _this._errorBoundary._logError('postWithTimeoutInvalidRes', error, function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this._getErrorData(endpointName, body, retries, backoff, res)];\n });\n }); });\n return Promise.reject(error);\n }\n var json = res.data;\n return _this._errorBoundary._capture('postWithTimeout', function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n cachedReturnValue = json;\n if (hasTimedOut) {\n eventuals.forEach(function (fn) { return fn(json); });\n eventuals = [];\n }\n return [2 /*return*/, Promise.resolve(json)];\n });\n }); }, function () {\n return Promise.resolve({});\n }, function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this._getErrorData(endpointName, body, retries, backoff, res)];\n });\n }); });\n })\n .catch(function (e) {\n return Promise.reject(e);\n });\n var racingPromise = (timer ? Promise.race([fetchPromise, timer]) : fetchPromise);\n racingPromise.eventually = eventually(racingPromise);\n return racingPromise;\n };\n StatsigNetwork.prototype._getErrorData = function (endpointName, body, retries, backoff, res) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var headers_1;\n return __generator(this, function (_b) {\n try {\n headers_1 = {};\n ((_a = res.headers) !== null && _a !== void 0 ? _a : []).forEach(function (value, key) {\n headers_1[key] = value;\n });\n return [2 /*return*/, {\n responseInfo: {\n headers: headers_1,\n status: res.status,\n statusText: res.statusText,\n type: res.type,\n url: res.url,\n redirected: res.redirected,\n bodySnippet: res.data ? JSON.stringify(res.data).slice(0, 500) : null,\n },\n requestInfo: {\n endpointName: endpointName,\n bodySnippet: JSON.stringify(body).slice(0, 500),\n retries: retries,\n backoff: backoff,\n },\n }];\n }\n catch (_e) {\n return [2 /*return*/, {\n statusText: 'statsig::failed to extract extra data',\n }];\n }\n return [2 /*return*/];\n });\n });\n };\n return StatsigNetwork;\n}());\nexports.default = StatsigNetwork;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.INIT_TIMEOUT_DEFAULT_MS = void 0;\nvar DEFAULT_FEATURE_GATE_API = 'https://featuregates.org/v1/';\nvar DEFAULT_EVENT_LOGGING_API = 'https://events.statsigapi.net/v1/';\nexports.INIT_TIMEOUT_DEFAULT_MS = 3000;\nvar StatsigSDKOptions = /** @class */ (function () {\n function StatsigSDKOptions(options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;\n if (options == null) {\n options = {};\n }\n var api = (_a = options.api) !== null && _a !== void 0 ? _a : DEFAULT_FEATURE_GATE_API;\n this.api = api.endsWith('/') ? api : api + '/';\n this.disableCurrentPageLogging = (_b = options.disableCurrentPageLogging) !== null && _b !== void 0 ? _b : false;\n this.environment = (_c = options.environment) !== null && _c !== void 0 ? _c : null;\n this.loggingIntervalMillis = this.normalizeNumberInput(options.loggingIntervalMillis, {\n default: 10000,\n min: 1000,\n max: 60000,\n });\n this.loggingBufferMaxSize = this.normalizeNumberInput(options.loggingBufferMaxSize, {\n default: 100,\n min: 2,\n max: 500,\n });\n this.disableNetworkKeepalive = (_d = options.disableNetworkKeepalive) !== null && _d !== void 0 ? _d : false;\n this.overrideStableID = (_e = options.overrideStableID) !== null && _e !== void 0 ? _e : null;\n this.localMode = (_f = options.localMode) !== null && _f !== void 0 ? _f : false;\n this.initTimeoutMs =\n options.initTimeoutMs && options.initTimeoutMs >= 0\n ? options.initTimeoutMs\n : exports.INIT_TIMEOUT_DEFAULT_MS;\n this.disableErrorLogging = (_g = options.disableErrorLogging) !== null && _g !== void 0 ? _g : false;\n this.disableAutoMetricsLogging = (_h = options.disableAutoMetricsLogging) !== null && _h !== void 0 ? _h : false;\n this.initializeValues = (_j = options.initializeValues) !== null && _j !== void 0 ? _j : null;\n var eventLoggingApi = (_l = (_k = options.eventLoggingApi) !== null && _k !== void 0 ? _k : options.api) !== null && _l !== void 0 ? _l : DEFAULT_EVENT_LOGGING_API;\n this.eventLoggingApi = eventLoggingApi.endsWith('/')\n ? eventLoggingApi\n : eventLoggingApi + '/';\n var eventLoggingApiForRetries = (_m = options.eventLoggingApiForRetries) !== null && _m !== void 0 ? _m : eventLoggingApi;\n this.eventLoggingApiForRetries = eventLoggingApiForRetries.endsWith('/')\n ? eventLoggingApiForRetries\n : eventLoggingApiForRetries + '/';\n this.disableLocalStorage = (_o = options.disableLocalStorage) !== null && _o !== void 0 ? _o : false;\n this.ignoreWindowUndefined = (_p = options === null || options === void 0 ? void 0 : options.ignoreWindowUndefined) !== null && _p !== void 0 ? _p : false;\n this.updateUserCompletionCallback =\n (_q = options === null || options === void 0 ? void 0 : options.updateUserCompletionCallback) !== null && _q !== void 0 ? _q : null;\n this.disableAllLogging = (_r = options === null || options === void 0 ? void 0 : options.disableAllLogging) !== null && _r !== void 0 ? _r : false;\n }\n StatsigSDKOptions.prototype.normalizeNumberInput = function (input, bounds) {\n if (input == null) {\n return bounds.default;\n }\n return Math.max(Math.min(input, bounds.max), bounds.min);\n };\n return StatsigSDKOptions;\n}());\nexports.default = StatsigSDKOptions;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EvaluationReason = void 0;\nvar DynamicConfig_1 = __importDefault(require(\"./DynamicConfig\"));\nvar Layer_1 = __importDefault(require(\"./Layer\"));\nvar BootstrapValidator_1 = __importDefault(require(\"./utils/BootstrapValidator\"));\nvar Constants_1 = require(\"./utils/Constants\");\nvar Hashing_1 = require(\"./utils/Hashing\");\nvar StatsigLocalStorage_1 = __importDefault(require(\"./utils/StatsigLocalStorage\"));\nvar EvaluationReason;\n(function (EvaluationReason) {\n EvaluationReason[\"Network\"] = \"Network\";\n EvaluationReason[\"Bootstrap\"] = \"Bootstrap\";\n EvaluationReason[\"InvalidBootstrap\"] = \"InvalidBootstrap\";\n EvaluationReason[\"Cache\"] = \"Cache\";\n EvaluationReason[\"Unrecognized\"] = \"Unrecognized\";\n EvaluationReason[\"Uninitialized\"] = \"Uninitialized\";\n EvaluationReason[\"Error\"] = \"Error\";\n EvaluationReason[\"NetworkNotModified\"] = \"NetworkNotModified\";\n EvaluationReason[\"LocalOverride\"] = \"LocalOverride\";\n})(EvaluationReason = exports.EvaluationReason || (exports.EvaluationReason = {}));\nvar MAX_USER_VALUE_CACHED = 10;\nvar StatsigStore = /** @class */ (function () {\n function StatsigStore(identity, onDefaultValueFallback, initializeValues) {\n this._identity = identity;\n this._onDefaultValueFallback = onDefaultValueFallback;\n this._userCacheKey = this._identity.getUserCacheKey();\n this._values = {};\n this._userValues = this._getDefaultUserCacheValues();\n this._loaded = false;\n this._reason = EvaluationReason.Uninitialized;\n if (initializeValues) {\n this.bootstrap(initializeValues);\n }\n else {\n this._loadFromLocalStorage();\n }\n }\n StatsigStore.prototype.updateUser = function () {\n this._userCacheKey = this._identity.getUserCacheKey();\n return this._setUserValueFromCache();\n };\n StatsigStore.prototype.bootstrap = function (initializeValues) {\n var _a, _b, _c, _d, _f, _g, _h;\n var key = this._identity.getUserCacheKey();\n var user = this._identity._user;\n var reason = BootstrapValidator_1.default.isValid(user, initializeValues)\n ? EvaluationReason.Bootstrap\n : EvaluationReason.InvalidBootstrap;\n // clients are going to assume that the SDK is bootstrapped after this method runs\n // if we fail to parse, we will fall back to defaults, but we dont want to throw\n // when clients try to check gates/configs/etc after this point\n this._loaded = true;\n try {\n this._userValues.feature_gates = (_a = initializeValues.feature_gates) !== null && _a !== void 0 ? _a : {};\n this._userValues.dynamic_configs = (_b = initializeValues.dynamic_configs) !== null && _b !== void 0 ? _b : {};\n this._userValues.layer_configs = (_c = initializeValues.layer_configs) !== null && _c !== void 0 ? _c : {};\n this._userValues.evaluation_time = Date.now();\n this._userValues.time = (_d = initializeValues.time) !== null && _d !== void 0 ? _d : Date.now();\n this._userValues.exposures = (_f = initializeValues.exposures) !== null && _f !== void 0 ? _f : [];\n this._userValues.hash_used = (_g = initializeValues.hash_used) !== null && _g !== void 0 ? _g : 'djb2';\n this._values[key] = this._userValues;\n this._reason = reason;\n var generatorSDKInfo = (_h = initializeValues.sdkInfo) !== null && _h !== void 0 ? _h : initializeValues.sdk_info;\n this._userValues.bootstrapMetadata = {};\n if (generatorSDKInfo != null) {\n this._userValues.bootstrapMetadata.generatorSDKInfo = generatorSDKInfo;\n }\n if (initializeValues.user != null) {\n this._userValues.bootstrapMetadata.user =\n initializeValues.user;\n }\n if (initializeValues.time != null) {\n this._userValues.bootstrapMetadata.lcut =\n initializeValues.time;\n }\n }\n catch (_e) {\n return;\n }\n };\n StatsigStore.prototype.getBootstrapMetadata = function () {\n var _a;\n return (_a = this._userValues.bootstrapMetadata) !== null && _a !== void 0 ? _a : null;\n };\n StatsigStore.prototype.isLoaded = function () {\n return this._loaded;\n };\n StatsigStore.prototype.getLastUpdateTime = function (user) {\n var userHash = (0, Hashing_1.djb2HashForObject)(user);\n if (this._userValues.user_hash == userHash) {\n return this._userValues.time;\n }\n return null;\n };\n StatsigStore.prototype.getPreviousDerivedFields = function (user) {\n var userHash = (0, Hashing_1.djb2HashForObject)(user);\n if (this._userValues.user_hash == userHash) {\n return this._userValues.derived_fields;\n }\n return undefined;\n };\n StatsigStore.prototype.setEvaluationReason = function (evalReason) {\n this._reason = evalReason;\n };\n StatsigStore.prototype.save = function (user, jsonConfigs, updateState) {\n if (updateState === void 0) { updateState = true; }\n return __awaiter(this, void 0, void 0, function () {\n var requestedUserCacheKey, initResponse, userValues, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n requestedUserCacheKey = (0, Hashing_1.getUserCacheKey)(user);\n initResponse = jsonConfigs;\n this._mergeInitializeResponseIntoUserMap(initResponse, this._values, requestedUserCacheKey, user, function (userValues) { return userValues; });\n if (updateState) {\n userValues = this._values[requestedUserCacheKey];\n if (userValues &&\n requestedUserCacheKey &&\n requestedUserCacheKey == this._userCacheKey) {\n this._userValues = userValues;\n this._reason = EvaluationReason.Network;\n }\n }\n _a = this;\n return [4 /*yield*/, this._writeValuesToStorage(this._values)];\n case 1:\n _a._values = _b.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n StatsigStore.prototype.checkGate = function (gateName) {\n var _a, _b;\n var gateNameHash = (0, Hashing_1.getHashValue)(gateName, this._userValues.hash_used);\n var gateValue = {\n name: gateName,\n value: false,\n rule_id: '',\n secondary_exposures: [],\n };\n var details;\n var value = (_a = this._userValues) === null || _a === void 0 ? void 0 : _a.feature_gates[gateNameHash];\n if (value) {\n gateValue = value;\n }\n gateValue.secondary_exposures = this.mapExposures((_b = gateValue.secondary_exposures) !== null && _b !== void 0 ? _b : []);\n details = this._getEvaluationDetails(value != null);\n return { evaluationDetails: details, gate: gateValue };\n };\n StatsigStore.prototype.mapExposures = function (exposures) {\n var _this = this;\n return exposures.map(function (exposure) {\n var _a;\n if (typeof exposure === 'string') {\n return ((_a = _this._userValues.exposures) !== null && _a !== void 0 ? _a : {})[exposure];\n }\n return exposure;\n });\n };\n StatsigStore.prototype.getConfig = function (configName) {\n var _a, _b;\n var configNameHash = (0, Hashing_1.getHashValue)(configName, this._userValues.hash_used);\n var configValue;\n var details;\n if (((_a = this._userValues) === null || _a === void 0 ? void 0 : _a.dynamic_configs[configNameHash]) != null) {\n var rawConfigValue = (_b = this._userValues) === null || _b === void 0 ? void 0 : _b.dynamic_configs[configNameHash];\n details = this._getEvaluationDetails(true);\n configValue = this._createDynamicConfig(configName, rawConfigValue, details);\n }\n else {\n details = this._getEvaluationDetails(false);\n configValue = new DynamicConfig_1.default(configName, {}, '', details);\n }\n return configValue;\n };\n StatsigStore.prototype.getLayer = function (logParameterFunction, layerName) {\n var _a, _b, _c, _d, _f;\n var latestValue = this._getLatestValue(layerName, 'layer_configs');\n var details = this._getEvaluationDetails(latestValue != null);\n return Layer_1.default._create(layerName, (_a = latestValue === null || latestValue === void 0 ? void 0 : latestValue.value) !== null && _a !== void 0 ? _a : {}, (_b = latestValue === null || latestValue === void 0 ? void 0 : latestValue.rule_id) !== null && _b !== void 0 ? _b : '', details, logParameterFunction, this.mapExposures((_c = latestValue === null || latestValue === void 0 ? void 0 : latestValue.secondary_exposures) !== null && _c !== void 0 ? _c : []), this.mapExposures((_d = latestValue === null || latestValue === void 0 ? void 0 : latestValue.undelegated_secondary_exposures) !== null && _d !== void 0 ? _d : []), (_f = latestValue === null || latestValue === void 0 ? void 0 : latestValue.allocated_experiment_name) !== null && _f !== void 0 ? _f : '', latestValue === null || latestValue === void 0 ? void 0 : latestValue.explicit_parameters);\n };\n StatsigStore.prototype.getGlobalEvaluationDetails = function () {\n var _a, _b;\n return {\n reason: (_a = this._reason) !== null && _a !== void 0 ? _a : EvaluationReason.Uninitialized,\n time: (_b = this._userValues.evaluation_time) !== null && _b !== void 0 ? _b : 0,\n };\n };\n StatsigStore.prototype._loadFromLocalStorage = function () {\n this._parseCachedValues(StatsigLocalStorage_1.default.getItem(Constants_1.INTERNAL_STORE_KEY));\n this._loaded = true;\n };\n StatsigStore.prototype._parseCachedValues = function (allValues) {\n try {\n this._values = allValues ? JSON.parse(allValues) : this._values;\n this._setUserValueFromCache();\n }\n catch (e) {\n // Cached value corrupted, remove cache\n this._removeFromStorage(Constants_1.INTERNAL_STORE_KEY);\n }\n };\n StatsigStore.prototype._setUserValueFromCache = function () {\n var _a;\n var cachedValues = this._values[this._userCacheKey];\n if (cachedValues == null) {\n this._resetUserValues();\n this._reason = EvaluationReason.Uninitialized;\n return null;\n }\n this._userValues = cachedValues;\n this._reason = EvaluationReason.Cache;\n return (_a = cachedValues.evaluation_time) !== null && _a !== void 0 ? _a : 0;\n };\n StatsigStore.prototype._removeFromStorage = function (key) {\n StatsigLocalStorage_1.default.removeItem(key);\n };\n /**\n * Merges the provided init configs into the provided config map, according to the provided merge function\n */\n StatsigStore.prototype._mergeInitializeResponseIntoUserMap = function (data, configMap, requestedUserCacheKey, user, mergeFn) {\n if (requestedUserCacheKey) {\n var requestedUserValues = this._convertAPIDataToCacheValues(data, requestedUserCacheKey);\n if (data.has_updates && data.time) {\n var userHash = (0, Hashing_1.djb2HashForObject)(user);\n requestedUserValues.user_hash = userHash;\n }\n configMap[requestedUserCacheKey] = mergeFn(requestedUserValues, requestedUserCacheKey);\n }\n };\n StatsigStore.prototype._getDefaultUserCacheValues = function () {\n return {\n feature_gates: {},\n layer_configs: {},\n dynamic_configs: {},\n time: 0,\n evaluation_time: 0,\n has_updates: false,\n };\n };\n /**\n * Writes the provided values to storage, truncating down to\n * MAX_USER_VALUE_CACHED number entries.\n * @returns The truncated entry list\n */\n StatsigStore.prototype._writeValuesToStorage = function (valuesToWrite) {\n return __awaiter(this, void 0, void 0, function () {\n var filteredValues;\n return __generator(this, function (_a) {\n filteredValues = Object.entries(valuesToWrite)\n .sort(function (_a, _b) {\n var _c, _d;\n var a = _a[1];\n var b = _b[1];\n if (a == null) {\n return 1;\n }\n if (b == null) {\n return -1;\n }\n return (((_c = b === null || b === void 0 ? void 0 : b.evaluation_time) !== null && _c !== void 0 ? _c : b === null || b === void 0 ? void 0 : b.time) - ((_d = a === null || a === void 0 ? void 0 : a.evaluation_time) !== null && _d !== void 0 ? _d : a === null || a === void 0 ? void 0 : a.time));\n })\n .slice(0, MAX_USER_VALUE_CACHED);\n valuesToWrite = Object.fromEntries(filteredValues);\n StatsigLocalStorage_1.default.setItem(Constants_1.INTERNAL_STORE_KEY, JSON.stringify(valuesToWrite));\n return [2 /*return*/, valuesToWrite];\n });\n });\n };\n StatsigStore.prototype._getLatestValue = function (name, topLevelKey) {\n var _a, _b, _c, _d, _f;\n var hash = (0, Hashing_1.getHashValue)(name, this._userValues.hash_used);\n return ((_c = (_b = (_a = this._userValues) === null || _a === void 0 ? void 0 : _a[topLevelKey]) === null || _b === void 0 ? void 0 : _b[hash]) !== null && _c !== void 0 ? _c : (_f = (_d = this._userValues) === null || _d === void 0 ? void 0 : _d[topLevelKey]) === null || _f === void 0 ? void 0 : _f[name]);\n };\n StatsigStore.prototype._createDynamicConfig = function (name, apiConfig, details) {\n var _a, _b, _c, _d;\n return new DynamicConfig_1.default(name, (_a = apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.value) !== null && _a !== void 0 ? _a : {}, (_b = apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.rule_id) !== null && _b !== void 0 ? _b : '', details, this.mapExposures((_c = apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.secondary_exposures) !== null && _c !== void 0 ? _c : []), (_d = apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.allocated_experiment_name) !== null && _d !== void 0 ? _d : '', this._makeOnConfigDefaultValueFallback(this._identity._user));\n };\n StatsigStore.prototype._getEvaluationDetails = function (valueExists, reasonOverride) {\n var _a;\n if (valueExists) {\n return {\n reason: this._reason,\n time: (_a = this._userValues.evaluation_time) !== null && _a !== void 0 ? _a : Date.now(),\n };\n }\n else {\n return {\n reason: reasonOverride !== null && reasonOverride !== void 0 ? reasonOverride : (this._reason == EvaluationReason.Uninitialized\n ? EvaluationReason.Uninitialized\n : EvaluationReason.Unrecognized),\n time: Date.now(),\n };\n }\n };\n StatsigStore.prototype._resetUserValues = function () {\n this._userValues = this._getDefaultUserCacheValues();\n };\n StatsigStore.prototype._convertAPIDataToCacheValues = function (data, cacheKey) {\n // Specifically pulling keys from data here to avoid pulling in unwanted keys\n return {\n feature_gates: data.feature_gates,\n layer_configs: data.layer_configs,\n dynamic_configs: data.dynamic_configs,\n time: data.time == null || isNaN(data.time) ? 0 : data.time,\n evaluation_time: Date.now(),\n derived_fields: data.derived_fields,\n hash_used: data.hash_used,\n };\n };\n StatsigStore.prototype._makeOnConfigDefaultValueFallback = function (user) {\n var _this = this;\n return function (config, parameter, defaultValueType, valueType) {\n if (!_this.isLoaded()) {\n return;\n }\n _this._onDefaultValueFallback(user, \"Parameter \".concat(parameter, \" is a value of type \").concat(valueType, \".\\n Returning requested defaultValue type \").concat(defaultValueType), {\n name: config._name,\n ruleID: config._ruleID,\n parameter: parameter,\n defaultValueType: defaultValueType,\n valueType: valueType,\n });\n };\n };\n return StatsigStore;\n}());\nexports.default = StatsigStore;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EvaluationReason = exports.Layer = exports.DynamicConfig = void 0;\nvar Errors_1 = require(\"./Errors\");\nvar StatsigClient_1 = __importDefault(require(\"./StatsigClient\"));\nvar StatsigStore_1 = require(\"./StatsigStore\");\nvar DynamicConfig_1 = require(\"./DynamicConfig\");\nObject.defineProperty(exports, \"DynamicConfig\", { enumerable: true, get: function () { return __importDefault(DynamicConfig_1).default; } });\nvar Layer_1 = require(\"./Layer\");\nObject.defineProperty(exports, \"Layer\", { enumerable: true, get: function () { return __importDefault(Layer_1).default; } });\nvar StatsigStore_2 = require(\"./StatsigStore\");\nObject.defineProperty(exports, \"EvaluationReason\", { enumerable: true, get: function () { return StatsigStore_2.EvaluationReason; } });\nvar Statsig = /** @class */ (function () {\n function Statsig() {\n }\n Statsig.initialize = function (sdkKey, user, options) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var inst;\n return __generator(this, function (_b) {\n inst = (_a = Statsig.instance) !== null && _a !== void 0 ? _a : new StatsigClient_1.default(sdkKey, user, options);\n if (!Statsig.instance) {\n Statsig.instance = inst;\n }\n return [2 /*return*/, inst.initializeAsync()];\n });\n });\n };\n Statsig.setInitializeValues = function (initializeValues) {\n Statsig._getClientX().setInitializeValues(initializeValues);\n };\n // Gate\n Statsig.checkGate = function (gateName) {\n return Statsig._getClientX().checkGate(gateName);\n };\n Statsig.checkGateWithExposureLoggingDisabled = function (gateName) {\n return Statsig._getClientX().checkGateWithExposureLoggingDisabled(gateName);\n };\n Statsig.manuallyLogGateExposure = function (gateName) {\n Statsig._getClientX().logGateExposure(gateName);\n };\n // Config\n Statsig.getConfig = function (configName) {\n return Statsig._getClientX().getConfig(configName);\n };\n Statsig.getConfigWithExposureLoggingDisabled = function (configName) {\n return Statsig._getClientX().getConfigWithExposureLoggingDisabled(configName);\n };\n Statsig.manuallyLogConfigExposure = function (configName) {\n Statsig._getClientX().logConfigExposure(configName);\n };\n // Experiment\n Statsig.getExperiment = function (experimentName) {\n return Statsig._getClientX().getExperiment(experimentName);\n };\n Statsig.getExperimentWithExposureLoggingDisabled = function (experimentName) {\n return Statsig._getClientX().getExperimentWithExposureLoggingDisabled(experimentName);\n };\n Statsig.manuallyLogExperimentExposure = function (configName) {\n Statsig._getClientX().logExperimentExposure(configName);\n };\n // Layer\n Statsig.getLayer = function (layerName) {\n return Statsig._getClientX().getLayer(layerName);\n };\n Statsig.getLayerWithExposureLoggingDisabled = function (layerName) {\n return Statsig._getClientX().getLayerWithExposureLoggingDisabled(layerName);\n };\n Statsig.manuallyLogLayerParameterExposure = function (layerName, parameterName) {\n Statsig._getClientX().logLayerParameterExposure(layerName, parameterName);\n };\n Statsig.logEvent = function (eventName, value, metadata) {\n if (value === void 0) { value = null; }\n if (metadata === void 0) { metadata = null; }\n return Statsig._getClientX().logEvent(eventName, value, metadata);\n };\n Statsig.updateUser = function (user) {\n return Statsig._getClientX().updateUser(user);\n };\n Statsig.updateUserWithValues = function (user, values) {\n return Statsig._getClientX().updateUserWithValues(user, values);\n };\n Statsig.shutdown = function () {\n Statsig._getClientX().shutdown();\n Statsig.instance = null;\n };\n Statsig.overrideGate = function (gate, result) {\n Statsig._getClientX().overrideGate(gate, result);\n };\n Statsig.overrideConfig = function (config, result) {\n Statsig._getClientX().overrideConfig(config, result);\n };\n Statsig.overrideLayer = function (layer, result) {\n Statsig._getClientX().overrideLayer(layer, result);\n };\n Statsig.setOverrides = function (overrides) {\n Statsig._getClientX().setOverrides(overrides);\n };\n Statsig.getOverrides = function () {\n return Statsig._getClientX().getOverrides();\n };\n /**\n * @returns The Statsig stable ID used for device level experiments\n */\n Statsig.getStableID = function () {\n return Statsig._getClientX().getStableID();\n };\n /**\n *\n * @returns The reason and time associated with the evaluation for the current set\n * of gates and configs\n */\n Statsig.getEvaluationDetails = function () {\n var _a, _b;\n return ((_b = (_a = Statsig.instance) === null || _a === void 0 ? void 0 : _a.getEvaluationDetails()) !== null && _b !== void 0 ? _b : {\n reason: StatsigStore_1.EvaluationReason.Uninitialized,\n time: 0,\n });\n };\n /**\n *\n * @returns true if initialize has already been called, false otherwise\n */\n Statsig.initializeCalled = function () {\n return Statsig.instance != null && Statsig.instance.initializeCalled();\n };\n Statsig._getClientX = function () {\n if (!Statsig.instance) {\n throw new Errors_1.StatsigUninitializedError();\n }\n return Statsig.instance;\n };\n Statsig.instance = null;\n return Statsig;\n}());\nexports.default = Statsig;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BootstrapValidator = /** @class */ (function () {\n function BootstrapValidator() {\n }\n BootstrapValidator.isValid = function (user, values) {\n try {\n var evaluatedKeys = values['evaluated_keys'];\n if (!evaluatedKeys) {\n var user_1 = values['user'];\n if (user_1) {\n evaluatedKeys = {};\n evaluatedKeys['userID'] = user_1['userID'];\n if (user_1['customIDs']) {\n evaluatedKeys['customIDs'] = user_1['customIDs'];\n }\n }\n }\n if (!evaluatedKeys || typeof evaluatedKeys !== 'object') {\n return true;\n }\n var evaluatedKeysRecord = this.copyObject(evaluatedKeys);\n var userToCompare = user == null ? null : this.copyObject(user);\n return (BootstrapValidator.validate(evaluatedKeysRecord, userToCompare) &&\n BootstrapValidator.validate(userToCompare, evaluatedKeysRecord));\n }\n catch (error) {\n // This is best-effort. If we fail, return true.\n }\n return true;\n };\n BootstrapValidator.validate = function (one, two) {\n if (one == null) {\n return two == null;\n }\n else if (two == null) {\n return false;\n }\n for (var _i = 0, _a = Object.entries(one); _i < _a.length; _i++) {\n var _b = _a[_i], key = _b[0], value = _b[1];\n if (key === 'stableID') {\n continue;\n }\n if (typeof value !== typeof two[key]) {\n return false;\n }\n if (typeof value === 'string') {\n if (value !== two[key]) {\n return false;\n }\n }\n else if (typeof value === 'object') {\n return this.validate(value, two[key]);\n }\n else {\n // unexpected\n return false;\n }\n }\n return true;\n };\n BootstrapValidator.copyObject = function (obj) {\n if (obj == null) {\n return null;\n }\n var copy = {};\n if (obj === null || obj === void 0 ? void 0 : obj.userID) {\n copy['userID'] = obj === null || obj === void 0 ? void 0 : obj.userID;\n }\n if (obj === null || obj === void 0 ? void 0 : obj.customIDs) {\n var customIDs = __assign({}, obj.customIDs);\n delete customIDs['stableID'];\n if (Object.keys(customIDs).length !== 0) {\n copy['customIDs'] = customIDs;\n }\n }\n return copy;\n };\n return BootstrapValidator;\n}());\nexports.default = BootstrapValidator;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LOCAL_STORAGE_KEYS = exports.STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY = exports.STATSIG_STABLE_ID_KEY = exports.INTERNAL_STORE_KEY = void 0;\nexports.INTERNAL_STORE_KEY = 'STATSIG_STORE';\nexports.STATSIG_STABLE_ID_KEY = 'STATSIG_STABLE_ID';\nexports.STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY = 'STATSIG_LOGS';\nexports.LOCAL_STORAGE_KEYS = {\n INTERNAL_STORE_KEY: true,\n STATSIG_STABLE_ID_KEY: true,\n STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY: true,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getUserCacheKey = exports.getSortedObject = exports.djb2HashForObject = exports.getHashValue = exports.SimpleHash = void 0;\nfunction SimpleHash(value) {\n var hash = 0;\n for (var i = 0; i < value.length; i++) {\n var character = value.charCodeAt(i);\n hash = (hash << 5) - hash + character;\n hash = hash & hash; // Convert to 32bit integer\n }\n return String(hash >>> 0);\n}\nexports.SimpleHash = SimpleHash;\nfunction getHashValue(value, hash_used) {\n if (hash_used === 'none') {\n return value;\n }\n return SimpleHash(value);\n}\nexports.getHashValue = getHashValue;\nfunction djb2HashForObject(object) {\n return SimpleHash(JSON.stringify(getSortedObject(object)));\n}\nexports.djb2HashForObject = djb2HashForObject;\nfunction getSortedObject(object) {\n if (object == null) {\n return null;\n }\n var keys = Object.keys(object).sort();\n var sortedObject = {};\n keys.forEach(function (key) {\n var value = object[key];\n if (value instanceof Object) {\n value = getSortedObject(value);\n }\n sortedObject[key] = value;\n });\n return sortedObject;\n}\nexports.getSortedObject = getSortedObject;\nfunction getUserCacheKey(user) {\n var _a;\n var key = \"userID:\".concat(String((_a = user === null || user === void 0 ? void 0 : user.userID) !== null && _a !== void 0 ? _a : ''));\n var customIDs = user === null || user === void 0 ? void 0 : user.customIDs;\n if (customIDs != null) {\n for (var _i = 0, _b = Object.entries(customIDs); _i < _b.length; _i++) {\n var _c = _b[_i], type = _c[0], value = _c[1];\n key += \";\".concat(type, \":\").concat(value);\n }\n }\n return SimpleHash(key);\n}\nexports.getUserCacheKey = getUserCacheKey;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.verifySDKKeyUsed = void 0;\nvar Errors_1 = require(\"../Errors\");\nvar Hashing_1 = require(\"./Hashing\");\nfunction verifySDKKeyUsed(json, sdkKey, errorBoundary) {\n var hashedSDKKeyUsed = json === null || json === void 0 ? void 0 : json.hashed_sdk_key_used;\n if (hashedSDKKeyUsed != null &&\n hashedSDKKeyUsed !== (0, Hashing_1.SimpleHash)(sdkKey !== null && sdkKey !== void 0 ? sdkKey : '')) {\n errorBoundary._logError('fetchAndSaveValues', new Errors_1.StatsigSDKKeyMismatchError('The SDK key provided does not match the one used to generate values.'));\n return false;\n }\n return true;\n}\nexports.verifySDKKeyUsed = verifySDKKeyUsed;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar StatsigLocalStorage = /** @class */ (function () {\n function StatsigLocalStorage() {\n }\n StatsigLocalStorage.getItem = function (key) {\n var _a;\n try {\n if (this.isStorageAccessible()) {\n return window.localStorage.getItem(key);\n }\n }\n catch (e) { }\n return (_a = this.fallbackSessionCache[key]) !== null && _a !== void 0 ? _a : null;\n };\n StatsigLocalStorage.setItem = function (key, value) {\n try {\n if (this.isStorageAccessible()) {\n window.localStorage.setItem(key, value);\n return;\n }\n }\n catch (e) { }\n this.fallbackSessionCache[key] = value;\n };\n StatsigLocalStorage.removeItem = function (key) {\n try {\n if (this.isStorageAccessible()) {\n window.localStorage.removeItem(key);\n return;\n }\n }\n catch (e) { }\n delete this.fallbackSessionCache[key];\n };\n StatsigLocalStorage.isStorageAccessible = function (ignoreDisabledOption) {\n if (ignoreDisabledOption === void 0) { ignoreDisabledOption = false; }\n if (this.canAccessStorageAccessible == null) {\n this.canAccessStorageAccessible =\n typeof Storage !== 'undefined' &&\n typeof window !== 'undefined' &&\n window != null &&\n window.localStorage != null;\n }\n var canAccess = this.canAccessStorageAccessible;\n if (ignoreDisabledOption) {\n return canAccess;\n }\n return !this.disabled && canAccess;\n };\n StatsigLocalStorage.disabled = false;\n StatsigLocalStorage.fallbackSessionCache = {};\n StatsigLocalStorage.canAccessStorageAccessible = null;\n return StatsigLocalStorage;\n}());\nexports.default = StatsigLocalStorage;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.difference = exports.now = void 0;\nfunction now() {\n if (typeof performance === 'undefined' || !performance) {\n return Date.now();\n }\n return performance.now() | 0;\n}\nexports.now = now;\nfunction difference(time) {\n return now() - time;\n}\nexports.difference = difference;\n","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","// 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].call(module.exports, 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 \"\" + {\"138\":\"./themes/shape\",\"177\":\"./themes/legacy-light\",\"186\":\"./themes/typography-modernized\",\"213\":\"./themes/typography-refreshed\",\"381\":\"./themes/light\",\"479\":\"./themes/dark\",\"498\":\"./themes/spacing\",\"567\":\"./themes/light-future\",\"592\":\"./themes/typography-adg3\",\"915\":\"./themes/legacy-dark\",\"917\":\"./themes/dark-future\"}[chunkId] + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// 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\t203: 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}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = window[\"webpackChunk_auiPrototyping\"] = window[\"webpackChunk_auiPrototyping\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { EventEmitter2 } from 'eventemitter2';\nexport var ALL_FEATURE_VALUES = '@all-features';\nvar Subscriptions = /*#__PURE__*/function () {\n function Subscriptions() {\n _classCallCheck(this, Subscriptions);\n _defineProperty(this, \"eventToValue\", new Map());\n this.emitter = new EventEmitter2();\n }\n return _createClass(Subscriptions, [{\n key: \"onGateUpdated\",\n value: function onGateUpdated(gateName, callback, checkGate, options) {\n var _this = this;\n var value = checkGate(gateName, _objectSpread(_objectSpread({}, options), {}, {\n fireGateExposure: false\n }));\n if (this.eventToValue.get(callback) === undefined) {\n this.eventToValue.set(callback, value);\n }\n var wrapCallback = function wrapCallback() {\n var value = checkGate(gateName, _objectSpread(_objectSpread({}, options), {}, {\n fireGateExposure: false\n }));\n var existingValue = _this.eventToValue.get(callback);\n if (existingValue !== value) {\n _this.eventToValue.set(callback, value);\n callback(value);\n }\n };\n this.emitter.on(gateName, wrapCallback);\n return function () {\n _this.emitter.off(gateName, wrapCallback);\n };\n }\n }, {\n key: \"onExperimentValueUpdated\",\n value: function onExperimentValueUpdated(experimentName, parameterName, defaultValue, callback, getExperimentValue, options) {\n var _this2 = this;\n var experimentEventName = \"\".concat(experimentName, \".\").concat(parameterName);\n var value = getExperimentValue(experimentName, parameterName, defaultValue, _objectSpread(_objectSpread({}, options), {}, {\n fireExperimentExposure: false\n }));\n if (this.eventToValue.get(callback) === undefined) {\n this.eventToValue.set(callback, value);\n }\n var wrapCallback = function wrapCallback() {\n var value = getExperimentValue(experimentName, parameterName, defaultValue, _objectSpread(_objectSpread({}, options), {}, {\n fireExperimentExposure: false\n }));\n var existingValue = _this2.eventToValue.get(callback);\n if (existingValue !== value) {\n _this2.eventToValue.set(callback, value);\n callback(value);\n }\n };\n this.emitter.on(experimentEventName, wrapCallback);\n return function () {\n _this2.emitter.off(experimentEventName, wrapCallback);\n };\n }\n }, {\n key: \"onAnyUpdated\",\n value: function onAnyUpdated(callback) {\n var _this3 = this;\n this.emitter.on(ALL_FEATURE_VALUES, callback);\n return function () {\n _this3.emitter.off(ALL_FEATURE_VALUES, callback);\n };\n }\n }, {\n key: \"anyUpdated\",\n value: function anyUpdated() {\n var _this4 = this;\n this.emitter.emit(ALL_FEATURE_VALUES);\n this.emitter.eventNames().filter(function (name) {\n return name !== ALL_FEATURE_VALUES;\n }).forEach(function (event) {\n _this4.emitter.emit(event);\n });\n }\n }]);\n}();\nexport { Subscriptions as default };","/**\n * The identifiers for the user. Options are restricted to the set that is currently supported.\n */\n\n/**\n * Base client options. Does not include any options specific to providers\n * @interface BaseClientOptions\n * @property {FeatureGateEnvironment} environment - The environment for the client.\n * @property {string} targetApp - The target app for the client.\n * @property {AnalyticsWebClient} analyticsWebClient - The analytics web client.\n * @property {PerimeterType} perimeter - The perimeter for the client.\n */\n\n/**\n * The options for the client.\n * @interface ClientOptions\n * @extends {BaseClientOptions}\n * @property {string} apiKey - The API key for the client.\n * @property {fetchTimeoutMs} fetchTimeoutMs - The timeout for the fetch request in milliseconds. Defaults to 5000.\n * @property {boolean} useGatewayURL - Whether to use the gateway URL. Defaults to false.\n */\n\n/**\n * The custom attributes for the user.\n */\n\nexport var FeatureGateEnvironment = /*#__PURE__*/function (FeatureGateEnvironment) {\n FeatureGateEnvironment[\"Development\"] = \"development\";\n FeatureGateEnvironment[\"Staging\"] = \"staging\";\n FeatureGateEnvironment[\"Production\"] = \"production\";\n return FeatureGateEnvironment;\n}({});\n\n// If adding new values here, please check FeatureGates.getDefaultPerimeter to make sure it still returns something sensible.\nexport var PerimeterType = /*#__PURE__*/function (PerimeterType) {\n PerimeterType[\"COMMERCIAL\"] = \"commercial\";\n PerimeterType[\"FEDRAMP_MODERATE\"] = \"fedramp-moderate\";\n return PerimeterType;\n}({});\nexport var NON_BOOLEAN_VALUE = 'non_boolean';\n\n// Type magic to get the JSDoc comments from the Client class methods to appear on the static\n// methods in FeatureGates where the property name and function type are identical","/// <reference types=\"node\" />\nexport var CLIENT_VERSION = \"4.23.4\";","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, _wrapNativeSuper(t);\n}\nexport { _wrapNativeSuper as default };","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nexport { _isNativeFunction as default };","import isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nexport { _construct as default };","import _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _wrapNativeSuper from \"@babel/runtime/helpers/wrapNativeSuper\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nexport var ResponseError = /*#__PURE__*/function (_Error) {\n function ResponseError(message) {\n _classCallCheck(this, ResponseError);\n return _callSuper(this, ResponseError, [message]);\n }\n _inherits(ResponseError, _Error);\n return _createClass(ResponseError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { FeatureGateEnvironment, PerimeterType } from '../types';\nimport { CLIENT_VERSION } from '../version';\nimport { ResponseError } from './errors';\nvar DEFAULT_REQUEST_TIMEOUT_MS = 5000;\nexport var PROD_BASE_URL = 'https://api.atlassian.com/flags';\nexport var STAGING_BASE_URL = 'https://api.stg.atlassian.com/flags';\nexport var DEV_BASE_URL = 'https://api.dev.atlassian.com/flags';\nexport var FEDM_STAGING_BASE_URL = 'https://api.stg.atlassian-us-gov-mod.com/flags';\nexport var FEDM_PROD_BASE_URL = 'https://api.atlassian-us-gov-mod.com/flags';\nexport var GATEWAY_BASE_URL = '/gateway/api/flags';\nvar Fetcher = /*#__PURE__*/function () {\n function Fetcher() {\n _classCallCheck(this, Fetcher);\n }\n return _createClass(Fetcher, null, [{\n key: \"fetchClientSdk\",\n value: function () {\n var _fetchClientSdk = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(fetcherOptions) {\n var targetApp, url;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n targetApp = fetcherOptions.targetApp;\n url = \"/api/v2/frontend/clientSdkKey/\".concat(targetApp);\n _context.prev = 2;\n _context.next = 5;\n return this.fetchRequest(url, 'GET', fetcherOptions);\n case 5:\n return _context.abrupt(\"return\", _context.sent);\n case 8:\n _context.prev = 8;\n _context.t0 = _context[\"catch\"](2);\n if (!(_context.t0 instanceof Error)) {\n _context.next = 12;\n break;\n }\n throw _context.t0;\n case 12:\n throw Error('Failed to retrieve client sdk key');\n case 13:\n case \"end\":\n return _context.stop();\n }\n }, _callee, this, [[2, 8]]);\n }));\n function fetchClientSdk(_x) {\n return _fetchClientSdk.apply(this, arguments);\n }\n return fetchClientSdk;\n }()\n }, {\n key: \"fetchExperimentValues\",\n value: function () {\n var _fetchExperimentValues = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(fetcherOptions, identifiers, customAttributes) {\n var requestBody;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n requestBody = {\n identifiers: identifiers,\n customAttributes: customAttributes,\n targetApp: fetcherOptions.targetApp\n };\n _context2.prev = 1;\n _context2.next = 4;\n return this.fetchRequest('/api/v2/frontend/experimentValues', 'POST', fetcherOptions, requestBody);\n case 4:\n return _context2.abrupt(\"return\", _context2.sent);\n case 7:\n _context2.prev = 7;\n _context2.t0 = _context2[\"catch\"](1);\n if (!(_context2.t0 instanceof Error)) {\n _context2.next = 11;\n break;\n }\n throw _context2.t0;\n case 11:\n throw Error('Failed to retrieve experiment values');\n case 12:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, this, [[1, 7]]);\n }));\n function fetchExperimentValues(_x2, _x3, _x4) {\n return _fetchExperimentValues.apply(this, arguments);\n }\n return fetchExperimentValues;\n }()\n }, {\n key: \"handleResponseError\",\n value: function () {\n var _handleResponseError = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(response) {\n var body;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n if (response.ok) {\n _context3.next = 5;\n break;\n }\n _context3.next = 3;\n return response.text();\n case 3:\n body = _context3.sent;\n throw new ResponseError(\"Non 2xx response status received, status: \".concat(response.status, \", body: \").concat(JSON.stringify(body)));\n case 5:\n if (!(response.status === 204)) {\n _context3.next = 7;\n break;\n }\n throw new ResponseError('Unexpected 204 response');\n case 7:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n function handleResponseError(_x5) {\n return _handleResponseError.apply(this, arguments);\n }\n return handleResponseError;\n }()\n }, {\n key: \"extractResponseBody\",\n value: function () {\n var _extractResponseBody = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(response) {\n var value;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return response.text();\n case 2:\n value = _context4.sent;\n return _context4.abrupt(\"return\", JSON.parse(value));\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n function extractResponseBody(_x6) {\n return _extractResponseBody.apply(this, arguments);\n }\n return extractResponseBody;\n }()\n }, {\n key: \"getBaseUrl\",\n value: function getBaseUrl(serviceEnv) {\n var useGatewayUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var perimeter = arguments.length > 2 ? arguments[2] : undefined;\n if (useGatewayUrl) {\n return GATEWAY_BASE_URL;\n }\n if (perimeter === PerimeterType.FEDRAMP_MODERATE) {\n switch (serviceEnv) {\n case FeatureGateEnvironment.Production:\n return FEDM_PROD_BASE_URL;\n case FeatureGateEnvironment.Staging:\n return FEDM_STAGING_BASE_URL;\n default:\n throw new Error(\"Invalid environment \\\"\".concat(serviceEnv, \"\\\" for \\\"\").concat(perimeter, \"\\\" perimeter\"));\n }\n } else if (perimeter === PerimeterType.COMMERCIAL) {\n switch (serviceEnv) {\n case FeatureGateEnvironment.Development:\n return DEV_BASE_URL;\n case FeatureGateEnvironment.Staging:\n return STAGING_BASE_URL;\n default:\n return PROD_BASE_URL;\n }\n } else {\n throw new Error(\"Invalid perimeter \\\"\".concat(perimeter, \"\\\"\"));\n }\n }\n }, {\n key: \"fetchRequest\",\n value: function () {\n var _fetchRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(path, method, fetcherOptions, body) {\n var baseUrl, fetchTimeout, abortSignal, abortController, response;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n baseUrl = Fetcher.getBaseUrl(fetcherOptions.environment, fetcherOptions.useGatewayURL, fetcherOptions.perimeter);\n fetchTimeout = fetcherOptions.fetchTimeoutMs || DEFAULT_REQUEST_TIMEOUT_MS;\n if (AbortSignal.timeout) {\n abortSignal = AbortSignal.timeout(fetchTimeout);\n } else if (AbortController) {\n abortController = new AbortController();\n abortSignal = abortController.signal;\n setTimeout(function () {\n return abortController.abort();\n }, fetchTimeout);\n }\n _context5.next = 5;\n return fetch(\"\".concat(baseUrl).concat(path), _objectSpread({\n method: method,\n headers: {\n 'Content-Type': 'application/json',\n 'X-Client-Name': 'feature-gate-js-client',\n 'X-Client-Version': CLIENT_VERSION,\n 'X-API-KEY': fetcherOptions.apiKey\n },\n signal: abortSignal\n }, body && {\n body: JSON.stringify(body)\n }));\n case 5:\n response = _context5.sent;\n _context5.next = 8;\n return this.handleResponseError(response);\n case 8:\n _context5.next = 10;\n return this.extractResponseBody(response);\n case 10:\n return _context5.abrupt(\"return\", _context5.sent);\n case 11:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5, this);\n }));\n function fetchRequest(_x7, _x8, _x9, _x10) {\n return _fetchRequest.apply(this, arguments);\n }\n return fetchRequest;\n }()\n }]);\n}();\nexport { Fetcher as default };","import { FEDRAMP_MODERATE } from '../../common/constants';\n\n/**\n * Caution: Consider Alternatives Use of this function is not recommended as a long term solution, as it creates an assumption\n * there are no other isolated environments than just FedRAMP Moderate. You are encouraged to consider alternate solutions,\n * such as Statsig or environment configuration, that don’t require creating a hard dependency between your code features\n * and the FedRAMP environment.\n * See [go-is-fedramp](https://go.atlassian.com/is-fedramp)\n */\nexport function isFedRamp() {\n var _global$location;\n var global = globalThis;\n // MICROS_PERIMETER is already used by few products, so we need to keep it for backward compatibility\n var env = global.MICROS_PERIMETER || global.UNSAFE_ATL_CONTEXT_BOUNDARY;\n if (env) {\n return env === FEDRAMP_MODERATE;\n }\n var matches = (_global$location = global.location) === null || _global$location === void 0 || (_global$location = _global$location.hostname) === null || _global$location === void 0 ? void 0 : _global$location.match(/atlassian-us-gov-mod\\.(com|net)|atlassian-us-gov\\.(com|net)|atlassian-fex\\.(com|net)|atlassian-stg-fedm\\.(com|net)/);\n return matches ? matches.length > 0 : false;\n}","export var FEDRAMP_MODERATE = 'fedramp-moderate';\nexport var COMMERCIAL = 'commercial';\nexport var FEDRAMP_FEDEX = 'fedramp-fedex';\nexport var STAGING = 'stg';\nexport var PRODUCTION = 'prod';\nexport var DEV = 'dev';","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"sdkKey\", \"updateUserCompletionCallback\", \"perimeter\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { isFedRamp } from '@atlaskit/atlassian-context';\nimport { PerimeterType } from './types';\nexport var getOptionsWithDefaults = function getOptionsWithDefaults(options) {\n return _objectSpread({\n /**\n * If more federal PerimeterTypes are added in the future, this should be updated so\n * that isFedRamp() === true always returns the strictest perimeter.\n */\n perimeter: isFedRamp() ? PerimeterType.FEDRAMP_MODERATE : PerimeterType.COMMERCIAL\n }, options);\n};\nexport var shallowEquals = function shallowEquals(objectA, objectB) {\n if (!objectA && !objectB) {\n return true;\n }\n if (!objectA || !objectB) {\n return false;\n }\n var aEntries = Object.entries(objectA);\n var bEntries = Object.entries(objectB);\n if (aEntries.length !== bEntries.length) {\n return false;\n }\n var ascendingKeyOrder = function ascendingKeyOrder(_ref, _ref2) {\n var _ref3 = _slicedToArray(_ref, 1),\n key1 = _ref3[0];\n var _ref4 = _slicedToArray(_ref2, 1),\n key2 = _ref4[0];\n return key1.localeCompare(key2);\n };\n aEntries.sort(ascendingKeyOrder);\n bEntries.sort(ascendingKeyOrder);\n for (var i = 0; i < aEntries.length; i++) {\n var _aEntries$i = _slicedToArray(aEntries[i], 2),\n aValue = _aEntries$i[1];\n var _bEntries$i = _slicedToArray(bEntries[i], 2),\n bValue = _bEntries$i[1];\n if (aValue !== bValue) {\n return false;\n }\n }\n return true;\n};\n\n/**\n * This method creates an instance of StatsigUser from the given set of identifiers and\n * attributes.\n */\nexport var toStatsigUser = function toStatsigUser(identifiers, customAttributes) {\n var user = {\n customIDs: identifiers,\n custom: customAttributes\n };\n if (identifiers.atlassianAccountId) {\n user.userID = identifiers.atlassianAccountId;\n }\n return user;\n};\n\n/**\n * This method transforms the options given by the user into the format accepted by the Statsig\n * client.\n */\nexport var toStatsigOptions = function toStatsigOptions(options, initializeValues) {\n var sdkKey = options.sdkKey,\n updateUserCompletionCallback = options.updateUserCompletionCallback,\n perimeter = options.perimeter,\n restClientOptions = _objectWithoutProperties(options, _excluded);\n return _objectSpread(_objectSpread({}, restClientOptions), {}, {\n initializeValues: initializeValues,\n environment: {\n tier: options.environment\n },\n disableCurrentPageLogging: true\n }, options.updateUserCompletionCallback && {\n updateUserCompletionCallback: toStatsigUpdateUserCompletionCallback(options.updateUserCompletionCallback)\n });\n};\n/**\n * This method transforms an UpdateUserCompletionCallback in our own format into the format\n * accepted by the Statsig client.\n */\nexport var toStatsigUpdateUserCompletionCallback = function toStatsigUpdateUserCompletionCallback(callback) {\n /**\n * The duration passed to the callback indicates how long the update took, but it is deceptive\n * since it only times the Statsig code and doesn't account for all of the extra custom work we\n * do to obtain the bootstrap values. As a result, we just suppress this parameter in our own\n * callback rather than trying to keep it accurate.\n */\n return function (_duration, success, message) {\n callback(success, message);\n };\n};","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport Statsig, { DynamicConfig, EvaluationReason, Layer } from 'statsig-js-lite';\nimport Subscriptions from '../subscriptions';\nimport Fetcher from './fetcher';\nimport { FeatureGateEnvironment, PerimeterType } from './types';\nimport { getOptionsWithDefaults, shallowEquals, toStatsigOptions, toStatsigUser } from './utils';\nimport { CLIENT_VERSION } from './version';\nvar DEFAULT_CLIENT_KEY = 'client-default-key';\n// default event logging api is Atlassian proxy rather than Statsig's domain, to avoid ad blockers\nvar DEFAULT_EVENT_LOGGING_API = 'https://xp.atlassian.com/v1/';\nexport var Client = /*#__PURE__*/function () {\n function Client() {\n _classCallCheck(this, Client);\n _defineProperty(this, \"initPromise\", null);\n /** True if an initialize method was called and completed successfully. */\n _defineProperty(this, \"initCompleted\", false);\n /**\n * True if an initialize method was called and completed, meaning the client is now usable.\n * However if there was an error during initialization it may have initialized with default\n * values. Use {@link initCompleted} to check for this.\n */\n _defineProperty(this, \"initWithDefaults\", false);\n _defineProperty(this, \"hasCheckGateErrorOccurred\", false);\n _defineProperty(this, \"hasGetExperimentErrorOccurred\", false);\n _defineProperty(this, \"hasGetExperimentValueErrorOccurred\", false);\n _defineProperty(this, \"hasGetLayerErrorOccurred\", false);\n _defineProperty(this, \"hasGetLayerValueErrorOccurred\", false);\n _defineProperty(this, \"subscriptions\", new Subscriptions());\n }\n return _createClass(Client, [{\n key: \"initialize\",\n value: (\n /**\n * @description\n * This method initializes the client using a network call to fetch the bootstrap values.\n * If the client is inialized with an `analyticsWebClient`, it will send an operational event\n * to GASv3 with the following attributes:\n * - targetApp: the target app of the client\n * - clientVersion: the version of the client\n * - success: whether the initialization was successful\n * - startTime: the time when the initialization started\n * - totalTime: the total time it took to initialize the client\n * - apiKey: the api key used to initialize the client\n * @param clientOptions {ClientOptions}\n * @param identifiers {Identifiers}\n * @param customAttributes {CustomAttributes}\n * @returns {Promise<void>}\n */\n function () {\n var _initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(clientOptions, identifiers, customAttributes) {\n var _this = this;\n var clientOptionsWithDefaults, startTime;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n clientOptionsWithDefaults = getOptionsWithDefaults(clientOptions);\n if (!this.initPromise) {\n _context.next = 4;\n break;\n }\n if (!shallowEquals(clientOptionsWithDefaults, this.initOptions)) {\n // eslint-disable-next-line no-console\n console.warn('Feature Gates client already initialized with different options. New options were not applied.');\n }\n return _context.abrupt(\"return\", this.initPromise);\n case 4:\n startTime = performance.now();\n this.initOptions = clientOptionsWithDefaults;\n this.initPromise = this.init(clientOptionsWithDefaults, identifiers, customAttributes).then(function () {\n _this.initCompleted = true;\n _this.initWithDefaults = true;\n }).finally(function () {\n var endTime = performance.now();\n var totalTime = endTime - startTime;\n _this.fireClientEvent(startTime, totalTime, 'initialize', _this.initCompleted, clientOptionsWithDefaults.apiKey);\n });\n return _context.abrupt(\"return\", this.initPromise);\n case 8:\n case \"end\":\n return _context.stop();\n }\n }, _callee, this);\n }));\n function initialize(_x, _x2, _x3) {\n return _initialize.apply(this, arguments);\n }\n return initialize;\n }()\n /**\n * @description\n * This method initializes the client using the provider given to call to fetch the bootstrap values.\n * If the client is initialized with an `analyticsWebClient`, it will send an operational event\n * to GASv3 with the following attributes:\n * - targetApp: the target app of the client\n * - clientVersion: the version of the client\n * - success: whether the initialization was successful\n * - startTime: the time when the initialization started\n * - totalTime: the total time it took to initialize the client\n * - apiKey: the api key used to initialize the client\n * @param clientOptions {ClientOptions}\n * @param provider {Provider}\n * @param identifiers {Identifiers}\n * @param customAttributes {CustomAttributes}\n * @returns {Promise<void>}\n */\n )\n }, {\n key: \"initializeWithProvider\",\n value: (function () {\n var _initializeWithProvider = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(clientOptions, provider, identifiers, customAttributes) {\n var _this2 = this;\n var clientOptionsWithDefaults, startTime;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n clientOptionsWithDefaults = getOptionsWithDefaults(clientOptions);\n if (!this.initPromise) {\n _context2.next = 4;\n break;\n }\n if (!shallowEquals(clientOptionsWithDefaults, this.initOptions)) {\n // eslint-disable-next-line no-console\n console.warn('Feature Gates client already initialized with different options. New options were not applied.');\n }\n return _context2.abrupt(\"return\", this.initPromise);\n case 4:\n startTime = performance.now();\n this.initOptions = clientOptionsWithDefaults;\n this.provider = provider;\n this.provider.setClientVersion(CLIENT_VERSION);\n if (this.provider.setApplyUpdateCallback) {\n this.provider.setApplyUpdateCallback(this.applyUpdateCallback);\n }\n this.initPromise = this.initWithProvider(clientOptionsWithDefaults, provider, identifiers, customAttributes).then(function () {\n _this2.initCompleted = true;\n _this2.initWithDefaults = true;\n }).finally(function () {\n var endTime = performance.now();\n var totalTime = endTime - startTime;\n _this2.fireClientEvent(startTime, totalTime, 'initializeWithProvider', _this2.initCompleted, provider.getApiKey ? provider.getApiKey() : undefined);\n });\n return _context2.abrupt(\"return\", this.initPromise);\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, this);\n }));\n function initializeWithProvider(_x4, _x5, _x6, _x7) {\n return _initializeWithProvider.apply(this, arguments);\n }\n return initializeWithProvider;\n }())\n }, {\n key: \"applyUpdateCallback\",\n value: function applyUpdateCallback(experimentsResult) {\n try {\n if (this.initCompleted || this.initWithDefaults) {\n Statsig.setInitializeValues(experimentsResult.experimentValues);\n this.subscriptions.anyUpdated();\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn('Error when attempting to apply update', error);\n }\n }\n }, {\n key: \"fireClientEvent\",\n value: function fireClientEvent(startTime, totalTime, action, success) {\n var _analyticsWebClient,\n _this3 = this;\n var apiKey = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : undefined;\n (_analyticsWebClient = this.initOptions.analyticsWebClient) === null || _analyticsWebClient === void 0 || _analyticsWebClient.then(function (analyticsWebClient) {\n var attributes = _objectSpread({\n targetApp: _this3.initOptions.targetApp,\n clientVersion: CLIENT_VERSION,\n success: success,\n startTime: startTime,\n totalTime: totalTime\n }, apiKey && {\n apiKey: apiKey\n });\n analyticsWebClient.sendOperationalEvent({\n action: action,\n actionSubject: 'featureGatesClient',\n attributes: attributes,\n tags: ['measurement'],\n source: '@atlaskit/feature-gate-js-client'\n });\n }).catch(function (err) {\n if (_this3.initOptions.environment !== FeatureGateEnvironment.Production) {\n // eslint-disable-next-line no-console\n console.error('Analytics web client promise did not resolve', err);\n }\n });\n }\n }, {\n key: \"initializeFromValues\",\n value: function () {\n var _initializeFromValues = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(clientOptions, identifiers, customAttributes) {\n var _this4 = this;\n var initializeValues,\n clientOptionsWithDefaults,\n startTime,\n _args3 = arguments;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n initializeValues = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : {};\n clientOptionsWithDefaults = getOptionsWithDefaults(clientOptions);\n if (!this.initPromise) {\n _context3.next = 5;\n break;\n }\n if (!shallowEquals(clientOptionsWithDefaults, this.initOptions)) {\n // eslint-disable-next-line no-console\n console.warn('Feature Gates client already initialized with different options. New options were not applied.');\n }\n return _context3.abrupt(\"return\", this.initPromise);\n case 5:\n startTime = performance.now();\n this.initOptions = clientOptionsWithDefaults;\n this.initPromise = this.initFromValues(clientOptionsWithDefaults, identifiers, customAttributes, initializeValues).then(function () {\n _this4.initCompleted = true;\n _this4.initWithDefaults = true;\n }).finally(function () {\n var endTime = performance.now();\n var totalTime = endTime - startTime;\n _this4.fireClientEvent(startTime, totalTime, 'initializeFromValues', _this4.initCompleted);\n });\n return _context3.abrupt(\"return\", this.initPromise);\n case 9:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3, this);\n }));\n function initializeFromValues(_x8, _x9, _x10) {\n return _initializeFromValues.apply(this, arguments);\n }\n return initializeFromValues;\n }()\n /**\n * This method updates the user using a network call to fetch the new set of values.\n * @param fetchOptions {FetcherOptions}\n * @param identifiers {Identifiers}\n * @param customAttributes {CustomAttributes}\n */\n }, {\n key: \"updateUser\",\n value: (function () {\n var _updateUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(fetchOptions, identifiers, customAttributes) {\n var fetchOptionsWithDefaults, initializeValuesProducer;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n fetchOptionsWithDefaults = getOptionsWithDefaults(fetchOptions);\n initializeValuesProducer = function initializeValuesProducer() {\n return Fetcher.fetchExperimentValues(fetchOptionsWithDefaults, identifiers, customAttributes).then(function (_ref) {\n var experimentValues = _ref.experimentValues,\n customAttributes = _ref.customAttributes;\n return {\n experimentValues: experimentValues,\n customAttributesFromFetch: customAttributes\n };\n });\n };\n _context4.next = 4;\n return this.updateUserUsingInitializeValuesProducer(initializeValuesProducer, identifiers, customAttributes);\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4, this);\n }));\n function updateUser(_x11, _x12, _x13) {\n return _updateUser.apply(this, arguments);\n }\n return updateUser;\n }()\n /**\n * This method updates the user using the provider given on initialisation to get the new set of\n * values.\n * @param identifiers {Identifiers}\n * @param customAttributes {CustomAttributes}\n */\n )\n }, {\n key: \"updateUserWithProvider\",\n value: (function () {\n var _updateUserWithProvider = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(identifiers, customAttributes) {\n var _this5 = this;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n if (this.provider) {\n _context5.next = 2;\n break;\n }\n throw new Error('Cannot update user using provider as the client was not initialised with a provider');\n case 2:\n _context5.next = 4;\n return this.provider.setProfile(this.initOptions, identifiers, customAttributes);\n case 4:\n _context5.next = 6;\n return this.updateUserUsingInitializeValuesProducer(function () {\n return _this5.provider.getExperimentValues();\n }, identifiers, customAttributes);\n case 6:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5, this);\n }));\n function updateUserWithProvider(_x14, _x15) {\n return _updateUserWithProvider.apply(this, arguments);\n }\n return updateUserWithProvider;\n }()\n /**\n * This method updates the user given a new set of bootstrap values obtained from one of the\n * server-side SDKs.\n *\n * @param identifiers {Identifiers}\n * @param customAttributes {CustomAttributes}\n * @param initializeValues {Record<string,unknown>}\n */\n )\n }, {\n key: \"updateUserWithValues\",\n value: (function () {\n var _updateUserWithValues = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(identifiers, customAttributes) {\n var initializeValues,\n initializeValuesProducer,\n _args6 = arguments;\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) switch (_context6.prev = _context6.next) {\n case 0:\n initializeValues = _args6.length > 2 && _args6[2] !== undefined ? _args6[2] : {};\n initializeValuesProducer = function initializeValuesProducer() {\n return Promise.resolve({\n experimentValues: initializeValues,\n customAttributesFromFetch: customAttributes\n });\n };\n _context6.next = 4;\n return this.updateUserUsingInitializeValuesProducer(initializeValuesProducer, identifiers, customAttributes);\n case 4:\n case \"end\":\n return _context6.stop();\n }\n }, _callee6, this);\n }));\n function updateUserWithValues(_x16, _x17) {\n return _updateUserWithValues.apply(this, arguments);\n }\n return updateUserWithValues;\n }())\n }, {\n key: \"initializeCalled\",\n value: function initializeCalled() {\n return this.initPromise != null;\n }\n }, {\n key: \"initializeCompleted\",\n value: function initializeCompleted() {\n return this.initCompleted;\n }\n\n /**\n * Returns the value for a feature gate. Returns false if there are errors.\n * @param {string} gateName - The name of the feature gate.\n * @param {Object} options\n * @param {boolean} options.fireGateExposure\n * Whether or not to fire the exposure event for the gate. Defaults to true.\n * To log an exposure event manually at a later time, use {@link Client.manuallyLogGateExposure}\n * (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-)).\n */\n }, {\n key: \"checkGate\",\n value: function checkGate(gateName) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n try {\n var _options$fireGateExpo = options.fireGateExposure,\n fireGateExposure = _options$fireGateExpo === void 0 ? true : _options$fireGateExpo;\n var evalMethod = fireGateExposure ? Statsig.checkGate.bind(Statsig) : Statsig.checkGateWithExposureLoggingDisabled.bind(Statsig);\n return evalMethod(gateName);\n } catch (error) {\n // Log the first occurrence of the error\n if (!this.hasCheckGateErrorOccurred) {\n // eslint-disable-next-line no-console\n console.warn({\n msg: 'An error has occurred checking the feature gate. Only the first occurrence of this error is logged.',\n gateName: gateName,\n error: error\n });\n this.hasCheckGateErrorOccurred = true;\n }\n return false;\n }\n }\n }, {\n key: \"isGateExist\",\n value: function isGateExist(gateName) {\n try {\n // @ts-expect-error TS2341: Property _getClientX is private and only accessible within class Statsi\n var gate = Statsig._getClientX()._getGateFromStore(gateName);\n return gate.evaluationDetails.reason !== EvaluationReason.Unrecognized;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Error occurred when trying to check FeatureGate: \".concat(error));\n // in case of error report true to avoid false positives.\n return true;\n }\n }\n }, {\n key: \"isExperimentExist\",\n value: function isExperimentExist(experimentName) {\n try {\n var config = Statsig.getExperimentWithExposureLoggingDisabled(experimentName);\n return config._evaluationDetails.reason !== EvaluationReason.Unrecognized;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Error occurred when trying to check Experiment: \".concat(error));\n // in case of error report true to avoid false positives.\n return true;\n }\n }\n\n /**\n * Manually log a gate exposure (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-)).\n * This is useful if you have evaluated a gate earlier via {@link Client.checkGate} where\n * <code>options.fireGateExposure</code> is false.\n * @param gateName\n */\n }, {\n key: \"manuallyLogGateExposure\",\n value: function manuallyLogGateExposure(gateName) {\n Statsig.manuallyLogGateExposure(gateName);\n }\n\n /**\n * Returns the entire config for a given experiment.\n *\n * @param {string} experimentName - The name of the experiment\n * @param {Object} options\n * @param {boolean} options.fireExperimentExposure - Whether or not to fire the exposure event\n * for the experiment. Defaults to true. To log an exposure event manually at a later time, use\n * {@link Client.manuallyLogExperimentExposure} (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-)).\n * @returns The config for an experiment\n * @example\n * ```ts\n * const experimentConfig = client.getExperiment('example-experiment-name');\n * const backgroundColor: string = experimentConfig.get('backgroundColor', 'yellow');\n * ```\n */\n }, {\n key: \"getExperiment\",\n value: function getExperiment(experimentName) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n try {\n var _options$fireExperime = options.fireExperimentExposure,\n fireExperimentExposure = _options$fireExperime === void 0 ? true : _options$fireExperime;\n var evalMethod = fireExperimentExposure ? Statsig.getExperiment.bind(Statsig) : Statsig.getExperimentWithExposureLoggingDisabled.bind(Statsig);\n return evalMethod(experimentName);\n } catch (error) {\n // Log the first occurrence of the error\n if (!this.hasGetExperimentErrorOccurred) {\n // eslint-disable-next-line no-console\n console.warn({\n msg: 'An error has occurred getting the experiment. Only the first occurrence of this error is logged.',\n experimentName: experimentName,\n error: error\n });\n this.hasGetExperimentErrorOccurred = true;\n }\n\n // Return a default value\n return new DynamicConfig(experimentName, {}, '', {\n time: Date.now(),\n reason: EvaluationReason.Error\n });\n }\n }\n\n /**\n * Returns the value of a given parameter in an experiment config.\n *\n * @template T\n * @param {string} experimentName - The name of the experiment\n * @param {string} parameterName - The name of the parameter to fetch from the experiment config\n * @param {T} defaultValue - The value to serve if the experiment or parameter do not exist, or\n * if the returned value does not match the expected type.\n * @param {Object} options\n * @param {boolean} options.fireExperimentExposure - Whether or not to fire the exposure event\n * for the experiment. Defaults to true. To log an exposure event manually at a later time, use\n * {@link Client.manuallyLogExperimentExposure} (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-))\n * @param {function} options.typeGuard - A function that asserts that the return value has the\n * expected type. If this function returns false, then the default value will be returned\n * instead. This can be set to protect your code from unexpected values being set remotely. By\n * default, this will be done by asserting that the default value and value are the same primitive\n * type.\n * @returns The value of the parameter if the experiment and parameter both exist, otherwise the\n * default value.\n * @example\n ``` ts\n type ValidColor = 'blue' | 'red' | 'yellow';\n type ValidColorTypeCheck = (value: unknown) => value is ValidColor;\n const isValidColor: ValidColorTypeCheck =\n (value: unknown) => typeof value === 'string' && ['blue', 'red', 'yellow'].includes(value);\n const buttonColor: ValidColor = client.getExperimentValue(\n 'example-experiment-name',\n 'backgroundColor',\n 'yellow',\n {\n typeGuard: isValidColor\n }\n );\n ```\n */\n }, {\n key: \"getExperimentValue\",\n value: function getExperimentValue(experimentName, parameterName, defaultValue) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var experiment = this.getExperiment(experimentName, options);\n try {\n var typeGuard = options.typeGuard;\n return experiment.get(parameterName, defaultValue, typeGuard);\n } catch (error) {\n // Log the first occurrence of the error\n if (!this.hasGetExperimentValueErrorOccurred) {\n // eslint-disable-next-line no-console\n console.warn({\n msg: 'An error has occurred getting the experiment value. Only the first occurrence of this error is logged.',\n experimentName: experimentName,\n defaultValue: defaultValue,\n options: options,\n error: error\n });\n this.hasGetExperimentValueErrorOccurred = true;\n }\n return defaultValue;\n }\n }\n\n /**\n * Manually log an experiment exposure (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-)).\n * This is useful if you have evaluated an experiment earlier via {@link Client.getExperimentValue} or\n * {@link Client.getExperiment} where <code>options.fireExperimentExposure</code> is false.\n * @param experimentName\n */\n }, {\n key: \"manuallyLogExperimentExposure\",\n value: function manuallyLogExperimentExposure(experimentName) {\n Statsig.manuallyLogExperimentExposure(experimentName);\n }\n\n /**\n * Manually log a layer exposure (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-)).\n * This is useful if you have evaluated a layer earlier via {@link Client.getLayerValue} where <code>options.fireExperimentExposure</code> is false.\n * @param layerName\n * @param parameterName\n */\n }, {\n key: \"manuallyLogLayerExposure\",\n value: function manuallyLogLayerExposure(layerName, parameterName) {\n Statsig.manuallyLogLayerParameterExposure(layerName, parameterName);\n }\n }, {\n key: \"shutdownStatsig\",\n value: function shutdownStatsig() {\n Statsig.shutdown();\n }\n\n /**\n * Adds a new override for the given gate.\n *\n * This method is additive, meaning you can call it multiple times with different gate names to\n * build your full set of overrides.\n *\n * Overrides are persisted to the `STATSIG_JS_LITE_LOCAL_OVERRIDES` key in localStorage, so they\n * will continue to affect every client that is initialized on the same domain after this method\n * is called. If you are using this API for testing purposes, you should call\n * {@link Client.clearGateOverride} after your tests are completed to remove this\n * localStorage entry.\n *\n * @param {string} gateName\n * @param {boolean} value\n */\n }, {\n key: \"overrideGate\",\n value: function overrideGate(gateName, value) {\n Statsig.overrideGate(gateName, value);\n this.subscriptions.anyUpdated();\n }\n\n /**\n * Removes any overrides that have been set for the given gate.\n */\n }, {\n key: \"clearGateOverride\",\n value: function clearGateOverride(gateName) {\n Statsig.overrideGate(gateName, null);\n this.subscriptions.anyUpdated();\n }\n\n /**\n * Adds a new override for the given config (or experiment).\n *\n * This method is additive, meaning you can call it multiple times with different experiment\n * names to build your full set of overrides.\n *\n * Overrides are persisted to the `STATSIG_JS_LITE_LOCAL_OVERRIDES` key in localStorage, so they\n * will continue to affect every client that is initialized on the same domain after this method\n * is called. If you are using this API for testing purposes, you should call\n * {@link Client.clearConfigOverride} after your tests are completed to remove this\n * localStorage entry.\n *\n * @param {string} experimentName\n * @param {object} values\n */\n }, {\n key: \"overrideConfig\",\n value: function overrideConfig(experimentName, values) {\n Statsig.overrideConfig(experimentName, values);\n this.subscriptions.anyUpdated();\n }\n\n /**\n * Removes any overrides that have been set for the given experiment.\n * @param {string} experimentName\n */\n }, {\n key: \"clearConfigOverride\",\n value: function clearConfigOverride(experimentName) {\n Statsig.overrideConfig(experimentName, null);\n this.subscriptions.anyUpdated();\n }\n\n /**\n * Set overrides for gates, experiments and layers in batch.\n *\n * Note that these overrides are **not** additive and will completely replace any that have been\n * added via prior calls to {@link Client.overrideConfig} or\n * {@link Client.overrideGate}.\n *\n * Overrides are persisted to the `STATSIG_JS_LITE_LOCAL_OVERRIDES` key in localStorage, so they\n * will continue to affect every client that is initialized on the same domain after this method\n * is called. If you are using this API for testing purposes, you should call\n * {@link Client.clearAllOverrides} after your tests are completed to remove this\n * localStorage entry.\n */\n }, {\n key: \"setOverrides\",\n value: function setOverrides(overrides) {\n Statsig.setOverrides(_objectSpread({\n gates: {},\n configs: {},\n layers: {}\n }, overrides));\n this.subscriptions.anyUpdated();\n }\n\n /**\n * @returns The current overrides for gates, configs (including experiments) and layers.\n */\n }, {\n key: \"getOverrides\",\n value: function getOverrides() {\n return Statsig.getOverrides();\n }\n\n /**\n * Clears overrides for all gates, configs (including experiments) and layers.\n */\n }, {\n key: \"clearAllOverrides\",\n value: function clearAllOverrides() {\n Statsig.setOverrides(null);\n this.subscriptions.anyUpdated();\n }\n\n /**\n * Returns whether the given identifiers and customAttributes align with the current\n * set that is being used by the client.\n *\n * If this method returns false, then the {@link Client.updateUser},\n * {@link Client.updateUserWithValues} or {@link Client.updateUserWithProvider}\n * methods can be used to re-align these values.\n *\n * @param identifiers\n * @param customAttributes\n * @returns a flag indicating whether the clients current configuration aligns with the given values\n */\n }, {\n key: \"isCurrentUser\",\n value: function isCurrentUser(identifiers, customAttributes) {\n return shallowEquals(this.currentIdentifiers, identifiers) && shallowEquals(this.currentAttributes, customAttributes);\n }\n\n /**\n * Subscribe to updates where the given callback will be called with the current checkGate value\n * @param gateName\n * @param callback\n * @param options\n * @returns off function to unsubscribe from updates\n */\n }, {\n key: \"onGateUpdated\",\n value: function onGateUpdated(gateName, callback) {\n var _this6 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var wrapCallback = function wrapCallback(value) {\n var _options$fireGateExpo2 = options.fireGateExposure,\n fireGateExposure = _options$fireGateExpo2 === void 0 ? true : _options$fireGateExpo2;\n if (fireGateExposure) {\n _this6.manuallyLogGateExposure(gateName);\n }\n try {\n callback(value);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn(\"Error calling callback for gate \".concat(gateName, \" with value \").concat(value), error);\n }\n };\n return this.subscriptions.onGateUpdated(gateName, wrapCallback, this.checkGate.bind(this), options);\n }\n\n /**\n * Subscribe to updates where the given callback will be called with the current experiment value\n * @param experimentName\n * @param parameterName\n * @param defaultValue\n * @param callback\n * @param options\n * @returns off function to unsubscribe from updates\n */\n }, {\n key: \"onExperimentValueUpdated\",\n value: function onExperimentValueUpdated(experimentName, parameterName, defaultValue, callback) {\n var _this7 = this;\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\n var wrapCallback = function wrapCallback(value) {\n var _options$fireExperime2 = options.fireExperimentExposure,\n fireExperimentExposure = _options$fireExperime2 === void 0 ? true : _options$fireExperime2;\n if (fireExperimentExposure) {\n _this7.manuallyLogExperimentExposure(experimentName);\n }\n try {\n callback(value);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn(\"Error calling callback for experiment \".concat(experimentName, \" with value \").concat(value), error);\n }\n };\n return this.subscriptions.onExperimentValueUpdated(experimentName, parameterName, defaultValue, wrapCallback, this.getExperimentValue, options);\n }\n\n /**\n * Subscribe so on any update the callback will be called.\n * NOTE: The callback will be called whenever the values are updated even if the values have not\n * changed.\n * @param callback\n * @returns off function to unsubscribe from updates\n */\n }, {\n key: \"onAnyUpdated\",\n value: function onAnyUpdated(callback) {\n return this.subscriptions.onAnyUpdated(callback);\n }\n\n /**\n * This method initializes the client using a network call to fetch the bootstrap values for the\n * given user.\n *\n * @param clientOptions\n * @param identifiers\n * @param customAttributes\n * @private\n */\n }, {\n key: \"init\",\n value: (function () {\n var _init = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7(clientOptions, identifiers, customAttributes) {\n var fromValuesClientOptions, experimentValues, customAttributesFromResult, clientSdkKeyPromise, experimentValuesPromise, _yield$Promise$all, _yield$Promise$all2, experimentValuesResult;\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) switch (_context7.prev = _context7.next) {\n case 0:\n fromValuesClientOptions = _objectSpread({}, clientOptions);\n _context7.prev = 1;\n // If client sdk key fetch fails, an error would be thrown and handled instead of waiting for\n // the experiment values request to be settled, and it will fall back to use default values.\n clientSdkKeyPromise = Fetcher.fetchClientSdk(clientOptions).then(function (value) {\n return fromValuesClientOptions.sdkKey = value.clientSdkKey;\n });\n experimentValuesPromise = Fetcher.fetchExperimentValues(clientOptions, identifiers, customAttributes); // Only wait for the experiment values request to finish and try to initialise the client\n // with experiment values if both requests are successful. Else an error would be thrown and\n // handled by the catch\n _context7.next = 6;\n return Promise.all([clientSdkKeyPromise, experimentValuesPromise]);\n case 6:\n _yield$Promise$all = _context7.sent;\n _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);\n experimentValuesResult = _yield$Promise$all2[1];\n experimentValues = experimentValuesResult.experimentValues;\n customAttributesFromResult = experimentValuesResult.customAttributes;\n _context7.next = 20;\n break;\n case 13:\n _context7.prev = 13;\n _context7.t0 = _context7[\"catch\"](1);\n if (_context7.t0 instanceof Error) {\n // eslint-disable-next-line no-console\n console.error(\"Error occurred when trying to fetch the Feature Gates client values, error: \".concat(_context7.t0 === null || _context7.t0 === void 0 ? void 0 : _context7.t0.message));\n }\n // eslint-disable-next-line no-console\n console.warn(\"Initialising Statsig client without values\");\n _context7.next = 19;\n return this.initFromValues(fromValuesClientOptions, identifiers, customAttributes);\n case 19:\n throw _context7.t0;\n case 20:\n return _context7.abrupt(\"return\", this.initFromValues(fromValuesClientOptions, identifiers, customAttributesFromResult, experimentValues));\n case 21:\n case \"end\":\n return _context7.stop();\n }\n }, _callee7, this, [[1, 13]]);\n }));\n function init(_x18, _x19, _x20) {\n return _init.apply(this, arguments);\n }\n return init;\n }())\n }, {\n key: \"initWithProvider\",\n value: function () {\n var _initWithProvider = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8(baseClientOptions, provider, identifiers, customAttributes) {\n var fromValuesClientOptions, experimentValues, customAttributesFromResult, clientSdkKeyPromise, experimentValuesPromise, _yield$Promise$all3, _yield$Promise$all4, experimentValuesResult;\n return _regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) switch (_context8.prev = _context8.next) {\n case 0:\n fromValuesClientOptions = _objectSpread(_objectSpread({}, baseClientOptions), {}, {\n disableCurrentPageLogging: true\n });\n _context8.prev = 1;\n _context8.next = 4;\n return provider.setProfile(baseClientOptions, identifiers, customAttributes);\n case 4:\n // If client sdk key fetch fails, an error would be thrown and handled instead of waiting for\n // the experiment values request to be settled, and it will fall back to use default values.\n clientSdkKeyPromise = provider.getClientSdkKey().then(function (value) {\n return fromValuesClientOptions.sdkKey = value;\n });\n experimentValuesPromise = provider.getExperimentValues(); // Only wait for the experiment values request to finish and try to initialise the client\n // with experiment values if both requests are successful. Else an error would be thrown and\n // handled by the catch\n _context8.next = 8;\n return Promise.all([clientSdkKeyPromise, experimentValuesPromise]);\n case 8:\n _yield$Promise$all3 = _context8.sent;\n _yield$Promise$all4 = _slicedToArray(_yield$Promise$all3, 2);\n experimentValuesResult = _yield$Promise$all4[1];\n experimentValues = experimentValuesResult.experimentValues;\n customAttributesFromResult = experimentValuesResult.customAttributesFromFetch;\n _context8.next = 22;\n break;\n case 15:\n _context8.prev = 15;\n _context8.t0 = _context8[\"catch\"](1);\n if (_context8.t0 instanceof Error) {\n // eslint-disable-next-line no-console\n console.error(\"Error occurred when trying to fetch the Feature Gates client values, error: \".concat(_context8.t0 === null || _context8.t0 === void 0 ? void 0 : _context8.t0.message));\n }\n // eslint-disable-next-line no-console\n console.warn(\"Initialising Statsig client without values\");\n _context8.next = 21;\n return this.initFromValues(fromValuesClientOptions, identifiers, customAttributes);\n case 21:\n throw _context8.t0;\n case 22:\n return _context8.abrupt(\"return\", this.initFromValues(fromValuesClientOptions, identifiers, customAttributesFromResult, experimentValues));\n case 23:\n case \"end\":\n return _context8.stop();\n }\n }, _callee8, this, [[1, 15]]);\n }));\n function initWithProvider(_x21, _x22, _x23, _x24) {\n return _initWithProvider.apply(this, arguments);\n }\n return initWithProvider;\n }()\n /**\n * This method initializes the client using a set of boostrap values obtained from one of the\n * server-side SDKs.\n *\n * @param clientOptions\n * @param identifiers\n * @param customAttributes\n * @param initializeValues\n * @private\n */\n }, {\n key: \"initFromValues\",\n value: (function () {\n var _initFromValues = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9(clientOptions, identifiers, customAttributes) {\n var initializeValues,\n user,\n sdkKey,\n statsigOptions,\n _args9 = arguments;\n return _regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) switch (_context9.prev = _context9.next) {\n case 0:\n initializeValues = _args9.length > 3 && _args9[3] !== undefined ? _args9[3] : {};\n user = toStatsigUser(identifiers, customAttributes);\n this.currentIdentifiers = identifiers;\n this.currentAttributes = customAttributes;\n if (!clientOptions.sdkKey) {\n clientOptions.sdkKey = DEFAULT_CLIENT_KEY;\n }\n if (!clientOptions.eventLoggingApi) {\n clientOptions.eventLoggingApi = DEFAULT_EVENT_LOGGING_API;\n }\n if (clientOptions.perimeter === PerimeterType.FEDRAMP_MODERATE) {\n // disable all logging in FedRAMP to prevent egress of sensitive data\n clientOptions.disableAllLogging = true;\n }\n sdkKey = clientOptions.sdkKey;\n statsigOptions = toStatsigOptions(clientOptions, initializeValues);\n _context9.prev = 9;\n _context9.next = 12;\n return Statsig.initialize(sdkKey, user, statsigOptions);\n case 12:\n _context9.next = 22;\n break;\n case 14:\n _context9.prev = 14;\n _context9.t0 = _context9[\"catch\"](9);\n if (_context9.t0 instanceof Error) {\n // eslint-disable-next-line no-console\n console.error(\"Error occurred when trying to initialise the Statsig client, error: \".concat(_context9.t0 === null || _context9.t0 === void 0 ? void 0 : _context9.t0.message));\n }\n // eslint-disable-next-line no-console\n console.warn(\"Initialising Statsig client with default sdk key and without values\");\n _context9.next = 20;\n return Statsig.initialize(DEFAULT_CLIENT_KEY, user, _objectSpread(_objectSpread({}, statsigOptions), {}, {\n initializeValues: {}\n }));\n case 20:\n this.initWithDefaults = true;\n throw _context9.t0;\n case 22:\n case \"end\":\n return _context9.stop();\n }\n }, _callee9, this, [[9, 14]]);\n }));\n function initFromValues(_x25, _x26, _x27) {\n return _initFromValues.apply(this, arguments);\n }\n return initFromValues;\n }()\n /**\n * This method updates the user for this client with the bootstrap values returned from a given\n * Promise.\n * It uses the customAttributes from fetching experiment values to update the Statsig user but\n * uses the customAttributes from given input to check if the user has changed.\n *\n * @param {Identifiers} identifiers\n * @param {CustomAttributes} customAttributes\n * @param {Promise<InitializeValues>} getInitializeValues\n * @private\n */\n )\n }, {\n key: \"updateUserUsingInitializeValuesProducer\",\n value: (function () {\n var _updateUserUsingInitializeValuesProducer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11(getInitializeValues, identifiers, customAttributes) {\n var _this8 = this;\n var originalInitPromise, initializeValuesPromise, updateUserPromise;\n return _regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) switch (_context11.prev = _context11.next) {\n case 0:\n if (this.initPromise) {\n _context11.next = 2;\n break;\n }\n throw new Error('The client must be initialized before you can update the user.');\n case 2:\n if (!this.isCurrentUser(identifiers, customAttributes)) {\n _context11.next = 4;\n break;\n }\n return _context11.abrupt(\"return\", this.initPromise);\n case 4:\n // Wait for the current initialize/update to finish\n originalInitPromise = this.initPromise;\n _context11.prev = 5;\n _context11.next = 8;\n return this.initPromise;\n case 8:\n _context11.next = 12;\n break;\n case 10:\n _context11.prev = 10;\n _context11.t0 = _context11[\"catch\"](5);\n case 12:\n initializeValuesPromise = getInitializeValues();\n updateUserPromise = this.updateStatsigClientUser(initializeValuesPromise, identifiers, customAttributes); // We replace the init promise here since we are essentially re-initializing the client at this\n // point. Any subsequent calls to await client.initialize() or client.updateUser()\n // will now also await this user update.\n this.initPromise = updateUserPromise.catch( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10() {\n return _regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) switch (_context10.prev = _context10.next) {\n case 0:\n // If the update failed then it changed nothing, so revert back to the original promise.\n _this8.initPromise = originalInitPromise;\n\n // Set the user profile again to revert back to the current user\n if (!_this8.provider) {\n _context10.next = 4;\n break;\n }\n _context10.next = 4;\n return _this8.provider.setProfile(_this8.initOptions, _this8.currentIdentifiers, _this8.currentAttributes);\n case 4:\n case \"end\":\n return _context10.stop();\n }\n }, _callee10);\n })));\n return _context11.abrupt(\"return\", updateUserPromise);\n case 16:\n case \"end\":\n return _context11.stop();\n }\n }, _callee11, this, [[5, 10]]);\n }));\n function updateUserUsingInitializeValuesProducer(_x28, _x29, _x30) {\n return _updateUserUsingInitializeValuesProducer.apply(this, arguments);\n }\n return updateUserUsingInitializeValuesProducer;\n }()\n /**\n * This method updates the user on the nested Statsig client\n *\n * @param identifiers\n * @param customAttributes\n * @param initializeValuesPromise\n * @private\n */\n )\n }, {\n key: \"updateStatsigClientUser\",\n value: (function () {\n var _updateStatsigClientUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee12(initializeValuesPromise, identifiers, customAttributes) {\n var initializeValues, user, _updateUserCompletion, _ref3, errMsg, success;\n return _regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) switch (_context12.prev = _context12.next) {\n case 0:\n _context12.prev = 0;\n _context12.next = 3;\n return initializeValuesPromise;\n case 3:\n initializeValues = _context12.sent;\n user = toStatsigUser(identifiers, initializeValues.customAttributesFromFetch);\n _context12.next = 12;\n break;\n case 7:\n _context12.prev = 7;\n _context12.t0 = _context12[\"catch\"](0);\n // Make sure the updateUserCompletionCallback is called for any errors in our custom code.\n // This is not necessary for the updateUserWithValues call, because the Statsig client will\n // already invoke the callback itself.\n errMsg = _context12.t0 instanceof Error ? _context12.t0.message : JSON.stringify(_context12.t0);\n (_updateUserCompletion = (_ref3 = this.initOptions).updateUserCompletionCallback) === null || _updateUserCompletion === void 0 || _updateUserCompletion.call(_ref3, false, errMsg);\n throw _context12.t0;\n case 12:\n success = Statsig.updateUserWithValues(user, initializeValues.experimentValues);\n if (!success) {\n _context12.next = 19;\n break;\n }\n this.currentIdentifiers = identifiers;\n this.currentAttributes = customAttributes;\n this.subscriptions.anyUpdated();\n _context12.next = 20;\n break;\n case 19:\n throw new Error('Failed to update user. An unexpected error occured.');\n case 20:\n case \"end\":\n return _context12.stop();\n }\n }, _callee12, this, [[0, 7]]);\n }));\n function updateStatsigClientUser(_x31, _x32, _x33) {\n return _updateStatsigClientUser.apply(this, arguments);\n }\n return updateStatsigClientUser;\n }()\n /**\n * @returns string version of the current package in semver style.\n */\n )\n }, {\n key: \"getPackageVersion\",\n value: function getPackageVersion() {\n return CLIENT_VERSION;\n }\n\n /**\n * Returns a specified layer otherwise returns an empty layer as a default value if the layer doesn't exist.\n *\n * @param {string} layerName - The name of the layer\n * @param {Object} options\n * @param {boolean} options.fireLayerExposure - Whether or not to fire the exposure event for the\n * layer. Defaults to true. To log an exposure event manually at a later time, use\n * {@link Client.manuallyLogLayerExposure} (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-)).\n * @returns A layer\n * @example\n * ```ts\n * const layer = client.getLayer('example-layer-name');\n * const exampletitle: string = layer.get(\"title\", \"Welcome to Statsig!\");\n * ```\n */\n }, {\n key: \"getLayer\",\n value: function getLayer( /** The name of the layer */\n layerName) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n try {\n var _options$fireLayerExp = options.fireLayerExposure,\n fireLayerExposure = _options$fireLayerExp === void 0 ? true : _options$fireLayerExp;\n var evalMethod = fireLayerExposure ? Statsig.getLayer.bind(Statsig) : Statsig.getLayerWithExposureLoggingDisabled.bind(Statsig);\n return evalMethod(layerName);\n } catch (error) {\n // Log the first occurrence of the error\n if (!this.hasGetLayerErrorOccurred) {\n // eslint-disable-next-line no-console\n console.warn({\n msg: 'An error has occurred getting the layer. Only the first occurrence of this error is logged.',\n layerName: layerName,\n error: error\n });\n this.hasGetLayerErrorOccurred = true;\n }\n\n // Return a default value\n return Layer._create(layerName, {}, '', {\n time: Date.now(),\n reason: EvaluationReason.Error\n });\n }\n }\n\n /**\n * Returns the value of a given parameter in a layer config.\n *\n * @template T\n * @param {string} layerName - The name of the layer\n * @param {string} parameterName - The name of the parameter to fetch from the layer config\n * @param {T} defaultValue - The value to serve if the layer or parameter do not exist, or if the\n * returned value does not match the expected type.\n * @param {Object} options\n * @param {boolean} options.fireLayerExposure - Whether or not to fire the exposure event for the\n * layer. Defaults to true. To log an exposure event manually at a later time, use\n * {@link Client.manuallyLogLayerExposure} (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-))\n * @param {function} options.typeGuard - A function that asserts that the return value has the expected type. If this function returns false, then the default value will be returned instead. This can be set to protect your code from unexpected values being set remotely. By default, this will be done by asserting that the default value and value are the same primitive type.\n * @returns The value of the parameter if the layer and parameter both exist, otherwise the default value.\n * @example\n * ``` ts\n * type ValidColor = 'blue' | 'red' | 'yellow';\n * type ValidColorTypeCheck = (value: unknown) => value is ValidColor;\n *\n * const isValidColor: ValidColorTypeCheck =\n * (value: unknown) => typeof value === 'string' && ['blue', 'red', 'yellow'].includes(value);\n *\n * const buttonColor: ValidColor = client.getLayerValue(\n * 'example-layer-name',\n * 'backgroundColor',\n * 'yellow',\n * {\n * typeGuard: isValidColor\n * }\n * );\n * ```\n */\n }, {\n key: \"getLayerValue\",\n value: function getLayerValue(layerName, parameterName, defaultValue) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var layer = this.getLayer(layerName, options);\n try {\n var typeGuard = options.typeGuard;\n return layer.get(parameterName, defaultValue, typeGuard);\n } catch (error) {\n // Log the first occurrence of the error\n if (!this.hasGetLayerValueErrorOccurred) {\n // eslint-disable-next-line no-console\n console.warn({\n msg: 'An error has occurred getting the layer value. Only the first occurrence of this error is logged.',\n layerName: layerName,\n defaultValue: defaultValue,\n options: options,\n error: error\n });\n this.hasGetLayerValueErrorOccurred = true;\n }\n return defaultValue;\n }\n }\n }]);\n}();","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _FeatureGates;\nimport { Client } from './Client';\nimport { CLIENT_VERSION } from './version';\nexport { DynamicConfig, EvaluationReason } from 'statsig-js-lite';\nexport { FeatureGateEnvironment, PerimeterType } from './types';\nexport { CLIENT_VERSION } from './version';\n/**\n * Access the FeatureGates object via the default export.\n * ```ts\n * import FeatureGates from '@atlaskit/feature-gate-js-client';\n * ```\n */\nvar FeatureGates = /*#__PURE__*/function () {\n function FeatureGates() {\n _classCallCheck(this, FeatureGates);\n }\n return _createClass(FeatureGates, null, [{\n key: \"isGateExists\",\n value: function isGateExists(gateName) {\n return this.client.isGateExist(gateName);\n }\n }, {\n key: \"isExperimentExists\",\n value: function isExperimentExists(experimentName) {\n return this.client.isExperimentExist(experimentName);\n }\n }]);\n}();\n_FeatureGates = FeatureGates;\n_defineProperty(FeatureGates, \"client\", new Client());\n_defineProperty(FeatureGates, \"hasCheckGateErrorOccurred\", false);\n_defineProperty(FeatureGates, \"hasGetExperimentValueErrorOccurred\", false);\n_defineProperty(FeatureGates, \"checkGate\", function (gateName, options) {\n try {\n // Check if the CRITERION override mechanism is available\n if (window && window.__CRITERION__ && typeof window.__CRITERION__.getFeatureFlagOverride === 'function') {\n // Attempt to retrieve an override value for the feature gate\n var overrideValue = window.__CRITERION__.getFeatureFlagOverride(gateName);\n // If an override value is found, return it immediately\n if (overrideValue !== undefined) {\n return overrideValue;\n }\n }\n } catch (error) {\n // Log the first occurrence of the error\n if (!_FeatureGates.hasCheckGateErrorOccurred) {\n // eslint-disable-next-line no-console\n console.warn({\n msg: 'An error has occurred checking the feature gate from criterion override. Only the first occurrence of this error is logged.',\n gateName: gateName,\n error: error\n });\n _FeatureGates.hasCheckGateErrorOccurred = true;\n }\n }\n\n // Proceed with the main logic if no override is found\n return _FeatureGates.client.checkGate(gateName, options);\n});\n_defineProperty(FeatureGates, \"getExperimentValue\", function (experimentName, parameterName, defaultValue, options) {\n try {\n // Check if the CRITERION override mechanism is available\n if (typeof window !== 'undefined' && window.__CRITERION__ && typeof window.__CRITERION__.getExperimentValueOverride === 'function') {\n var overrideValue = window.__CRITERION__.getExperimentValueOverride(experimentName, parameterName);\n if (overrideValue !== undefined && overrideValue !== null) {\n return overrideValue;\n }\n }\n } catch (error) {\n // Log the first occurrence of the error\n if (!_FeatureGates.hasCheckGateErrorOccurred) {\n // Log the first occurrence of the error\n if (!_FeatureGates.hasGetExperimentValueErrorOccurred) {\n // eslint-disable-next-line no-console\n console.warn({\n msg: 'An error has occurred getting the experiment value from criterion override. Only the first occurrence of this error is logged.',\n experimentName: experimentName,\n defaultValue: defaultValue,\n options: options,\n error: error\n });\n _FeatureGates.hasGetExperimentValueErrorOccurred = true;\n }\n return defaultValue;\n }\n }\n\n // Proceed with the main logic if no override is found\n return _FeatureGates.client.getExperimentValue(experimentName, parameterName, defaultValue, options);\n});\n_defineProperty(FeatureGates, \"initializeCalled\", _FeatureGates.client.initializeCalled.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"initializeCompleted\", _FeatureGates.client.initializeCompleted.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"initialize\", _FeatureGates.client.initialize.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"initializeWithProvider\", _FeatureGates.client.initializeWithProvider.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"initializeFromValues\", _FeatureGates.client.initializeFromValues.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"manuallyLogGateExposure\", _FeatureGates.client.manuallyLogGateExposure.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"getExperiment\", _FeatureGates.client.getExperiment.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"manuallyLogExperimentExposure\", _FeatureGates.client.manuallyLogExperimentExposure.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"manuallyLogLayerExposure\", _FeatureGates.client.manuallyLogLayerExposure.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"shutdownStatsig\", _FeatureGates.client.shutdownStatsig.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"overrideGate\", _FeatureGates.client.overrideGate.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"clearGateOverride\", _FeatureGates.client.clearGateOverride.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"overrideConfig\", _FeatureGates.client.overrideConfig.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"clearConfigOverride\", _FeatureGates.client.clearConfigOverride.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"setOverrides\", _FeatureGates.client.setOverrides.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"getOverrides\", _FeatureGates.client.getOverrides.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"clearAllOverrides\", _FeatureGates.client.clearAllOverrides.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"isCurrentUser\", _FeatureGates.client.isCurrentUser.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"onGateUpdated\", _FeatureGates.client.onGateUpdated.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"onExperimentValueUpdated\", _FeatureGates.client.onExperimentValueUpdated.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"onAnyUpdated\", _FeatureGates.client.onAnyUpdated.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"updateUser\", _FeatureGates.client.updateUser.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"updateUserWithProvider\", _FeatureGates.client.updateUserWithProvider.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"updateUserWithValues\", _FeatureGates.client.updateUserWithValues.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"getPackageVersion\", _FeatureGates.client.getPackageVersion.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"getLayer\", _FeatureGates.client.getLayer.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"getLayerValue\", _FeatureGates.client.getLayerValue.bind(_FeatureGates.client));\nvar boundFGJS = FeatureGates;\n\n// This makes it possible to get a reference to the FeatureGates client at runtime.\n// This is important for overriding values in Cypress tests, as there needs to be a\n// way to get the exact instance for a window in order to mock some of its methods.\nif (typeof window !== 'undefined') {\n if (window.__FEATUREGATES_JS__ === undefined) {\n window.__FEATUREGATES_JS__ = FeatureGates;\n } else {\n var _boundFGJS, _boundFGJS$getPackage;\n boundFGJS = window.__FEATUREGATES_JS__;\n var boundVersion = ((_boundFGJS = boundFGJS) === null || _boundFGJS === void 0 || (_boundFGJS$getPackage = _boundFGJS.getPackageVersion) === null || _boundFGJS$getPackage === void 0 ? void 0 : _boundFGJS$getPackage.call(_boundFGJS)) || '4.10.0 or earlier';\n if (boundVersion !== CLIENT_VERSION) {\n var message = \"Multiple versions of FeatureGateClients found on the current page.\\n The currently bound version is \".concat(boundVersion, \" when module version \").concat(CLIENT_VERSION, \" was loading.\");\n // eslint-disable-next-line no-console\n console.warn(message);\n }\n }\n}\n\n/**\n * @property {FeatureGates} FeatureGate default export\n */\nexport default boundFGJS;","var _process, _process2;\n// We can't rely on NODE_ENV === 'test' if its value is already configured by the consumer to some other value, so better to use JEST_WORKER_ID\n// https://jestjs.io/docs/environment-variables#jest_worker_id\nvar TESTS_MODE = (globalThis === null || globalThis === void 0 || (_process = globalThis.process) === null || _process === void 0 || (_process = _process.env) === null || _process === void 0 ? void 0 : _process.JEST_WORKER_ID) !== undefined;\nvar DEBUG_MODE = !TESTS_MODE && (globalThis === null || globalThis === void 0 || (_process2 = globalThis.process) === null || _process2 === void 0 || (_process2 = _process2.env) === null || _process2 === void 0 ? void 0 : _process2.NODE_ENV) !== 'production';\nexport var debug = function debug() {\n var _console;\n if (!DEBUG_MODE) {\n return;\n }\n\n // eslint-disable-next-line no-console\n (_console = console).debug.apply(_console, arguments);\n};","import FeatureGates from '@atlaskit/feature-gate-js-client';\nimport { debug } from './debug';\nvar pkgName = '@atlaskit/platform-feature-flags';\nexport var PFF_GLOBAL_KEY = '__PLATFORM_FEATURE_FLAGS__';\nvar hasProcessEnv = typeof process !== 'undefined' && typeof process.env !== 'undefined';\n\n// FF global overrides can be configured by test runners or Storybook\nvar ENV_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['ENABLE_PLATFORM_FF'] === 'true' : false;\n\n// STORYBOOK_ENABLE_PLATFORM_FF is included as storybook only allows env vars prefixed with STORYBOOK\n// https://github.com/storybookjs/storybook/issues/12270\n\nvar ENV_STORYBOOK_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['STORYBOOK_ENABLE_PLATFORM_FF'] === 'true' : false;\nvar ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE = ENV_ENABLE_PLATFORM_FF || ENV_STORYBOOK_ENABLE_PLATFORM_FF;\nvar DEFAULT_PFF_GLOBAL = {\n // In development mode we want to capture any feature flag checks that happen using the default resolver and log this result when the resolver is replaced.\n // This is because evaluating feature flags when the resolver/FF client is loaded asynchronously could cause unexpected issues.\n earlyResolvedFlags: new Map(),\n booleanResolver: function booleanResolver(flagKey) {\n if (process.env.NODE_ENV !== 'production') {\n var unresolvedFlagCount = this.earlyResolvedFlags.get(flagKey) || 0;\n this.earlyResolvedFlags.set(flagKey, unresolvedFlagCount + 1);\n }\n return false;\n }\n};\nvar globalVar = typeof window !== 'undefined' ? window : globalThis;\nglobalVar[PFF_GLOBAL_KEY] = globalVar[PFF_GLOBAL_KEY] || DEFAULT_PFF_GLOBAL;\nexport function setBooleanResolver(resolver) {\n globalVar[PFF_GLOBAL_KEY].booleanResolver = resolver;\n if (process.env.NODE_ENV !== 'production') {\n var _globalVar$PFF_GLOBAL;\n if (((_globalVar$PFF_GLOBAL = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL === void 0 || (_globalVar$PFF_GLOBAL = _globalVar$PFF_GLOBAL.earlyResolvedFlags) === null || _globalVar$PFF_GLOBAL === void 0 ? void 0 : _globalVar$PFF_GLOBAL.size) > 0) {\n debug(\"[%s]: The following list of Feature Flags were called, the following number of times, before setBooleanResolver.\", pkgName, Array.from(globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.entries()));\n globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.clear();\n }\n }\n}\nexport function resolveBooleanFlag(flagKey) {\n if (ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE) {\n debug('[%s]: The feature flags were enabled while running tests. The flag \"%s\" will be always enabled.', pkgName, flagKey);\n return true;\n }\n try {\n var _globalVar$PFF_GLOBAL2, _globalVar$PFF_GLOBAL3, _globalVar$PFF_GLOBAL4;\n // booleanResolver will be empty for products like Trello, Elevate, Recruit etc.\n // Currently only Confluence, Jira and Bitbucket has set it.\n if (((_globalVar$PFF_GLOBAL2 = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL2 === void 0 ? void 0 : _globalVar$PFF_GLOBAL2.booleanResolver) === undefined || ((_globalVar$PFF_GLOBAL3 = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL3 === void 0 ? void 0 : _globalVar$PFF_GLOBAL3.booleanResolver) === null) {\n // eslint-disable-next-line @atlaskit/platform/use-recommended-utils\n return FeatureGates.checkGate(flagKey);\n }\n var result = (_globalVar$PFF_GLOBAL4 = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL4 === void 0 ? void 0 : _globalVar$PFF_GLOBAL4.booleanResolver(flagKey);\n if (typeof result !== 'boolean') {\n // eslint-disable-next-line no-console\n console.warn(\"\".concat(flagKey, \" resolved to a non-boolean value, returning false for safety\"));\n return false;\n }\n return result;\n } catch (e) {\n return false;\n }\n}","import { setBooleanResolver, resolveBooleanFlag } from './resolvers';\n\n/**\n * This creates a boolean flag resolver that allows calls to `getBooleanFF` inside of Platform components to use a Product's\n * feature flag client and LD project, rather than installing a feature flag client of their own, or passing those flags in via props.\n *\n * @param flagResolver\n */\nexport function setBooleanFeatureFlagResolver(flagResolver) {\n setBooleanResolver(flagResolver);\n}\n\n/**\n * Returns the value of a feature flag. If the flag does not resolve, it returns the \"false\" as a default value.\n *\n * @deprecated Use {@link fg} function instead.\n * @param name\n */\nexport function getBooleanFF(name) {\n return resolveBooleanFlag(name);\n}\n\n/**\n * Returns the value of a feature flag. If the flag does not resolve, it returns the \"false\" as a default value.\n *\n * @param name\n */\nexport function fg(name) {\n return resolveBooleanFlag(name);\n}","import { fg } from '@atlaskit/platform-feature-flags';\n\n/**\n * This file contains the source of truth for themes and all associated meta data.\n */\n\n/**\n * Themes: The internal identifier of a theme.\n * These ids are what the actual theme files/folders are called.\n * style-dictionary will attempt to locate these in the file-system.\n */\n\n/**\n * ThemeOverrides: The internal identifier of a theme override. Which are themes that contain\n * a subset of tokens intended to override an existing theme. These ids are what the actual\n * theme files/folders are called. style-dictionary will attempt to locate these in the file-system.\n * Theme overrides are temporary and there may not be any defined at times.\n */\n\n/**\n * Theme kinds: The type of theme.\n * Some themes are entirely focused on Color, whilst others are purely focused on spacing.\n * In the future other types may be introduced such as typography.\n */\n\n/**\n * Theme modes: The general purpose of a theme.\n * This attr is used to apply the appropriate system-preference option\n * It may also be used as a selector for mode-specific overrides such as light/dark images.\n * The idea is there may exist many color themes, but every theme must either fit into light or dark.\n */\nexport var themeColorModes = ['light', 'dark', 'auto'];\n/**\n * Contrast preferences: The system contrast preference\n */\nexport var themeContrastModes = ['more', 'no-preference', 'auto'];\n/**\n * Theme ids: The value that will be mounted to the DOM as a data attr\n * For example: `data-theme=\"light:light dark:dark spacing:spacing\"\n *\n * These ids must be kebab case\n */\nexport var themeIds = ['light-increased-contrast', 'light', 'light-future', 'light-brand-refresh', 'dark', 'dark-future', 'dark-increased-contrast', 'dark-brand-refresh', 'legacy-light', 'legacy-dark', 'spacing', 'shape', 'typography-adg3', 'typography-modernized', 'typography-refreshed'];\n/**\n * Theme override ids: the equivalent of themeIds for theme overrides.\n * Theme overrides are temporary and there may not be any defined at times.\n */\nexport var themeOverrideIds = [];\nexport var themeIdsWithOverrides = [].concat(themeIds, themeOverrideIds);\n\n/**\n * Theme to use a base. This will create the theme as\n * an extension with all token values marked as optional\n * to allow tokens to be overridden as required.\n */\n\n/**\n * Palettes: The set of base tokens a given theme may be populated with.\n * For example: legacy light & dark themes use the \"legacyPalette\" containing colors from our\n * previous color set.\n */\n\n/**\n * ThemeConfig: the source of truth for all theme meta-data.\n * This object should be used whenever interfacing with themes.\n */\n\nvar themeConfig = {\n 'atlassian-light': {\n id: 'light',\n displayName: 'Light Theme',\n palette: 'defaultPalette',\n attributes: {\n type: 'color',\n mode: 'light'\n }\n },\n 'atlassian-light-future': {\n id: 'light-future',\n displayName: 'Future Light Theme',\n palette: 'defaultPalette',\n attributes: {\n type: 'color',\n mode: 'light'\n },\n override: 'light'\n },\n 'atlassian-light-increased-contrast': {\n id: 'light-increased-contrast',\n displayName: 'Light Theme (increased contrast)',\n palette: 'defaultPalette',\n attributes: {\n type: 'color',\n mode: 'light'\n },\n extends: 'light',\n increasesContrastFor: 'light'\n },\n 'atlassian-dark': {\n id: 'dark',\n displayName: 'Dark Theme',\n palette: 'defaultPalette',\n attributes: {\n type: 'color',\n mode: 'dark'\n }\n },\n 'atlassian-dark-future': {\n id: 'dark-future',\n displayName: 'Future Dark Theme',\n palette: 'defaultPalette',\n attributes: {\n type: 'color',\n mode: 'dark'\n },\n override: 'light'\n },\n 'atlassian-dark-increased-contrast': {\n id: 'dark-increased-contrast',\n displayName: 'Dark Theme (increased contrast)',\n palette: 'defaultPalette',\n attributes: {\n type: 'color',\n mode: 'dark'\n },\n extends: 'dark',\n increasesContrastFor: 'dark'\n },\n 'atlassian-legacy-light': {\n id: 'legacy-light',\n displayName: 'Light Theme (legacy)',\n palette: 'legacyPalette',\n attributes: {\n type: 'color',\n mode: 'light'\n }\n },\n 'atlassian-legacy-dark': {\n id: 'legacy-dark',\n displayName: 'Dark Theme (legacy)',\n palette: 'legacyPalette',\n attributes: {\n type: 'color',\n mode: 'dark'\n }\n },\n 'atlassian-spacing': {\n id: 'spacing',\n displayName: 'Atlassian Spacing',\n palette: 'spacingScale',\n attributes: {\n type: 'spacing'\n }\n },\n 'atlassian-typography-adg3': {\n id: 'typography-adg3',\n displayName: 'ADG3 Typography',\n palette: 'typographyPalette',\n attributes: {\n type: 'typography'\n }\n },\n 'atlassian-shape': {\n id: 'shape',\n displayName: 'Atlassian Shape',\n palette: 'shapePalette',\n attributes: {\n type: 'shape'\n }\n },\n 'atlassian-typography-modernized': {\n id: 'typography-modernized',\n displayName: 'Atlassian Typography (Modernized)',\n palette: 'typographyPalette',\n attributes: {\n type: 'typography'\n }\n },\n 'atlassian-typography-refreshed': {\n id: 'typography-refreshed',\n displayName: 'Atlassian Typography (Refreshed)',\n palette: 'typographyPalette',\n attributes: {\n type: 'typography'\n }\n },\n 'atlassian-light-brand-refresh': {\n id: 'light-brand-refresh',\n displayName: 'Light theme (Brand refresh)',\n palette: 'brandRefreshPalette',\n attributes: {\n type: 'color',\n mode: 'light'\n }\n },\n 'atlassian-dark-brand-refresh': {\n id: 'dark-brand-refresh',\n displayName: 'Dark theme (Brand refresh)',\n palette: 'brandRefreshPalette',\n attributes: {\n type: 'color',\n mode: 'dark'\n }\n }\n};\n\n/**\n * ThemeOptionsSchema: additional configuration options used to customize Atlassian's themes\n */\n\n/**\n * ThemeState: the standard representation of an app's current theme and preferences\n */\n\n/**\n * Can't evaluate typography feature flags at the module level,\n * it will always resolve to false when server side rendered or when flags are loaded async.\n */\n\n/**\n * themeStateDefaults: the default values for ThemeState used by theming utilities\n */\nexport var themeStateDefaults = {\n colorMode: 'auto',\n contrastMode: 'auto',\n dark: 'dark',\n light: 'light',\n shape: undefined,\n spacing: 'spacing',\n typography: function typography() {\n if (fg('platform-default-typography-modernized')) {\n return 'typography-modernized';\n }\n return undefined;\n },\n UNSAFE_themeOptions: undefined\n};\n\n/**\n * Represents theme state once mounted to the page\n * (the page doesn't have an \"auto\" color mode, it's either light or dark)\n */\n\nexport default themeConfig;","/**\n * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <<SignedSource::02412877f3dbfda4dbaee7a917f24b6c>>\n * @codegenCommand yarn build tokens\n */\nvar tokens = {\n 'color.text': '--ds-text',\n 'color.text.accent.lime': '--ds-text-accent-lime',\n 'color.text.accent.lime.bolder': '--ds-text-accent-lime-bolder',\n 'color.text.accent.red': '--ds-text-accent-red',\n 'color.text.accent.red.bolder': '--ds-text-accent-red-bolder',\n 'color.text.accent.orange': '--ds-text-accent-orange',\n 'color.text.accent.orange.bolder': '--ds-text-accent-orange-bolder',\n 'color.text.accent.yellow': '--ds-text-accent-yellow',\n 'color.text.accent.yellow.bolder': '--ds-text-accent-yellow-bolder',\n 'color.text.accent.green': '--ds-text-accent-green',\n 'color.text.accent.green.bolder': '--ds-text-accent-green-bolder',\n 'color.text.accent.teal': '--ds-text-accent-teal',\n 'color.text.accent.teal.bolder': '--ds-text-accent-teal-bolder',\n 'color.text.accent.blue': '--ds-text-accent-blue',\n 'color.text.accent.blue.bolder': '--ds-text-accent-blue-bolder',\n 'color.text.accent.purple': '--ds-text-accent-purple',\n 'color.text.accent.purple.bolder': '--ds-text-accent-purple-bolder',\n 'color.text.accent.magenta': '--ds-text-accent-magenta',\n 'color.text.accent.magenta.bolder': '--ds-text-accent-magenta-bolder',\n 'color.text.accent.gray': '--ds-text-accent-gray',\n 'color.text.accent.gray.bolder': '--ds-text-accent-gray-bolder',\n 'color.text.disabled': '--ds-text-disabled',\n 'color.text.inverse': '--ds-text-inverse',\n 'color.text.selected': '--ds-text-selected',\n 'color.text.brand': '--ds-text-brand',\n 'color.text.danger': '--ds-text-danger',\n 'color.text.warning': '--ds-text-warning',\n 'color.text.warning.inverse': '--ds-text-warning-inverse',\n 'color.text.success': '--ds-text-success',\n 'color.text.discovery': '--ds-text-discovery',\n 'color.text.information': '--ds-text-information',\n 'color.text.subtlest': '--ds-text-subtlest',\n 'color.text.subtle': '--ds-text-subtle',\n 'color.link': '--ds-link',\n 'color.link.pressed': '--ds-link-pressed',\n 'color.link.visited': '--ds-link-visited',\n 'color.link.visited.pressed': '--ds-link-visited-pressed',\n 'color.icon': '--ds-icon',\n 'color.icon.accent.lime': '--ds-icon-accent-lime',\n 'color.icon.accent.red': '--ds-icon-accent-red',\n 'color.icon.accent.orange': '--ds-icon-accent-orange',\n 'color.icon.accent.yellow': '--ds-icon-accent-yellow',\n 'color.icon.accent.green': '--ds-icon-accent-green',\n 'color.icon.accent.teal': '--ds-icon-accent-teal',\n 'color.icon.accent.blue': '--ds-icon-accent-blue',\n 'color.icon.accent.purple': '--ds-icon-accent-purple',\n 'color.icon.accent.magenta': '--ds-icon-accent-magenta',\n 'color.icon.accent.gray': '--ds-icon-accent-gray',\n 'color.icon.disabled': '--ds-icon-disabled',\n 'color.icon.inverse': '--ds-icon-inverse',\n 'color.icon.selected': '--ds-icon-selected',\n 'color.icon.brand': '--ds-icon-brand',\n 'color.icon.danger': '--ds-icon-danger',\n 'color.icon.warning': '--ds-icon-warning',\n 'color.icon.warning.inverse': '--ds-icon-warning-inverse',\n 'color.icon.success': '--ds-icon-success',\n 'color.icon.discovery': '--ds-icon-discovery',\n 'color.icon.information': '--ds-icon-information',\n 'color.icon.subtlest': '--ds-icon-subtlest',\n 'color.icon.subtle': '--ds-icon-subtle',\n 'color.border': '--ds-border',\n 'color.border.accent.lime': '--ds-border-accent-lime',\n 'color.border.accent.red': '--ds-border-accent-red',\n 'color.border.accent.orange': '--ds-border-accent-orange',\n 'color.border.accent.yellow': '--ds-border-accent-yellow',\n 'color.border.accent.green': '--ds-border-accent-green',\n 'color.border.accent.teal': '--ds-border-accent-teal',\n 'color.border.accent.blue': '--ds-border-accent-blue',\n 'color.border.accent.purple': '--ds-border-accent-purple',\n 'color.border.accent.magenta': '--ds-border-accent-magenta',\n 'color.border.accent.gray': '--ds-border-accent-gray',\n 'color.border.disabled': '--ds-border-disabled',\n 'color.border.focused': '--ds-border-focused',\n 'color.border.input': '--ds-border-input',\n 'color.border.inverse': '--ds-border-inverse',\n 'color.border.selected': '--ds-border-selected',\n 'color.border.brand': '--ds-border-brand',\n 'color.border.danger': '--ds-border-danger',\n 'color.border.warning': '--ds-border-warning',\n 'color.border.success': '--ds-border-success',\n 'color.border.discovery': '--ds-border-discovery',\n 'color.border.information': '--ds-border-information',\n 'color.border.bold': '--ds-border-bold',\n 'color.background.accent.lime.subtlest': '--ds-background-accent-lime-subtlest',\n 'color.background.accent.lime.subtlest.hovered': '--ds-background-accent-lime-subtlest-hovered',\n 'color.background.accent.lime.subtlest.pressed': '--ds-background-accent-lime-subtlest-pressed',\n 'color.background.accent.lime.subtler': '--ds-background-accent-lime-subtler',\n 'color.background.accent.lime.subtler.hovered': '--ds-background-accent-lime-subtler-hovered',\n 'color.background.accent.lime.subtler.pressed': '--ds-background-accent-lime-subtler-pressed',\n 'color.background.accent.lime.subtle': '--ds-background-accent-lime-subtle',\n 'color.background.accent.lime.subtle.hovered': '--ds-background-accent-lime-subtle-hovered',\n 'color.background.accent.lime.subtle.pressed': '--ds-background-accent-lime-subtle-pressed',\n 'color.background.accent.lime.bolder': '--ds-background-accent-lime-bolder',\n 'color.background.accent.lime.bolder.hovered': '--ds-background-accent-lime-bolder-hovered',\n 'color.background.accent.lime.bolder.pressed': '--ds-background-accent-lime-bolder-pressed',\n 'color.background.accent.red.subtlest': '--ds-background-accent-red-subtlest',\n 'color.background.accent.red.subtlest.hovered': '--ds-background-accent-red-subtlest-hovered',\n 'color.background.accent.red.subtlest.pressed': '--ds-background-accent-red-subtlest-pressed',\n 'color.background.accent.red.subtler': '--ds-background-accent-red-subtler',\n 'color.background.accent.red.subtler.hovered': '--ds-background-accent-red-subtler-hovered',\n 'color.background.accent.red.subtler.pressed': '--ds-background-accent-red-subtler-pressed',\n 'color.background.accent.red.subtle': '--ds-background-accent-red-subtle',\n 'color.background.accent.red.subtle.hovered': '--ds-background-accent-red-subtle-hovered',\n 'color.background.accent.red.subtle.pressed': '--ds-background-accent-red-subtle-pressed',\n 'color.background.accent.red.bolder': '--ds-background-accent-red-bolder',\n 'color.background.accent.red.bolder.hovered': '--ds-background-accent-red-bolder-hovered',\n 'color.background.accent.red.bolder.pressed': '--ds-background-accent-red-bolder-pressed',\n 'color.background.accent.orange.subtlest': '--ds-background-accent-orange-subtlest',\n 'color.background.accent.orange.subtlest.hovered': '--ds-background-accent-orange-subtlest-hovered',\n 'color.background.accent.orange.subtlest.pressed': '--ds-background-accent-orange-subtlest-pressed',\n 'color.background.accent.orange.subtler': '--ds-background-accent-orange-subtler',\n 'color.background.accent.orange.subtler.hovered': '--ds-background-accent-orange-subtler-hovered',\n 'color.background.accent.orange.subtler.pressed': '--ds-background-accent-orange-subtler-pressed',\n 'color.background.accent.orange.subtle': '--ds-background-accent-orange-subtle',\n 'color.background.accent.orange.subtle.hovered': '--ds-background-accent-orange-subtle-hovered',\n 'color.background.accent.orange.subtle.pressed': '--ds-background-accent-orange-subtle-pressed',\n 'color.background.accent.orange.bolder': '--ds-background-accent-orange-bolder',\n 'color.background.accent.orange.bolder.hovered': '--ds-background-accent-orange-bolder-hovered',\n 'color.background.accent.orange.bolder.pressed': '--ds-background-accent-orange-bolder-pressed',\n 'color.background.accent.yellow.subtlest': '--ds-background-accent-yellow-subtlest',\n 'color.background.accent.yellow.subtlest.hovered': '--ds-background-accent-yellow-subtlest-hovered',\n 'color.background.accent.yellow.subtlest.pressed': '--ds-background-accent-yellow-subtlest-pressed',\n 'color.background.accent.yellow.subtler': '--ds-background-accent-yellow-subtler',\n 'color.background.accent.yellow.subtler.hovered': '--ds-background-accent-yellow-subtler-hovered',\n 'color.background.accent.yellow.subtler.pressed': '--ds-background-accent-yellow-subtler-pressed',\n 'color.background.accent.yellow.subtle': '--ds-background-accent-yellow-subtle',\n 'color.background.accent.yellow.subtle.hovered': '--ds-background-accent-yellow-subtle-hovered',\n 'color.background.accent.yellow.subtle.pressed': '--ds-background-accent-yellow-subtle-pressed',\n 'color.background.accent.yellow.bolder': '--ds-background-accent-yellow-bolder',\n 'color.background.accent.yellow.bolder.hovered': '--ds-background-accent-yellow-bolder-hovered',\n 'color.background.accent.yellow.bolder.pressed': '--ds-background-accent-yellow-bolder-pressed',\n 'color.background.accent.green.subtlest': '--ds-background-accent-green-subtlest',\n 'color.background.accent.green.subtlest.hovered': '--ds-background-accent-green-subtlest-hovered',\n 'color.background.accent.green.subtlest.pressed': '--ds-background-accent-green-subtlest-pressed',\n 'color.background.accent.green.subtler': '--ds-background-accent-green-subtler',\n 'color.background.accent.green.subtler.hovered': '--ds-background-accent-green-subtler-hovered',\n 'color.background.accent.green.subtler.pressed': '--ds-background-accent-green-subtler-pressed',\n 'color.background.accent.green.subtle': '--ds-background-accent-green-subtle',\n 'color.background.accent.green.subtle.hovered': '--ds-background-accent-green-subtle-hovered',\n 'color.background.accent.green.subtle.pressed': '--ds-background-accent-green-subtle-pressed',\n 'color.background.accent.green.bolder': '--ds-background-accent-green-bolder',\n 'color.background.accent.green.bolder.hovered': '--ds-background-accent-green-bolder-hovered',\n 'color.background.accent.green.bolder.pressed': '--ds-background-accent-green-bolder-pressed',\n 'color.background.accent.teal.subtlest': '--ds-background-accent-teal-subtlest',\n 'color.background.accent.teal.subtlest.hovered': '--ds-background-accent-teal-subtlest-hovered',\n 'color.background.accent.teal.subtlest.pressed': '--ds-background-accent-teal-subtlest-pressed',\n 'color.background.accent.teal.subtler': '--ds-background-accent-teal-subtler',\n 'color.background.accent.teal.subtler.hovered': '--ds-background-accent-teal-subtler-hovered',\n 'color.background.accent.teal.subtler.pressed': '--ds-background-accent-teal-subtler-pressed',\n 'color.background.accent.teal.subtle': '--ds-background-accent-teal-subtle',\n 'color.background.accent.teal.subtle.hovered': '--ds-background-accent-teal-subtle-hovered',\n 'color.background.accent.teal.subtle.pressed': '--ds-background-accent-teal-subtle-pressed',\n 'color.background.accent.teal.bolder': '--ds-background-accent-teal-bolder',\n 'color.background.accent.teal.bolder.hovered': '--ds-background-accent-teal-bolder-hovered',\n 'color.background.accent.teal.bolder.pressed': '--ds-background-accent-teal-bolder-pressed',\n 'color.background.accent.blue.subtlest': '--ds-background-accent-blue-subtlest',\n 'color.background.accent.blue.subtlest.hovered': '--ds-background-accent-blue-subtlest-hovered',\n 'color.background.accent.blue.subtlest.pressed': '--ds-background-accent-blue-subtlest-pressed',\n 'color.background.accent.blue.subtler': '--ds-background-accent-blue-subtler',\n 'color.background.accent.blue.subtler.hovered': '--ds-background-accent-blue-subtler-hovered',\n 'color.background.accent.blue.subtler.pressed': '--ds-background-accent-blue-subtler-pressed',\n 'color.background.accent.blue.subtle': '--ds-background-accent-blue-subtle',\n 'color.background.accent.blue.subtle.hovered': '--ds-background-accent-blue-subtle-hovered',\n 'color.background.accent.blue.subtle.pressed': '--ds-background-accent-blue-subtle-pressed',\n 'color.background.accent.blue.bolder': '--ds-background-accent-blue-bolder',\n 'color.background.accent.blue.bolder.hovered': '--ds-background-accent-blue-bolder-hovered',\n 'color.background.accent.blue.bolder.pressed': '--ds-background-accent-blue-bolder-pressed',\n 'color.background.accent.purple.subtlest': '--ds-background-accent-purple-subtlest',\n 'color.background.accent.purple.subtlest.hovered': '--ds-background-accent-purple-subtlest-hovered',\n 'color.background.accent.purple.subtlest.pressed': '--ds-background-accent-purple-subtlest-pressed',\n 'color.background.accent.purple.subtler': '--ds-background-accent-purple-subtler',\n 'color.background.accent.purple.subtler.hovered': '--ds-background-accent-purple-subtler-hovered',\n 'color.background.accent.purple.subtler.pressed': '--ds-background-accent-purple-subtler-pressed',\n 'color.background.accent.purple.subtle': '--ds-background-accent-purple-subtle',\n 'color.background.accent.purple.subtle.hovered': '--ds-background-accent-purple-subtle-hovered',\n 'color.background.accent.purple.subtle.pressed': '--ds-background-accent-purple-subtle-pressed',\n 'color.background.accent.purple.bolder': '--ds-background-accent-purple-bolder',\n 'color.background.accent.purple.bolder.hovered': '--ds-background-accent-purple-bolder-hovered',\n 'color.background.accent.purple.bolder.pressed': '--ds-background-accent-purple-bolder-pressed',\n 'color.background.accent.magenta.subtlest': '--ds-background-accent-magenta-subtlest',\n 'color.background.accent.magenta.subtlest.hovered': '--ds-background-accent-magenta-subtlest-hovered',\n 'color.background.accent.magenta.subtlest.pressed': '--ds-background-accent-magenta-subtlest-pressed',\n 'color.background.accent.magenta.subtler': '--ds-background-accent-magenta-subtler',\n 'color.background.accent.magenta.subtler.hovered': '--ds-background-accent-magenta-subtler-hovered',\n 'color.background.accent.magenta.subtler.pressed': '--ds-background-accent-magenta-subtler-pressed',\n 'color.background.accent.magenta.subtle': '--ds-background-accent-magenta-subtle',\n 'color.background.accent.magenta.subtle.hovered': '--ds-background-accent-magenta-subtle-hovered',\n 'color.background.accent.magenta.subtle.pressed': '--ds-background-accent-magenta-subtle-pressed',\n 'color.background.accent.magenta.bolder': '--ds-background-accent-magenta-bolder',\n 'color.background.accent.magenta.bolder.hovered': '--ds-background-accent-magenta-bolder-hovered',\n 'color.background.accent.magenta.bolder.pressed': '--ds-background-accent-magenta-bolder-pressed',\n 'color.background.accent.gray.subtlest': '--ds-background-accent-gray-subtlest',\n 'color.background.accent.gray.subtlest.hovered': '--ds-background-accent-gray-subtlest-hovered',\n 'color.background.accent.gray.subtlest.pressed': '--ds-background-accent-gray-subtlest-pressed',\n 'color.background.accent.gray.subtler': '--ds-background-accent-gray-subtler',\n 'color.background.accent.gray.subtler.hovered': '--ds-background-accent-gray-subtler-hovered',\n 'color.background.accent.gray.subtler.pressed': '--ds-background-accent-gray-subtler-pressed',\n 'color.background.accent.gray.subtle': '--ds-background-accent-gray-subtle',\n 'color.background.accent.gray.subtle.hovered': '--ds-background-accent-gray-subtle-hovered',\n 'color.background.accent.gray.subtle.pressed': '--ds-background-accent-gray-subtle-pressed',\n 'color.background.accent.gray.bolder': '--ds-background-accent-gray-bolder',\n 'color.background.accent.gray.bolder.hovered': '--ds-background-accent-gray-bolder-hovered',\n 'color.background.accent.gray.bolder.pressed': '--ds-background-accent-gray-bolder-pressed',\n 'color.background.disabled': '--ds-background-disabled',\n 'color.background.input': '--ds-background-input',\n 'color.background.input.hovered': '--ds-background-input-hovered',\n 'color.background.input.pressed': '--ds-background-input-pressed',\n 'color.background.inverse.subtle': '--ds-background-inverse-subtle',\n 'color.background.inverse.subtle.hovered': '--ds-background-inverse-subtle-hovered',\n 'color.background.inverse.subtle.pressed': '--ds-background-inverse-subtle-pressed',\n 'color.background.neutral': '--ds-background-neutral',\n 'color.background.neutral.hovered': '--ds-background-neutral-hovered',\n 'color.background.neutral.pressed': '--ds-background-neutral-pressed',\n 'color.background.neutral.subtle': '--ds-background-neutral-subtle',\n 'color.background.neutral.subtle.hovered': '--ds-background-neutral-subtle-hovered',\n 'color.background.neutral.subtle.pressed': '--ds-background-neutral-subtle-pressed',\n 'color.background.neutral.bold': '--ds-background-neutral-bold',\n 'color.background.neutral.bold.hovered': '--ds-background-neutral-bold-hovered',\n 'color.background.neutral.bold.pressed': '--ds-background-neutral-bold-pressed',\n 'color.background.selected': '--ds-background-selected',\n 'color.background.selected.hovered': '--ds-background-selected-hovered',\n 'color.background.selected.pressed': '--ds-background-selected-pressed',\n 'color.background.selected.bold': '--ds-background-selected-bold',\n 'color.background.selected.bold.hovered': '--ds-background-selected-bold-hovered',\n 'color.background.selected.bold.pressed': '--ds-background-selected-bold-pressed',\n 'color.background.brand.subtlest': '--ds-background-brand-subtlest',\n 'color.background.brand.subtlest.hovered': '--ds-background-brand-subtlest-hovered',\n 'color.background.brand.subtlest.pressed': '--ds-background-brand-subtlest-pressed',\n 'color.background.brand.bold': '--ds-background-brand-bold',\n 'color.background.brand.bold.hovered': '--ds-background-brand-bold-hovered',\n 'color.background.brand.bold.pressed': '--ds-background-brand-bold-pressed',\n 'color.background.brand.boldest': '--ds-background-brand-boldest',\n 'color.background.brand.boldest.hovered': '--ds-background-brand-boldest-hovered',\n 'color.background.brand.boldest.pressed': '--ds-background-brand-boldest-pressed',\n 'color.background.danger': '--ds-background-danger',\n 'color.background.danger.hovered': '--ds-background-danger-hovered',\n 'color.background.danger.pressed': '--ds-background-danger-pressed',\n 'color.background.danger.bold': '--ds-background-danger-bold',\n 'color.background.danger.bold.hovered': '--ds-background-danger-bold-hovered',\n 'color.background.danger.bold.pressed': '--ds-background-danger-bold-pressed',\n 'color.background.warning': '--ds-background-warning',\n 'color.background.warning.hovered': '--ds-background-warning-hovered',\n 'color.background.warning.pressed': '--ds-background-warning-pressed',\n 'color.background.warning.bold': '--ds-background-warning-bold',\n 'color.background.warning.bold.hovered': '--ds-background-warning-bold-hovered',\n 'color.background.warning.bold.pressed': '--ds-background-warning-bold-pressed',\n 'color.background.success': '--ds-background-success',\n 'color.background.success.hovered': '--ds-background-success-hovered',\n 'color.background.success.pressed': '--ds-background-success-pressed',\n 'color.background.success.bold': '--ds-background-success-bold',\n 'color.background.success.bold.hovered': '--ds-background-success-bold-hovered',\n 'color.background.success.bold.pressed': '--ds-background-success-bold-pressed',\n 'color.background.discovery': '--ds-background-discovery',\n 'color.background.discovery.hovered': '--ds-background-discovery-hovered',\n 'color.background.discovery.pressed': '--ds-background-discovery-pressed',\n 'color.background.discovery.bold': '--ds-background-discovery-bold',\n 'color.background.discovery.bold.hovered': '--ds-background-discovery-bold-hovered',\n 'color.background.discovery.bold.pressed': '--ds-background-discovery-bold-pressed',\n 'color.background.information': '--ds-background-information',\n 'color.background.information.hovered': '--ds-background-information-hovered',\n 'color.background.information.pressed': '--ds-background-information-pressed',\n 'color.background.information.bold': '--ds-background-information-bold',\n 'color.background.information.bold.hovered': '--ds-background-information-bold-hovered',\n 'color.background.information.bold.pressed': '--ds-background-information-bold-pressed',\n 'color.blanket': '--ds-blanket',\n 'color.blanket.selected': '--ds-blanket-selected',\n 'color.blanket.danger': '--ds-blanket-danger',\n 'color.interaction.hovered': '--ds-interaction-hovered',\n 'color.interaction.pressed': '--ds-interaction-pressed',\n 'color.skeleton': '--ds-skeleton',\n 'color.skeleton.subtle': '--ds-skeleton-subtle',\n 'color.chart.categorical.1': '--ds-chart-categorical-1',\n 'color.chart.categorical.1.hovered': '--ds-chart-categorical-1-hovered',\n 'color.chart.categorical.2': '--ds-chart-categorical-2',\n 'color.chart.categorical.2.hovered': '--ds-chart-categorical-2-hovered',\n 'color.chart.categorical.3': '--ds-chart-categorical-3',\n 'color.chart.categorical.3.hovered': '--ds-chart-categorical-3-hovered',\n 'color.chart.categorical.4': '--ds-chart-categorical-4',\n 'color.chart.categorical.4.hovered': '--ds-chart-categorical-4-hovered',\n 'color.chart.categorical.5': '--ds-chart-categorical-5',\n 'color.chart.categorical.5.hovered': '--ds-chart-categorical-5-hovered',\n 'color.chart.categorical.6': '--ds-chart-categorical-6',\n 'color.chart.categorical.6.hovered': '--ds-chart-categorical-6-hovered',\n 'color.chart.categorical.7': '--ds-chart-categorical-7',\n 'color.chart.categorical.7.hovered': '--ds-chart-categorical-7-hovered',\n 'color.chart.categorical.8': '--ds-chart-categorical-8',\n 'color.chart.categorical.8.hovered': '--ds-chart-categorical-8-hovered',\n 'color.chart.lime.bold': '--ds-chart-lime-bold',\n 'color.chart.lime.bold.hovered': '--ds-chart-lime-bold-hovered',\n 'color.chart.lime.bolder': '--ds-chart-lime-bolder',\n 'color.chart.lime.bolder.hovered': '--ds-chart-lime-bolder-hovered',\n 'color.chart.lime.boldest': '--ds-chart-lime-boldest',\n 'color.chart.lime.boldest.hovered': '--ds-chart-lime-boldest-hovered',\n 'color.chart.neutral': '--ds-chart-neutral',\n 'color.chart.neutral.hovered': '--ds-chart-neutral-hovered',\n 'color.chart.red.bold': '--ds-chart-red-bold',\n 'color.chart.red.bold.hovered': '--ds-chart-red-bold-hovered',\n 'color.chart.red.bolder': '--ds-chart-red-bolder',\n 'color.chart.red.bolder.hovered': '--ds-chart-red-bolder-hovered',\n 'color.chart.red.boldest': '--ds-chart-red-boldest',\n 'color.chart.red.boldest.hovered': '--ds-chart-red-boldest-hovered',\n 'color.chart.orange.bold': '--ds-chart-orange-bold',\n 'color.chart.orange.bold.hovered': '--ds-chart-orange-bold-hovered',\n 'color.chart.orange.bolder': '--ds-chart-orange-bolder',\n 'color.chart.orange.bolder.hovered': '--ds-chart-orange-bolder-hovered',\n 'color.chart.orange.boldest': '--ds-chart-orange-boldest',\n 'color.chart.orange.boldest.hovered': '--ds-chart-orange-boldest-hovered',\n 'color.chart.yellow.bold': '--ds-chart-yellow-bold',\n 'color.chart.yellow.bold.hovered': '--ds-chart-yellow-bold-hovered',\n 'color.chart.yellow.bolder': '--ds-chart-yellow-bolder',\n 'color.chart.yellow.bolder.hovered': '--ds-chart-yellow-bolder-hovered',\n 'color.chart.yellow.boldest': '--ds-chart-yellow-boldest',\n 'color.chart.yellow.boldest.hovered': '--ds-chart-yellow-boldest-hovered',\n 'color.chart.green.bold': '--ds-chart-green-bold',\n 'color.chart.green.bold.hovered': '--ds-chart-green-bold-hovered',\n 'color.chart.green.bolder': '--ds-chart-green-bolder',\n 'color.chart.green.bolder.hovered': '--ds-chart-green-bolder-hovered',\n 'color.chart.green.boldest': '--ds-chart-green-boldest',\n 'color.chart.green.boldest.hovered': '--ds-chart-green-boldest-hovered',\n 'color.chart.teal.bold': '--ds-chart-teal-bold',\n 'color.chart.teal.bold.hovered': '--ds-chart-teal-bold-hovered',\n 'color.chart.teal.bolder': '--ds-chart-teal-bolder',\n 'color.chart.teal.bolder.hovered': '--ds-chart-teal-bolder-hovered',\n 'color.chart.teal.boldest': '--ds-chart-teal-boldest',\n 'color.chart.teal.boldest.hovered': '--ds-chart-teal-boldest-hovered',\n 'color.chart.blue.bold': '--ds-chart-blue-bold',\n 'color.chart.blue.bold.hovered': '--ds-chart-blue-bold-hovered',\n 'color.chart.blue.bolder': '--ds-chart-blue-bolder',\n 'color.chart.blue.bolder.hovered': '--ds-chart-blue-bolder-hovered',\n 'color.chart.blue.boldest': '--ds-chart-blue-boldest',\n 'color.chart.blue.boldest.hovered': '--ds-chart-blue-boldest-hovered',\n 'color.chart.purple.bold': '--ds-chart-purple-bold',\n 'color.chart.purple.bold.hovered': '--ds-chart-purple-bold-hovered',\n 'color.chart.purple.bolder': '--ds-chart-purple-bolder',\n 'color.chart.purple.bolder.hovered': '--ds-chart-purple-bolder-hovered',\n 'color.chart.purple.boldest': '--ds-chart-purple-boldest',\n 'color.chart.purple.boldest.hovered': '--ds-chart-purple-boldest-hovered',\n 'color.chart.magenta.bold': '--ds-chart-magenta-bold',\n 'color.chart.magenta.bold.hovered': '--ds-chart-magenta-bold-hovered',\n 'color.chart.magenta.bolder': '--ds-chart-magenta-bolder',\n 'color.chart.magenta.bolder.hovered': '--ds-chart-magenta-bolder-hovered',\n 'color.chart.magenta.boldest': '--ds-chart-magenta-boldest',\n 'color.chart.magenta.boldest.hovered': '--ds-chart-magenta-boldest-hovered',\n 'color.chart.gray.bold': '--ds-chart-gray-bold',\n 'color.chart.gray.bold.hovered': '--ds-chart-gray-bold-hovered',\n 'color.chart.gray.bolder': '--ds-chart-gray-bolder',\n 'color.chart.gray.bolder.hovered': '--ds-chart-gray-bolder-hovered',\n 'color.chart.gray.boldest': '--ds-chart-gray-boldest',\n 'color.chart.gray.boldest.hovered': '--ds-chart-gray-boldest-hovered',\n 'color.chart.brand': '--ds-chart-brand',\n 'color.chart.brand.hovered': '--ds-chart-brand-hovered',\n 'color.chart.danger': '--ds-chart-danger',\n 'color.chart.danger.hovered': '--ds-chart-danger-hovered',\n 'color.chart.danger.bold': '--ds-chart-danger-bold',\n 'color.chart.danger.bold.hovered': '--ds-chart-danger-bold-hovered',\n 'color.chart.warning': '--ds-chart-warning',\n 'color.chart.warning.hovered': '--ds-chart-warning-hovered',\n 'color.chart.warning.bold': '--ds-chart-warning-bold',\n 'color.chart.warning.bold.hovered': '--ds-chart-warning-bold-hovered',\n 'color.chart.success': '--ds-chart-success',\n 'color.chart.success.hovered': '--ds-chart-success-hovered',\n 'color.chart.success.bold': '--ds-chart-success-bold',\n 'color.chart.success.bold.hovered': '--ds-chart-success-bold-hovered',\n 'color.chart.discovery': '--ds-chart-discovery',\n 'color.chart.discovery.hovered': '--ds-chart-discovery-hovered',\n 'color.chart.discovery.bold': '--ds-chart-discovery-bold',\n 'color.chart.discovery.bold.hovered': '--ds-chart-discovery-bold-hovered',\n 'color.chart.information': '--ds-chart-information',\n 'color.chart.information.hovered': '--ds-chart-information-hovered',\n 'color.chart.information.bold': '--ds-chart-information-bold',\n 'color.chart.information.bold.hovered': '--ds-chart-information-bold-hovered',\n 'elevation.surface': '--ds-surface',\n 'elevation.surface.hovered': '--ds-surface-hovered',\n 'elevation.surface.pressed': '--ds-surface-pressed',\n 'elevation.surface.overlay': '--ds-surface-overlay',\n 'elevation.surface.overlay.hovered': '--ds-surface-overlay-hovered',\n 'elevation.surface.overlay.pressed': '--ds-surface-overlay-pressed',\n 'elevation.surface.raised': '--ds-surface-raised',\n 'elevation.surface.raised.hovered': '--ds-surface-raised-hovered',\n 'elevation.surface.raised.pressed': '--ds-surface-raised-pressed',\n 'elevation.surface.sunken': '--ds-surface-sunken',\n 'elevation.shadow.overflow': '--ds-shadow-overflow',\n 'elevation.shadow.overflow.perimeter': '--ds-shadow-overflow-perimeter',\n 'elevation.shadow.overflow.spread': '--ds-shadow-overflow-spread',\n 'elevation.shadow.overlay': '--ds-shadow-overlay',\n 'elevation.shadow.raised': '--ds-shadow-raised',\n 'opacity.disabled': '--ds-opacity-disabled',\n 'opacity.loading': '--ds-opacity-loading',\n 'utility.UNSAFE.textTransformUppercase': '--ds-UNSAFE-textTransformUppercase',\n 'utility.UNSAFE.transparent': '--ds-UNSAFE-transparent',\n 'utility.elevation.surface.current': '--ds-elevation-surface-current',\n 'border.radius.050': '--ds-border-radius-050',\n 'border.radius': '--ds-border-radius',\n 'border.radius.100': '--ds-border-radius-100',\n 'border.radius.200': '--ds-border-radius-200',\n 'border.radius.300': '--ds-border-radius-300',\n 'border.radius.400': '--ds-border-radius-400',\n 'border.radius.circle': '--ds-border-radius-circle',\n 'border.width': '--ds-border-width',\n 'border.width.0': '--ds-border-width-0',\n 'border.width.indicator': '--ds-border-width-indicator',\n 'border.width.outline': '--ds-border-width-outline',\n 'space.0': '--ds-space-0',\n 'space.025': '--ds-space-025',\n 'space.050': '--ds-space-050',\n 'space.075': '--ds-space-075',\n 'space.100': '--ds-space-100',\n 'space.150': '--ds-space-150',\n 'space.200': '--ds-space-200',\n 'space.250': '--ds-space-250',\n 'space.300': '--ds-space-300',\n 'space.400': '--ds-space-400',\n 'space.500': '--ds-space-500',\n 'space.600': '--ds-space-600',\n 'space.800': '--ds-space-800',\n 'space.1000': '--ds-space-1000',\n 'space.negative.025': '--ds-space-negative-025',\n 'space.negative.050': '--ds-space-negative-050',\n 'space.negative.075': '--ds-space-negative-075',\n 'space.negative.100': '--ds-space-negative-100',\n 'space.negative.150': '--ds-space-negative-150',\n 'space.negative.200': '--ds-space-negative-200',\n 'space.negative.250': '--ds-space-negative-250',\n 'space.negative.300': '--ds-space-negative-300',\n 'space.negative.400': '--ds-space-negative-400',\n 'font.heading.xxlarge': '--ds-font-heading-xxlarge',\n 'font.heading.xlarge': '--ds-font-heading-xlarge',\n 'font.heading.large': '--ds-font-heading-large',\n 'font.heading.medium': '--ds-font-heading-medium',\n 'font.heading.small': '--ds-font-heading-small',\n 'font.heading.xsmall': '--ds-font-heading-xsmall',\n 'font.heading.xxsmall': '--ds-font-heading-xxsmall',\n 'font.body.large': '--ds-font-body-large',\n 'font.body': '--ds-font-body',\n 'font.body.small': '--ds-font-body-small',\n 'font.body.UNSAFE_small': '--ds-font-body-UNSAFE_small',\n 'font.code': '--ds-font-code',\n 'font.weight.regular': '--ds-font-weight-regular',\n 'font.weight.medium': '--ds-font-weight-medium',\n 'font.weight.semibold': '--ds-font-weight-semibold',\n 'font.weight.bold': '--ds-font-weight-bold',\n 'font.family.heading': '--ds-font-family-heading',\n 'font.family.body': '--ds-font-family-body',\n 'font.family.code': '--ds-font-family-code',\n 'font.family.brand.heading': '--ds-font-family-brand-heading',\n 'font.family.brand.body': '--ds-font-family-brand-body'\n};\nexport default tokens;","export var THEME_DATA_ATTRIBUTE = 'data-theme';\nexport var COLOR_MODE_ATTRIBUTE = 'data-color-mode';\nexport var CONTRAST_MODE_ATTRIBUTE = 'data-contrast-mode';\nexport var CUSTOM_THEME_ATTRIBUTE = 'data-custom-theme';\nexport var DEFAULT_THEME = 'light';\nexport var CSS_PREFIX = 'ds';\nexport var CSS_VAR_FULL = ['opacity', 'font', 'space', 'border'];\nexport var TOKEN_NOT_FOUND_CSS_VAR = \"--\".concat(CSS_PREFIX, \"-token-not-found\");\nexport var CURRENT_SURFACE_CSS_VAR = \"--\".concat(CSS_PREFIX, \"-elevation-surface-current\");","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n// Extend the Window interface to include optional analyticsWebClient\n\n/**\n * Records a token call event to the analytics service. This is used to track which tokens are being used at runtime as they should be substituted by the values by @atlaskit/tokens/babel-plugin at build time.\n * @param token - The token that was called.\n * @param fallback - The fallback value that was used.\n */\nexport var recordTokenCall = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(token, fallback) {\n var _window, analyticsClient, isThemeEnabled;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n try {\n // TODO: window.analyticsWebClient is a property specific to Jira. It is not available in the other products. We might consider to register a dedicated analytics client for logging token calls for each product to enable cohesive experience across different products.\n analyticsClient = (_window = window) === null || _window === void 0 ? void 0 : _window.analyticsWebClient;\n if (analyticsClient) {\n // Check for a <style> element with a data-theme attribute in the document\n isThemeEnabled = !!document.querySelector('style[data-theme]'); // when such property exists, we are using it to send this event https://data-portal.internal.atlassian.com/analytics/registry/75682 which is registered specifically for Jira.\n analyticsClient.sendEvent({\n type: 'TRACK',\n payload: {\n action: 'called_at_runtime',\n actionSubject: 'token',\n source: 'design-system',\n attributes: {\n url: window.location.href,\n token: token,\n fallback: fallback,\n isThemeEnabled: isThemeEnabled\n }\n }\n });\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function recordTokenCall(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();","import warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { fg } from '@atlaskit/platform-feature-flags';\nimport tokens from './artifacts/token-names';\nimport { TOKEN_NOT_FOUND_CSS_VAR } from './constants';\nimport { recordTokenCall } from './get-token-analytics';\n/**\n * Takes a dot-separated token name and an optional fallback, and returns the CSS custom property for the corresponding token.\n * This should be used to implement design decisions throughout your application.\n *\n * Note: With `@atlaskit/babel-plugin-tokens`, this function can be pre-compiled and a fallback value automatically inserted.\n *\n * @param {string} path - A dot-separated token name (example: `'color.background.brand'` or `'spacing.scale.100'`).\n * @param {string} [fallback] - The fallback value that should render when token CSS is not present in your app.\n *\n * @example\n * ```\n * <div\n * css={{\n * backgroundColor: token('elevation.surface.raised', N0),\n * boxShadow: token('elevation.shadow.raised', `0 20px 32px -8px ${N50A}, 0 0 1px ${N60A}`),\n * padding: token('spacing.scale.100', '8px'),\n * fontWeight: token('font.weight.regular', '400'),\n * }}\n * />\n * ```\n *\n */\nfunction token(path, fallback) {\n if (fg('platform-token-runtime-call-tracking')) {\n recordTokenCall(path, fallback);\n }\n var token = tokens[path];\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n if (!token) {\n warnOnce(\"Unknown token id at path: \".concat(path, \" in @atlaskit/tokens\"));\n }\n if (token === '--ds-icon-subtlest' && !fg('platform-component-visual-refresh')) {\n warnOnce(\"Token \\\"color.icon.subtlest\\\" is only available when feature flag \\\"platform-component-visual-refresh\\\" is on, don't use it if the flag can't be turned on on this page\");\n }\n }\n\n // if the token is not found - replacing it with variable name without any value, to avoid it being undefined which would result in invalid css\n if (!token) {\n token = TOKEN_NOT_FOUND_CSS_VAR;\n }\n var tokenCall = fallback ? \"var(\".concat(token, \", \").concat(fallback, \")\") : \"var(\".concat(token, \")\");\n return tokenCall;\n}\nexport default token;","import warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { fg } from '@atlaskit/platform-feature-flags';\nimport tokens from './artifacts/token-names';\n/**\n * Takes a dot-separated token name and and an optional fallback, and returns the current computed CSS value for the\n * resulting CSS Custom Property.\n * This should be used for when the CSS cascade isn't available, eg. `<canvas>` elements, JS charting libraries, etc.\n *\n * Note: these values change depending on the theme so consider pairing them with `useThemeObserver` in React, or the\n * `ThemeMutationObserver` class elsewhere.\n *\n * @param {string} path - A dot-separated token name (example: `'color.background.brand'` or `'spacing.scale.100'`).\n * @param {string} [fallback] - The fallback value that should render when token CSS is not present in your app.\n *\n * @example\n * ```\n * const theme = useThemeObserver();\n *\n * useEffect(() => {\n * const lineColor = getTokenValue('color.background.accent.blue.subtle', B400);\n * }, [theme]);\n * ```\n *\n */\nfunction getTokenValue(tokenId) {\n var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var token = tokens[tokenId];\n var tokenValue = fallback;\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n if (!token) {\n warnOnce(\"Unknown token id at path: \".concat(tokenId, \" in @atlaskit/tokens\"));\n }\n if (token === '--ds-icon-subtlest' && !fg('platform-component-visual-refresh')) {\n warnOnce(\"Token \\\"color.icon.subtlest\\\" is only available when feature flag \\\"platform-component-visual-refresh\\\" is on, don't use it if the flag can't be turned on on this page\");\n }\n }\n if (typeof window === 'undefined') {\n return tokenValue;\n }\n tokenValue = window.getComputedStyle(document.documentElement).getPropertyValue(token).trim();\n tokenValue = tokenValue || fallback;\n return tokenValue;\n}\nexport default getTokenValue;","// valid hex color with 6 digits\nexport var isValidBrandHex = function isValidBrandHex(hex) {\n return /^#[0-9A-F]{6}$/i.test(hex);\n};\n\n// valid hex color with 4, 6 or 8 digits\nvar isValidHex = function isValidHex(hex) {\n return /^#([A-Fa-f0-9]{3,4}){1,2}$/.test(hex);\n};\nexport function rgbToHex(r, g, b) {\n return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n}\nexport function getAlpha(hex) {\n if (hex.length === 9) {\n var int = parseInt(hex.slice(7, 9), 16) / 255;\n return Number(parseFloat(int.toString()).toFixed(2));\n }\n return 1;\n}\nexport function hexToRgbA(hex) {\n if (!isValidHex(hex)) {\n throw new Error('Invalid HEX');\n }\n var c;\n c = hex.substring(1).split('');\n if (c.length === 3) {\n c = [c[0], c[0], c[1], c[1], c[2], c[2]];\n }\n c = '0x' + c.join('');\n return [c >> 16 & 255, c >> 8 & 255, c & 255, getAlpha(hex)];\n}\nexport function hexToRgb(hex) {\n if (!isValidHex(hex)) {\n throw new Error('Invalid HEX');\n }\n var c;\n c = hex.substring(1).split('');\n if (c.length === 3) {\n c = [c[0], c[0], c[1], c[1], c[2], c[2]];\n }\n c = '0x' + c.join('');\n return [c >> 16 & 255, c >> 8 & 255, c & 255];\n}\nexport function hexToHSL(hex) {\n if (!isValidHex(hex)) {\n throw new Error('Invalid HEX');\n }\n var r = 0,\n g = 0,\n b = 0;\n if (hex.length === 4) {\n r = '0x' + hex[1] + hex[1];\n g = '0x' + hex[2] + hex[2];\n b = '0x' + hex[3] + hex[3];\n } else if (hex.length === 7) {\n r = '0x' + hex[1] + hex[2];\n g = '0x' + hex[3] + hex[4];\n b = '0x' + hex[5] + hex[6];\n }\n // Then to HSL\n r /= 255;\n g /= 255;\n b /= 255;\n var cmin = Math.min(r, g, b),\n cmax = Math.max(r, g, b),\n delta = cmax - cmin,\n h = 0,\n s = 0,\n l = 0;\n if (delta === 0) {\n h = 0;\n } else if (cmax === r) {\n h = (g - b) / delta % 6;\n } else if (cmax === g) {\n h = (b - r) / delta + 2;\n } else {\n h = (r - g) / delta + 4;\n }\n h = Math.round(h * 60);\n if (h < 0) {\n h += 360;\n }\n l = (cmax + cmin) / 2;\n s = delta === 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));\n s = +(s * 100).toFixed(1);\n l = +(l * 100).toFixed(1);\n return [h, s, l];\n}\nexport function HSLToRGB(h, s, l) {\n s /= 100;\n l /= 100;\n var k = function k(n) {\n return (n + h / 30) % 12;\n };\n var a = s * Math.min(l, 1 - l);\n var f = function f(n) {\n return l - a * Math.max(-1, Math.min(k(n) - 3, Math.min(9 - k(n), 1)));\n };\n return [255 * f(0), 255 * f(8), 255 * f(4)];\n}\nexport function relativeLuminanceW3C(r, g, b) {\n var RsRGB = r / 255;\n var GsRGB = g / 255;\n var BsRGB = b / 255;\n var R = RsRGB <= 0.03928 ? RsRGB / 12.92 : Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n var G = GsRGB <= 0.03928 ? GsRGB / 12.92 : Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n var B = BsRGB <= 0.03928 ? BsRGB / 12.92 : Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n\n // For the sRGB colorspace, the relative luminance of a color is defined as:\n var L = 0.2126 * R + 0.7152 * G + 0.0722 * B;\n return L;\n}\nexport function getContrastRatio(foreground, background) {\n if (!isValidHex(foreground) || !isValidHex(background)) {\n throw new Error('Invalid HEX');\n }\n var foregroundRgb = hexToRgb(foreground);\n var backgroundRgb = hexToRgb(background);\n var foregroundLuminance = relativeLuminanceW3C(foregroundRgb[0], foregroundRgb[1], foregroundRgb[2]);\n var backgroundLuminance = relativeLuminanceW3C(backgroundRgb[0], backgroundRgb[1], backgroundRgb[2]);\n // calculate the color contrast ratio\n var brightest = Math.max(foregroundLuminance, backgroundLuminance);\n var darkest = Math.min(foregroundLuminance, backgroundLuminance);\n return (brightest + 0.05) / (darkest + 0.05);\n}\nexport function deltaE(rgbA, rgbB) {\n var labA = rgbToLab(rgbA);\n var labB = rgbToLab(rgbB);\n var deltaL = labA[0] - labB[0];\n var deltaA = labA[1] - labB[1];\n var deltaB = labA[2] - labB[2];\n var c1 = Math.sqrt(labA[1] * labA[1] + labA[2] * labA[2]);\n var c2 = Math.sqrt(labB[1] * labB[1] + labB[2] * labB[2]);\n var deltaC = c1 - c2;\n var deltaH = deltaA * deltaA + deltaB * deltaB - deltaC * deltaC;\n deltaH = deltaH < 0 ? 0 : Math.sqrt(deltaH);\n var sc = 1.0 + 0.045 * c1;\n var sh = 1.0 + 0.015 * c1;\n var deltaLKlsl = deltaL / 1.0;\n var deltaCkcsc = deltaC / sc;\n var deltaHkhsh = deltaH / sh;\n var i = deltaLKlsl * deltaLKlsl + deltaCkcsc * deltaCkcsc + deltaHkhsh * deltaHkhsh;\n return i < 0 ? 0 : Math.sqrt(i);\n}\nfunction rgbToLab(rgb) {\n var r = rgb[0] / 255,\n g = rgb[1] / 255,\n b = rgb[2] / 255,\n x,\n y,\n z;\n r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;\n g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;\n b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;\n x = (r * 0.4124 + g * 0.3576 + b * 0.1805) / 0.95047;\n y = (r * 0.2126 + g * 0.7152 + b * 0.0722) / 1.0;\n z = (r * 0.0193 + g * 0.1192 + b * 0.9505) / 1.08883;\n x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;\n y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;\n z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;\n return [116 * y - 16, 500 * (x - y), 200 * (y - z)];\n}","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { themeIds } from './theme-config';\nvar themeKinds = ['light', 'dark', 'spacing', 'typography', 'shape'];\nvar customThemeOptions = 'UNSAFE_themeOptions';\nvar isThemeKind = function isThemeKind(themeKind) {\n return themeKinds.find(function (kind) {\n return kind === themeKind;\n }) !== undefined;\n};\nvar isThemeIds = function isThemeIds(themeId) {\n return themeIds.find(function (id) {\n return id === themeId;\n }) !== undefined;\n};\nvar isColorMode = function isColorMode(modeId) {\n return ['light', 'dark', 'auto'].includes(modeId);\n};\n/**\n * Converts a string that is formatted for the `data-theme` HTML attribute\n * to an object that can be passed to `setGlobalTheme`.\n *\n * @param {string} themes The themes that should be applied.\n *\n * @example\n * ```\n * themeStringToObject('dark:dark light:legacy-light spacing:spacing');\n * // returns { dark: 'dark', light: 'legacy-light', spacing: 'spacing' }\n * ```\n */\nexport var themeStringToObject = function themeStringToObject(themeState) {\n return themeState.split(' ').map(function (theme) {\n return theme.split(/:([^]*)/);\n }).reduce(function (themeObject, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n kind = _ref2[0],\n id = _ref2[1];\n if (kind === 'colorMode' && isColorMode(id)) {\n themeObject[kind] = id;\n }\n if (isThemeKind(kind) && isThemeIds(id)) {\n // @ts-expect-error FIXME - this is a valid ts error\n themeObject[kind] = id;\n }\n if (kind === customThemeOptions) {\n try {\n themeObject[customThemeOptions] = JSON.parse(id);\n } catch (e) {\n new Error('Invalid custom theme string');\n }\n }\n return themeObject;\n }, {});\n};\n\n/**\n * Converts a theme object to a string formatted for the `data-theme` HTML attribute.\n *\n * @param {object} themes The themes that should be applied.\n *\n * @example\n * ```\n * themeObjectToString({ dark: 'dark', light: 'legacy-light', spacing: 'spacing' });\n * // returns 'dark:dark light:legacy-light spacing:spacing'\n * ```\n */\nexport var themeObjectToString = function themeObjectToString(themeState) {\n return Object.entries(themeState).reduce(function (themeString, _ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n kind = _ref4[0],\n id = _ref4[1];\n if (\n // colorMode theme state\n kind === 'colorMode' && typeof id === 'string' && isColorMode(id) ||\n // custom theme state\n kind === customThemeOptions && _typeof(id) === 'object' ||\n // other theme states\n isThemeKind(kind) && typeof id === 'string' && isThemeIds(id)) {\n return themeString + \"\".concat(themeString ? ' ' : '') + \"\".concat(kind, \":\").concat(_typeof(id) === 'object' ? JSON.stringify(id) : id);\n }\n return themeString;\n }, '');\n};","export var hash = function hash(str) {\n var hash = 0;\n for (var i = 0; i < str.length; i++) {\n var char = str.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n hash &= hash; // Convert to 32bit integer\n }\n return new Uint32Array([hash])[0].toString(36);\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { fg } from '@atlaskit/platform-feature-flags';\nimport { COLOR_MODE_ATTRIBUTE, CONTRAST_MODE_ATTRIBUTE, CUSTOM_THEME_ATTRIBUTE, THEME_DATA_ATTRIBUTE } from './constants';\nimport { themeStateDefaults } from './theme-config';\nimport { themeObjectToString } from './theme-state-transformer';\nimport { isValidBrandHex } from './utils/color-utils';\nimport { hash } from './utils/hash';\nvar defaultColorMode = 'light';\nvar defaultContrastMode = 'no-preference';\n\n/**\n * Server-side rendering utility. Generates the valid HTML attributes for a given theme.\n * Note: this utility does not handle automatic theme switching.\n *\n * @param {Object<string, string>} themeOptions - Theme options object\n * @param {string} themeState.colorMode Determines which color theme is applied. If set to `auto`, the theme applied will be determined by the OS setting.\n * @param {string} themeState.dark The color theme to be applied when the color mode resolves to 'dark'.\n * @param {string} themeState.light The color theme to be applied when the color mode resolves to 'light'.\n * @param {string} themeState.spacing The spacing theme to be applied.\n * @param {string} themeState.typography The typography theme to be applied.\n * @param {Object} themeState.UNSAFE_themeOptions The custom branding options to be used for custom theme generation\n *\n * @returns {Object} Object of HTML attributes to be applied to the document root\n */\nvar getThemeHtmlAttrs = function getThemeHtmlAttrs() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$colorMode = _ref.colorMode,\n colorMode = _ref$colorMode === void 0 ? themeStateDefaults['colorMode'] : _ref$colorMode,\n _ref$dark = _ref.dark,\n dark = _ref$dark === void 0 ? themeStateDefaults['dark'] : _ref$dark,\n _ref$light = _ref.light,\n light = _ref$light === void 0 ? themeStateDefaults['light'] : _ref$light,\n _ref$contrastMode = _ref.contrastMode,\n contrastMode = _ref$contrastMode === void 0 ? themeStateDefaults['contrastMode'] : _ref$contrastMode,\n _ref$shape = _ref.shape,\n shape = _ref$shape === void 0 ? themeStateDefaults['shape'] : _ref$shape,\n _ref$spacing = _ref.spacing,\n spacing = _ref$spacing === void 0 ? themeStateDefaults['spacing'] : _ref$spacing,\n _ref$typography = _ref.typography,\n typography = _ref$typography === void 0 ? themeStateDefaults['typography']() : _ref$typography,\n _ref$UNSAFE_themeOpti = _ref.UNSAFE_themeOptions,\n UNSAFE_themeOptions = _ref$UNSAFE_themeOpti === void 0 ? themeStateDefaults['UNSAFE_themeOptions'] : _ref$UNSAFE_themeOpti;\n var themeAttribute = themeObjectToString({\n dark: dark,\n light: light,\n shape: shape,\n spacing: spacing,\n typography: typography\n });\n var result = _defineProperty(_defineProperty({}, THEME_DATA_ATTRIBUTE, themeAttribute), COLOR_MODE_ATTRIBUTE, colorMode === 'auto' ? defaultColorMode : colorMode);\n if (fg('platform_increased-contrast-themes')) {\n result = _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, CONTRAST_MODE_ATTRIBUTE, contrastMode === 'auto' ? defaultContrastMode : contrastMode));\n }\n if (UNSAFE_themeOptions && isValidBrandHex(UNSAFE_themeOptions.brandColor)) {\n var optionString = JSON.stringify(UNSAFE_themeOptions);\n var uniqueId = hash(optionString);\n result[CUSTOM_THEME_ATTRIBUTE] = uniqueId;\n }\n return result;\n};\nexport default getThemeHtmlAttrs;","export default {\n\t'light': () => import(\n\t\t/* webpackChunkName: \"./themes/light\" */\n\t\t'./themes/light.js'\n\t),\n\t'light-future': () => import(\n\t\t/* webpackChunkName: \"./themes/light-future\" */\n\t\t'./themes/light-future.js'\n\t),\n\t'dark': () => import(\n\t\t/* webpackChunkName: \"./themes/dark\" */\n\t\t'./themes/dark.js'\n\t),\n\t'dark-future': () => import(\n\t\t/* webpackChunkName: \"./themes/dark-future\" */\n\t\t'./themes/dark-future.js'\n\t),\n\t'legacy-light': () => import(\n\t\t/* webpackChunkName: \"./themes/legacy-light\" */\n\t\t'./themes/legacy-light.js'\n\t),\n\t'legacy-dark': () => import(\n\t\t/* webpackChunkName: \"./themes/legacy-dark\" */\n\t\t'./themes/legacy-dark.js'\n\t),\n\t'spacing': () => import(\n\t\t/* webpackChunkName: \"./themes/spacing\" */\n\t\t'./themes/spacing.js'\n\t),\n\t'shape': () => import(\n\t\t/* webpackChunkName: \"./themes/shape\" */\n\t\t'./themes/shape.js'\n\t),\n\t'typography-adg3': () => import(\n\t\t/* webpackChunkName: \"./themes/typography-adg3\" */\n\t\t'./themes/typography-adg3.js'\n\t),\n\t'typography-modernized': () => import(\n\t\t/* webpackChunkName: \"./themes/typography-modernized\" */\n\t\t'./themes/typography-modernized.js'\n\t),\n\t'typography-refreshed': () => import(\n\t\t/* webpackChunkName: \"./themes/typography-refreshed\" */\n\t\t'./themes/typography-refreshed.js'\n\t),\n\t'original': () => Promise.resolve(''),\n};","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { fg } from '@atlaskit/platform-feature-flags';\nimport themeImportMap from '../artifacts/theme-import-map';\nimport { CUSTOM_THEME_ATTRIBUTE, THEME_DATA_ATTRIBUTE } from '../constants';\nexport var loadAndAppendThemeCss = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(themeId) {\n var themeCss, style;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (!document.head.querySelector(\"style[\".concat(THEME_DATA_ATTRIBUTE, \"=\\\"\").concat(themeId, \"\\\"]:not([\").concat(CUSTOM_THEME_ATTRIBUTE, \"])\"))) {\n _context.next = 2;\n break;\n }\n return _context.abrupt(\"return\");\n case 2:\n if (themeId) {\n _context.next = 4;\n break;\n }\n return _context.abrupt(\"return\");\n case 4:\n _context.next = 6;\n return loadThemeCss(themeId);\n case 6:\n themeCss = _context.sent;\n style = document.createElement('style');\n style.textContent = themeCss;\n style.dataset.theme = themeId;\n document.head.appendChild(style);\n case 11:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function loadAndAppendThemeCss(_x) {\n return _ref.apply(this, arguments);\n };\n}();\nexport var loadThemeCss = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(themeId) {\n var _yield$themeImportMap, themeCss;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if ((themeId === 'light' || themeId === 'dark') && fg('platform-component-visual-refresh')) {\n themeId += '-brand-refresh';\n }\n _context2.next = 3;\n return themeImportMap[themeId]();\n case 3:\n _yield$themeImportMap = _context2.sent;\n themeCss = _yield$themeImportMap.default;\n return _context2.abrupt(\"return\", themeCss);\n case 6:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function loadThemeCss(_x2) {\n return _ref2.apply(this, arguments);\n };\n}();\nexport var darkModeMediaQuery = '(prefers-color-scheme: dark)';\nexport var moreContrastMediaQuery = '(prefers-contrast: more)';","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { bind as _bind } from 'bind-event-listener';\nimport { COLOR_MODE_ATTRIBUTE } from '../constants';\nimport { darkModeMediaQuery } from './theme-loading';\nvar isMatchMediaAvailable = typeof window !== 'undefined' && 'matchMedia' in window;\n\n/**\n * Updates the current theme when the system theme changes. Should be bound\n * to an event listener listening on the '(prefers-color-scheme: dark)' query\n * @param e The event representing a change in system theme.\n */\nfunction checkNativeListener(e) {\n var element = document.documentElement;\n element.setAttribute(COLOR_MODE_ATTRIBUTE, e.matches ? 'dark' : 'light');\n}\nvar darkModeMql = isMatchMediaAvailable && window.matchMedia(darkModeMediaQuery);\nvar ColorModeObserver = /*#__PURE__*/function () {\n function ColorModeObserver() {\n _classCallCheck(this, ColorModeObserver);\n _defineProperty(this, \"unbindThemeChangeListener\", null);\n }\n return _createClass(ColorModeObserver, [{\n key: \"getColorMode\",\n value: function getColorMode() {\n if (!darkModeMql) {\n return 'light';\n }\n return darkModeMql !== null && darkModeMql !== void 0 && darkModeMql.matches ? 'dark' : 'light';\n }\n }, {\n key: \"bind\",\n value: function bind() {\n if (darkModeMql && this.unbindThemeChangeListener === null) {\n this.unbindThemeChangeListener = _bind(darkModeMql, {\n type: 'change',\n listener: checkNativeListener\n });\n }\n }\n }, {\n key: \"unbind\",\n value: function unbind() {\n if (this.unbindThemeChangeListener) {\n this.unbindThemeChangeListener();\n this.unbindThemeChangeListener = null;\n }\n }\n }]);\n}();\n/**\n * A singleton color mode observer - binds \"auto\" switching logic to a single `mediaQueryList` listener\n * that can be unbound by any consumer when no longer needed.\n */\nvar SingletonColorModeObserver = new ColorModeObserver();\nexport default SingletonColorModeObserver;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { bind as _bind } from 'bind-event-listener';\nimport { CONTRAST_MODE_ATTRIBUTE } from '../constants';\nimport { moreContrastMediaQuery } from './theme-loading';\nvar isMatchMediaAvailable = typeof window !== 'undefined' && 'matchMedia' in window;\n\n/**\n * Updates the current theme when the system contrast preference changes. Should be bound\n * to an event listener listening on the '(prefers-contrast: more)' query\n * @param e The event representing a change in system theme.\n */\nfunction checkNativeListener(e) {\n var element = document.documentElement;\n element.setAttribute(CONTRAST_MODE_ATTRIBUTE, e.matches ? 'more' : 'no-preference');\n}\nvar contrastModeMql = isMatchMediaAvailable && window.matchMedia(moreContrastMediaQuery);\nvar ContrastModeObserver = /*#__PURE__*/function () {\n function ContrastModeObserver() {\n _classCallCheck(this, ContrastModeObserver);\n _defineProperty(this, \"unbindContrastChangeListener\", null);\n }\n return _createClass(ContrastModeObserver, [{\n key: \"getContrastMode\",\n value: function getContrastMode() {\n if (!contrastModeMql) {\n return 'no-preference';\n }\n return contrastModeMql !== null && contrastModeMql !== void 0 && contrastModeMql.matches ? 'more' : 'no-preference';\n }\n }, {\n key: \"bind\",\n value: function bind() {\n if (contrastModeMql && this.unbindContrastChangeListener === null) {\n this.unbindContrastChangeListener = _bind(contrastModeMql, {\n type: 'change',\n listener: checkNativeListener\n });\n }\n }\n }, {\n key: \"unbind\",\n value: function unbind() {\n if (this.unbindContrastChangeListener) {\n this.unbindContrastChangeListener();\n this.unbindContrastChangeListener = null;\n }\n }\n }]);\n}();\n/**\n * A singleton contrast mode observer - binds \"auto\" switching logic to a single `mediaQueryList` listener\n * that can be unbound by any consumer when no longer needed.\n */\nvar SingletonContrastModeObserver = new ContrastModeObserver();\nexport default SingletonContrastModeObserver;","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { fg } from '@atlaskit/platform-feature-flags';\nimport getThemeHtmlAttrs from '../get-theme-html-attrs';\nimport ColorModeObserver from './color-mode-listeners';\nimport ContrastModeObserver from './contrast-mode-listeners';\n\n/**\n * Given ThemeState, sets appropriate html attributes on the documentElement,\n * adds a listener to keep colorMode updated, and returns a function to unbind.\n */\nexport default function configurePage(themeState) {\n if (themeState.colorMode === 'auto') {\n // Set colorMode based on the user preference\n themeState.colorMode = ColorModeObserver.getColorMode();\n // Bind a listener (if one doesn't already exist) to keep colorMode updated\n ColorModeObserver.bind();\n } else {\n ColorModeObserver.unbind();\n }\n if (fg('platform_increased-contrast-themes')) {\n if (themeState.contrastMode === 'auto') {\n // Set contrastMode based on the user preference\n themeState.contrastMode = ContrastModeObserver.getContrastMode();\n // Bind a listener (if one doesn't already exist) to keep contrastMode updated\n ContrastModeObserver.bind();\n } else {\n ContrastModeObserver.unbind();\n }\n }\n var themeAttributes = getThemeHtmlAttrs(themeState);\n Object.entries(themeAttributes).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n document.documentElement.setAttribute(key, value);\n });\n return function () {\n ColorModeObserver.unbind();\n if (fg('platform_increased-contrast-themes')) {\n ContrastModeObserver.unbind();\n }\n };\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport tokens from '../artifacts/token-names';\nimport { CUSTOM_THEME_ATTRIBUTE, THEME_DATA_ATTRIBUTE } from '../constants';\nimport { hash } from './hash';\nexport function findMissingCustomStyleElements(UNSAFE_themeOptions, mode) {\n var optionString = JSON.stringify(UNSAFE_themeOptions);\n var uniqueId = hash(optionString);\n var attrOfMissingCustomStyles = [];\n (mode === 'auto' ? ['light', 'dark'] : [mode]).forEach(function (themeId) {\n var element = document.head.querySelector(\"style[\".concat(CUSTOM_THEME_ATTRIBUTE, \"=\\\"\").concat(uniqueId, \"\\\"][\").concat(THEME_DATA_ATTRIBUTE, \"=\\\"\").concat(themeId, \"\\\"]\"));\n if (element) {\n // Append the existing custom styles to take precedence over others\n document.head.appendChild(element);\n } else {\n attrOfMissingCustomStyles.push(themeId);\n }\n });\n return attrOfMissingCustomStyles;\n}\nexport function limitSizeOfCustomStyleElements(sizeThreshold) {\n var styleTags = _toConsumableArray(Array.from(document.head.querySelectorAll(\"style[\".concat(CUSTOM_THEME_ATTRIBUTE, \"][\").concat(THEME_DATA_ATTRIBUTE, \"]\"))));\n if (styleTags.length < sizeThreshold) {\n return;\n }\n styleTags.slice(0, styleTags.length - (sizeThreshold - 1)).forEach(function (element) {\n return element.remove();\n });\n}\nexport function reduceTokenMap(tokenMap, themeRamp) {\n return Object.entries(tokenMap).reduce(function (acc, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n var cssVar = tokens[key];\n return cssVar ? \"\".concat(acc, \"\\n \").concat(cssVar, \": \").concat(typeof value === 'string' ? value : themeRamp[value], \";\") : acc;\n }, '');\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport themeConfig from '../theme-config';\n\n/**\n * Finds any matching increased contrast theme available for a selected theme.\n */\nexport default function getIncreasedContrastTheme(themeId) {\n var _Object$entries$find;\n return (_Object$entries$find = Object.entries(themeConfig).find(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n increasesContrastFor = _ref2[1].increasesContrastFor;\n return increasesContrastFor === themeId;\n })) === null || _Object$entries$find === void 0 ? void 0 : _Object$entries$find[1].id;\n}","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { fg } from '@atlaskit/platform-feature-flags';\nimport getIncreasedContrastTheme from './get-increased-contrast-theme';\nexport var getThemePreferences = function getThemePreferences(themeState) {\n var colorMode = themeState.colorMode,\n contrastMode = themeState.contrastMode,\n dark = themeState.dark,\n light = themeState.light,\n shape = themeState.shape,\n spacing = themeState.spacing,\n typography = themeState.typography;\n var autoColorModeThemes = [light, dark];\n var themePreferences = [];\n if (colorMode === 'auto') {\n if (contrastMode !== 'no-preference' && fg('platform_increased-contrast-themes')) {\n autoColorModeThemes.forEach(function (normalTheme) {\n var increasedContrastTheme = getIncreasedContrastTheme(normalTheme);\n if (increasedContrastTheme) {\n autoColorModeThemes.push(increasedContrastTheme);\n }\n });\n }\n themePreferences.push.apply(themePreferences, autoColorModeThemes);\n } else {\n themePreferences.push(themeState[colorMode]);\n if (contrastMode !== 'no-preference' && fg('platform_increased-contrast-themes')) {\n var increasedContrastTheme = getIncreasedContrastTheme(themeState[colorMode]);\n if (increasedContrastTheme) {\n themePreferences.push(increasedContrastTheme);\n }\n }\n }\n [shape, spacing, typography].forEach(function (themeId) {\n if (themeId) {\n themePreferences.push(themeId);\n }\n });\n return _toConsumableArray(new Set(themePreferences));\n};\nexport var getThemeOverridePreferences = function getThemeOverridePreferences(_themeState) {\n var themeOverridePreferences = [];\n return _toConsumableArray(new Set(themeOverridePreferences));\n};","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nfunction _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { fg } from '@atlaskit/platform-feature-flags';\nimport { themeStateDefaults } from './theme-config';\nimport { isValidBrandHex } from './utils/color-utils';\nimport configurePage from './utils/configure-page';\nimport { findMissingCustomStyleElements } from './utils/custom-theme-loading-utils';\nimport { getThemeOverridePreferences, getThemePreferences } from './utils/get-theme-preferences';\nimport { loadAndAppendThemeCss } from './utils/theme-loading';\n\n/**\n * Sets the theme globally at runtime. This updates the `data-theme` and `data-color-mode` attributes on your page's <html> tag.\n *\n * @param {Object<string, string>} themeState The themes and color mode that should be applied.\n * @param {string} themeState.colorMode Determines which color theme is applied. If set to `auto`, the theme applied will be determined by the OS setting.\n * @param {string} themeState.contrastMode The contrast mode theme to be applied. If set to `auto`, the theme applied will be determined by the OS setting.set to `auto`, the theme applied will be determined by the OS setting.\n * @param {string} themeState.dark The color theme to be applied when the color mode resolves to 'dark'.\n * @param {string} themeState.light The color theme to be applied when the color mode resolves to 'light'.\n * @param {string} themeState.shape The shape theme to be applied.\n * @param {string} themeState.spacing The spacing theme to be applied.\n * @param {string} themeState.typography The typography theme to be applied.\n * @param {Object} themeState.UNSAFE_themeOptions The custom branding options to be used for custom theme generation\n * @param {function} themeLoader Callback function used to override the default theme loading functionality.\n *\n * @returns A Promise of an unbind function, that can be used to stop listening for changes to system theme.\n *\n * @example\n * ```\n * setGlobalTheme({colorMode: 'auto', light: 'light', dark: 'dark', spacing: 'spacing'});\n * ```\n */\nvar setGlobalTheme = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var _ref2,\n _ref2$colorMode,\n colorMode,\n _ref2$contrastMode,\n contrastMode,\n _ref2$dark,\n dark,\n _ref2$light,\n light,\n _ref2$shape,\n shape,\n _ref2$spacing,\n spacing,\n _ref2$typography,\n typography,\n _ref2$UNSAFE_themeOpt,\n UNSAFE_themeOptions,\n themeLoader,\n themeState,\n themePreferences,\n loadingStrategy,\n loadingTasks,\n mode,\n attrOfMissingCustomStyles,\n themeOverridePreferences,\n _iterator,\n _step,\n themeId,\n autoUnbind,\n _args3 = arguments;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n _ref2 = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : {}, _ref2$colorMode = _ref2.colorMode, colorMode = _ref2$colorMode === void 0 ? themeStateDefaults['colorMode'] : _ref2$colorMode, _ref2$contrastMode = _ref2.contrastMode, contrastMode = _ref2$contrastMode === void 0 ? themeStateDefaults['contrastMode'] : _ref2$contrastMode, _ref2$dark = _ref2.dark, dark = _ref2$dark === void 0 ? themeStateDefaults['dark'] : _ref2$dark, _ref2$light = _ref2.light, light = _ref2$light === void 0 ? themeStateDefaults['light'] : _ref2$light, _ref2$shape = _ref2.shape, shape = _ref2$shape === void 0 ? themeStateDefaults['shape'] : _ref2$shape, _ref2$spacing = _ref2.spacing, spacing = _ref2$spacing === void 0 ? themeStateDefaults['spacing'] : _ref2$spacing, _ref2$typography = _ref2.typography, typography = _ref2$typography === void 0 ? themeStateDefaults['typography']() : _ref2$typography, _ref2$UNSAFE_themeOpt = _ref2.UNSAFE_themeOptions, UNSAFE_themeOptions = _ref2$UNSAFE_themeOpt === void 0 ? themeStateDefaults['UNSAFE_themeOptions'] : _ref2$UNSAFE_themeOpt;\n themeLoader = _args3.length > 1 ? _args3[1] : undefined;\n // CLEANUP: Remove. This blocks application of increased contrast themes\n // without the feature flag enabled.\n if (!fg('platform_increased-contrast-themes')) {\n if (light === 'light-increased-contrast') {\n light = 'light';\n }\n if (dark === 'dark-increased-contrast') {\n dark = 'dark';\n }\n }\n themeState = {\n colorMode: colorMode,\n contrastMode: contrastMode,\n dark: dark,\n light: light,\n shape: shape,\n spacing: spacing,\n typography: typography,\n UNSAFE_themeOptions: themeLoader ? undefined : UNSAFE_themeOptions\n }; // Determine what to load and loading strategy\n themePreferences = getThemePreferences(themeState);\n loadingStrategy = themeLoader ? themeLoader : loadAndAppendThemeCss; // Load standard themes\n loadingTasks = themePreferences.map( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(themeId) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return loadingStrategy(themeId);\n case 2:\n return _context.abrupt(\"return\", _context.sent);\n case 3:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x) {\n return _ref3.apply(this, arguments);\n };\n }()); // Load custom themes if needed\n if (!themeLoader && UNSAFE_themeOptions && isValidBrandHex(UNSAFE_themeOptions === null || UNSAFE_themeOptions === void 0 ? void 0 : UNSAFE_themeOptions.brandColor)) {\n mode = colorMode || themeStateDefaults['colorMode'];\n attrOfMissingCustomStyles = findMissingCustomStyleElements(UNSAFE_themeOptions, mode);\n if (attrOfMissingCustomStyles.length > 0) {\n // Load custom theme styles\n loadingTasks.push(_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var _yield$import, loadAndAppendCustomThemeCss;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return import( /* webpackChunkName: \"@atlaskit-internal_atlassian-custom-theme\" */\n './custom-theme');\n case 2:\n _yield$import = _context2.sent;\n loadAndAppendCustomThemeCss = _yield$import.loadAndAppendCustomThemeCss;\n loadAndAppendCustomThemeCss({\n colorMode: attrOfMissingCustomStyles.length === 2 ? 'auto' :\n // only load the missing custom theme styles\n attrOfMissingCustomStyles[0],\n UNSAFE_themeOptions: UNSAFE_themeOptions\n });\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }))());\n }\n }\n _context3.next = 10;\n return Promise.all(loadingTasks);\n case 10:\n // Load override themes after standard themes\n themeOverridePreferences = getThemeOverridePreferences(themeState);\n _iterator = _createForOfIteratorHelper(themeOverridePreferences);\n _context3.prev = 12;\n _iterator.s();\n case 14:\n if ((_step = _iterator.n()).done) {\n _context3.next = 20;\n break;\n }\n themeId = _step.value;\n _context3.next = 18;\n return loadingStrategy(themeId);\n case 18:\n _context3.next = 14;\n break;\n case 20:\n _context3.next = 25;\n break;\n case 22:\n _context3.prev = 22;\n _context3.t0 = _context3[\"catch\"](12);\n _iterator.e(_context3.t0);\n case 25:\n _context3.prev = 25;\n _iterator.f();\n return _context3.finish(25);\n case 28:\n autoUnbind = configurePage(themeState);\n return _context3.abrupt(\"return\", autoUnbind);\n case 30:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3, null, [[12, 22, 25, 28]]);\n }));\n return function setGlobalTheme() {\n return _ref.apply(this, arguments);\n };\n}();\nexport default setGlobalTheme;","import { themeStateDefaults } from './theme-config';\nimport configurePage from './utils/configure-page';\nimport { getThemePreferences } from './utils/get-theme-preferences';\n\n/**\n * Synchronously sets the theme globally at runtime. Themes are not loaded;\n * use `getThemeStyles` and other server-side utilities to generate and load them.\n *\n * @param {Object<string, string>} themeState The themes and color mode that should be applied.\n * @param {string} themeState.colorMode Determines which color theme is applied. If set to `auto`, the theme applied will be determined by the OS setting.\n * @param {string} themeState.dark The color theme to be applied when the color mode resolves to 'dark'.\n * @param {string} themeState.light The color theme to be applied when the color mode resolves to 'light'.\n * @param {string} themeState.shape The shape theme to be applied.\n * @param {string} themeState.spacing The spacing theme to be applied.\n * @param {string} themeState.typography The typography theme to be applied.\n * @param {Object} themeState.UNSAFE_themeOptions The custom branding options to be used for custom theme generation\n * @param {function} themeLoader Callback function used to override the default theme loading functionality.\n *\n * @returns An unbind function, that can be used to stop listening for changes to system theme.\n *\n * @example\n * ```\n * enableGlobalTheme({colorMode: 'auto', light: 'light', dark: 'dark', spacing: 'spacing'});\n * ```\n */\nvar enableGlobalTheme = function enableGlobalTheme() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$colorMode = _ref.colorMode,\n colorMode = _ref$colorMode === void 0 ? themeStateDefaults['colorMode'] : _ref$colorMode,\n _ref$contrastMode = _ref.contrastMode,\n contrastMode = _ref$contrastMode === void 0 ? themeStateDefaults['contrastMode'] : _ref$contrastMode,\n _ref$dark = _ref.dark,\n dark = _ref$dark === void 0 ? themeStateDefaults['dark'] : _ref$dark,\n _ref$light = _ref.light,\n light = _ref$light === void 0 ? themeStateDefaults['light'] : _ref$light,\n _ref$shape = _ref.shape,\n shape = _ref$shape === void 0 ? themeStateDefaults['shape'] : _ref$shape,\n _ref$spacing = _ref.spacing,\n spacing = _ref$spacing === void 0 ? themeStateDefaults['spacing'] : _ref$spacing,\n _ref$typography = _ref.typography,\n typography = _ref$typography === void 0 ? themeStateDefaults['typography']() : _ref$typography,\n _ref$UNSAFE_themeOpti = _ref.UNSAFE_themeOptions,\n UNSAFE_themeOptions = _ref$UNSAFE_themeOpti === void 0 ? themeStateDefaults['UNSAFE_themeOptions'] : _ref$UNSAFE_themeOpti;\n var themeLoader = arguments.length > 1 ? arguments[1] : undefined;\n var themeState = {\n colorMode: colorMode,\n contrastMode: contrastMode,\n dark: dark,\n light: light,\n shape: shape,\n spacing: spacing,\n typography: typography,\n UNSAFE_themeOptions: themeLoader ? undefined : UNSAFE_themeOptions\n };\n\n // Determine what to load and call theme loader\n var themePreferences = getThemePreferences(themeState);\n if (themeLoader) {\n themePreferences.map(function (themeId) {\n return themeLoader(themeId);\n });\n }\n var autoUnbind = configurePage(themeState);\n return autoUnbind;\n};\nexport default enableGlobalTheme;","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { fg } from '@atlaskit/platform-feature-flags';\nimport { themeIdsWithOverrides, themeStateDefaults } from './theme-config';\nimport { isValidBrandHex } from './utils/color-utils';\nimport { getThemeOverridePreferences, getThemePreferences } from './utils/get-theme-preferences';\nimport { loadThemeCss } from './utils/theme-loading';\n/**\n * Takes an object containing theme preferences, and returns an array of objects for use in applying styles to the document head.\n * Only supplies the color themes necessary for initial render, based on the current themeState. I.e. if in light mode, dark mode themes are not returned.\n *\n * @param {Object<string, string>} themeState The themes and color mode that should be applied.\n * @param {string} themeState.colorMode Determines which color theme is applied. If set to `auto`, the theme applied will be determined by the OS setting.\n * @param {string} themeState.dark The color theme to be applied when the color mode resolves to 'dark'.\n * @param {string} themeState.light The color theme to be applied when the color mode resolves to 'light'.\n * @param {string} themeState.shape The shape theme to be applied.\n * @param {string} themeState.spacing The spacing theme to be applied.\n * @param {string} themeState.typography The typography theme to be applied.\n * @param {Object} themeState.UNSAFE_themeOptions The custom branding options to be used for custom theme generation\n *\n * @returns A Promise of an object array, containing theme IDs, data-attributes to attach to the theme, and the theme CSS.\n * If an error is encountered while loading themes, the themes array will be empty.\n */\nvar getThemeStyles = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(preferences) {\n var themePreferences, themeOverridePreferences, themeState, results;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n themeOverridePreferences = [];\n if (preferences === 'all') {\n themePreferences = themeIdsWithOverrides;\n\n // CLEANUP: Remove\n if (!fg('platform_increased-contrast-themes')) {\n themePreferences = themePreferences.filter(function (n) {\n return n !== 'light-increased-contrast' && n !== 'dark-increased-contrast';\n });\n }\n themePreferences = themePreferences.filter(function (n) {\n return n !== 'light-brand-refresh' && n !== 'dark-brand-refresh';\n });\n } else {\n themeState = {\n colorMode: (preferences === null || preferences === void 0 ? void 0 : preferences.colorMode) || themeStateDefaults['colorMode'],\n contrastMode: (preferences === null || preferences === void 0 ? void 0 : preferences.contrastMode) || themeStateDefaults['contrastMode'],\n dark: (preferences === null || preferences === void 0 ? void 0 : preferences.dark) || themeStateDefaults['dark'],\n light: (preferences === null || preferences === void 0 ? void 0 : preferences.light) || themeStateDefaults['light'],\n shape: (preferences === null || preferences === void 0 ? void 0 : preferences.shape) || themeStateDefaults['shape'],\n spacing: (preferences === null || preferences === void 0 ? void 0 : preferences.spacing) || themeStateDefaults['spacing'],\n typography: (preferences === null || preferences === void 0 ? void 0 : preferences.typography) || themeStateDefaults['typography']()\n };\n themePreferences = getThemePreferences(themeState);\n themeOverridePreferences = getThemeOverridePreferences(themeState);\n }\n _context3.next = 4;\n return Promise.all([].concat(_toConsumableArray([].concat(_toConsumableArray(themePreferences), _toConsumableArray(themeOverridePreferences)).map( /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(themeId) {\n var css;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return loadThemeCss(themeId);\n case 3:\n css = _context.sent;\n return _context.abrupt(\"return\", {\n id: themeId,\n attrs: {\n 'data-theme': themeId\n },\n css: css\n });\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](0);\n return _context.abrupt(\"return\", undefined);\n case 10:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[0, 7]]);\n }));\n return function (_x2) {\n return _ref2.apply(this, arguments);\n };\n }())), [\n // Add custom themes if they're present\n _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var _preferences$UNSAFE_t;\n var _yield$import, getCustomThemeStyles, customThemeStyles;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (!(preferences !== 'all' && preferences !== null && preferences !== void 0 && preferences.UNSAFE_themeOptions && isValidBrandHex(preferences === null || preferences === void 0 || (_preferences$UNSAFE_t = preferences.UNSAFE_themeOptions) === null || _preferences$UNSAFE_t === void 0 ? void 0 : _preferences$UNSAFE_t.brandColor))) {\n _context2.next = 15;\n break;\n }\n _context2.prev = 1;\n _context2.next = 4;\n return import( /* webpackChunkName: \"@atlaskit-internal_atlassian-custom-theme\" */\n './custom-theme');\n case 4:\n _yield$import = _context2.sent;\n getCustomThemeStyles = _yield$import.getCustomThemeStyles;\n _context2.next = 8;\n return getCustomThemeStyles({\n colorMode: (preferences === null || preferences === void 0 ? void 0 : preferences.colorMode) || themeStateDefaults['colorMode'],\n UNSAFE_themeOptions: preferences === null || preferences === void 0 ? void 0 : preferences.UNSAFE_themeOptions\n });\n case 8:\n customThemeStyles = _context2.sent;\n return _context2.abrupt(\"return\", customThemeStyles);\n case 12:\n _context2.prev = 12;\n _context2.t0 = _context2[\"catch\"](1);\n return _context2.abrupt(\"return\", undefined);\n case 15:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, null, [[1, 12]]);\n }))()]));\n case 4:\n results = _context3.sent;\n return _context3.abrupt(\"return\", results.flat().filter(function (theme) {\n return theme !== undefined;\n }));\n case 6:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return function getThemeStyles(_x) {\n return _ref.apply(this, arguments);\n };\n}();\nexport default getThemeStyles;","import { fg } from '@atlaskit/platform-feature-flags';\nimport { COLOR_MODE_ATTRIBUTE, CONTRAST_MODE_ATTRIBUTE } from './constants';\nimport { darkModeMediaQuery, moreContrastMediaQuery } from './utils/theme-loading';\n\n/**\n * Provides a script that, when executed before paint, sets the `data-color-mode` attribute based on the current system theme,\n * to enable SSR support for automatic theme switching, avoid a flash of un-themed content on first paint.\n *\n * @param {string} colorMode Determines which color theme is applied. If set to `auto`, the theme applied will be determined by the OS setting.\n *\n * @returns {string} A string to be added to the innerHTML of a script tag in the document head\n */\nvar getSSRAutoScript = function getSSRAutoScript(colorMode, contrastMode) {\n if (colorMode !== 'auto' && contrastMode !== 'auto') {\n return undefined;\n }\n var setColorMode = colorMode === 'auto' ? \"\\n try {\\n const darkModeMql = window.matchMedia('\".concat(darkModeMediaQuery, \"');\\n const colorMode = darkModeMql.matches ? 'dark' : 'light';\\n document.documentElement.setAttribute('\").concat(COLOR_MODE_ATTRIBUTE, \"', colorMode);\\n } catch (e) {}\") : '';\n var setContrastMode = contrastMode === 'auto' && fg('platform_increased-contrast-themes') ? \"\\n try {\\n const contrastModeMql = window.matchMedia('\".concat(moreContrastMediaQuery, \"');\\n const contrastMode = contrastModeMql.matches ? 'more' : 'no-preference';\\n document.documentElement.setAttribute('\").concat(CONTRAST_MODE_ATTRIBUTE, \"', contrastMode);\\n } catch (e) {}\") : '';\n return \"(() => {\".concat(setColorMode).concat(setContrastMode, \"})()\");\n};\nexport default getSSRAutoScript;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { COLOR_MODE_ATTRIBUTE, THEME_DATA_ATTRIBUTE } from './constants';\nimport { themeColorModes } from './theme-config';\nimport { themeStringToObject } from './theme-state-transformer';\nvar isThemeColorMode = function isThemeColorMode(colorMode) {\n return themeColorModes.find(function (mode) {\n return mode === colorMode;\n }) !== undefined;\n};\nvar getGlobalTheme = function getGlobalTheme() {\n if (typeof document === 'undefined') {\n return {};\n }\n var element = document.documentElement;\n var colorMode = element.getAttribute(COLOR_MODE_ATTRIBUTE) || '';\n var theme = element.getAttribute(THEME_DATA_ATTRIBUTE) || '';\n return _objectSpread(_objectSpread({}, themeStringToObject(theme)), isThemeColorMode(colorMode) && {\n colorMode: colorMode\n });\n};\nexport default getGlobalTheme;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { COLOR_MODE_ATTRIBUTE, THEME_DATA_ATTRIBUTE } from './constants';\nimport getGlobalTheme from './get-global-theme';\n/**\n * A MutationObserver which watches the `<html>` element for changes to the theme.\n *\n * In React, use the {@link useThemeObserver `useThemeObserver`} hook instead.\n *\n * @param {function} callback - A callback function which fires when the theme changes.\n *\n * @example\n * ```\n * const observer = new ThemeMutationObserver((theme) => {});\n * observer.observe();\n * ```\n */\nvar ThemeMutationObserver = /*#__PURE__*/function () {\n function ThemeMutationObserver(callback) {\n _classCallCheck(this, ThemeMutationObserver);\n _defineProperty(this, \"legacyObserver\", null);\n this.callback = callback;\n ThemeMutationObserver.callbacks.add(callback);\n }\n return _createClass(ThemeMutationObserver, [{\n key: \"observe\",\n value: function observe() {\n if (!ThemeMutationObserver.observer) {\n ThemeMutationObserver.observer = new MutationObserver(function () {\n var theme = getGlobalTheme();\n ThemeMutationObserver.callbacks.forEach(function (callback) {\n return callback(theme);\n });\n });\n // Observer only needs to be configured once\n ThemeMutationObserver.observer.observe(document.documentElement, {\n attributeFilter: [THEME_DATA_ATTRIBUTE, COLOR_MODE_ATTRIBUTE]\n });\n }\n }\n }, {\n key: \"disconnect\",\n value: function disconnect() {\n if (this.callback) {\n ThemeMutationObserver.callbacks.delete(this.callback);\n }\n if (ThemeMutationObserver.callbacks.size === 0 && ThemeMutationObserver.observer) {\n ThemeMutationObserver.observer.disconnect();\n ThemeMutationObserver.observer = null;\n }\n }\n }]);\n}();\n_defineProperty(ThemeMutationObserver, \"observer\", null);\n_defineProperty(ThemeMutationObserver, \"callbacks\", new Set());\nexport { ThemeMutationObserver as default };","import TokenNames from '@atlaskit/tokens/token-names';\n\nconst testingThemeTargetElement = document.documentElement;\nconst testingColorVariableName = '--aui-theme-testing-color';\nconst defaultTestingColor = 'color(srgb 1 0.75 0.8 / 0.6)';\nconst testingThemeTargetClass = 'aui-theme-testing';\nconst testingThemeSelector =\n `html.${testingThemeTargetClass}[data-theme*=\"light:\"], ` +\n `html.${testingThemeTargetClass}[data-theme*=\"dark:\"]`;\n\n/**\n * Theme that replaces all the design tokens with single color, helping to visually identify custom colors on the page\n *\n * @param solidColor any valid CSS color, will be used to replace tokens\n */\n(function generateTestingTheme() {\n const initialComment =\n 'This theme is autogenerated using AJS.DesignTokens.generateTestingTheme().';\n\n // If function called many times theme should be only added once\n const isThemeAlreadyInitialised = !document.querySelector(testingThemeSelector);\n if (!isThemeAlreadyInitialised) {\n return;\n }\n\n // We use overridable test color declaration to make theme configurable\n const colorDeclaration = `${testingColorVariableName}: ${defaultTestingColor};`;\n const themeCSSDeclarations = Object.values(TokenNames).map(\n (token) => `\\t${token}: var(${testingColorVariableName});`\n );\n const allDeclarations = [colorDeclaration, ...themeCSSDeclarations];\n\n const themeCSS = `/* ${initialComment} */\\n${testingThemeSelector} {\\n${allDeclarations.join('\\n')}\\n}`;\n\n const themeElement = document.createElement('style');\n themeElement.id = 'aui-design-tokens-testing-theme';\n themeElement.innerText = themeCSS;\n\n const head = document.querySelector('head');\n if (head) {\n head.appendChild(themeElement);\n }\n})();\n\n/**\n * Overrides default testing color by setting css variable. If no color passed, will revert to default.\n * @param color color to use for testing\n */\nfunction setTestingThemeColor(color = defaultTestingColor) {\n document.body.style.setProperty(testingColorVariableName, color);\n}\n\nfunction isTestingThemeEnabled() {\n return testingThemeTargetElement.matches(testingThemeSelector);\n}\n\nfunction enableTestingTheme() {\n if (!isTestingThemeEnabled()) {\n testingThemeTargetElement.classList.add(testingThemeTargetClass);\n }\n}\n\nfunction disableTestingTheme() {\n if (isTestingThemeEnabled()) {\n testingThemeTargetElement.classList.remove(testingThemeTargetClass);\n }\n}\n\n/**\n * Enables or disables testing theme for Design Tokens based on current state\n * @param targetState Optional parameter. Allows to force specific state.\n */\nfunction toggleTestingTheme(targetState) {\n // If not passed, invert existing state\n if (targetState == null) {\n targetState = !isTestingThemeEnabled();\n }\n\n targetState ? enableTestingTheme() : disableTestingTheme();\n}\n\nexport { setTestingThemeColor, enableTestingTheme, disableTestingTheme, toggleTestingTheme };\n","const NAMESPACE = 'AJS';\nconst I18N_OBJECT_NAME = 'I18n';\n\nfunction initNamespace() {\n if (typeof window[NAMESPACE] !== 'object') {\n window[NAMESPACE] = {};\n }\n}\n\n/**\n * Makes given value available globally under window[NAMESPACE][name] attribute.\n * Keep in mind that this is needed for p2-plugin where chunks of AUI\n * can be loaded separately.\n *\n * In order for global namespace to work in `aui.prototyping.js` and\n * `aui.prototyping.nodeps.js` the proper exports need to be added to:\n * `packages/core/entry/aui.batch.prototyping.js`\n *\n * @param {string} name Name of the attribute\n * @param {any} value Value to expose globally\n * @returns exposed value\n */\nexport default function globalize(name, value) {\n initNamespace();\n\n return (window[NAMESPACE][name] = value);\n}\n\nexport function putOnI18nIfAbsent(name, value) {\n initNamespace();\n\n if (typeof window[NAMESPACE][I18N_OBJECT_NAME] !== 'object') {\n window[NAMESPACE][I18N_OBJECT_NAME] = {};\n }\n\n if (typeof window[NAMESPACE][I18N_OBJECT_NAME][name] === 'undefined') {\n window[NAMESPACE][I18N_OBJECT_NAME][name] = value;\n }\n}\n","import { setGlobalTheme } from '@atlaskit/tokens';\n\nif (document.documentElement.hasAttribute('data-color-mode-auto')) {\n setGlobalTheme({ colorMode: 'auto' });\n}\n","import * as Tokens from '@atlaskit/tokens';\nimport * as TestingTheme from './design-tokens-testing-theme';\nimport globalize from '../internal/globalize';\n\nimport './design-tokens-init';\n\n// Export for NPM bundle, for which Webpack automatically puts those functions under AJS.DesignTokens\nexport const { setGlobalTheme, token, getTokenValue, ThemeMutationObserver } = Tokens;\n\nexport const { setTestingThemeColor, enableTestingTheme, disableTestingTheme, toggleTestingTheme } =\n TestingTheme;\n\n// Export for p2-plugin bundle, where we need to do put those functions under AJS.DesignTokens manually\nglobalize('DesignTokens', {\n setGlobalTheme,\n token,\n getTokenValue,\n ThemeMutationObserver,\n\n toggleTestingTheme,\n enableTestingTheme,\n disableTestingTheme,\n setTestingThemeColor,\n});\n"],"names":["root","factory","exports","module","define","amd","window","inProgress","dataWebpackPrefix","undefined","isArray","Array","obj","Object","prototype","toString","call","init","this","_events","_conf","configure","conf","delimiter","_maxListeners","maxListeners","wildcard","newListener","verboseMemoryLeak","listenerTree","logPossibleMemoryLeak","count","eventName","errorMsg","process","emitWarning","e","Error","name","emitter","console","error","trace","EventEmitter","searchListenerTree","handlers","type","tree","i","leaf","len","branch","xTree","xxTree","isolatedBranch","endReached","listeners","typeLength","length","currentType","nextType","_listeners","push","hasOwnProperty","concat","growListenerTree","listener","split","slice","shift","warned","EventEmitter2","setMaxListeners","n","event","once","fn","_once","prependOnceListener","prepend","_many","many","ttl","prependMany","self","off","apply","arguments","_origin","_on","emit","args","l","j","handler","al","_all","ns","emitAsync","Promise","resolve","promises","reject","all","on","prependListener","onAny","_onAny","prependAny","addListener","unshift","leafs","iLeaf","position","splice","recursivelyGarbageCollect","keys","key","Function","offAny","fns","removeListener","removeAllListeners","eventNames","listenerCount","listenersAny","__assign","assign","t","s","p","defineProperty","value","bindAll","bind_1","toOptions","capture","target","bindings","sharedOptions","unbinds","map","original","binding","options","getBinding","bind","forEach","unbind","_a","addEventListener","removeEventListener","enumerable","get","bind_all_1","DynamicConfig","configName","configValue","ruleID","evaluationDetails","secondaryExposures","allocatedExperimentName","onDefaultValueFallback","_onDefaultValueFallback","JSON","parse","stringify","_name","_ruleID","_secondaryExposures","_allocatedExperimentName","_evaluationDetails","defaultValue","typeGuard","_b","val","getValue","expectedType","actualType","__awaiter","thisArg","_arguments","P","generator","fulfilled","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","Symbol","iterator","v","op","TypeError","pop","ExceptionEndpoint","Errors_1","ErrorBoundary","sdkKey","_seen","Set","_sdkKey","_options","_setStatsigMetadata","statsigMetadata","_statsigMetadata","_swallow","tag","task","_capture","recover","getExtraData","_this","catch","_onCaught","_logError","disableAllLogging","extra","unwrapped","isError","info","metadata","_c","has","add","stack","_getDescription","exception","fetch","method","headers","String","_error","StatsigUninitializedError","StatsigInvalidArgumentError","extendStatics","StatsigErrorMessage","__extends","d","b","setPrototypeOf","__proto__","__","constructor","create","StatsigSDKKeyMismatchError","_super","message","REQUIRE_SYNC_INITIALIZE","Layer","layerValue","logParameterFunction","undelegatedSecondaryExposures","explicitParameters","_logParameterFunction","_value","_undelegatedSecondaryExposures","_explicitParameters","_create","logAndReturn","_logLayerParameterExposure","parameterName","__importDefault","mod","__esModule","saveOverridesToLocalStorage","loadOverridesFromLocalStorage","makeEmptyOverrides","STORAGE_KEY","StatsigLocalStorage_1","gates","configs","layers","raw","default","getItem","overrides","setItem","user","logUser","privateAttributes","time","Date","now","version","__createBinding","o","m","k","k2","desc","getOwnPropertyDescriptor","writable","configurable","__setModuleDefault","__importStar","DynamicConfig_1","ErrorBoundary_1","Layer_1","StatsigIdentity_1","StatsigLogger_1","StatsigNetwork_1","StatsigSDKOptions_1","StatsigStore_1","ResponseVerification_1","Timing_1","LogEvent_1","LocalOverrides_1","StatsigClient","_initCalled","_pendingInitPromise","_logLayerParameterExposureForLayer","layer","isManualExposure","allocatedExperiment","exposures","isExplicit","includes","_logger","logLayerExposure","_identity","_user","_store","getBootstrapMetadata","localMode","startsWith","_startTime","_errorBoundary","_ready","disabled","disableLocalStorage","_overrides","_normalizeUser","overrideStableID","_network","logConfigDefaultValueFallback","initializeValues","setTimeout","_delayedSetup","setInitializeValues","bootstrap","sendSavedRequests","initializeAsync","_fetchAndSaveValues","initTimeoutMs","success","finally","getEvaluationDetails","getGlobalEvaluationDetails","reason","EvaluationReason","checkGate","gateName","_checkGateImpl","checkGateWithExposureLoggingDisabled","logGateExposure","_logGateExposureImpl","getConfig","_getConfigImpl","getConfigWithExposureLoggingDisabled","logConfigExposure","_logConfigExposureImpl","getExperiment","experimentName","getExperimentWithExposureLoggingDisabled","logExperimentExposure","getLayer","layerName","_getLayerImpl","getLayerWithExposureLoggingDisabled","logLayerParameterExposure","_getLayerFromStore","logEvent","REQUIRE_INITIALIZE_FOR_LOG_EVENT","log","updateUserWithValues","values","fireCompletionCallback","updateStartTime","initializeCalled","REQUIRE_ASYNC_INITIALIZE","cb","updateUserCompletionCallback","resetDedupeKeys","updateUser","currentUser","shutdown","getStableID","stableID","overrideGate","gate","_setOverride","overrideConfig","config","overrideLayer","setOverrides","getOverrides","saveStableID","userCopy","environment","statsigEnvironment","_ensureStoreLoaded","isLoaded","_getEvaluationDetailsForError","timeout","sinceTime","previousDerivedFields","getLastUpdateTime","getPreviousDerivedFields","fetchValues","eventually","json","verifySDKKeyUsed","has_updates","save","is_no_content","setEvaluationReason","NetworkNotModified","callsite","_getGateFromStore","fetchResult","rule_id","mapExposures","secondary_exposures","LocalOverride","_getConfigFromStore","_getEmptyConfig","localConfig","logFunc","Constants_1","Hashing_1","SDKVersion_1","Identity","_sdkType","_sdkVersion","STATSIG_STABLE_ID_KEY","_getUUID","sdkType","sdkVersion","getUserCacheKey","uuid","randomDigit","Math","random","INTERNAL_EVENT_PREFIX","CONFIG_EXPOSURE_EVENT","LAYER_EXPOSURE_EVENT","GATE_EXPOSURE_EVENT","LOG_FAILURE_EVENT","DEFAULT_VALUE_WARNING","MAX_LOCAL_STORAGE_SIZE","StatsigLogger","identity","network","errorBoundary","_failedLogEventCount","defaultValueEvent","_loggedErrors","_queue","_flushInterval","_failedLogEvents","_exposureDedupeKeys","_init","disableCurrentPageLogging","location","href","parts","currentPage","_e","loggingBufferMaxSize","flush","gateValue","details","bootstrapMetadata","dedupeKey","_shouldLogExposure","gateExposure","configExposure","isExplicitParameter","join","clearInterval","isClosing","oldQueue","supportsKeepalive","navigator","sendBeacon","sendLogBeacon","events","_addFailedRequest","_saveFailedRequests","processor","postToEndpoint","StatsigEndpoint","Rgstr","response","ok","text","errorText","eventCount","_newFailedRequest","failedRequests","fireAndForget","requestBodies","_loop_1","this_1","_i","requestBodies_1","requestBody","STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY","_clearLocalStorageRequests","status","document","visibilityState","ignoreWindowUndefined","me","setInterval","loggingIntervalMillis","lastTime","requestsCopy","additionalEvents","removeItem","queue","StatsigNetwork","retryCodes","canUseKeepalive","leakyBucket","input","hash","_postWithTimeout","Initialize","payload","url","URL","eventLoggingApi","LogEventBeacon","searchParams","append","clientTime","stringPayload","endpointName","retries","backoff","retryAttempt","useKeepalive","api","counter","postBody","params","eventLoggingApiForRetries","keepalive","res","networkResponse","data","max","disableNetworkKeepalive","Request","hasTimedOut","timer","cachedReturnValue","eventuals","boundScope","fetchPromise","_getErrorData","racingPromise","race","headers_1","responseInfo","statusText","redirected","bodySnippet","requestInfo","INIT_TIMEOUT_DEFAULT_MS","StatsigSDKOptions","_d","_f","_g","_h","_j","_k","_l","_m","_o","_p","_q","_r","endsWith","normalizeNumberInput","min","disableErrorLogging","disableAutoMetricsLogging","bounds","BootstrapValidator_1","StatsigStore","_userCacheKey","_values","_userValues","_getDefaultUserCacheValues","_loaded","_reason","Uninitialized","_loadFromLocalStorage","_setUserValueFromCache","isValid","Bootstrap","InvalidBootstrap","feature_gates","dynamic_configs","layer_configs","evaluation_time","hash_used","generatorSDKInfo","sdkInfo","sdk_info","lcut","userHash","djb2HashForObject","user_hash","derived_fields","evalReason","jsonConfigs","updateState","requestedUserCacheKey","initResponse","userValues","_mergeInitializeResponseIntoUserMap","Network","_writeValuesToStorage","gateNameHash","getHashValue","_getEvaluationDetails","exposure","configNameHash","rawConfigValue","_createDynamicConfig","latestValue","_getLatestValue","undelegated_secondary_exposures","allocated_experiment_name","explicit_parameters","_parseCachedValues","INTERNAL_STORE_KEY","allValues","_removeFromStorage","cachedValues","_resetUserValues","Cache","configMap","mergeFn","requestedUserValues","_convertAPIDataToCacheValues","valuesToWrite","filteredValues","entries","sort","a","fromEntries","topLevelKey","apiConfig","_makeOnConfigDefaultValueFallback","valueExists","reasonOverride","Unrecognized","cacheKey","isNaN","parameter","defaultValueType","valueType","StatsigClient_1","StatsigStore_2","Statsig","initialize","inst","instance","_getClientX","manuallyLogGateExposure","manuallyLogConfigExposure","manuallyLogExperimentExposure","manuallyLogLayerParameterExposure","BootstrapValidator","evaluatedKeys","user_1","evaluatedKeysRecord","copyObject","userToCompare","validate","one","two","copy","userID","customIDs","LOCAL_STORAGE_KEYS","SimpleHash","charCodeAt","getSortedObject","object","sortedObject","hashedSDKKeyUsed","hashed_sdk_key_used","StatsigLocalStorage","isStorageAccessible","localStorage","fallbackSessionCache","ignoreDisabledOption","canAccessStorageAccessible","Storage","canAccess","performance","difference","_typeof","_regeneratorRuntime","r","c","asyncIterator","u","toStringTag","wrap","Generator","Context","makeInvokeMethod","tryCatch","arg","h","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","displayName","isGeneratorFunction","mark","awrap","async","reverse","prev","charAt","stop","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","chunkId","reduce","miniCssF","prop","script","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","nc","setAttribute","src","onScriptComplete","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","head","appendChild","installedChunks","installedChunkData","promise","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","some","id","chunkLoadingGlobal","_classCallCheck","toPropertyKey","toPrimitive","Number","_defineProperties","_createClass","_defineProperty","_arrayLikeToArray","_unsupportedIterableToArray","from","test","_slicedToArray","asyncGeneratorStep","_asyncToGenerator","_next","_throw","ownKeys","getOwnPropertySymbols","filter","_objectSpread","getOwnPropertyDescriptors","defineProperties","ALL_FEATURE_VALUES","Subscriptions","Map","callback","fireGateExposure","eventToValue","set","wrapCallback","getExperimentValue","_this2","experimentEventName","fireExperimentExposure","_this3","_this4","FeatureGateEnvironment","PerimeterType","CLIENT_VERSION","_possibleConstructorReturn","ReferenceError","_getPrototypeOf","_setPrototypeOf","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_wrapNativeSuper","indexOf","Wrapper","ResponseError","_Error","_inherits","Fetcher","_fetchClientSdk","_callee","fetcherOptions","targetApp","_context","fetchRequest","t0","_x","_fetchExperimentValues","_callee2","identifiers","customAttributes","_context2","_x2","_x3","_x4","_handleResponseError","_callee3","_context3","_x5","_extractResponseBody","_callee4","_context4","_x6","serviceEnv","perimeter","FEDRAMP_MODERATE","Production","Staging","COMMERCIAL","Development","_fetchRequest","_callee5","path","baseUrl","fetchTimeout","abortSignal","abortController","_context5","getBaseUrl","useGatewayURL","fetchTimeoutMs","AbortSignal","AbortController","signal","abort","apiKey","handleResponseError","extractResponseBody","_x7","_x8","_x9","_x10","isFedRamp","_global$location","global","env","MICROS_PERIMETER","UNSAFE_ATL_CONTEXT_BOUNDARY","matches","hostname","match","_excluded","getOptionsWithDefaults","shallowEquals","objectA","objectB","aEntries","bEntries","ascendingKeyOrder","_ref","_ref2","key1","key2","localeCompare","toStatsigUser","custom","atlassianAccountId","toStatsigOptions","propertyIsEnumerable","_objectWithoutProperties","tier","toStatsigUpdateUserCompletionCallback","_duration","_FeatureGates","DEFAULT_CLIENT_KEY","Client","_initialize","clientOptions","clientOptionsWithDefaults","startTime","initPromise","initOptions","warn","initCompleted","initWithDefaults","totalTime","fireClientEvent","_initializeWithProvider","provider","setClientVersion","setApplyUpdateCallback","applyUpdateCallback","initWithProvider","getApiKey","experimentsResult","experimentValues","subscriptions","anyUpdated","action","_analyticsWebClient","analyticsWebClient","attributes","clientVersion","sendOperationalEvent","actionSubject","tags","source","err","_initializeFromValues","_args3","initFromValues","_updateUser","fetchOptions","fetchOptionsWithDefaults","initializeValuesProducer","fetchExperimentValues","customAttributesFromFetch","updateUserUsingInitializeValuesProducer","_x11","_x12","_x13","_updateUserWithProvider","_this5","setProfile","getExperimentValues","_x14","_x15","_updateUserWithValues","_callee6","_args6","_context6","_x16","_x17","_options$fireGateExpo","hasCheckGateErrorOccurred","msg","_options$fireExperime","hasGetExperimentErrorOccurred","experiment","hasGetExperimentValueErrorOccurred","currentIdentifiers","currentAttributes","_this6","onGateUpdated","_options$fireGateExpo2","_this7","onExperimentValueUpdated","_options$fireExperime2","onAnyUpdated","_callee7","fromValuesClientOptions","customAttributesFromResult","clientSdkKeyPromise","experimentValuesPromise","_yield$Promise$all","_yield$Promise$all2","experimentValuesResult","_context7","fetchClientSdk","clientSdkKey","_x18","_x19","_x20","_initWithProvider","_callee8","baseClientOptions","_yield$Promise$all3","_yield$Promise$all4","_context8","getClientSdkKey","_x21","_x22","_x23","_x24","_initFromValues","_callee9","statsigOptions","_args9","_context9","_x25","_x26","_x27","_updateUserUsingInitializeValuesProducer","_callee11","getInitializeValues","originalInitPromise","initializeValuesPromise","updateUserPromise","_this8","_context11","isCurrentUser","updateStatsigClientUser","_callee10","_context10","_x28","_x29","_x30","_updateStatsigClientUser","_callee12","_updateUserCompletion","_ref3","errMsg","_context12","_x31","_x32","_x33","_options$fireLayerExp","fireLayerExposure","hasGetLayerErrorOccurred","hasGetLayerValueErrorOccurred","FeatureGates","client","isGateExist","isExperimentExist","__CRITERION__","getFeatureFlagOverride","overrideValue","getExperimentValueOverride","initializeCompleted","initializeWithProvider","initializeFromValues","manuallyLogLayerExposure","shutdownStatsig","clearGateOverride","clearConfigOverride","clearAllOverrides","updateUserWithProvider","getPackageVersion","getLayerValue","boundFGJS","__FEATUREGATES_JS__","_boundFGJS","_boundFGJS$getPackage","boundVersion","_process","_process2","DEBUG_MODE","JEST_WORKER_ID","NODE_ENV","PFF_GLOBAL_KEY","hasProcessEnv","ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE","DEFAULT_PFF_GLOBAL","earlyResolvedFlags","booleanResolver","flagKey","globalVar","resolveBooleanFlag","_console","debug","_globalVar$PFF_GLOBAL2","_globalVar$PFF_GLOBAL3","_globalVar$PFF_GLOBAL4","fg","themeColorModes","themeIds","themeIdsWithOverrides","themeStateDefaults","colorMode","contrastMode","dark","light","shape","spacing","typography","UNSAFE_themeOptions","palette","mode","override","extends","increasesContrastFor","THEME_DATA_ATTRIBUTE","COLOR_MODE_ATTRIBUTE","CONTRAST_MODE_ATTRIBUTE","CUSTOM_THEME_ATTRIBUTE","TOKEN_NOT_FOUND_CSS_VAR","CURRENT_SURFACE_CSS_VAR","recordTokenCall","token","fallback","_window","analyticsClient","isThemeEnabled","querySelector","sendEvent","tokenId","tokenValue","getComputedStyle","documentElement","getPropertyValue","trim","isValidBrandHex","hex","themeKinds","customThemeOptions","isThemeKind","themeKind","find","kind","isThemeIds","themeId","isColorMode","modeId","themeStringToObject","themeState","theme","themeObject","themeObjectToString","themeString","_ref4","str","Uint32Array","_ref$colorMode","_ref$dark","_ref$light","_ref$contrastMode","_ref$shape","_ref$spacing","_ref$typography","_ref$UNSAFE_themeOpti","themeAttribute","brandColor","optionString","uniqueId","light-future","dark-future","legacy-light","legacy-dark","typography-adg3","typography-modernized","typography-refreshed","loadAndAppendThemeCss","themeCss","style","loadThemeCss","textContent","dataset","_yield$themeImportMap","darkModeMediaQuery","moreContrastMediaQuery","checkNativeListener","darkModeMql","matchMedia","ColorModeObserver","unbindThemeChangeListener","contrastModeMql","ContrastModeObserver","unbindContrastChangeListener","configurePage","getColorMode","getContrastMode","themeAttributes","_toConsumableArray","findMissingCustomStyleElements","attrOfMissingCustomStyles","element","getIncreasedContrastTheme","_Object$entries$find","getThemePreferences","autoColorModeThemes","themePreferences","normalTheme","increasedContrastTheme","getThemeOverridePreferences","_themeState","_createForOfIteratorHelper","_n","F","return","_ref2$colorMode","_ref2$contrastMode","_ref2$dark","_ref2$light","_ref2$shape","_ref2$spacing","_ref2$typography","_ref2$UNSAFE_themeOpt","themeLoader","loadingStrategy","loadingTasks","themeOverridePreferences","_iterator","_step","autoUnbind","_yield$import","loadAndAppendCustomThemeCss","preferences","results","css","attrs","_preferences$UNSAFE_t","getCustomThemeStyles","customThemeStyles","flat","setColorMode","setContrastMode","isThemeColorMode","ThemeMutationObserver","callbacks","observer","MutationObserver","observe","attributeFilter","delete","size","disconnect","testingThemeTargetElement","testingColorVariableName","defaultTestingColor","testingThemeTargetClass","testingThemeSelector","setTestingThemeColor","color","setProperty","isTestingThemeEnabled","enableTestingTheme","classList","disableTestingTheme","remove","toggleTestingTheme","targetState","colorDeclaration","themeCSSDeclarations","TokenNames","allDeclarations","themeCSS","themeElement","innerText","NAMESPACE","initNamespace","hasAttribute","setGlobalTheme","getTokenValue","Tokens","TestingTheme"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"aui-prototyping-design-tokens-api-full.js","mappings":"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","sources":["webpack://__auiPrototyping/webpack/universalModuleDefinition","webpack://__auiPrototyping/webpack/runtime/load script","webpack://__auiPrototyping/../../../node_modules/@atlaskit/feature-gate-js-client/node_modules/eventemitter2/lib/eventemitter2.js","webpack://__auiPrototyping/../../../node_modules/bind-event-listener/dist/bind-all.js","webpack://__auiPrototyping/../../../node_modules/bind-event-listener/dist/bind.js","webpack://__auiPrototyping/../../../node_modules/bind-event-listener/dist/index.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/DynamicConfig.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/ErrorBoundary.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/Errors.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/Layer.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/LocalOverrides.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/LogEvent.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/SDKVersion.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/StatsigClient.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/StatsigIdentity.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/StatsigLogger.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/StatsigNetwork.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/StatsigSDKOptions.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/StatsigStore.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/index.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/utils/BootstrapValidator.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/utils/Constants.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/utils/Hashing.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/utils/ResponseVerification.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/utils/StatsigLocalStorage.js","webpack://__auiPrototyping/../../../node_modules/statsig-js-lite/dist/utils/Timing.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/typeof.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/regenerator/index.js","webpack://__auiPrototyping/webpack/bootstrap","webpack://__auiPrototyping/webpack/runtime/compat get default export","webpack://__auiPrototyping/webpack/runtime/define property getters","webpack://__auiPrototyping/webpack/runtime/ensure chunk","webpack://__auiPrototyping/webpack/runtime/get javascript chunk filename","webpack://__auiPrototyping/webpack/runtime/get mini-css chunk filename","webpack://__auiPrototyping/webpack/runtime/hasOwnProperty shorthand","webpack://__auiPrototyping/webpack/runtime/make namespace object","webpack://__auiPrototyping/webpack/runtime/publicPath","webpack://__auiPrototyping/webpack/runtime/jsonp chunk loading","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/feature-gate-js-client/dist/esm/subscriptions/Subscriptions.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/feature-gate-js-client/dist/esm/client/types.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/feature-gate-js-client/dist/esm/client/version.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/construct.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/feature-gate-js-client/dist/esm/client/fetcher/errors.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/feature-gate-js-client/dist/esm/client/fetcher/Fetcher.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/atlassian-context/dist/esm/services/is-fedramp/index.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/atlassian-context/dist/esm/common/constants/index.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/feature-gate-js-client/dist/esm/client/utils.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/feature-gate-js-client/dist/esm/client/Client.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/feature-gate-js-client/dist/esm/client/FeatureGates.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/platform-feature-flags/dist/esm/debug.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/platform-feature-flags/dist/esm/resolvers.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/platform-feature-flags/dist/esm/index.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/theme-config.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/artifacts/token-names.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/constants.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/get-token-analytics.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/get-token.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/get-token-value.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/utils/color-utils.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/theme-state-transformer.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/utils/hash.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/get-theme-html-attrs.js","webpack://__auiPrototyping/./token-themes-generated/npm/aui-prototyping-design-tokens-theme-import-map.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/utils/theme-loading.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/utils/color-mode-listeners.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/utils/contrast-mode-listeners.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/utils/configure-page.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://__auiPrototyping/../../../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/utils/custom-theme-loading-utils.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/utils/get-increased-contrast-theme.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/utils/get-theme-preferences.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/set-global-theme.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/enable-global-theme.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/get-theme-styles.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/get-ssr-auto-script.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/get-global-theme.js","webpack://__auiPrototyping/../../../node_modules/@atlaskit/tokens/dist/esm/theme-mutation-observer.js","webpack://__auiPrototyping/../src/js/aui/design-tokens/design-tokens-testing-theme.js","webpack://__auiPrototyping/../src/js/aui/internal/globalize.js","webpack://__auiPrototyping/../src/js/aui/design-tokens/design-tokens-init.js","webpack://__auiPrototyping/../src/js/aui/design-tokens/design-tokens-full.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"@atlassian/aui\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"@atlassian/aui\"] = factory();\n\telse\n\t\troot[\"AJS\"] = root[\"AJS\"] || {}, root[\"AJS\"][\"DesignTokens\"] = factory();\n})(window, () => {\nreturn ","var inProgress = {};\nvar dataWebpackPrefix = \"__auiPrototyping:\";\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\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/*!\r\n * EventEmitter2\r\n * https://github.com/hij1nx/EventEmitter2\r\n *\r\n * Copyright (c) 2013 hij1nx\r\n * Licensed under the MIT license.\r\n */\r\n;!function(undefined) {\r\n\r\n var isArray = Array.isArray ? Array.isArray : function _isArray(obj) {\r\n return Object.prototype.toString.call(obj) === \"[object Array]\";\r\n };\r\n var defaultMaxListeners = 10;\r\n\r\n function init() {\r\n this._events = {};\r\n if (this._conf) {\r\n configure.call(this, this._conf);\r\n }\r\n }\r\n\r\n function configure(conf) {\r\n if (conf) {\r\n this._conf = conf;\r\n\r\n conf.delimiter && (this.delimiter = conf.delimiter);\r\n this._maxListeners = conf.maxListeners !== undefined ? conf.maxListeners : defaultMaxListeners;\r\n\r\n conf.wildcard && (this.wildcard = conf.wildcard);\r\n conf.newListener && (this.newListener = conf.newListener);\r\n conf.verboseMemoryLeak && (this.verboseMemoryLeak = conf.verboseMemoryLeak);\r\n\r\n if (this.wildcard) {\r\n this.listenerTree = {};\r\n }\r\n } else {\r\n this._maxListeners = defaultMaxListeners;\r\n }\r\n }\r\n\r\n function logPossibleMemoryLeak(count, eventName) {\r\n var errorMsg = '(node) warning: possible EventEmitter memory ' +\r\n 'leak detected. ' + count + ' listeners added. ' +\r\n 'Use emitter.setMaxListeners() to increase limit.';\r\n\r\n if(this.verboseMemoryLeak){\r\n errorMsg += ' Event name: ' + eventName + '.';\r\n }\r\n\r\n if(typeof process !== 'undefined' && process.emitWarning){\r\n var e = new Error(errorMsg);\r\n e.name = 'MaxListenersExceededWarning';\r\n e.emitter = this;\r\n e.count = count;\r\n process.emitWarning(e);\r\n } else {\r\n console.error(errorMsg);\r\n\r\n if (console.trace){\r\n console.trace();\r\n }\r\n }\r\n }\r\n\r\n function EventEmitter(conf) {\r\n this._events = {};\r\n this.newListener = false;\r\n this.verboseMemoryLeak = false;\r\n configure.call(this, conf);\r\n }\r\n EventEmitter.EventEmitter2 = EventEmitter; // backwards compatibility for exporting EventEmitter property\r\n\r\n //\r\n // Attention, function return type now is array, always !\r\n // It has zero elements if no any matches found and one or more\r\n // elements (leafs) if there are matches\r\n //\r\n function searchListenerTree(handlers, type, tree, i) {\r\n if (!tree) {\r\n return [];\r\n }\r\n var listeners=[], leaf, len, branch, xTree, xxTree, isolatedBranch, endReached,\r\n typeLength = type.length, currentType = type[i], nextType = type[i+1];\r\n if (i === typeLength && tree._listeners) {\r\n //\r\n // If at the end of the event(s) list and the tree has listeners\r\n // invoke those listeners.\r\n //\r\n if (typeof tree._listeners === 'function') {\r\n handlers && handlers.push(tree._listeners);\r\n return [tree];\r\n } else {\r\n for (leaf = 0, len = tree._listeners.length; leaf < len; leaf++) {\r\n handlers && handlers.push(tree._listeners[leaf]);\r\n }\r\n return [tree];\r\n }\r\n }\r\n\r\n if ((currentType === '*' || currentType === '**') || tree[currentType]) {\r\n //\r\n // If the event emitted is '*' at this part\r\n // or there is a concrete match at this patch\r\n //\r\n if (currentType === '*') {\r\n for (branch in tree) {\r\n if (branch !== '_listeners' && tree.hasOwnProperty(branch)) {\r\n listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i+1));\r\n }\r\n }\r\n return listeners;\r\n } else if(currentType === '**') {\r\n endReached = (i+1 === typeLength || (i+2 === typeLength && nextType === '*'));\r\n if(endReached && tree._listeners) {\r\n // The next element has a _listeners, add it to the handlers.\r\n listeners = listeners.concat(searchListenerTree(handlers, type, tree, typeLength));\r\n }\r\n\r\n for (branch in tree) {\r\n if (branch !== '_listeners' && tree.hasOwnProperty(branch)) {\r\n if(branch === '*' || branch === '**') {\r\n if(tree[branch]._listeners && !endReached) {\r\n listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], typeLength));\r\n }\r\n listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i));\r\n } else if(branch === nextType) {\r\n listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i+2));\r\n } else {\r\n // No match on this one, shift into the tree but not in the type array.\r\n listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i));\r\n }\r\n }\r\n }\r\n return listeners;\r\n }\r\n\r\n listeners = listeners.concat(searchListenerTree(handlers, type, tree[currentType], i+1));\r\n }\r\n\r\n xTree = tree['*'];\r\n if (xTree) {\r\n //\r\n // If the listener tree will allow any match for this part,\r\n // then recursively explore all branches of the tree\r\n //\r\n searchListenerTree(handlers, type, xTree, i+1);\r\n }\r\n\r\n xxTree = tree['**'];\r\n if(xxTree) {\r\n if(i < typeLength) {\r\n if(xxTree._listeners) {\r\n // If we have a listener on a '**', it will catch all, so add its handler.\r\n searchListenerTree(handlers, type, xxTree, typeLength);\r\n }\r\n\r\n // Build arrays of matching next branches and others.\r\n for(branch in xxTree) {\r\n if(branch !== '_listeners' && xxTree.hasOwnProperty(branch)) {\r\n if(branch === nextType) {\r\n // We know the next element will match, so jump twice.\r\n searchListenerTree(handlers, type, xxTree[branch], i+2);\r\n } else if(branch === currentType) {\r\n // Current node matches, move into the tree.\r\n searchListenerTree(handlers, type, xxTree[branch], i+1);\r\n } else {\r\n isolatedBranch = {};\r\n isolatedBranch[branch] = xxTree[branch];\r\n searchListenerTree(handlers, type, { '**': isolatedBranch }, i+1);\r\n }\r\n }\r\n }\r\n } else if(xxTree._listeners) {\r\n // We have reached the end and still on a '**'\r\n searchListenerTree(handlers, type, xxTree, typeLength);\r\n } else if(xxTree['*'] && xxTree['*']._listeners) {\r\n searchListenerTree(handlers, type, xxTree['*'], typeLength);\r\n }\r\n }\r\n\r\n return listeners;\r\n }\r\n\r\n function growListenerTree(type, listener) {\r\n\r\n type = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\r\n\r\n //\r\n // Looks for two consecutive '**', if so, don't add the event at all.\r\n //\r\n for(var i = 0, len = type.length; i+1 < len; i++) {\r\n if(type[i] === '**' && type[i+1] === '**') {\r\n return;\r\n }\r\n }\r\n\r\n var tree = this.listenerTree;\r\n var name = type.shift();\r\n\r\n while (name !== undefined) {\r\n\r\n if (!tree[name]) {\r\n tree[name] = {};\r\n }\r\n\r\n tree = tree[name];\r\n\r\n if (type.length === 0) {\r\n\r\n if (!tree._listeners) {\r\n tree._listeners = listener;\r\n }\r\n else {\r\n if (typeof tree._listeners === 'function') {\r\n tree._listeners = [tree._listeners];\r\n }\r\n\r\n tree._listeners.push(listener);\r\n\r\n if (\r\n !tree._listeners.warned &&\r\n this._maxListeners > 0 &&\r\n tree._listeners.length > this._maxListeners\r\n ) {\r\n tree._listeners.warned = true;\r\n logPossibleMemoryLeak.call(this, tree._listeners.length, name);\r\n }\r\n }\r\n return true;\r\n }\r\n name = type.shift();\r\n }\r\n return true;\r\n }\r\n\r\n // By default EventEmitters will print a warning if more than\r\n // 10 listeners are added to it. This is a useful default which\r\n // helps finding memory leaks.\r\n //\r\n // Obviously not all Emitters should be limited to 10. This function allows\r\n // that to be increased. Set to zero for unlimited.\r\n\r\n EventEmitter.prototype.delimiter = '.';\r\n\r\n EventEmitter.prototype.setMaxListeners = function(n) {\r\n if (n !== undefined) {\r\n this._maxListeners = n;\r\n if (!this._conf) this._conf = {};\r\n this._conf.maxListeners = n;\r\n }\r\n };\r\n\r\n EventEmitter.prototype.event = '';\r\n\r\n\r\n EventEmitter.prototype.once = function(event, fn) {\r\n return this._once(event, fn, false);\r\n };\r\n\r\n EventEmitter.prototype.prependOnceListener = function(event, fn) {\r\n return this._once(event, fn, true);\r\n };\r\n\r\n EventEmitter.prototype._once = function(event, fn, prepend) {\r\n this._many(event, 1, fn, prepend);\r\n return this;\r\n };\r\n\r\n EventEmitter.prototype.many = function(event, ttl, fn) {\r\n return this._many(event, ttl, fn, false);\r\n }\r\n\r\n EventEmitter.prototype.prependMany = function(event, ttl, fn) {\r\n return this._many(event, ttl, fn, true);\r\n }\r\n\r\n EventEmitter.prototype._many = function(event, ttl, fn, prepend) {\r\n var self = this;\r\n\r\n if (typeof fn !== 'function') {\r\n throw new Error('many only accepts instances of Function');\r\n }\r\n\r\n function listener() {\r\n if (--ttl === 0) {\r\n self.off(event, listener);\r\n }\r\n return fn.apply(this, arguments);\r\n }\r\n\r\n listener._origin = fn;\r\n\r\n this._on(event, listener, prepend);\r\n\r\n return self;\r\n };\r\n\r\n EventEmitter.prototype.emit = function() {\r\n\r\n this._events || init.call(this);\r\n\r\n var type = arguments[0];\r\n\r\n if (type === 'newListener' && !this.newListener) {\r\n if (!this._events.newListener) {\r\n return false;\r\n }\r\n }\r\n\r\n var al = arguments.length;\r\n var args,l,i,j;\r\n var handler;\r\n\r\n if (this._all && this._all.length) {\r\n handler = this._all.slice();\r\n if (al > 3) {\r\n args = new Array(al);\r\n for (j = 0; j < al; j++) args[j] = arguments[j];\r\n }\r\n\r\n for (i = 0, l = handler.length; i < l; i++) {\r\n this.event = type;\r\n switch (al) {\r\n case 1:\r\n handler[i].call(this, type);\r\n break;\r\n case 2:\r\n handler[i].call(this, type, arguments[1]);\r\n break;\r\n case 3:\r\n handler[i].call(this, type, arguments[1], arguments[2]);\r\n break;\r\n default:\r\n handler[i].apply(this, args);\r\n }\r\n }\r\n }\r\n\r\n if (this.wildcard) {\r\n handler = [];\r\n var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\r\n searchListenerTree.call(this, handler, ns, this.listenerTree, 0);\r\n } else {\r\n handler = this._events[type];\r\n if (typeof handler === 'function') {\r\n this.event = type;\r\n switch (al) {\r\n case 1:\r\n handler.call(this);\r\n break;\r\n case 2:\r\n handler.call(this, arguments[1]);\r\n break;\r\n case 3:\r\n handler.call(this, arguments[1], arguments[2]);\r\n break;\r\n default:\r\n args = new Array(al - 1);\r\n for (j = 1; j < al; j++) args[j - 1] = arguments[j];\r\n handler.apply(this, args);\r\n }\r\n return true;\r\n } else if (handler) {\r\n // need to make copy of handlers because list can change in the middle\r\n // of emit call\r\n handler = handler.slice();\r\n }\r\n }\r\n\r\n if (handler && handler.length) {\r\n if (al > 3) {\r\n args = new Array(al - 1);\r\n for (j = 1; j < al; j++) args[j - 1] = arguments[j];\r\n }\r\n for (i = 0, l = handler.length; i < l; i++) {\r\n this.event = type;\r\n switch (al) {\r\n case 1:\r\n handler[i].call(this);\r\n break;\r\n case 2:\r\n handler[i].call(this, arguments[1]);\r\n break;\r\n case 3:\r\n handler[i].call(this, arguments[1], arguments[2]);\r\n break;\r\n default:\r\n handler[i].apply(this, args);\r\n }\r\n }\r\n return true;\r\n } else if (!this._all && type === 'error') {\r\n if (arguments[1] instanceof Error) {\r\n throw arguments[1]; // Unhandled 'error' event\r\n } else {\r\n throw new Error(\"Uncaught, unspecified 'error' event.\");\r\n }\r\n return false;\r\n }\r\n\r\n return !!this._all;\r\n };\r\n\r\n EventEmitter.prototype.emitAsync = function() {\r\n\r\n this._events || init.call(this);\r\n\r\n var type = arguments[0];\r\n\r\n if (type === 'newListener' && !this.newListener) {\r\n if (!this._events.newListener) { return Promise.resolve([false]); }\r\n }\r\n\r\n var promises= [];\r\n\r\n var al = arguments.length;\r\n var args,l,i,j;\r\n var handler;\r\n\r\n if (this._all) {\r\n if (al > 3) {\r\n args = new Array(al);\r\n for (j = 1; j < al; j++) args[j] = arguments[j];\r\n }\r\n for (i = 0, l = this._all.length; i < l; i++) {\r\n this.event = type;\r\n switch (al) {\r\n case 1:\r\n promises.push(this._all[i].call(this, type));\r\n break;\r\n case 2:\r\n promises.push(this._all[i].call(this, type, arguments[1]));\r\n break;\r\n case 3:\r\n promises.push(this._all[i].call(this, type, arguments[1], arguments[2]));\r\n break;\r\n default:\r\n promises.push(this._all[i].apply(this, args));\r\n }\r\n }\r\n }\r\n\r\n if (this.wildcard) {\r\n handler = [];\r\n var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\r\n searchListenerTree.call(this, handler, ns, this.listenerTree, 0);\r\n } else {\r\n handler = this._events[type];\r\n }\r\n\r\n if (typeof handler === 'function') {\r\n this.event = type;\r\n switch (al) {\r\n case 1:\r\n promises.push(handler.call(this));\r\n break;\r\n case 2:\r\n promises.push(handler.call(this, arguments[1]));\r\n break;\r\n case 3:\r\n promises.push(handler.call(this, arguments[1], arguments[2]));\r\n break;\r\n default:\r\n args = new Array(al - 1);\r\n for (j = 1; j < al; j++) args[j - 1] = arguments[j];\r\n promises.push(handler.apply(this, args));\r\n }\r\n } else if (handler && handler.length) {\r\n handler = handler.slice();\r\n if (al > 3) {\r\n args = new Array(al - 1);\r\n for (j = 1; j < al; j++) args[j - 1] = arguments[j];\r\n }\r\n for (i = 0, l = handler.length; i < l; i++) {\r\n this.event = type;\r\n switch (al) {\r\n case 1:\r\n promises.push(handler[i].call(this));\r\n break;\r\n case 2:\r\n promises.push(handler[i].call(this, arguments[1]));\r\n break;\r\n case 3:\r\n promises.push(handler[i].call(this, arguments[1], arguments[2]));\r\n break;\r\n default:\r\n promises.push(handler[i].apply(this, args));\r\n }\r\n }\r\n } else if (!this._all && type === 'error') {\r\n if (arguments[1] instanceof Error) {\r\n return Promise.reject(arguments[1]); // Unhandled 'error' event\r\n } else {\r\n return Promise.reject(\"Uncaught, unspecified 'error' event.\");\r\n }\r\n }\r\n\r\n return Promise.all(promises);\r\n };\r\n\r\n EventEmitter.prototype.on = function(type, listener) {\r\n return this._on(type, listener, false);\r\n };\r\n\r\n EventEmitter.prototype.prependListener = function(type, listener) {\r\n return this._on(type, listener, true);\r\n };\r\n\r\n EventEmitter.prototype.onAny = function(fn) {\r\n return this._onAny(fn, false);\r\n };\r\n\r\n EventEmitter.prototype.prependAny = function(fn) {\r\n return this._onAny(fn, true);\r\n };\r\n\r\n EventEmitter.prototype.addListener = EventEmitter.prototype.on;\r\n\r\n EventEmitter.prototype._onAny = function(fn, prepend){\r\n if (typeof fn !== 'function') {\r\n throw new Error('onAny only accepts instances of Function');\r\n }\r\n\r\n if (!this._all) {\r\n this._all = [];\r\n }\r\n\r\n // Add the function to the event listener collection.\r\n if(prepend){\r\n this._all.unshift(fn);\r\n }else{\r\n this._all.push(fn);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n EventEmitter.prototype._on = function(type, listener, prepend) {\r\n if (typeof type === 'function') {\r\n this._onAny(type, listener);\r\n return this;\r\n }\r\n\r\n if (typeof listener !== 'function') {\r\n throw new Error('on only accepts instances of Function');\r\n }\r\n this._events || init.call(this);\r\n\r\n // To avoid recursion in the case that type == \"newListeners\"! Before\r\n // adding it to the listeners, first emit \"newListeners\".\r\n this.emit('newListener', type, listener);\r\n\r\n if (this.wildcard) {\r\n growListenerTree.call(this, type, listener);\r\n return this;\r\n }\r\n\r\n if (!this._events[type]) {\r\n // Optimize the case of one listener. Don't need the extra array object.\r\n this._events[type] = listener;\r\n }\r\n else {\r\n if (typeof this._events[type] === 'function') {\r\n // Change to array.\r\n this._events[type] = [this._events[type]];\r\n }\r\n\r\n // If we've already got an array, just add\r\n if(prepend){\r\n this._events[type].unshift(listener);\r\n }else{\r\n this._events[type].push(listener);\r\n }\r\n\r\n // Check for listener leak\r\n if (\r\n !this._events[type].warned &&\r\n this._maxListeners > 0 &&\r\n this._events[type].length > this._maxListeners\r\n ) {\r\n this._events[type].warned = true;\r\n logPossibleMemoryLeak.call(this, this._events[type].length, type);\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n EventEmitter.prototype.off = function(type, listener) {\r\n if (typeof listener !== 'function') {\r\n throw new Error('removeListener only takes instances of Function');\r\n }\r\n\r\n var handlers,leafs=[];\r\n\r\n if(this.wildcard) {\r\n var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\r\n leafs = searchListenerTree.call(this, null, ns, this.listenerTree, 0);\r\n }\r\n else {\r\n // does not use listeners(), so no side effect of creating _events[type]\r\n if (!this._events[type]) return this;\r\n handlers = this._events[type];\r\n leafs.push({_listeners:handlers});\r\n }\r\n\r\n for (var iLeaf=0; iLeaf<leafs.length; iLeaf++) {\r\n var leaf = leafs[iLeaf];\r\n handlers = leaf._listeners;\r\n if (isArray(handlers)) {\r\n\r\n var position = -1;\r\n\r\n for (var i = 0, length = handlers.length; i < length; i++) {\r\n if (handlers[i] === listener ||\r\n (handlers[i].listener && handlers[i].listener === listener) ||\r\n (handlers[i]._origin && handlers[i]._origin === listener)) {\r\n position = i;\r\n break;\r\n }\r\n }\r\n\r\n if (position < 0) {\r\n continue;\r\n }\r\n\r\n if(this.wildcard) {\r\n leaf._listeners.splice(position, 1);\r\n }\r\n else {\r\n this._events[type].splice(position, 1);\r\n }\r\n\r\n if (handlers.length === 0) {\r\n if(this.wildcard) {\r\n delete leaf._listeners;\r\n }\r\n else {\r\n delete this._events[type];\r\n }\r\n }\r\n\r\n this.emit(\"removeListener\", type, listener);\r\n\r\n return this;\r\n }\r\n else if (handlers === listener ||\r\n (handlers.listener && handlers.listener === listener) ||\r\n (handlers._origin && handlers._origin === listener)) {\r\n if(this.wildcard) {\r\n delete leaf._listeners;\r\n }\r\n else {\r\n delete this._events[type];\r\n }\r\n\r\n this.emit(\"removeListener\", type, listener);\r\n }\r\n }\r\n\r\n function recursivelyGarbageCollect(root) {\r\n if (root === undefined) {\r\n return;\r\n }\r\n var keys = Object.keys(root);\r\n for (var i in keys) {\r\n var key = keys[i];\r\n var obj = root[key];\r\n if ((obj instanceof Function) || (typeof obj !== \"object\") || (obj === null))\r\n continue;\r\n if (Object.keys(obj).length > 0) {\r\n recursivelyGarbageCollect(root[key]);\r\n }\r\n if (Object.keys(obj).length === 0) {\r\n delete root[key];\r\n }\r\n }\r\n }\r\n recursivelyGarbageCollect(this.listenerTree);\r\n\r\n return this;\r\n };\r\n\r\n EventEmitter.prototype.offAny = function(fn) {\r\n var i = 0, l = 0, fns;\r\n if (fn && this._all && this._all.length > 0) {\r\n fns = this._all;\r\n for(i = 0, l = fns.length; i < l; i++) {\r\n if(fn === fns[i]) {\r\n fns.splice(i, 1);\r\n this.emit(\"removeListenerAny\", fn);\r\n return this;\r\n }\r\n }\r\n } else {\r\n fns = this._all;\r\n for(i = 0, l = fns.length; i < l; i++)\r\n this.emit(\"removeListenerAny\", fns[i]);\r\n this._all = [];\r\n }\r\n return this;\r\n };\r\n\r\n EventEmitter.prototype.removeListener = EventEmitter.prototype.off;\r\n\r\n EventEmitter.prototype.removeAllListeners = function(type) {\r\n if (arguments.length === 0) {\r\n !this._events || init.call(this);\r\n return this;\r\n }\r\n\r\n if (this.wildcard) {\r\n var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\r\n var leafs = searchListenerTree.call(this, null, ns, this.listenerTree, 0);\r\n\r\n for (var iLeaf=0; iLeaf<leafs.length; iLeaf++) {\r\n var leaf = leafs[iLeaf];\r\n leaf._listeners = null;\r\n }\r\n }\r\n else if (this._events) {\r\n this._events[type] = null;\r\n }\r\n return this;\r\n };\r\n\r\n EventEmitter.prototype.listeners = function(type) {\r\n if (this.wildcard) {\r\n var handlers = [];\r\n var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();\r\n searchListenerTree.call(this, handlers, ns, this.listenerTree, 0);\r\n return handlers;\r\n }\r\n\r\n this._events || init.call(this);\r\n\r\n if (!this._events[type]) this._events[type] = [];\r\n if (!isArray(this._events[type])) {\r\n this._events[type] = [this._events[type]];\r\n }\r\n return this._events[type];\r\n };\r\n\r\n EventEmitter.prototype.eventNames = function(){\r\n return Object.keys(this._events);\r\n }\r\n\r\n EventEmitter.prototype.listenerCount = function(type) {\r\n return this.listeners(type).length;\r\n };\r\n\r\n EventEmitter.prototype.listenersAny = function() {\r\n\r\n if(this._all) {\r\n return this._all;\r\n }\r\n else {\r\n return [];\r\n }\r\n\r\n };\r\n\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define(function() {\r\n return EventEmitter;\r\n });\r\n } else if (typeof exports === 'object') {\r\n // CommonJS\r\n module.exports = EventEmitter;\r\n }\r\n else {\r\n // Browser global.\r\n window.EventEmitter2 = EventEmitter;\r\n }\r\n}();\r\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindAll = void 0;\nvar bind_1 = require(\"./bind\");\nfunction toOptions(value) {\n if (typeof value === 'undefined') {\n return undefined;\n }\n if (typeof value === 'boolean') {\n return {\n capture: value,\n };\n }\n return value;\n}\nfunction getBinding(original, sharedOptions) {\n if (sharedOptions == null) {\n return original;\n }\n var binding = __assign(__assign({}, original), { options: __assign(__assign({}, toOptions(sharedOptions)), toOptions(original.options)) });\n return binding;\n}\nfunction bindAll(target, bindings, sharedOptions) {\n var unbinds = bindings.map(function (original) {\n var binding = getBinding(original, sharedOptions);\n return (0, bind_1.bind)(target, binding);\n });\n return function unbindAll() {\n unbinds.forEach(function (unbind) { return unbind(); });\n };\n}\nexports.bindAll = bindAll;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bind = void 0;\nfunction bind(target, _a) {\n var type = _a.type, listener = _a.listener, options = _a.options;\n target.addEventListener(type, listener, options);\n return function unbind() {\n target.removeEventListener(type, listener, options);\n };\n}\nexports.bind = bind;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindAll = exports.bind = void 0;\nvar bind_1 = require(\"./bind\");\nObject.defineProperty(exports, \"bind\", { enumerable: true, get: function () { return bind_1.bind; } });\nvar bind_all_1 = require(\"./bind-all\");\nObject.defineProperty(exports, \"bindAll\", { enumerable: true, get: function () { return bind_all_1.bindAll; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DynamicConfig = /** @class */ (function () {\n function DynamicConfig(configName, configValue, ruleID, evaluationDetails, secondaryExposures, allocatedExperimentName, onDefaultValueFallback) {\n if (secondaryExposures === void 0) { secondaryExposures = []; }\n if (allocatedExperimentName === void 0) { allocatedExperimentName = ''; }\n if (onDefaultValueFallback === void 0) { onDefaultValueFallback = null; }\n this._onDefaultValueFallback = null;\n this.value = JSON.parse(JSON.stringify(configValue !== null && configValue !== void 0 ? configValue : {}));\n this._name = configName;\n this._ruleID = ruleID !== null && ruleID !== void 0 ? ruleID : '';\n this._secondaryExposures = secondaryExposures;\n this._allocatedExperimentName = allocatedExperimentName;\n this._evaluationDetails = evaluationDetails;\n this._onDefaultValueFallback = onDefaultValueFallback;\n }\n DynamicConfig.prototype.get = function (key, defaultValue, typeGuard) {\n var _a, _b;\n var val = this.getValue(key, defaultValue);\n if (val == null) {\n return defaultValue;\n }\n var expectedType = Array.isArray(defaultValue)\n ? 'array'\n : typeof defaultValue;\n var actualType = Array.isArray(val) ? 'array' : typeof val;\n if (typeGuard) {\n if (typeGuard(val)) {\n return val;\n }\n (_a = this._onDefaultValueFallback) === null || _a === void 0 ? void 0 : _a.call(this, this, key, expectedType, actualType);\n return defaultValue;\n }\n if (defaultValue == null || expectedType === actualType) {\n return val;\n }\n (_b = this._onDefaultValueFallback) === null || _b === void 0 ? void 0 : _b.call(this, this, key, expectedType, actualType);\n return defaultValue;\n };\n DynamicConfig.prototype.getValue = function (key, defaultValue) {\n if (key == null) {\n return this.value;\n }\n if (defaultValue == null) {\n defaultValue = null;\n }\n if (this.value[key] == null) {\n return defaultValue;\n }\n return this.value[key];\n };\n return DynamicConfig;\n}());\nexports.default = DynamicConfig;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExceptionEndpoint = void 0;\nvar Errors_1 = require(\"./Errors\");\nexports.ExceptionEndpoint = 'https://statsigapi.net/v1/sdk_exception';\nvar ErrorBoundary = /** @class */ (function () {\n function ErrorBoundary(sdkKey, options) {\n this._seen = new Set();\n this._sdkKey = sdkKey;\n this._options = options;\n }\n ErrorBoundary.prototype._setStatsigMetadata = function (statsigMetadata) {\n this._statsigMetadata = statsigMetadata;\n };\n ErrorBoundary.prototype._swallow = function (tag, task) {\n this._capture(tag, task, function () {\n return undefined;\n });\n };\n ErrorBoundary.prototype._capture = function (tag, task, recover, getExtraData) {\n var _this = this;\n try {\n var result = task();\n if (result instanceof Promise) {\n return result.catch(function (e) {\n return _this._onCaught(tag, e, recover, getExtraData);\n });\n }\n return result;\n }\n catch (error) {\n return this._onCaught(tag, error, recover, getExtraData);\n }\n };\n ErrorBoundary.prototype._logError = function (tag, error, getExtraData) {\n var _this = this;\n if (this._options.disableAllLogging)\n return;\n try {\n var impl = function () { return __awaiter(_this, void 0, void 0, function () {\n var extra, _a, unwrapped, isError, name, info, metadata, body;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!(typeof getExtraData === 'function')) return [3 /*break*/, 2];\n return [4 /*yield*/, getExtraData()];\n case 1:\n _a = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n _a = null;\n _c.label = 3;\n case 3:\n extra = _a;\n unwrapped = (error !== null && error !== void 0 ? error : Error('[Statsig] Error was empty'));\n isError = unwrapped instanceof Error;\n name = isError ? unwrapped.name : 'No Name';\n if (this._seen.has(name))\n return [2 /*return*/];\n this._seen.add(name);\n info = isError\n ? unwrapped.stack\n : this._getDescription(unwrapped);\n metadata = (_b = this._statsigMetadata) !== null && _b !== void 0 ? _b : {};\n body = JSON.stringify({\n tag: tag,\n exception: name,\n info: info,\n statsigMetadata: metadata,\n extra: extra !== null && extra !== void 0 ? extra : {},\n });\n return [2 /*return*/, fetch(exports.ExceptionEndpoint, {\n method: 'POST',\n headers: {\n 'STATSIG-API-KEY': this._sdkKey,\n 'STATSIG-SDK-TYPE': String(metadata['sdkType']),\n 'STATSIG-SDK-VERSION': String(metadata['sdkVersion']),\n 'Content-Type': 'application/json',\n 'Content-Length': \"\".concat(body.length),\n },\n body: body,\n })];\n }\n });\n }); };\n impl()\n .then(function () {\n /* noop */\n })\n .catch(function () {\n /* noop */\n });\n }\n catch (_error) {\n /* noop */\n }\n };\n ErrorBoundary.prototype._onCaught = function (tag, error, recover, getExtraData) {\n if (error instanceof Errors_1.StatsigUninitializedError ||\n error instanceof Errors_1.StatsigInvalidArgumentError) {\n throw error; // Don't catch these\n }\n console.error('[Statsig] An unexpected exception occurred.', error);\n this._logError(tag, error, getExtraData);\n return recover();\n };\n ErrorBoundary.prototype._getDescription = function (obj) {\n try {\n return JSON.stringify(obj);\n }\n catch (_a) {\n return '[Statsig] Failed to get string for error.';\n }\n };\n return ErrorBoundary;\n}());\nexports.default = ErrorBoundary;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StatsigSDKKeyMismatchError = exports.StatsigInvalidArgumentError = exports.StatsigUninitializedError = exports.StatsigErrorMessage = void 0;\nvar StatsigErrorMessage;\n(function (StatsigErrorMessage) {\n StatsigErrorMessage[\"REQUIRE_ASYNC_INITIALIZE\"] = \"Call initialize() first.\";\n StatsigErrorMessage[\"REQUIRE_SYNC_INITIALIZE\"] = \"Call and wait for initialize() to finish first.\";\n StatsigErrorMessage[\"REQUIRE_INITIALIZE_FOR_LOG_EVENT\"] = \"Must initialize() before logging events.\";\n})(StatsigErrorMessage = exports.StatsigErrorMessage || (exports.StatsigErrorMessage = {}));\nvar StatsigUninitializedError = /** @class */ (function (_super) {\n __extends(StatsigUninitializedError, _super);\n function StatsigUninitializedError(message) {\n var _this = _super.call(this, message !== null && message !== void 0 ? message : StatsigErrorMessage.REQUIRE_SYNC_INITIALIZE) || this;\n Object.setPrototypeOf(_this, StatsigUninitializedError.prototype);\n return _this;\n }\n return StatsigUninitializedError;\n}(Error));\nexports.StatsigUninitializedError = StatsigUninitializedError;\nvar StatsigInvalidArgumentError = /** @class */ (function (_super) {\n __extends(StatsigInvalidArgumentError, _super);\n function StatsigInvalidArgumentError(message) {\n var _this = _super.call(this, message) || this;\n Object.setPrototypeOf(_this, StatsigInvalidArgumentError.prototype);\n return _this;\n }\n return StatsigInvalidArgumentError;\n}(Error));\nexports.StatsigInvalidArgumentError = StatsigInvalidArgumentError;\nvar StatsigSDKKeyMismatchError = /** @class */ (function (_super) {\n __extends(StatsigSDKKeyMismatchError, _super);\n function StatsigSDKKeyMismatchError(message) {\n var _this = _super.call(this, message) || this;\n Object.setPrototypeOf(_this, StatsigSDKKeyMismatchError.prototype);\n return _this;\n }\n return StatsigSDKKeyMismatchError;\n}(Error));\nexports.StatsigSDKKeyMismatchError = StatsigSDKKeyMismatchError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Layer = /** @class */ (function () {\n function Layer(name, layerValue, ruleID, evaluationDetails, logParameterFunction, secondaryExposures, undelegatedSecondaryExposures, allocatedExperimentName, explicitParameters) {\n if (logParameterFunction === void 0) { logParameterFunction = null; }\n if (secondaryExposures === void 0) { secondaryExposures = []; }\n if (undelegatedSecondaryExposures === void 0) { undelegatedSecondaryExposures = []; }\n if (allocatedExperimentName === void 0) { allocatedExperimentName = ''; }\n if (explicitParameters === void 0) { explicitParameters = []; }\n this._logParameterFunction = logParameterFunction;\n this._name = name;\n this._value = JSON.parse(JSON.stringify(layerValue !== null && layerValue !== void 0 ? layerValue : {}));\n this._ruleID = ruleID !== null && ruleID !== void 0 ? ruleID : '';\n this._evaluationDetails = evaluationDetails;\n this._secondaryExposures = secondaryExposures;\n this._undelegatedSecondaryExposures = undelegatedSecondaryExposures;\n this._allocatedExperimentName = allocatedExperimentName;\n this._explicitParameters = explicitParameters;\n }\n Layer._create = function (name, value, ruleID, evaluationDetails, logParameterFunction, secondaryExposures, undelegatedSecondaryExposures, allocatedExperimentName, explicitParameters) {\n if (logParameterFunction === void 0) { logParameterFunction = null; }\n if (secondaryExposures === void 0) { secondaryExposures = []; }\n if (undelegatedSecondaryExposures === void 0) { undelegatedSecondaryExposures = []; }\n if (allocatedExperimentName === void 0) { allocatedExperimentName = ''; }\n if (explicitParameters === void 0) { explicitParameters = []; }\n return new Layer(name, value, ruleID, evaluationDetails, logParameterFunction, secondaryExposures, undelegatedSecondaryExposures, allocatedExperimentName, explicitParameters);\n };\n Layer.prototype.get = function (key, defaultValue, typeGuard) {\n var _this = this;\n var val = this._value[key];\n if (val == null) {\n return defaultValue;\n }\n var logAndReturn = function () {\n _this._logLayerParameterExposure(key);\n return val;\n };\n if (typeGuard) {\n return typeGuard(val) ? logAndReturn() : defaultValue;\n }\n if (defaultValue == null) {\n return logAndReturn();\n }\n if (typeof val === typeof defaultValue &&\n Array.isArray(defaultValue) === Array.isArray(val)) {\n return logAndReturn();\n }\n return defaultValue;\n };\n Layer.prototype.getValue = function (key, defaultValue) {\n if (defaultValue == undefined) {\n defaultValue = null;\n }\n var val = this._value[key];\n if (val != null) {\n this._logLayerParameterExposure(key);\n }\n return val !== null && val !== void 0 ? val : defaultValue;\n };\n Layer.prototype._logLayerParameterExposure = function (parameterName) {\n var _a;\n (_a = this._logParameterFunction) === null || _a === void 0 ? void 0 : _a.call(this, this, parameterName);\n };\n return Layer;\n}());\nexports.default = Layer;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.saveOverridesToLocalStorage = exports.loadOverridesFromLocalStorage = exports.makeEmptyOverrides = exports.STORAGE_KEY = void 0;\nvar StatsigLocalStorage_1 = __importDefault(require(\"./utils/StatsigLocalStorage\"));\nexports.STORAGE_KEY = 'STATSIG_JS_LITE_LOCAL_OVERRIDES';\nfunction makeEmptyOverrides() {\n return { gates: {}, configs: {}, layers: {} };\n}\nexports.makeEmptyOverrides = makeEmptyOverrides;\nfunction loadOverridesFromLocalStorage() {\n var raw = StatsigLocalStorage_1.default.getItem(exports.STORAGE_KEY);\n if (raw) {\n try {\n return JSON.parse(raw);\n }\n catch (error) {\n // noop\n }\n }\n return makeEmptyOverrides();\n}\nexports.loadOverridesFromLocalStorage = loadOverridesFromLocalStorage;\nfunction saveOverridesToLocalStorage(overrides) {\n StatsigLocalStorage_1.default.setItem(exports.STORAGE_KEY, JSON.stringify(overrides));\n}\nexports.saveOverridesToLocalStorage = saveOverridesToLocalStorage;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction makeLogEvent(eventName, user, statsigMetadata, value, metadata, secondaryExposures) {\n if (value === void 0) { value = null; }\n if (metadata === void 0) { metadata = null; }\n var logUser = user;\n if (logUser === null || logUser === void 0 ? void 0 : logUser.privateAttributes) {\n logUser = __assign({}, user);\n delete logUser.privateAttributes;\n }\n return {\n time: Date.now(),\n eventName: eventName,\n statsigMetadata: statsigMetadata,\n user: logUser,\n value: value,\n metadata: metadata,\n secondaryExposures: secondaryExposures,\n };\n}\nexports.default = makeLogEvent;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.version = void 0;\n// Generated by genversion.\nexports.version = '1.6.0';\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DynamicConfig_1 = __importDefault(require(\"./DynamicConfig\"));\nvar ErrorBoundary_1 = __importDefault(require(\"./ErrorBoundary\"));\nvar Errors_1 = require(\"./Errors\");\nvar Layer_1 = __importDefault(require(\"./Layer\"));\nvar StatsigIdentity_1 = __importDefault(require(\"./StatsigIdentity\"));\nvar StatsigLogger_1 = __importDefault(require(\"./StatsigLogger\"));\nvar StatsigNetwork_1 = __importDefault(require(\"./StatsigNetwork\"));\nvar StatsigSDKOptions_1 = __importDefault(require(\"./StatsigSDKOptions\"));\nvar StatsigStore_1 = __importStar(require(\"./StatsigStore\"));\nvar ResponseVerification_1 = require(\"./utils/ResponseVerification\");\nvar StatsigLocalStorage_1 = __importDefault(require(\"./utils/StatsigLocalStorage\"));\nvar Timing_1 = require(\"./utils/Timing\");\nvar LogEvent_1 = __importDefault(require(\"./LogEvent\"));\nvar LocalOverrides_1 = require(\"./LocalOverrides\");\nvar StatsigClient = /** @class */ (function () {\n function StatsigClient(sdkKey, user, options) {\n var _this = this;\n this._initCalled = false;\n this._pendingInitPromise = null;\n this._sdkKey = null;\n this._logLayerParameterExposureForLayer = function (layer, parameterName, isManualExposure) {\n if (isManualExposure === void 0) { isManualExposure = false; }\n var allocatedExperiment = '';\n var exposures = layer._undelegatedSecondaryExposures;\n var isExplicit = layer._explicitParameters.includes(parameterName);\n if (isExplicit) {\n allocatedExperiment = layer._allocatedExperimentName;\n exposures = layer._secondaryExposures;\n }\n _this._logger.logLayerExposure(_this._identity._user, layer._name, layer._ruleID, exposures, allocatedExperiment, parameterName, isExplicit, layer._evaluationDetails, isManualExposure, _this._store.getBootstrapMetadata());\n };\n if ((options === null || options === void 0 ? void 0 : options.localMode) !== true &&\n (typeof sdkKey !== 'string' || !sdkKey.startsWith('client-'))) {\n throw new Errors_1.StatsigInvalidArgumentError('Invalid key provided. You must use a Client SDK Key from the Statsig console to initialize the sdk');\n }\n this._sdkKey = sdkKey;\n this._startTime = (0, Timing_1.now)();\n this._options = new StatsigSDKOptions_1.default(options);\n this._errorBoundary = new ErrorBoundary_1.default(sdkKey, this._options);\n this._ready = false;\n StatsigLocalStorage_1.default.disabled = this._options.disableLocalStorage;\n this._overrides = (0, LocalOverrides_1.loadOverridesFromLocalStorage)();\n this._identity = new StatsigIdentity_1.default(sdkKey, this._normalizeUser(user !== null && user !== void 0 ? user : null), this._options.overrideStableID);\n this._network = new StatsigNetwork_1.default(this._options, this._identity, this._errorBoundary);\n this._logger = new StatsigLogger_1.default(this._options, this._identity, this._network, this._errorBoundary);\n this._store = new StatsigStore_1.default(this._identity, this._logger.logConfigDefaultValueFallback, this._options.initializeValues);\n this._errorBoundary._setStatsigMetadata(this._identity._statsigMetadata);\n if (this._options.initializeValues != null) {\n this._ready = true;\n this._initCalled = true;\n setTimeout(function () { return _this._delayedSetup(); }, 20);\n }\n }\n StatsigClient.prototype.setInitializeValues = function (initializeValues) {\n var _this = this;\n this._errorBoundary._capture('setInitializeValues', function () {\n _this._store.bootstrap(initializeValues);\n if (!_this._ready) {\n // the sdk is usable and considered initialized when configured\n // with initializeValues\n _this._ready = true;\n _this._initCalled = true;\n }\n // we wont have access to window/document/localStorage if these run on the server\n // so try to run whenever this is called\n _this._logger.sendSavedRequests();\n }, function () {\n _this._ready = true;\n _this._initCalled = true;\n });\n };\n StatsigClient.prototype.initializeAsync = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, this._errorBoundary._capture('initializeAsync', function () { return __awaiter(_this, void 0, void 0, function () {\n var user;\n var _this = this;\n return __generator(this, function (_a) {\n if (this._pendingInitPromise != null) {\n return [2 /*return*/, this._pendingInitPromise];\n }\n if (this._ready) {\n return [2 /*return*/, Promise.resolve()];\n }\n this._initCalled = true;\n if (this._options.localMode) {\n return [2 /*return*/, Promise.resolve()];\n }\n user = this._identity._user;\n this._pendingInitPromise = this._fetchAndSaveValues(user, this._options.initTimeoutMs)\n .then(function () {\n return;\n })\n .catch(function (e) {\n _this._errorBoundary._logError('initializeAsync:fetchAndSaveValues', e);\n return { success: false, message: e.message };\n })\n .then(function () {\n return;\n })\n .finally(function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this._pendingInitPromise = null;\n this._ready = true;\n this._delayedSetup();\n return [2 /*return*/];\n });\n }); });\n return [2 /*return*/, this._pendingInitPromise];\n });\n }); }, function () {\n _this._ready = true;\n _this._initCalled = true;\n return Promise.resolve();\n })];\n });\n });\n };\n StatsigClient.prototype.getEvaluationDetails = function () {\n var _this = this;\n return this._errorBoundary._capture('getEvaluationDetails', function () {\n return _this._store.getGlobalEvaluationDetails();\n }, function () {\n return {\n time: Date.now(),\n reason: StatsigStore_1.EvaluationReason.Error,\n };\n });\n };\n /**\n * Checks the value of a gate for the current user\n * @param {string} gateName - the name of the gate to check\n * @returns {boolean} - value of a gate for the user. Gates are \"off\" (return false) by default\n * @throws Error if initialize() is not called first, or gateName is not a string\n */\n StatsigClient.prototype.checkGate = function (gateName) {\n return this._checkGateImpl(gateName, 'checkGate');\n };\n StatsigClient.prototype.checkGateWithExposureLoggingDisabled = function (gateName) {\n return this._checkGateImpl(gateName, 'checkGateWithExposureLoggingDisabled');\n };\n StatsigClient.prototype.logGateExposure = function (gateName) {\n var _this = this;\n this._errorBoundary._swallow('logGateExposure', function () {\n _this._logGateExposureImpl(gateName);\n });\n };\n /**\n * Checks the value of a config for the current user\n * @param {string} configName - the name of the config to get\n * @returns {DynamicConfig} - value of a config for the user\n * @throws Error if initialize() is not called first, or configName is not a string\n */\n StatsigClient.prototype.getConfig = function (configName) {\n return this._getConfigImpl(configName, 'getConfig');\n };\n StatsigClient.prototype.getConfigWithExposureLoggingDisabled = function (configName) {\n return this._getConfigImpl(configName, 'getConfigWithExposureLoggingDisabled');\n };\n StatsigClient.prototype.logConfigExposure = function (configName) {\n var _this = this;\n this._errorBoundary._swallow('logConfigExposure', function () {\n _this._logConfigExposureImpl(configName);\n });\n };\n StatsigClient.prototype.getExperiment = function (experimentName) {\n return this.getConfig(experimentName);\n };\n StatsigClient.prototype.getExperimentWithExposureLoggingDisabled = function (experimentName) {\n return this.getConfigWithExposureLoggingDisabled(experimentName);\n };\n StatsigClient.prototype.logExperimentExposure = function (experimentName) {\n this.logConfigExposure(experimentName);\n };\n StatsigClient.prototype.getLayer = function (layerName) {\n return this._getLayerImpl(layerName, 'getLayer');\n };\n StatsigClient.prototype.getLayerWithExposureLoggingDisabled = function (layerName) {\n return this._getLayerImpl(layerName, 'getLayerWithExposureLoggingDisabled');\n };\n StatsigClient.prototype.logLayerParameterExposure = function (layerName, parameterName) {\n var _this = this;\n this._errorBoundary._swallow('logLayerParameterExposure', function () {\n var layer = _this._getLayerFromStore(null, layerName);\n _this._logLayerParameterExposureForLayer(layer, parameterName, true);\n });\n };\n StatsigClient.prototype.logEvent = function (eventName, value, metadata) {\n var _this = this;\n if (value === void 0) { value = null; }\n if (metadata === void 0) { metadata = null; }\n this._errorBoundary._swallow('logEvent', function () {\n if (!_this._logger || !_this._identity._sdkKey) {\n throw new Errors_1.StatsigUninitializedError(Errors_1.StatsigErrorMessage.REQUIRE_INITIALIZE_FOR_LOG_EVENT);\n }\n if (typeof eventName !== 'string' || eventName.length === 0) {\n return;\n }\n var event = (0, LogEvent_1.default)(eventName, _this._identity._user, _this._identity._statsigMetadata, value, metadata);\n _this._logger.log(event);\n });\n };\n StatsigClient.prototype.updateUserWithValues = function (user, values) {\n var _this = this;\n var updateStartTime = Date.now();\n var fireCompletionCallback;\n return this._errorBoundary._capture('updateUserWithValues', function () {\n if (!_this.initializeCalled()) {\n throw new Errors_1.StatsigUninitializedError(Errors_1.StatsigErrorMessage.REQUIRE_ASYNC_INITIALIZE);\n }\n fireCompletionCallback = function (success, error) {\n var cb = _this._options.updateUserCompletionCallback;\n cb === null || cb === void 0 ? void 0 : cb(Date.now() - updateStartTime, success, error);\n };\n _this._identity._user = _this._normalizeUser(user);\n _this._store.bootstrap(values);\n _this._logger.resetDedupeKeys();\n fireCompletionCallback(true, null);\n return true;\n }, function () {\n fireCompletionCallback === null || fireCompletionCallback === void 0 ? void 0 : fireCompletionCallback(false, 'Failed to update user. An unexpected error occured.');\n return false;\n });\n };\n StatsigClient.prototype.updateUser = function (user) {\n return __awaiter(this, void 0, void 0, function () {\n var updateStartTime, fireCompletionCallback;\n var _this = this;\n return __generator(this, function (_a) {\n updateStartTime = Date.now();\n return [2 /*return*/, this._errorBoundary._capture('updateUser', function () { return __awaiter(_this, void 0, void 0, function () {\n var currentUser;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.initializeCalled()) {\n throw new Errors_1.StatsigUninitializedError(Errors_1.StatsigErrorMessage.REQUIRE_ASYNC_INITIALIZE);\n }\n fireCompletionCallback = function (success, error) {\n var cb = _this._options.updateUserCompletionCallback;\n cb === null || cb === void 0 ? void 0 : cb(Date.now() - updateStartTime, success, error);\n };\n this._identity._user = this._normalizeUser(user);\n this._store.updateUser();\n this._logger.resetDedupeKeys();\n if (!(this._pendingInitPromise != null)) return [3 /*break*/, 2];\n return [4 /*yield*/, this._pendingInitPromise];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n if (this._options.localMode) {\n fireCompletionCallback(true, null);\n return [2 /*return*/, Promise.resolve(true)];\n }\n currentUser = this._identity._user;\n this._pendingInitPromise = this._fetchAndSaveValues(currentUser).finally(function () {\n _this._pendingInitPromise = null;\n });\n return [2 /*return*/, this._pendingInitPromise\n .then(function () {\n fireCompletionCallback(true, null);\n return Promise.resolve(true);\n })\n .catch(function (error) {\n fireCompletionCallback(false, \"Failed to update user: \".concat(error));\n return Promise.resolve(false);\n })];\n }\n });\n }); }, function () {\n fireCompletionCallback(false, 'Failed to update user. An unexpected error occured.');\n return Promise.resolve(false);\n })];\n });\n });\n };\n /**\n * Informs the statsig SDK that the client is closing or shutting down\n * so the SDK can clean up internal state\n */\n StatsigClient.prototype.shutdown = function () {\n var _this = this;\n this._errorBoundary._swallow('shutdown', function () {\n _this._logger.shutdown();\n });\n };\n /**\n * @returns The Statsig stable ID used for device level experiments\n */\n StatsigClient.prototype.getStableID = function () {\n var _this = this;\n return this._errorBoundary._capture('getStableID', function () { return _this._identity._statsigMetadata.stableID; }, function () { return ''; });\n };\n StatsigClient.prototype.initializeCalled = function () {\n return this._initCalled;\n };\n StatsigClient.prototype.overrideGate = function (gate, result) {\n this._setOverride('gates', gate, result);\n };\n StatsigClient.prototype.overrideConfig = function (config, result) {\n this._setOverride('configs', config, result);\n };\n StatsigClient.prototype.overrideLayer = function (layer, result) {\n this._setOverride('layers', layer, result);\n };\n StatsigClient.prototype.setOverrides = function (overrides) {\n var _this = this;\n this._errorBoundary._swallow('setOverrides', function () {\n _this._overrides = overrides !== null && overrides !== void 0 ? overrides : (0, LocalOverrides_1.makeEmptyOverrides)();\n (0, LocalOverrides_1.saveOverridesToLocalStorage)(_this._overrides);\n });\n };\n StatsigClient.prototype.getOverrides = function () {\n var _this = this;\n return this._errorBoundary._capture('getOverrides', function () { return _this._overrides; }, function () { return (0, LocalOverrides_1.makeEmptyOverrides)(); });\n };\n // Private\n StatsigClient.prototype._delayedSetup = function () {\n var _this = this;\n this._errorBoundary._swallow('delayedSetup', function () {\n _this._identity.saveStableID();\n _this._logger.sendSavedRequests().then(function () {\n /* noop */\n });\n });\n };\n StatsigClient.prototype._normalizeUser = function (user) {\n var userCopy = {};\n try {\n userCopy = JSON.parse(JSON.stringify(user));\n }\n catch (error) {\n throw new Errors_1.StatsigInvalidArgumentError('User object must be convertable to JSON string.');\n }\n if (this._options.environment != null) {\n userCopy = __assign(__assign({}, userCopy), { statsigEnvironment: this._options.environment });\n }\n return userCopy;\n };\n StatsigClient.prototype._ensureStoreLoaded = function () {\n if (!this._store.isLoaded()) {\n throw new Errors_1.StatsigUninitializedError();\n }\n };\n StatsigClient.prototype._getEvaluationDetailsForError = function () {\n return {\n time: Date.now(),\n reason: StatsigStore_1.EvaluationReason.Error,\n };\n };\n StatsigClient.prototype._fetchAndSaveValues = function (user, timeout) {\n if (timeout === void 0) { timeout = this._options.initTimeoutMs; }\n return __awaiter(this, void 0, void 0, function () {\n var sinceTime, previousDerivedFields;\n var _this = this;\n return __generator(this, function (_a) {\n sinceTime = null;\n sinceTime = this._store.getLastUpdateTime(user);\n previousDerivedFields = this._store.getPreviousDerivedFields(user);\n return [2 /*return*/, this._network\n .fetchValues(user, sinceTime, timeout, previousDerivedFields)\n .eventually(function (json) {\n var _a;\n if (!(0, ResponseVerification_1.verifySDKKeyUsed)(json, (_a = _this._sdkKey) !== null && _a !== void 0 ? _a : '', _this._errorBoundary)) {\n return;\n }\n if (json === null || json === void 0 ? void 0 : json.has_updates) {\n _this._store.save(user, json, false);\n }\n })\n .then(function (json) { return __awaiter(_this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, this._errorBoundary._swallow('fetchAndSaveValues', function () { return __awaiter(_this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(0, ResponseVerification_1.verifySDKKeyUsed)(json, (_a = this._sdkKey) !== null && _a !== void 0 ? _a : '', this._errorBoundary)) {\n return [2 /*return*/];\n }\n if (!(json === null || json === void 0 ? void 0 : json.has_updates)) return [3 /*break*/, 2];\n return [4 /*yield*/, this._store.save(user, json)];\n case 1:\n _b.sent();\n return [3 /*break*/, 3];\n case 2:\n if (json === null || json === void 0 ? void 0 : json.is_no_content) {\n this._store.setEvaluationReason(StatsigStore_1.EvaluationReason.NetworkNotModified);\n }\n _b.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n }); })];\n });\n }); })];\n });\n });\n };\n StatsigClient.prototype._checkGateImpl = function (gateName, callsite) {\n var _this = this;\n return this._errorBoundary._capture(callsite, function () {\n if (typeof _this._overrides.gates[gateName] === 'boolean') {\n return _this._overrides.gates[gateName];\n }\n var result = _this._getGateFromStore(gateName);\n if (callsite === 'checkGate') {\n _this._logGateExposureImpl(gateName, result);\n }\n return result.gate.value === true;\n }, function () { return false; });\n };\n StatsigClient.prototype._getGateFromStore = function (gateName) {\n this._ensureStoreLoaded();\n if (typeof gateName !== 'string' || gateName.length === 0) {\n throw new Errors_1.StatsigInvalidArgumentError('Must pass a valid string as the gateName.');\n }\n return this._store.checkGate(gateName);\n };\n StatsigClient.prototype._logGateExposureImpl = function (gateName, fetchResult) {\n var _a;\n var isManualExposure = !fetchResult;\n var result = fetchResult !== null && fetchResult !== void 0 ? fetchResult : this._getGateFromStore(gateName);\n var gate = result.gate;\n this._logger.logGateExposure(this._identity._user, gateName, gate.value, gate.rule_id, this._store.mapExposures((_a = gate.secondary_exposures) !== null && _a !== void 0 ? _a : []), result.evaluationDetails, isManualExposure, this._store.getBootstrapMetadata());\n };\n StatsigClient.prototype._getConfigImpl = function (configName, callsite) {\n var _this = this;\n return this._errorBoundary._capture(callsite, function () {\n if (_this._overrides.configs[configName]) {\n return new DynamicConfig_1.default(configName, _this._overrides.configs[configName], 'local_override', {\n reason: StatsigStore_1.EvaluationReason.LocalOverride,\n time: Date.now(),\n });\n }\n var result = _this._getConfigFromStore(configName);\n if (callsite === 'getConfig') {\n _this._logConfigExposureImpl(configName, result);\n }\n return result;\n }, function () { return _this._getEmptyConfig(configName); });\n };\n StatsigClient.prototype._getConfigFromStore = function (configName) {\n this._ensureStoreLoaded();\n if (typeof configName !== 'string' || configName.length === 0) {\n throw new Errors_1.StatsigInvalidArgumentError('Must pass a valid string as the configName.');\n }\n return this._store.getConfig(configName);\n };\n StatsigClient.prototype._logConfigExposureImpl = function (configName, config) {\n var isManualExposure = !config;\n var localConfig = config !== null && config !== void 0 ? config : this._getConfigFromStore(configName);\n this._logger.logConfigExposure(this._identity._user, configName, localConfig._ruleID, localConfig._secondaryExposures, localConfig._evaluationDetails, isManualExposure, this._store.getBootstrapMetadata());\n };\n StatsigClient.prototype._getLayerImpl = function (layerName, callsite) {\n var _this = this;\n return this._errorBoundary._capture(callsite, function () {\n if (_this._overrides.layers[layerName]) {\n return Layer_1.default._create(layerName, _this._overrides.layers[layerName], 'local_override', {\n reason: StatsigStore_1.EvaluationReason.LocalOverride,\n time: Date.now(),\n });\n }\n var logFunc = callsite === 'getLayer'\n ? _this._logLayerParameterExposureForLayer\n : null;\n return _this._getLayerFromStore(logFunc, layerName);\n }, function () {\n return Layer_1.default._create(layerName, {}, '', _this._getEvaluationDetailsForError());\n });\n };\n StatsigClient.prototype._getLayerFromStore = function (logParameterFunction, layerName) {\n this._ensureStoreLoaded();\n if (typeof layerName !== 'string' || layerName.length === 0) {\n throw new Errors_1.StatsigInvalidArgumentError('Must pass a valid string as the layerName.');\n }\n return this._store.getLayer(logParameterFunction, layerName);\n };\n StatsigClient.prototype._getEmptyConfig = function (configName) {\n return new DynamicConfig_1.default(configName, {}, '', this._getEvaluationDetailsForError());\n };\n StatsigClient.prototype._setOverride = function (type, key, result) {\n if (result == null) {\n delete this._overrides[type][key];\n }\n else {\n this._overrides[type][key] = result;\n }\n this.setOverrides(this._overrides);\n };\n return StatsigClient;\n}());\nexports.default = StatsigClient;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Constants_1 = require(\"./utils/Constants\");\nvar Hashing_1 = require(\"./utils/Hashing\");\nvar StatsigLocalStorage_1 = __importDefault(require(\"./utils/StatsigLocalStorage\"));\nvar SDKVersion_1 = require(\"./SDKVersion\");\nvar Identity = /** @class */ (function () {\n function Identity(sdkKey, user, overrideStableID) {\n var _a;\n this._sdkType = 'js-lite';\n this._sdkKey = sdkKey;\n this._user = user;\n this._sdkVersion = SDKVersion_1.version;\n var stableID = overrideStableID;\n stableID =\n (_a = stableID !== null && stableID !== void 0 ? stableID : StatsigLocalStorage_1.default.getItem(Constants_1.STATSIG_STABLE_ID_KEY)) !== null && _a !== void 0 ? _a : this._getUUID();\n this._statsigMetadata = {\n stableID: stableID,\n sdkType: this._sdkType,\n sdkVersion: this._sdkVersion,\n };\n }\n Identity.prototype.saveStableID = function () {\n if (this._statsigMetadata.stableID != null) {\n StatsigLocalStorage_1.default.setItem(Constants_1.STATSIG_STABLE_ID_KEY, this._statsigMetadata.stableID);\n }\n };\n Identity.prototype.getUserCacheKey = function () {\n return (0, Hashing_1.getUserCacheKey)(this._user);\n };\n Identity.prototype._getUUID = function () {\n var uuid = '';\n for (var i = 0; i < 32; i++) {\n if (i === 8 || i === 12 || i === 16 || i === 20) {\n uuid += '-';\n }\n var randomDigit = (Math.random() * 16) | 0;\n if (i === 12) {\n uuid += '4';\n }\n else if (i === 16) {\n uuid += ((randomDigit & 3) | 8).toString(16);\n }\n else {\n uuid += randomDigit.toString(16);\n }\n }\n return uuid;\n };\n return Identity;\n}());\nexports.default = Identity;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LogEvent_1 = __importDefault(require(\"./LogEvent\"));\nvar StatsigNetwork_1 = require(\"./StatsigNetwork\");\nvar Constants_1 = require(\"./utils/Constants\");\nvar StatsigLocalStorage_1 = __importDefault(require(\"./utils/StatsigLocalStorage\"));\nvar INTERNAL_EVENT_PREFIX = 'statsig::';\nvar CONFIG_EXPOSURE_EVENT = INTERNAL_EVENT_PREFIX + 'config_exposure';\nvar LAYER_EXPOSURE_EVENT = INTERNAL_EVENT_PREFIX + 'layer_exposure';\nvar GATE_EXPOSURE_EVENT = INTERNAL_EVENT_PREFIX + 'gate_exposure';\nvar LOG_FAILURE_EVENT = INTERNAL_EVENT_PREFIX + 'log_event_failed';\nvar DEFAULT_VALUE_WARNING = INTERNAL_EVENT_PREFIX + 'default_value_type_mismatch';\nvar MS_RETRY_LOGS_CUTOFF = 5 * 24 * 60 * 60 * 1000;\nvar MAX_BATCHES_TO_RETRY = 100;\nvar MAX_FAILED_EVENTS = 1000;\nvar MAX_LOCAL_STORAGE_SIZE = 1024 * MAX_FAILED_EVENTS;\nvar StatsigLogger = /** @class */ (function () {\n function StatsigLogger(options, identity, network, errorBoundary) {\n var _this = this;\n this._failedLogEventCount = 0;\n this.logConfigDefaultValueFallback = function (user, message, metadata) {\n var defaultValueEvent = (0, LogEvent_1.default)(DEFAULT_VALUE_WARNING, user, _this._identity._statsigMetadata, message, metadata);\n _this.log(defaultValueEvent);\n _this._loggedErrors.add(message);\n };\n this._options = options;\n this._identity = identity;\n this._network = network;\n this._errorBoundary = errorBoundary;\n this._queue = [];\n this._flushInterval = null;\n this._loggedErrors = new Set();\n this._failedLogEvents = [];\n this._exposureDedupeKeys = {};\n this._failedLogEventCount = 0;\n this._init();\n }\n StatsigLogger.prototype.log = function (event) {\n if (this._options.disableAllLogging) {\n return;\n }\n try {\n if (!this._options.disableCurrentPageLogging &&\n typeof window !== 'undefined' &&\n window != null &&\n typeof window.location === 'object' &&\n typeof window.location.href === 'string') {\n // https://stackoverflow.com/questions/6257463/how-to-get-the-url-without-any-parameters-in-javascript\n var parts = window.location.href.split(/[?#]/);\n if ((parts === null || parts === void 0 ? void 0 : parts.length) > 0) {\n event.statsigMetadata.currentPage = parts[0];\n }\n }\n }\n catch (_e) { }\n this._queue.push(event);\n if (this._queue.length >= this._options.loggingBufferMaxSize) {\n this.flush();\n }\n };\n StatsigLogger.prototype.resetDedupeKeys = function () {\n this._exposureDedupeKeys = {};\n };\n StatsigLogger.prototype.logGateExposure = function (user, gateName, gateValue, ruleID, secondaryExposures, details, isManualExposure, bootstrapMetadata) {\n var dedupeKey = gateName + String(gateValue) + ruleID + details.reason;\n if (!this._shouldLogExposure(dedupeKey)) {\n return;\n }\n var metadata = {\n gate: gateName,\n gateValue: String(gateValue),\n ruleID: ruleID,\n reason: details.reason,\n time: details.time,\n };\n if (isManualExposure) {\n metadata['isManualExposure'] = 'true';\n }\n if (bootstrapMetadata != null) {\n metadata['bootstrapMetadata'] = bootstrapMetadata;\n }\n var gateExposure = (0, LogEvent_1.default)(GATE_EXPOSURE_EVENT, user, this._identity._statsigMetadata, null, metadata, secondaryExposures);\n this.log(gateExposure);\n };\n StatsigLogger.prototype.logConfigExposure = function (user, configName, ruleID, secondaryExposures, details, isManualExposure, bootstrapMetadata) {\n var dedupeKey = configName + ruleID + details.reason;\n if (!this._shouldLogExposure(dedupeKey)) {\n return;\n }\n var metadata = {\n config: configName,\n ruleID: ruleID,\n reason: details.reason,\n time: details.time,\n };\n if (isManualExposure) {\n metadata['isManualExposure'] = 'true';\n }\n if (bootstrapMetadata != null) {\n metadata['bootstrapMetadata'] = bootstrapMetadata;\n }\n var configExposure = (0, LogEvent_1.default)(CONFIG_EXPOSURE_EVENT, user, this._identity._statsigMetadata, null, metadata, secondaryExposures);\n this.log(configExposure);\n };\n StatsigLogger.prototype.logLayerExposure = function (user, configName, ruleID, secondaryExposures, allocatedExperiment, parameterName, isExplicitParameter, details, isManualExposure, bootstrapMetadata) {\n var dedupeKey = [\n configName,\n ruleID,\n allocatedExperiment,\n parameterName,\n String(isExplicitParameter),\n details.reason,\n ].join('|');\n if (!this._shouldLogExposure(dedupeKey)) {\n return;\n }\n var metadata = {\n config: configName,\n ruleID: ruleID,\n allocatedExperiment: allocatedExperiment,\n parameterName: parameterName,\n isExplicitParameter: String(isExplicitParameter),\n reason: details.reason,\n time: details.time,\n };\n if (isManualExposure) {\n metadata['isManualExposure'] = 'true';\n }\n if (bootstrapMetadata != null) {\n metadata['bootstrapMetadata'] = bootstrapMetadata;\n }\n var configExposure = (0, LogEvent_1.default)(LAYER_EXPOSURE_EVENT, user, this._identity._statsigMetadata, null, metadata, secondaryExposures);\n this.log(configExposure);\n };\n StatsigLogger.prototype.shutdown = function () {\n if (this._flushInterval) {\n clearInterval(this._flushInterval);\n this._flushInterval = null;\n }\n this.flush(true);\n };\n StatsigLogger.prototype.flush = function (isClosing) {\n var _this = this;\n if (isClosing === void 0) { isClosing = false; }\n if (this._queue.length === 0) {\n return;\n }\n var statsigMetadata = this._identity._statsigMetadata;\n var oldQueue = this._queue;\n this._queue = [];\n if (isClosing &&\n !this._network.supportsKeepalive() &&\n typeof navigator !== 'undefined' &&\n navigator != null &&\n // @ts-ignore\n navigator.sendBeacon) {\n var beacon = this._network.sendLogBeacon({\n events: oldQueue,\n statsigMetadata: statsigMetadata,\n });\n if (!beacon) {\n this._queue = oldQueue.concat(this._queue);\n if (this._queue.length > 0) {\n this._addFailedRequest({\n events: this._queue,\n statsigMetadata: statsigMetadata,\n time: Date.now(),\n });\n this._queue = [];\n }\n this._saveFailedRequests();\n }\n return;\n }\n var processor = this;\n this._network\n .postToEndpoint(StatsigNetwork_1.StatsigEndpoint.Rgstr, {\n events: oldQueue,\n statsigMetadata: statsigMetadata,\n }, 3 /* retries */, 1000 /* backoff */, 0 /* retry attempt */, isClosing /* useKeepalive */)\n .then(function (response) {\n if (!response.ok) {\n throw response;\n }\n })\n .catch(function (error) {\n if (typeof error.text === 'function') {\n error.text().then(function (errorText) {\n _this._errorBoundary._logError(LOG_FAILURE_EVENT, error, function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, {\n eventCount: oldQueue.length,\n error: errorText,\n }];\n });\n }); });\n });\n }\n else {\n _this._errorBoundary._logError(LOG_FAILURE_EVENT, error, function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, {\n eventCount: oldQueue.length,\n error: error.message,\n }];\n });\n }); });\n }\n processor._newFailedRequest(LOG_FAILURE_EVENT, oldQueue);\n })\n .finally(function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!isClosing) return [3 /*break*/, 2];\n if (this._queue.length > 0) {\n this._addFailedRequest({\n events: this._queue,\n statsigMetadata: statsigMetadata,\n time: Date.now(),\n });\n // on app background/window blur, save unsent events as a request and clean up the queue (in case app foregrounds)\n this._queue = [];\n }\n return [4 /*yield*/, processor._saveFailedRequests()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n }); });\n };\n StatsigLogger.prototype.sendSavedRequests = function () {\n return __awaiter(this, void 0, void 0, function () {\n var failedRequests, fireAndForget, requestBodies, _loop_1, this_1, _i, requestBodies_1, requestBody;\n var _this = this;\n return __generator(this, function (_a) {\n fireAndForget = false;\n failedRequests = StatsigLocalStorage_1.default.getItem(Constants_1.STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY);\n if (failedRequests == null) {\n this._clearLocalStorageRequests();\n return [2 /*return*/];\n }\n if (failedRequests.length > MAX_LOCAL_STORAGE_SIZE) {\n fireAndForget = true;\n }\n requestBodies = [];\n try {\n requestBodies = JSON.parse(failedRequests);\n _loop_1 = function (requestBody) {\n if (requestBody != null &&\n requestBody.events &&\n Array.isArray(requestBody.events)) {\n this_1._network\n .postToEndpoint(StatsigNetwork_1.StatsigEndpoint.Rgstr, requestBody)\n .then(function (response) {\n if (!response.ok) {\n throw Error(response.status + '');\n }\n })\n .catch(function (_e) {\n if (fireAndForget) {\n return;\n }\n _this._addFailedRequest(requestBody);\n });\n }\n };\n this_1 = this;\n for (_i = 0, requestBodies_1 = requestBodies; _i < requestBodies_1.length; _i++) {\n requestBody = requestBodies_1[_i];\n _loop_1(requestBody);\n }\n }\n catch (_e) {\n }\n finally {\n this._clearLocalStorageRequests();\n }\n return [2 /*return*/];\n });\n });\n };\n StatsigLogger.prototype._init = function () {\n var _this = this;\n if (typeof window !== 'undefined' &&\n typeof window.addEventListener === 'function') {\n window.addEventListener('blur', function () { return _this.flush(true); });\n window.addEventListener('beforeunload', function () { return _this.flush(true); });\n window.addEventListener('load', function () {\n setTimeout(function () { return _this.flush(); }, 100);\n setTimeout(function () { return _this.flush(); }, 1000);\n });\n }\n if (typeof document !== 'undefined' &&\n typeof document.addEventListener === 'function') {\n document.addEventListener('visibilitychange', function () {\n _this.flush(document.visibilityState !== 'visible');\n });\n }\n if (!this._options.ignoreWindowUndefined &&\n (typeof window === 'undefined' || window == null)) {\n // dont set the flush interval outside of client browser environments\n return;\n }\n if (this._options.localMode) {\n // unnecessary interval in local mode since logs dont flush anyway\n return;\n }\n var me = this;\n this._flushInterval = setInterval(function () {\n me.flush();\n }, this._options.loggingIntervalMillis);\n // Quick flush\n setTimeout(function () { return _this.flush(); }, 100);\n setTimeout(function () { return _this.flush(); }, 1000);\n };\n StatsigLogger.prototype._shouldLogExposure = function (key) {\n var lastTime = this._exposureDedupeKeys[key];\n var now = Date.now();\n if (lastTime == null) {\n this._exposureDedupeKeys[key] = now;\n return true;\n }\n if (lastTime >= now - 600 * 1000) {\n return false;\n }\n this._exposureDedupeKeys[key] = now;\n return true;\n };\n StatsigLogger.prototype._saveFailedRequests = function () {\n return __awaiter(this, void 0, void 0, function () {\n var requestsCopy;\n return __generator(this, function (_a) {\n if (this._failedLogEvents.length > 0) {\n requestsCopy = JSON.stringify(this._failedLogEvents);\n if (requestsCopy.length > MAX_LOCAL_STORAGE_SIZE) {\n this._clearLocalStorageRequests();\n return [2 /*return*/];\n }\n StatsigLocalStorage_1.default.setItem(Constants_1.STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY, requestsCopy);\n }\n return [2 /*return*/];\n });\n });\n };\n StatsigLogger.prototype._addFailedRequest = function (requestBody) {\n if (requestBody.time < Date.now() - MS_RETRY_LOGS_CUTOFF) {\n return;\n }\n if (this._failedLogEvents.length > MAX_BATCHES_TO_RETRY) {\n return;\n }\n var additionalEvents = requestBody.events.length;\n if (this._failedLogEventCount + additionalEvents > MAX_FAILED_EVENTS) {\n return;\n }\n this._failedLogEvents.push(requestBody);\n this._failedLogEventCount += additionalEvents;\n };\n StatsigLogger.prototype._clearLocalStorageRequests = function () {\n StatsigLocalStorage_1.default.removeItem(Constants_1.STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY);\n };\n StatsigLogger.prototype._newFailedRequest = function (name, queue) {\n if (this._loggedErrors.has(name)) {\n return;\n }\n this._loggedErrors.add(name);\n this._failedLogEvents.push({\n events: queue,\n statsigMetadata: this._identity._statsigMetadata,\n time: Date.now(),\n });\n this._saveFailedRequests().then(function () { });\n };\n return StatsigLogger;\n}());\nexports.default = StatsigLogger;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StatsigEndpoint = void 0;\nvar StatsigEndpoint;\n(function (StatsigEndpoint) {\n StatsigEndpoint[\"Initialize\"] = \"initialize\";\n StatsigEndpoint[\"Rgstr\"] = \"rgstr\";\n StatsigEndpoint[\"LogEventBeacon\"] = \"log_event_beacon\";\n})(StatsigEndpoint = exports.StatsigEndpoint || (exports.StatsigEndpoint = {}));\nvar NO_CONTENT = 204;\nvar StatsigNetwork = /** @class */ (function () {\n function StatsigNetwork(options, identity, errorBoundary) {\n this.retryCodes = {\n 408: true,\n 500: true,\n 502: true,\n 503: true,\n 504: true,\n 522: true,\n 524: true,\n 599: true,\n };\n this.canUseKeepalive = false;\n this._options = options;\n this._identity = identity;\n this._errorBoundary = errorBoundary;\n this.leakyBucket = {};\n this._init();\n }\n StatsigNetwork.prototype.fetchValues = function (user, sinceTime, timeout, previousDerivedFields) {\n var input = {\n user: user,\n statsigMetadata: this._identity._statsigMetadata,\n sinceTime: sinceTime !== null && sinceTime !== void 0 ? sinceTime : undefined,\n hash: 'djb2',\n previousDerivedFields: previousDerivedFields,\n };\n return this._postWithTimeout(StatsigEndpoint.Initialize, input, timeout, // timeout for early returns\n 3);\n };\n StatsigNetwork.prototype.sendLogBeacon = function (payload) {\n if (this._options.localMode) {\n return true;\n }\n var url = new URL(this._options.eventLoggingApi + StatsigEndpoint.LogEventBeacon);\n url.searchParams.append('k', this._identity._sdkKey);\n payload.clientTime = Date.now() + '';\n var stringPayload = null;\n try {\n stringPayload = JSON.stringify(payload);\n }\n catch (_e) {\n return false;\n }\n return navigator.sendBeacon(url.toString(), stringPayload);\n };\n StatsigNetwork.prototype.postToEndpoint = function (endpointName, body, retries, backoff, retryAttempt, useKeepalive) {\n if (retries === void 0) { retries = 0; }\n if (backoff === void 0) { backoff = 1000; }\n if (retryAttempt === void 0) { retryAttempt = 0; }\n if (useKeepalive === void 0) { useKeepalive = false; }\n return __awaiter(this, void 0, void 0, function () {\n var api, url, counter, postBody, statsigMetadata, params;\n var _this = this;\n return __generator(this, function (_a) {\n if (this._options.localMode) {\n return [2 /*return*/, Promise.reject('no network requests in localMode')];\n }\n if (typeof fetch !== 'function') {\n // fetch is not defined in this environment, short circuit\n return [2 /*return*/, Promise.reject('fetch is not defined')];\n }\n if (typeof window === 'undefined' && !this._options.ignoreWindowUndefined) {\n // by default, dont issue requests from the server\n return [2 /*return*/, Promise.reject('window is not defined')];\n }\n api = [StatsigEndpoint.Initialize].includes(endpointName)\n ? this._options.api\n : retryAttempt > 0\n ? this._options.eventLoggingApiForRetries\n : this._options.eventLoggingApi;\n url = api + endpointName;\n counter = this.leakyBucket[url];\n if (counter != null && counter >= 30) {\n return [2 /*return*/, Promise.reject(new Error('Request failed because you are making the same request too frequently.'))];\n }\n if (counter == null) {\n this.leakyBucket[url] = 1;\n }\n else {\n this.leakyBucket[url] = counter + 1;\n }\n postBody = JSON.stringify(body);\n statsigMetadata = this._identity._statsigMetadata;\n params = {\n method: 'POST',\n body: postBody,\n headers: {\n 'Content-type': 'application/json; charset=UTF-8',\n 'STATSIG-API-KEY': this._identity._sdkKey,\n 'STATSIG-CLIENT-TIME': Date.now() + '',\n 'STATSIG-SDK-TYPE': statsigMetadata.sdkType,\n 'STATSIG-SDK-VERSION': statsigMetadata.sdkVersion,\n },\n };\n if (this.canUseKeepalive && useKeepalive) {\n params.keepalive = true;\n }\n return [2 /*return*/, fetch(url, params)\n .then(function (res) { return __awaiter(_this, void 0, void 0, function () {\n var networkResponse, text, errorText;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!res.ok) return [3 /*break*/, 4];\n networkResponse = res;\n if (!(res.status === NO_CONTENT)) return [3 /*break*/, 1];\n networkResponse.data = { has_updates: false, is_no_content: true };\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, res.text()];\n case 2:\n text = _a.sent();\n networkResponse.data = JSON.parse(text);\n _a.label = 3;\n case 3: return [2 /*return*/, Promise.resolve(networkResponse)];\n case 4:\n if (!this.retryCodes[res.status]) {\n retries = 0;\n }\n return [4 /*yield*/, res.text()];\n case 5:\n errorText = _a.sent();\n return [2 /*return*/, Promise.reject(new Error(\"\".concat(res.status, \": \").concat(errorText)))];\n }\n });\n }); })\n .catch(function (e) {\n if (retries > 0) {\n return new Promise(function (resolve, reject) {\n setTimeout(function () {\n _this.leakyBucket[url] = Math.max(_this.leakyBucket[url] - 1, 0);\n _this.postToEndpoint(endpointName, body, retries - 1, backoff * 2, retryAttempt + 1, useKeepalive)\n .then(resolve)\n .catch(reject);\n }, backoff);\n });\n }\n return Promise.reject(e);\n })\n .finally(function () {\n _this.leakyBucket[url] = Math.max(_this.leakyBucket[url] - 1, 0);\n })];\n });\n });\n };\n StatsigNetwork.prototype.supportsKeepalive = function () {\n return this.canUseKeepalive;\n };\n StatsigNetwork.prototype._init = function () {\n if (!this._options.disableNetworkKeepalive) {\n try {\n this.canUseKeepalive = 'keepalive' in new Request('');\n }\n catch (_e) { }\n }\n };\n StatsigNetwork.prototype._postWithTimeout = function (endpointName, body, timeout, retries, backoff) {\n var _this = this;\n if (timeout === void 0) { timeout = 0; }\n if (retries === void 0) { retries = 0; }\n if (backoff === void 0) { backoff = 1000; }\n var hasTimedOut = false;\n var timer = null;\n var cachedReturnValue = null;\n var eventuals = [];\n var eventually = function (boundScope) { return function (fn) {\n if (hasTimedOut && cachedReturnValue) {\n fn(cachedReturnValue);\n }\n else {\n eventuals.push(fn);\n }\n return boundScope;\n }; };\n if (timeout != 0) {\n timer = new Promise(function (resolve, reject) {\n setTimeout(function () {\n hasTimedOut = true;\n reject(new Error(\"The initialization timeout of \".concat(timeout, \"ms has been hit before the network request has completed.\")));\n }, timeout);\n });\n }\n var fetchPromise = this.postToEndpoint(endpointName, body, retries, backoff)\n .then(function (res) {\n if (!res.ok) {\n return Promise.reject(new Error(\"Request to \".concat(endpointName, \" failed with status \").concat(res.status)));\n }\n if (typeof res.data !== 'object') {\n var error = new Error(\"Request to \".concat(endpointName, \" received invalid response type. Expected 'object' but got '\").concat(typeof res.data, \"'\"));\n _this._errorBoundary._logError('postWithTimeoutInvalidRes', error, function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this._getErrorData(endpointName, body, retries, backoff, res)];\n });\n }); });\n return Promise.reject(error);\n }\n var json = res.data;\n return _this._errorBoundary._capture('postWithTimeout', function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n cachedReturnValue = json;\n if (hasTimedOut) {\n eventuals.forEach(function (fn) { return fn(json); });\n eventuals = [];\n }\n return [2 /*return*/, Promise.resolve(json)];\n });\n }); }, function () {\n return Promise.resolve({});\n }, function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this._getErrorData(endpointName, body, retries, backoff, res)];\n });\n }); });\n })\n .catch(function (e) {\n return Promise.reject(e);\n });\n var racingPromise = (timer ? Promise.race([fetchPromise, timer]) : fetchPromise);\n racingPromise.eventually = eventually(racingPromise);\n return racingPromise;\n };\n StatsigNetwork.prototype._getErrorData = function (endpointName, body, retries, backoff, res) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var headers_1;\n return __generator(this, function (_b) {\n try {\n headers_1 = {};\n ((_a = res.headers) !== null && _a !== void 0 ? _a : []).forEach(function (value, key) {\n headers_1[key] = value;\n });\n return [2 /*return*/, {\n responseInfo: {\n headers: headers_1,\n status: res.status,\n statusText: res.statusText,\n type: res.type,\n url: res.url,\n redirected: res.redirected,\n bodySnippet: res.data ? JSON.stringify(res.data).slice(0, 500) : null,\n },\n requestInfo: {\n endpointName: endpointName,\n bodySnippet: JSON.stringify(body).slice(0, 500),\n retries: retries,\n backoff: backoff,\n },\n }];\n }\n catch (_e) {\n return [2 /*return*/, {\n statusText: 'statsig::failed to extract extra data',\n }];\n }\n return [2 /*return*/];\n });\n });\n };\n return StatsigNetwork;\n}());\nexports.default = StatsigNetwork;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.INIT_TIMEOUT_DEFAULT_MS = void 0;\nvar DEFAULT_FEATURE_GATE_API = 'https://featuregates.org/v1/';\nvar DEFAULT_EVENT_LOGGING_API = 'https://events.statsigapi.net/v1/';\nexports.INIT_TIMEOUT_DEFAULT_MS = 3000;\nvar StatsigSDKOptions = /** @class */ (function () {\n function StatsigSDKOptions(options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;\n if (options == null) {\n options = {};\n }\n var api = (_a = options.api) !== null && _a !== void 0 ? _a : DEFAULT_FEATURE_GATE_API;\n this.api = api.endsWith('/') ? api : api + '/';\n this.disableCurrentPageLogging = (_b = options.disableCurrentPageLogging) !== null && _b !== void 0 ? _b : false;\n this.environment = (_c = options.environment) !== null && _c !== void 0 ? _c : null;\n this.loggingIntervalMillis = this.normalizeNumberInput(options.loggingIntervalMillis, {\n default: 10000,\n min: 1000,\n max: 60000,\n });\n this.loggingBufferMaxSize = this.normalizeNumberInput(options.loggingBufferMaxSize, {\n default: 100,\n min: 2,\n max: 500,\n });\n this.disableNetworkKeepalive = (_d = options.disableNetworkKeepalive) !== null && _d !== void 0 ? _d : false;\n this.overrideStableID = (_e = options.overrideStableID) !== null && _e !== void 0 ? _e : null;\n this.localMode = (_f = options.localMode) !== null && _f !== void 0 ? _f : false;\n this.initTimeoutMs =\n options.initTimeoutMs && options.initTimeoutMs >= 0\n ? options.initTimeoutMs\n : exports.INIT_TIMEOUT_DEFAULT_MS;\n this.disableErrorLogging = (_g = options.disableErrorLogging) !== null && _g !== void 0 ? _g : false;\n this.disableAutoMetricsLogging = (_h = options.disableAutoMetricsLogging) !== null && _h !== void 0 ? _h : false;\n this.initializeValues = (_j = options.initializeValues) !== null && _j !== void 0 ? _j : null;\n var eventLoggingApi = (_l = (_k = options.eventLoggingApi) !== null && _k !== void 0 ? _k : options.api) !== null && _l !== void 0 ? _l : DEFAULT_EVENT_LOGGING_API;\n this.eventLoggingApi = eventLoggingApi.endsWith('/')\n ? eventLoggingApi\n : eventLoggingApi + '/';\n var eventLoggingApiForRetries = (_m = options.eventLoggingApiForRetries) !== null && _m !== void 0 ? _m : eventLoggingApi;\n this.eventLoggingApiForRetries = eventLoggingApiForRetries.endsWith('/')\n ? eventLoggingApiForRetries\n : eventLoggingApiForRetries + '/';\n this.disableLocalStorage = (_o = options.disableLocalStorage) !== null && _o !== void 0 ? _o : false;\n this.ignoreWindowUndefined = (_p = options === null || options === void 0 ? void 0 : options.ignoreWindowUndefined) !== null && _p !== void 0 ? _p : false;\n this.updateUserCompletionCallback =\n (_q = options === null || options === void 0 ? void 0 : options.updateUserCompletionCallback) !== null && _q !== void 0 ? _q : null;\n this.disableAllLogging = (_r = options === null || options === void 0 ? void 0 : options.disableAllLogging) !== null && _r !== void 0 ? _r : false;\n }\n StatsigSDKOptions.prototype.normalizeNumberInput = function (input, bounds) {\n if (input == null) {\n return bounds.default;\n }\n return Math.max(Math.min(input, bounds.max), bounds.min);\n };\n return StatsigSDKOptions;\n}());\nexports.default = StatsigSDKOptions;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EvaluationReason = void 0;\nvar DynamicConfig_1 = __importDefault(require(\"./DynamicConfig\"));\nvar Layer_1 = __importDefault(require(\"./Layer\"));\nvar BootstrapValidator_1 = __importDefault(require(\"./utils/BootstrapValidator\"));\nvar Constants_1 = require(\"./utils/Constants\");\nvar Hashing_1 = require(\"./utils/Hashing\");\nvar StatsigLocalStorage_1 = __importDefault(require(\"./utils/StatsigLocalStorage\"));\nvar EvaluationReason;\n(function (EvaluationReason) {\n EvaluationReason[\"Network\"] = \"Network\";\n EvaluationReason[\"Bootstrap\"] = \"Bootstrap\";\n EvaluationReason[\"InvalidBootstrap\"] = \"InvalidBootstrap\";\n EvaluationReason[\"Cache\"] = \"Cache\";\n EvaluationReason[\"Unrecognized\"] = \"Unrecognized\";\n EvaluationReason[\"Uninitialized\"] = \"Uninitialized\";\n EvaluationReason[\"Error\"] = \"Error\";\n EvaluationReason[\"NetworkNotModified\"] = \"NetworkNotModified\";\n EvaluationReason[\"LocalOverride\"] = \"LocalOverride\";\n})(EvaluationReason = exports.EvaluationReason || (exports.EvaluationReason = {}));\nvar MAX_USER_VALUE_CACHED = 10;\nvar StatsigStore = /** @class */ (function () {\n function StatsigStore(identity, onDefaultValueFallback, initializeValues) {\n this._identity = identity;\n this._onDefaultValueFallback = onDefaultValueFallback;\n this._userCacheKey = this._identity.getUserCacheKey();\n this._values = {};\n this._userValues = this._getDefaultUserCacheValues();\n this._loaded = false;\n this._reason = EvaluationReason.Uninitialized;\n if (initializeValues) {\n this.bootstrap(initializeValues);\n }\n else {\n this._loadFromLocalStorage();\n }\n }\n StatsigStore.prototype.updateUser = function () {\n this._userCacheKey = this._identity.getUserCacheKey();\n return this._setUserValueFromCache();\n };\n StatsigStore.prototype.bootstrap = function (initializeValues) {\n var _a, _b, _c, _d, _f, _g, _h;\n var key = this._identity.getUserCacheKey();\n var user = this._identity._user;\n var reason = BootstrapValidator_1.default.isValid(user, initializeValues)\n ? EvaluationReason.Bootstrap\n : EvaluationReason.InvalidBootstrap;\n // clients are going to assume that the SDK is bootstrapped after this method runs\n // if we fail to parse, we will fall back to defaults, but we dont want to throw\n // when clients try to check gates/configs/etc after this point\n this._loaded = true;\n try {\n this._userValues.feature_gates = (_a = initializeValues.feature_gates) !== null && _a !== void 0 ? _a : {};\n this._userValues.dynamic_configs = (_b = initializeValues.dynamic_configs) !== null && _b !== void 0 ? _b : {};\n this._userValues.layer_configs = (_c = initializeValues.layer_configs) !== null && _c !== void 0 ? _c : {};\n this._userValues.evaluation_time = Date.now();\n this._userValues.time = (_d = initializeValues.time) !== null && _d !== void 0 ? _d : Date.now();\n this._userValues.exposures = (_f = initializeValues.exposures) !== null && _f !== void 0 ? _f : [];\n this._userValues.hash_used = (_g = initializeValues.hash_used) !== null && _g !== void 0 ? _g : 'djb2';\n this._values[key] = this._userValues;\n this._reason = reason;\n var generatorSDKInfo = (_h = initializeValues.sdkInfo) !== null && _h !== void 0 ? _h : initializeValues.sdk_info;\n this._userValues.bootstrapMetadata = {};\n if (generatorSDKInfo != null) {\n this._userValues.bootstrapMetadata.generatorSDKInfo = generatorSDKInfo;\n }\n if (initializeValues.user != null) {\n this._userValues.bootstrapMetadata.user =\n initializeValues.user;\n }\n if (initializeValues.time != null) {\n this._userValues.bootstrapMetadata.lcut =\n initializeValues.time;\n }\n }\n catch (_e) {\n return;\n }\n };\n StatsigStore.prototype.getBootstrapMetadata = function () {\n var _a;\n return (_a = this._userValues.bootstrapMetadata) !== null && _a !== void 0 ? _a : null;\n };\n StatsigStore.prototype.isLoaded = function () {\n return this._loaded;\n };\n StatsigStore.prototype.getLastUpdateTime = function (user) {\n var userHash = (0, Hashing_1.djb2HashForObject)(user);\n if (this._userValues.user_hash == userHash) {\n return this._userValues.time;\n }\n return null;\n };\n StatsigStore.prototype.getPreviousDerivedFields = function (user) {\n var userHash = (0, Hashing_1.djb2HashForObject)(user);\n if (this._userValues.user_hash == userHash) {\n return this._userValues.derived_fields;\n }\n return undefined;\n };\n StatsigStore.prototype.setEvaluationReason = function (evalReason) {\n this._reason = evalReason;\n };\n StatsigStore.prototype.save = function (user, jsonConfigs, updateState) {\n if (updateState === void 0) { updateState = true; }\n return __awaiter(this, void 0, void 0, function () {\n var requestedUserCacheKey, initResponse, userValues, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n requestedUserCacheKey = (0, Hashing_1.getUserCacheKey)(user);\n initResponse = jsonConfigs;\n this._mergeInitializeResponseIntoUserMap(initResponse, this._values, requestedUserCacheKey, user, function (userValues) { return userValues; });\n if (updateState) {\n userValues = this._values[requestedUserCacheKey];\n if (userValues &&\n requestedUserCacheKey &&\n requestedUserCacheKey == this._userCacheKey) {\n this._userValues = userValues;\n this._reason = EvaluationReason.Network;\n }\n }\n _a = this;\n return [4 /*yield*/, this._writeValuesToStorage(this._values)];\n case 1:\n _a._values = _b.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n StatsigStore.prototype.checkGate = function (gateName) {\n var _a, _b;\n var gateNameHash = (0, Hashing_1.getHashValue)(gateName, this._userValues.hash_used);\n var gateValue = {\n name: gateName,\n value: false,\n rule_id: '',\n secondary_exposures: [],\n };\n var details;\n var value = (_a = this._userValues) === null || _a === void 0 ? void 0 : _a.feature_gates[gateNameHash];\n if (value) {\n gateValue = value;\n }\n gateValue.secondary_exposures = this.mapExposures((_b = gateValue.secondary_exposures) !== null && _b !== void 0 ? _b : []);\n details = this._getEvaluationDetails(value != null);\n return { evaluationDetails: details, gate: gateValue };\n };\n StatsigStore.prototype.mapExposures = function (exposures) {\n var _this = this;\n return exposures.map(function (exposure) {\n var _a;\n if (typeof exposure === 'string') {\n return ((_a = _this._userValues.exposures) !== null && _a !== void 0 ? _a : {})[exposure];\n }\n return exposure;\n });\n };\n StatsigStore.prototype.getConfig = function (configName) {\n var _a, _b;\n var configNameHash = (0, Hashing_1.getHashValue)(configName, this._userValues.hash_used);\n var configValue;\n var details;\n if (((_a = this._userValues) === null || _a === void 0 ? void 0 : _a.dynamic_configs[configNameHash]) != null) {\n var rawConfigValue = (_b = this._userValues) === null || _b === void 0 ? void 0 : _b.dynamic_configs[configNameHash];\n details = this._getEvaluationDetails(true);\n configValue = this._createDynamicConfig(configName, rawConfigValue, details);\n }\n else {\n details = this._getEvaluationDetails(false);\n configValue = new DynamicConfig_1.default(configName, {}, '', details);\n }\n return configValue;\n };\n StatsigStore.prototype.getLayer = function (logParameterFunction, layerName) {\n var _a, _b, _c, _d, _f;\n var latestValue = this._getLatestValue(layerName, 'layer_configs');\n var details = this._getEvaluationDetails(latestValue != null);\n return Layer_1.default._create(layerName, (_a = latestValue === null || latestValue === void 0 ? void 0 : latestValue.value) !== null && _a !== void 0 ? _a : {}, (_b = latestValue === null || latestValue === void 0 ? void 0 : latestValue.rule_id) !== null && _b !== void 0 ? _b : '', details, logParameterFunction, this.mapExposures((_c = latestValue === null || latestValue === void 0 ? void 0 : latestValue.secondary_exposures) !== null && _c !== void 0 ? _c : []), this.mapExposures((_d = latestValue === null || latestValue === void 0 ? void 0 : latestValue.undelegated_secondary_exposures) !== null && _d !== void 0 ? _d : []), (_f = latestValue === null || latestValue === void 0 ? void 0 : latestValue.allocated_experiment_name) !== null && _f !== void 0 ? _f : '', latestValue === null || latestValue === void 0 ? void 0 : latestValue.explicit_parameters);\n };\n StatsigStore.prototype.getGlobalEvaluationDetails = function () {\n var _a, _b;\n return {\n reason: (_a = this._reason) !== null && _a !== void 0 ? _a : EvaluationReason.Uninitialized,\n time: (_b = this._userValues.evaluation_time) !== null && _b !== void 0 ? _b : 0,\n };\n };\n StatsigStore.prototype._loadFromLocalStorage = function () {\n this._parseCachedValues(StatsigLocalStorage_1.default.getItem(Constants_1.INTERNAL_STORE_KEY));\n this._loaded = true;\n };\n StatsigStore.prototype._parseCachedValues = function (allValues) {\n try {\n this._values = allValues ? JSON.parse(allValues) : this._values;\n this._setUserValueFromCache();\n }\n catch (e) {\n // Cached value corrupted, remove cache\n this._removeFromStorage(Constants_1.INTERNAL_STORE_KEY);\n }\n };\n StatsigStore.prototype._setUserValueFromCache = function () {\n var _a;\n var cachedValues = this._values[this._userCacheKey];\n if (cachedValues == null) {\n this._resetUserValues();\n this._reason = EvaluationReason.Uninitialized;\n return null;\n }\n this._userValues = cachedValues;\n this._reason = EvaluationReason.Cache;\n return (_a = cachedValues.evaluation_time) !== null && _a !== void 0 ? _a : 0;\n };\n StatsigStore.prototype._removeFromStorage = function (key) {\n StatsigLocalStorage_1.default.removeItem(key);\n };\n /**\n * Merges the provided init configs into the provided config map, according to the provided merge function\n */\n StatsigStore.prototype._mergeInitializeResponseIntoUserMap = function (data, configMap, requestedUserCacheKey, user, mergeFn) {\n if (requestedUserCacheKey) {\n var requestedUserValues = this._convertAPIDataToCacheValues(data, requestedUserCacheKey);\n if (data.has_updates && data.time) {\n var userHash = (0, Hashing_1.djb2HashForObject)(user);\n requestedUserValues.user_hash = userHash;\n }\n configMap[requestedUserCacheKey] = mergeFn(requestedUserValues, requestedUserCacheKey);\n }\n };\n StatsigStore.prototype._getDefaultUserCacheValues = function () {\n return {\n feature_gates: {},\n layer_configs: {},\n dynamic_configs: {},\n time: 0,\n evaluation_time: 0,\n has_updates: false,\n };\n };\n /**\n * Writes the provided values to storage, truncating down to\n * MAX_USER_VALUE_CACHED number entries.\n * @returns The truncated entry list\n */\n StatsigStore.prototype._writeValuesToStorage = function (valuesToWrite) {\n return __awaiter(this, void 0, void 0, function () {\n var filteredValues;\n return __generator(this, function (_a) {\n filteredValues = Object.entries(valuesToWrite)\n .sort(function (_a, _b) {\n var _c, _d;\n var a = _a[1];\n var b = _b[1];\n if (a == null) {\n return 1;\n }\n if (b == null) {\n return -1;\n }\n return (((_c = b === null || b === void 0 ? void 0 : b.evaluation_time) !== null && _c !== void 0 ? _c : b === null || b === void 0 ? void 0 : b.time) - ((_d = a === null || a === void 0 ? void 0 : a.evaluation_time) !== null && _d !== void 0 ? _d : a === null || a === void 0 ? void 0 : a.time));\n })\n .slice(0, MAX_USER_VALUE_CACHED);\n valuesToWrite = Object.fromEntries(filteredValues);\n StatsigLocalStorage_1.default.setItem(Constants_1.INTERNAL_STORE_KEY, JSON.stringify(valuesToWrite));\n return [2 /*return*/, valuesToWrite];\n });\n });\n };\n StatsigStore.prototype._getLatestValue = function (name, topLevelKey) {\n var _a, _b, _c, _d, _f;\n var hash = (0, Hashing_1.getHashValue)(name, this._userValues.hash_used);\n return ((_c = (_b = (_a = this._userValues) === null || _a === void 0 ? void 0 : _a[topLevelKey]) === null || _b === void 0 ? void 0 : _b[hash]) !== null && _c !== void 0 ? _c : (_f = (_d = this._userValues) === null || _d === void 0 ? void 0 : _d[topLevelKey]) === null || _f === void 0 ? void 0 : _f[name]);\n };\n StatsigStore.prototype._createDynamicConfig = function (name, apiConfig, details) {\n var _a, _b, _c, _d;\n return new DynamicConfig_1.default(name, (_a = apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.value) !== null && _a !== void 0 ? _a : {}, (_b = apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.rule_id) !== null && _b !== void 0 ? _b : '', details, this.mapExposures((_c = apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.secondary_exposures) !== null && _c !== void 0 ? _c : []), (_d = apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.allocated_experiment_name) !== null && _d !== void 0 ? _d : '', this._makeOnConfigDefaultValueFallback(this._identity._user));\n };\n StatsigStore.prototype._getEvaluationDetails = function (valueExists, reasonOverride) {\n var _a;\n if (valueExists) {\n return {\n reason: this._reason,\n time: (_a = this._userValues.evaluation_time) !== null && _a !== void 0 ? _a : Date.now(),\n };\n }\n else {\n return {\n reason: reasonOverride !== null && reasonOverride !== void 0 ? reasonOverride : (this._reason == EvaluationReason.Uninitialized\n ? EvaluationReason.Uninitialized\n : EvaluationReason.Unrecognized),\n time: Date.now(),\n };\n }\n };\n StatsigStore.prototype._resetUserValues = function () {\n this._userValues = this._getDefaultUserCacheValues();\n };\n StatsigStore.prototype._convertAPIDataToCacheValues = function (data, cacheKey) {\n // Specifically pulling keys from data here to avoid pulling in unwanted keys\n return {\n feature_gates: data.feature_gates,\n layer_configs: data.layer_configs,\n dynamic_configs: data.dynamic_configs,\n time: data.time == null || isNaN(data.time) ? 0 : data.time,\n evaluation_time: Date.now(),\n derived_fields: data.derived_fields,\n hash_used: data.hash_used,\n };\n };\n StatsigStore.prototype._makeOnConfigDefaultValueFallback = function (user) {\n var _this = this;\n return function (config, parameter, defaultValueType, valueType) {\n if (!_this.isLoaded()) {\n return;\n }\n _this._onDefaultValueFallback(user, \"Parameter \".concat(parameter, \" is a value of type \").concat(valueType, \".\\n Returning requested defaultValue type \").concat(defaultValueType), {\n name: config._name,\n ruleID: config._ruleID,\n parameter: parameter,\n defaultValueType: defaultValueType,\n valueType: valueType,\n });\n };\n };\n return StatsigStore;\n}());\nexports.default = StatsigStore;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EvaluationReason = exports.Layer = exports.DynamicConfig = void 0;\nvar Errors_1 = require(\"./Errors\");\nvar StatsigClient_1 = __importDefault(require(\"./StatsigClient\"));\nvar StatsigStore_1 = require(\"./StatsigStore\");\nvar DynamicConfig_1 = require(\"./DynamicConfig\");\nObject.defineProperty(exports, \"DynamicConfig\", { enumerable: true, get: function () { return __importDefault(DynamicConfig_1).default; } });\nvar Layer_1 = require(\"./Layer\");\nObject.defineProperty(exports, \"Layer\", { enumerable: true, get: function () { return __importDefault(Layer_1).default; } });\nvar StatsigStore_2 = require(\"./StatsigStore\");\nObject.defineProperty(exports, \"EvaluationReason\", { enumerable: true, get: function () { return StatsigStore_2.EvaluationReason; } });\nvar Statsig = /** @class */ (function () {\n function Statsig() {\n }\n Statsig.initialize = function (sdkKey, user, options) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var inst;\n return __generator(this, function (_b) {\n inst = (_a = Statsig.instance) !== null && _a !== void 0 ? _a : new StatsigClient_1.default(sdkKey, user, options);\n if (!Statsig.instance) {\n Statsig.instance = inst;\n }\n return [2 /*return*/, inst.initializeAsync()];\n });\n });\n };\n Statsig.setInitializeValues = function (initializeValues) {\n Statsig._getClientX().setInitializeValues(initializeValues);\n };\n // Gate\n Statsig.checkGate = function (gateName) {\n return Statsig._getClientX().checkGate(gateName);\n };\n Statsig.checkGateWithExposureLoggingDisabled = function (gateName) {\n return Statsig._getClientX().checkGateWithExposureLoggingDisabled(gateName);\n };\n Statsig.manuallyLogGateExposure = function (gateName) {\n Statsig._getClientX().logGateExposure(gateName);\n };\n // Config\n Statsig.getConfig = function (configName) {\n return Statsig._getClientX().getConfig(configName);\n };\n Statsig.getConfigWithExposureLoggingDisabled = function (configName) {\n return Statsig._getClientX().getConfigWithExposureLoggingDisabled(configName);\n };\n Statsig.manuallyLogConfigExposure = function (configName) {\n Statsig._getClientX().logConfigExposure(configName);\n };\n // Experiment\n Statsig.getExperiment = function (experimentName) {\n return Statsig._getClientX().getExperiment(experimentName);\n };\n Statsig.getExperimentWithExposureLoggingDisabled = function (experimentName) {\n return Statsig._getClientX().getExperimentWithExposureLoggingDisabled(experimentName);\n };\n Statsig.manuallyLogExperimentExposure = function (configName) {\n Statsig._getClientX().logExperimentExposure(configName);\n };\n // Layer\n Statsig.getLayer = function (layerName) {\n return Statsig._getClientX().getLayer(layerName);\n };\n Statsig.getLayerWithExposureLoggingDisabled = function (layerName) {\n return Statsig._getClientX().getLayerWithExposureLoggingDisabled(layerName);\n };\n Statsig.manuallyLogLayerParameterExposure = function (layerName, parameterName) {\n Statsig._getClientX().logLayerParameterExposure(layerName, parameterName);\n };\n Statsig.logEvent = function (eventName, value, metadata) {\n if (value === void 0) { value = null; }\n if (metadata === void 0) { metadata = null; }\n return Statsig._getClientX().logEvent(eventName, value, metadata);\n };\n Statsig.updateUser = function (user) {\n return Statsig._getClientX().updateUser(user);\n };\n Statsig.updateUserWithValues = function (user, values) {\n return Statsig._getClientX().updateUserWithValues(user, values);\n };\n Statsig.shutdown = function () {\n Statsig._getClientX().shutdown();\n Statsig.instance = null;\n };\n Statsig.overrideGate = function (gate, result) {\n Statsig._getClientX().overrideGate(gate, result);\n };\n Statsig.overrideConfig = function (config, result) {\n Statsig._getClientX().overrideConfig(config, result);\n };\n Statsig.overrideLayer = function (layer, result) {\n Statsig._getClientX().overrideLayer(layer, result);\n };\n Statsig.setOverrides = function (overrides) {\n Statsig._getClientX().setOverrides(overrides);\n };\n Statsig.getOverrides = function () {\n return Statsig._getClientX().getOverrides();\n };\n /**\n * @returns The Statsig stable ID used for device level experiments\n */\n Statsig.getStableID = function () {\n return Statsig._getClientX().getStableID();\n };\n /**\n *\n * @returns The reason and time associated with the evaluation for the current set\n * of gates and configs\n */\n Statsig.getEvaluationDetails = function () {\n var _a, _b;\n return ((_b = (_a = Statsig.instance) === null || _a === void 0 ? void 0 : _a.getEvaluationDetails()) !== null && _b !== void 0 ? _b : {\n reason: StatsigStore_1.EvaluationReason.Uninitialized,\n time: 0,\n });\n };\n /**\n *\n * @returns true if initialize has already been called, false otherwise\n */\n Statsig.initializeCalled = function () {\n return Statsig.instance != null && Statsig.instance.initializeCalled();\n };\n Statsig._getClientX = function () {\n if (!Statsig.instance) {\n throw new Errors_1.StatsigUninitializedError();\n }\n return Statsig.instance;\n };\n Statsig.instance = null;\n return Statsig;\n}());\nexports.default = Statsig;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BootstrapValidator = /** @class */ (function () {\n function BootstrapValidator() {\n }\n BootstrapValidator.isValid = function (user, values) {\n try {\n var evaluatedKeys = values['evaluated_keys'];\n if (!evaluatedKeys) {\n var user_1 = values['user'];\n if (user_1) {\n evaluatedKeys = {};\n evaluatedKeys['userID'] = user_1['userID'];\n if (user_1['customIDs']) {\n evaluatedKeys['customIDs'] = user_1['customIDs'];\n }\n }\n }\n if (!evaluatedKeys || typeof evaluatedKeys !== 'object') {\n return true;\n }\n var evaluatedKeysRecord = this.copyObject(evaluatedKeys);\n var userToCompare = user == null ? null : this.copyObject(user);\n return (BootstrapValidator.validate(evaluatedKeysRecord, userToCompare) &&\n BootstrapValidator.validate(userToCompare, evaluatedKeysRecord));\n }\n catch (error) {\n // This is best-effort. If we fail, return true.\n }\n return true;\n };\n BootstrapValidator.validate = function (one, two) {\n if (one == null) {\n return two == null;\n }\n else if (two == null) {\n return false;\n }\n for (var _i = 0, _a = Object.entries(one); _i < _a.length; _i++) {\n var _b = _a[_i], key = _b[0], value = _b[1];\n if (key === 'stableID') {\n continue;\n }\n if (typeof value !== typeof two[key]) {\n return false;\n }\n if (typeof value === 'string') {\n if (value !== two[key]) {\n return false;\n }\n }\n else if (typeof value === 'object') {\n return this.validate(value, two[key]);\n }\n else {\n // unexpected\n return false;\n }\n }\n return true;\n };\n BootstrapValidator.copyObject = function (obj) {\n if (obj == null) {\n return null;\n }\n var copy = {};\n if (obj === null || obj === void 0 ? void 0 : obj.userID) {\n copy['userID'] = obj === null || obj === void 0 ? void 0 : obj.userID;\n }\n if (obj === null || obj === void 0 ? void 0 : obj.customIDs) {\n var customIDs = __assign({}, obj.customIDs);\n delete customIDs['stableID'];\n if (Object.keys(customIDs).length !== 0) {\n copy['customIDs'] = customIDs;\n }\n }\n return copy;\n };\n return BootstrapValidator;\n}());\nexports.default = BootstrapValidator;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LOCAL_STORAGE_KEYS = exports.STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY = exports.STATSIG_STABLE_ID_KEY = exports.INTERNAL_STORE_KEY = void 0;\nexports.INTERNAL_STORE_KEY = 'STATSIG_STORE';\nexports.STATSIG_STABLE_ID_KEY = 'STATSIG_STABLE_ID';\nexports.STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY = 'STATSIG_LOGS';\nexports.LOCAL_STORAGE_KEYS = {\n INTERNAL_STORE_KEY: true,\n STATSIG_STABLE_ID_KEY: true,\n STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY: true,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getUserCacheKey = exports.getSortedObject = exports.djb2HashForObject = exports.getHashValue = exports.SimpleHash = void 0;\nfunction SimpleHash(value) {\n var hash = 0;\n for (var i = 0; i < value.length; i++) {\n var character = value.charCodeAt(i);\n hash = (hash << 5) - hash + character;\n hash = hash & hash; // Convert to 32bit integer\n }\n return String(hash >>> 0);\n}\nexports.SimpleHash = SimpleHash;\nfunction getHashValue(value, hash_used) {\n if (hash_used === 'none') {\n return value;\n }\n return SimpleHash(value);\n}\nexports.getHashValue = getHashValue;\nfunction djb2HashForObject(object) {\n return SimpleHash(JSON.stringify(getSortedObject(object)));\n}\nexports.djb2HashForObject = djb2HashForObject;\nfunction getSortedObject(object) {\n if (object == null) {\n return null;\n }\n var keys = Object.keys(object).sort();\n var sortedObject = {};\n keys.forEach(function (key) {\n var value = object[key];\n if (value instanceof Object) {\n value = getSortedObject(value);\n }\n sortedObject[key] = value;\n });\n return sortedObject;\n}\nexports.getSortedObject = getSortedObject;\nfunction getUserCacheKey(user) {\n var _a;\n var key = \"userID:\".concat(String((_a = user === null || user === void 0 ? void 0 : user.userID) !== null && _a !== void 0 ? _a : ''));\n var customIDs = user === null || user === void 0 ? void 0 : user.customIDs;\n if (customIDs != null) {\n for (var _i = 0, _b = Object.entries(customIDs); _i < _b.length; _i++) {\n var _c = _b[_i], type = _c[0], value = _c[1];\n key += \";\".concat(type, \":\").concat(value);\n }\n }\n return SimpleHash(key);\n}\nexports.getUserCacheKey = getUserCacheKey;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.verifySDKKeyUsed = void 0;\nvar Errors_1 = require(\"../Errors\");\nvar Hashing_1 = require(\"./Hashing\");\nfunction verifySDKKeyUsed(json, sdkKey, errorBoundary) {\n var hashedSDKKeyUsed = json === null || json === void 0 ? void 0 : json.hashed_sdk_key_used;\n if (hashedSDKKeyUsed != null &&\n hashedSDKKeyUsed !== (0, Hashing_1.SimpleHash)(sdkKey !== null && sdkKey !== void 0 ? sdkKey : '')) {\n errorBoundary._logError('fetchAndSaveValues', new Errors_1.StatsigSDKKeyMismatchError('The SDK key provided does not match the one used to generate values.'));\n return false;\n }\n return true;\n}\nexports.verifySDKKeyUsed = verifySDKKeyUsed;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar StatsigLocalStorage = /** @class */ (function () {\n function StatsigLocalStorage() {\n }\n StatsigLocalStorage.getItem = function (key) {\n var _a;\n try {\n if (this.isStorageAccessible()) {\n return window.localStorage.getItem(key);\n }\n }\n catch (e) { }\n return (_a = this.fallbackSessionCache[key]) !== null && _a !== void 0 ? _a : null;\n };\n StatsigLocalStorage.setItem = function (key, value) {\n try {\n if (this.isStorageAccessible()) {\n window.localStorage.setItem(key, value);\n return;\n }\n }\n catch (e) { }\n this.fallbackSessionCache[key] = value;\n };\n StatsigLocalStorage.removeItem = function (key) {\n try {\n if (this.isStorageAccessible()) {\n window.localStorage.removeItem(key);\n return;\n }\n }\n catch (e) { }\n delete this.fallbackSessionCache[key];\n };\n StatsigLocalStorage.isStorageAccessible = function (ignoreDisabledOption) {\n if (ignoreDisabledOption === void 0) { ignoreDisabledOption = false; }\n if (this.canAccessStorageAccessible == null) {\n this.canAccessStorageAccessible =\n typeof Storage !== 'undefined' &&\n typeof window !== 'undefined' &&\n window != null &&\n window.localStorage != null;\n }\n var canAccess = this.canAccessStorageAccessible;\n if (ignoreDisabledOption) {\n return canAccess;\n }\n return !this.disabled && canAccess;\n };\n StatsigLocalStorage.disabled = false;\n StatsigLocalStorage.fallbackSessionCache = {};\n StatsigLocalStorage.canAccessStorageAccessible = null;\n return StatsigLocalStorage;\n}());\nexports.default = StatsigLocalStorage;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.difference = exports.now = void 0;\nfunction now() {\n if (typeof performance === 'undefined' || !performance) {\n return Date.now();\n }\n return performance.now() | 0;\n}\nexports.now = now;\nfunction difference(time) {\n return now() - time;\n}\nexports.difference = difference;\n","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","// 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].call(module.exports, 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 \"\" + {\"138\":\"./themes/shape\",\"177\":\"./themes/legacy-light\",\"186\":\"./themes/typography-modernized\",\"213\":\"./themes/typography-refreshed\",\"381\":\"./themes/light\",\"479\":\"./themes/dark\",\"498\":\"./themes/spacing\",\"567\":\"./themes/light-future\",\"592\":\"./themes/typography-adg3\",\"915\":\"./themes/legacy-dark\",\"917\":\"./themes/dark-future\"}[chunkId] + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// 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\t203: 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}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = window[\"webpackChunk_auiPrototyping\"] = window[\"webpackChunk_auiPrototyping\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { EventEmitter2 } from 'eventemitter2';\nexport var ALL_FEATURE_VALUES = '@all-features';\nvar Subscriptions = /*#__PURE__*/function () {\n function Subscriptions() {\n _classCallCheck(this, Subscriptions);\n _defineProperty(this, \"eventToValue\", new Map());\n this.emitter = new EventEmitter2();\n }\n return _createClass(Subscriptions, [{\n key: \"onGateUpdated\",\n value: function onGateUpdated(gateName, callback, checkGate, options) {\n var _this = this;\n var value = checkGate(gateName, _objectSpread(_objectSpread({}, options), {}, {\n fireGateExposure: false\n }));\n if (this.eventToValue.get(callback) === undefined) {\n this.eventToValue.set(callback, value);\n }\n var wrapCallback = function wrapCallback() {\n var value = checkGate(gateName, _objectSpread(_objectSpread({}, options), {}, {\n fireGateExposure: false\n }));\n var existingValue = _this.eventToValue.get(callback);\n if (existingValue !== value) {\n _this.eventToValue.set(callback, value);\n callback(value);\n }\n };\n this.emitter.on(gateName, wrapCallback);\n return function () {\n _this.emitter.off(gateName, wrapCallback);\n };\n }\n }, {\n key: \"onExperimentValueUpdated\",\n value: function onExperimentValueUpdated(experimentName, parameterName, defaultValue, callback, getExperimentValue, options) {\n var _this2 = this;\n var experimentEventName = \"\".concat(experimentName, \".\").concat(parameterName);\n var value = getExperimentValue(experimentName, parameterName, defaultValue, _objectSpread(_objectSpread({}, options), {}, {\n fireExperimentExposure: false\n }));\n if (this.eventToValue.get(callback) === undefined) {\n this.eventToValue.set(callback, value);\n }\n var wrapCallback = function wrapCallback() {\n var value = getExperimentValue(experimentName, parameterName, defaultValue, _objectSpread(_objectSpread({}, options), {}, {\n fireExperimentExposure: false\n }));\n var existingValue = _this2.eventToValue.get(callback);\n if (existingValue !== value) {\n _this2.eventToValue.set(callback, value);\n callback(value);\n }\n };\n this.emitter.on(experimentEventName, wrapCallback);\n return function () {\n _this2.emitter.off(experimentEventName, wrapCallback);\n };\n }\n }, {\n key: \"onAnyUpdated\",\n value: function onAnyUpdated(callback) {\n var _this3 = this;\n this.emitter.on(ALL_FEATURE_VALUES, callback);\n return function () {\n _this3.emitter.off(ALL_FEATURE_VALUES, callback);\n };\n }\n }, {\n key: \"anyUpdated\",\n value: function anyUpdated() {\n var _this4 = this;\n this.emitter.emit(ALL_FEATURE_VALUES);\n this.emitter.eventNames().filter(function (name) {\n return name !== ALL_FEATURE_VALUES;\n }).forEach(function (event) {\n _this4.emitter.emit(event);\n });\n }\n }]);\n}();\nexport { Subscriptions as default };","/**\n * The identifiers for the user. Options are restricted to the set that is currently supported.\n */\n\n/**\n * Base client options. Does not include any options specific to providers\n * @interface BaseClientOptions\n * @property {FeatureGateEnvironment} environment - The environment for the client.\n * @property {string} targetApp - The target app for the client.\n * @property {AnalyticsWebClient} analyticsWebClient - The analytics web client.\n * @property {PerimeterType} perimeter - The perimeter for the client.\n */\n\n/**\n * The options for the client.\n * @interface ClientOptions\n * @extends {BaseClientOptions}\n * @property {string} apiKey - The API key for the client.\n * @property {fetchTimeoutMs} fetchTimeoutMs - The timeout for the fetch request in milliseconds. Defaults to 5000.\n * @property {boolean} useGatewayURL - Whether to use the gateway URL. Defaults to false.\n */\n\n/**\n * The custom attributes for the user.\n */\n\nexport var FeatureGateEnvironment = /*#__PURE__*/function (FeatureGateEnvironment) {\n FeatureGateEnvironment[\"Development\"] = \"development\";\n FeatureGateEnvironment[\"Staging\"] = \"staging\";\n FeatureGateEnvironment[\"Production\"] = \"production\";\n return FeatureGateEnvironment;\n}({});\n\n// If adding new values here, please check FeatureGates.getDefaultPerimeter to make sure it still returns something sensible.\nexport var PerimeterType = /*#__PURE__*/function (PerimeterType) {\n PerimeterType[\"COMMERCIAL\"] = \"commercial\";\n PerimeterType[\"FEDRAMP_MODERATE\"] = \"fedramp-moderate\";\n return PerimeterType;\n}({});\nexport var NON_BOOLEAN_VALUE = 'non_boolean';\n\n// Type magic to get the JSDoc comments from the Client class methods to appear on the static\n// methods in FeatureGates where the property name and function type are identical","/// <reference types=\"node\" />\nexport var CLIENT_VERSION = \"4.23.4\";","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, _wrapNativeSuper(t);\n}\nexport { _wrapNativeSuper as default };","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nexport { _isNativeFunction as default };","import isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nexport { _construct as default };","import _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _wrapNativeSuper from \"@babel/runtime/helpers/wrapNativeSuper\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nexport var ResponseError = /*#__PURE__*/function (_Error) {\n function ResponseError(message) {\n _classCallCheck(this, ResponseError);\n return _callSuper(this, ResponseError, [message]);\n }\n _inherits(ResponseError, _Error);\n return _createClass(ResponseError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { FeatureGateEnvironment, PerimeterType } from '../types';\nimport { CLIENT_VERSION } from '../version';\nimport { ResponseError } from './errors';\nvar DEFAULT_REQUEST_TIMEOUT_MS = 5000;\nexport var PROD_BASE_URL = 'https://api.atlassian.com/flags';\nexport var STAGING_BASE_URL = 'https://api.stg.atlassian.com/flags';\nexport var DEV_BASE_URL = 'https://api.dev.atlassian.com/flags';\nexport var FEDM_STAGING_BASE_URL = 'https://api.stg.atlassian-us-gov-mod.com/flags';\nexport var FEDM_PROD_BASE_URL = 'https://api.atlassian-us-gov-mod.com/flags';\nexport var GATEWAY_BASE_URL = '/gateway/api/flags';\nvar Fetcher = /*#__PURE__*/function () {\n function Fetcher() {\n _classCallCheck(this, Fetcher);\n }\n return _createClass(Fetcher, null, [{\n key: \"fetchClientSdk\",\n value: function () {\n var _fetchClientSdk = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(fetcherOptions) {\n var targetApp, url;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n targetApp = fetcherOptions.targetApp;\n url = \"/api/v2/frontend/clientSdkKey/\".concat(targetApp);\n _context.prev = 2;\n _context.next = 5;\n return this.fetchRequest(url, 'GET', fetcherOptions);\n case 5:\n return _context.abrupt(\"return\", _context.sent);\n case 8:\n _context.prev = 8;\n _context.t0 = _context[\"catch\"](2);\n if (!(_context.t0 instanceof Error)) {\n _context.next = 12;\n break;\n }\n throw _context.t0;\n case 12:\n throw Error('Failed to retrieve client sdk key');\n case 13:\n case \"end\":\n return _context.stop();\n }\n }, _callee, this, [[2, 8]]);\n }));\n function fetchClientSdk(_x) {\n return _fetchClientSdk.apply(this, arguments);\n }\n return fetchClientSdk;\n }()\n }, {\n key: \"fetchExperimentValues\",\n value: function () {\n var _fetchExperimentValues = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(fetcherOptions, identifiers, customAttributes) {\n var requestBody;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n requestBody = {\n identifiers: identifiers,\n customAttributes: customAttributes,\n targetApp: fetcherOptions.targetApp\n };\n _context2.prev = 1;\n _context2.next = 4;\n return this.fetchRequest('/api/v2/frontend/experimentValues', 'POST', fetcherOptions, requestBody);\n case 4:\n return _context2.abrupt(\"return\", _context2.sent);\n case 7:\n _context2.prev = 7;\n _context2.t0 = _context2[\"catch\"](1);\n if (!(_context2.t0 instanceof Error)) {\n _context2.next = 11;\n break;\n }\n throw _context2.t0;\n case 11:\n throw Error('Failed to retrieve experiment values');\n case 12:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, this, [[1, 7]]);\n }));\n function fetchExperimentValues(_x2, _x3, _x4) {\n return _fetchExperimentValues.apply(this, arguments);\n }\n return fetchExperimentValues;\n }()\n }, {\n key: \"handleResponseError\",\n value: function () {\n var _handleResponseError = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(response) {\n var body;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n if (response.ok) {\n _context3.next = 5;\n break;\n }\n _context3.next = 3;\n return response.text();\n case 3:\n body = _context3.sent;\n throw new ResponseError(\"Non 2xx response status received, status: \".concat(response.status, \", body: \").concat(JSON.stringify(body)));\n case 5:\n if (!(response.status === 204)) {\n _context3.next = 7;\n break;\n }\n throw new ResponseError('Unexpected 204 response');\n case 7:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n function handleResponseError(_x5) {\n return _handleResponseError.apply(this, arguments);\n }\n return handleResponseError;\n }()\n }, {\n key: \"extractResponseBody\",\n value: function () {\n var _extractResponseBody = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(response) {\n var value;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return response.text();\n case 2:\n value = _context4.sent;\n return _context4.abrupt(\"return\", JSON.parse(value));\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n function extractResponseBody(_x6) {\n return _extractResponseBody.apply(this, arguments);\n }\n return extractResponseBody;\n }()\n }, {\n key: \"getBaseUrl\",\n value: function getBaseUrl(serviceEnv) {\n var useGatewayUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var perimeter = arguments.length > 2 ? arguments[2] : undefined;\n if (useGatewayUrl) {\n return GATEWAY_BASE_URL;\n }\n if (perimeter === PerimeterType.FEDRAMP_MODERATE) {\n switch (serviceEnv) {\n case FeatureGateEnvironment.Production:\n return FEDM_PROD_BASE_URL;\n case FeatureGateEnvironment.Staging:\n return FEDM_STAGING_BASE_URL;\n default:\n throw new Error(\"Invalid environment \\\"\".concat(serviceEnv, \"\\\" for \\\"\").concat(perimeter, \"\\\" perimeter\"));\n }\n } else if (perimeter === PerimeterType.COMMERCIAL) {\n switch (serviceEnv) {\n case FeatureGateEnvironment.Development:\n return DEV_BASE_URL;\n case FeatureGateEnvironment.Staging:\n return STAGING_BASE_URL;\n default:\n return PROD_BASE_URL;\n }\n } else {\n throw new Error(\"Invalid perimeter \\\"\".concat(perimeter, \"\\\"\"));\n }\n }\n }, {\n key: \"fetchRequest\",\n value: function () {\n var _fetchRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(path, method, fetcherOptions, body) {\n var baseUrl, fetchTimeout, abortSignal, abortController, response;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n baseUrl = Fetcher.getBaseUrl(fetcherOptions.environment, fetcherOptions.useGatewayURL, fetcherOptions.perimeter);\n fetchTimeout = fetcherOptions.fetchTimeoutMs || DEFAULT_REQUEST_TIMEOUT_MS;\n if (AbortSignal.timeout) {\n abortSignal = AbortSignal.timeout(fetchTimeout);\n } else if (AbortController) {\n abortController = new AbortController();\n abortSignal = abortController.signal;\n setTimeout(function () {\n return abortController.abort();\n }, fetchTimeout);\n }\n _context5.next = 5;\n return fetch(\"\".concat(baseUrl).concat(path), _objectSpread({\n method: method,\n headers: {\n 'Content-Type': 'application/json',\n 'X-Client-Name': 'feature-gate-js-client',\n 'X-Client-Version': CLIENT_VERSION,\n 'X-API-KEY': fetcherOptions.apiKey\n },\n signal: abortSignal\n }, body && {\n body: JSON.stringify(body)\n }));\n case 5:\n response = _context5.sent;\n _context5.next = 8;\n return this.handleResponseError(response);\n case 8:\n _context5.next = 10;\n return this.extractResponseBody(response);\n case 10:\n return _context5.abrupt(\"return\", _context5.sent);\n case 11:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5, this);\n }));\n function fetchRequest(_x7, _x8, _x9, _x10) {\n return _fetchRequest.apply(this, arguments);\n }\n return fetchRequest;\n }()\n }]);\n}();\nexport { Fetcher as default };","import { FEDRAMP_MODERATE } from '../../common/constants';\n\n/**\n * Caution: Consider Alternatives Use of this function is not recommended as a long term solution, as it creates an assumption\n * there are no other isolated environments than just FedRAMP Moderate. You are encouraged to consider alternate solutions,\n * such as Statsig or environment configuration, that don’t require creating a hard dependency between your code features\n * and the FedRAMP environment.\n * See [go-is-fedramp](https://go.atlassian.com/is-fedramp)\n */\nexport function isFedRamp() {\n var _global$location;\n var global = globalThis;\n // MICROS_PERIMETER is already used by few products, so we need to keep it for backward compatibility\n var env = global.MICROS_PERIMETER || global.UNSAFE_ATL_CONTEXT_BOUNDARY;\n if (env) {\n return env === FEDRAMP_MODERATE;\n }\n var matches = (_global$location = global.location) === null || _global$location === void 0 || (_global$location = _global$location.hostname) === null || _global$location === void 0 ? void 0 : _global$location.match(/atlassian-us-gov-mod\\.(com|net)|atlassian-us-gov\\.(com|net)|atlassian-fex\\.(com|net)|atlassian-stg-fedm\\.(com|net)/);\n return matches ? matches.length > 0 : false;\n}","export var FEDRAMP_MODERATE = 'fedramp-moderate';\nexport var COMMERCIAL = 'commercial';\nexport var FEDRAMP_FEDEX = 'fedramp-fedex';\nexport var STAGING = 'stg';\nexport var PRODUCTION = 'prod';\nexport var DEV = 'dev';","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"sdkKey\", \"updateUserCompletionCallback\", \"perimeter\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { isFedRamp } from '@atlaskit/atlassian-context';\nimport { PerimeterType } from './types';\nexport var getOptionsWithDefaults = function getOptionsWithDefaults(options) {\n return _objectSpread({\n /**\n * If more federal PerimeterTypes are added in the future, this should be updated so\n * that isFedRamp() === true always returns the strictest perimeter.\n */\n perimeter: isFedRamp() ? PerimeterType.FEDRAMP_MODERATE : PerimeterType.COMMERCIAL\n }, options);\n};\nexport var shallowEquals = function shallowEquals(objectA, objectB) {\n if (!objectA && !objectB) {\n return true;\n }\n if (!objectA || !objectB) {\n return false;\n }\n var aEntries = Object.entries(objectA);\n var bEntries = Object.entries(objectB);\n if (aEntries.length !== bEntries.length) {\n return false;\n }\n var ascendingKeyOrder = function ascendingKeyOrder(_ref, _ref2) {\n var _ref3 = _slicedToArray(_ref, 1),\n key1 = _ref3[0];\n var _ref4 = _slicedToArray(_ref2, 1),\n key2 = _ref4[0];\n return key1.localeCompare(key2);\n };\n aEntries.sort(ascendingKeyOrder);\n bEntries.sort(ascendingKeyOrder);\n for (var i = 0; i < aEntries.length; i++) {\n var _aEntries$i = _slicedToArray(aEntries[i], 2),\n aValue = _aEntries$i[1];\n var _bEntries$i = _slicedToArray(bEntries[i], 2),\n bValue = _bEntries$i[1];\n if (aValue !== bValue) {\n return false;\n }\n }\n return true;\n};\n\n/**\n * This method creates an instance of StatsigUser from the given set of identifiers and\n * attributes.\n */\nexport var toStatsigUser = function toStatsigUser(identifiers, customAttributes) {\n var user = {\n customIDs: identifiers,\n custom: customAttributes\n };\n if (identifiers.atlassianAccountId) {\n user.userID = identifiers.atlassianAccountId;\n }\n return user;\n};\n\n/**\n * This method transforms the options given by the user into the format accepted by the Statsig\n * client.\n */\nexport var toStatsigOptions = function toStatsigOptions(options, initializeValues) {\n var sdkKey = options.sdkKey,\n updateUserCompletionCallback = options.updateUserCompletionCallback,\n perimeter = options.perimeter,\n restClientOptions = _objectWithoutProperties(options, _excluded);\n return _objectSpread(_objectSpread({}, restClientOptions), {}, {\n initializeValues: initializeValues,\n environment: {\n tier: options.environment\n },\n disableCurrentPageLogging: true\n }, options.updateUserCompletionCallback && {\n updateUserCompletionCallback: toStatsigUpdateUserCompletionCallback(options.updateUserCompletionCallback)\n });\n};\n/**\n * This method transforms an UpdateUserCompletionCallback in our own format into the format\n * accepted by the Statsig client.\n */\nexport var toStatsigUpdateUserCompletionCallback = function toStatsigUpdateUserCompletionCallback(callback) {\n /**\n * The duration passed to the callback indicates how long the update took, but it is deceptive\n * since it only times the Statsig code and doesn't account for all of the extra custom work we\n * do to obtain the bootstrap values. As a result, we just suppress this parameter in our own\n * callback rather than trying to keep it accurate.\n */\n return function (_duration, success, message) {\n callback(success, message);\n };\n};","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport Statsig, { DynamicConfig, EvaluationReason, Layer } from 'statsig-js-lite';\nimport Subscriptions from '../subscriptions';\nimport Fetcher from './fetcher';\nimport { FeatureGateEnvironment, PerimeterType } from './types';\nimport { getOptionsWithDefaults, shallowEquals, toStatsigOptions, toStatsigUser } from './utils';\nimport { CLIENT_VERSION } from './version';\nvar DEFAULT_CLIENT_KEY = 'client-default-key';\n// default event logging api is Atlassian proxy rather than Statsig's domain, to avoid ad blockers\nvar DEFAULT_EVENT_LOGGING_API = 'https://xp.atlassian.com/v1/';\nexport var Client = /*#__PURE__*/function () {\n function Client() {\n _classCallCheck(this, Client);\n _defineProperty(this, \"initPromise\", null);\n /** True if an initialize method was called and completed successfully. */\n _defineProperty(this, \"initCompleted\", false);\n /**\n * True if an initialize method was called and completed, meaning the client is now usable.\n * However if there was an error during initialization it may have initialized with default\n * values. Use {@link initCompleted} to check for this.\n */\n _defineProperty(this, \"initWithDefaults\", false);\n _defineProperty(this, \"hasCheckGateErrorOccurred\", false);\n _defineProperty(this, \"hasGetExperimentErrorOccurred\", false);\n _defineProperty(this, \"hasGetExperimentValueErrorOccurred\", false);\n _defineProperty(this, \"hasGetLayerErrorOccurred\", false);\n _defineProperty(this, \"hasGetLayerValueErrorOccurred\", false);\n _defineProperty(this, \"subscriptions\", new Subscriptions());\n }\n return _createClass(Client, [{\n key: \"initialize\",\n value: (\n /**\n * @description\n * This method initializes the client using a network call to fetch the bootstrap values.\n * If the client is inialized with an `analyticsWebClient`, it will send an operational event\n * to GASv3 with the following attributes:\n * - targetApp: the target app of the client\n * - clientVersion: the version of the client\n * - success: whether the initialization was successful\n * - startTime: the time when the initialization started\n * - totalTime: the total time it took to initialize the client\n * - apiKey: the api key used to initialize the client\n * @param clientOptions {ClientOptions}\n * @param identifiers {Identifiers}\n * @param customAttributes {CustomAttributes}\n * @returns {Promise<void>}\n */\n function () {\n var _initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(clientOptions, identifiers, customAttributes) {\n var _this = this;\n var clientOptionsWithDefaults, startTime;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n clientOptionsWithDefaults = getOptionsWithDefaults(clientOptions);\n if (!this.initPromise) {\n _context.next = 4;\n break;\n }\n if (!shallowEquals(clientOptionsWithDefaults, this.initOptions)) {\n // eslint-disable-next-line no-console\n console.warn('Feature Gates client already initialized with different options. New options were not applied.');\n }\n return _context.abrupt(\"return\", this.initPromise);\n case 4:\n startTime = performance.now();\n this.initOptions = clientOptionsWithDefaults;\n this.initPromise = this.init(clientOptionsWithDefaults, identifiers, customAttributes).then(function () {\n _this.initCompleted = true;\n _this.initWithDefaults = true;\n }).finally(function () {\n var endTime = performance.now();\n var totalTime = endTime - startTime;\n _this.fireClientEvent(startTime, totalTime, 'initialize', _this.initCompleted, clientOptionsWithDefaults.apiKey);\n });\n return _context.abrupt(\"return\", this.initPromise);\n case 8:\n case \"end\":\n return _context.stop();\n }\n }, _callee, this);\n }));\n function initialize(_x, _x2, _x3) {\n return _initialize.apply(this, arguments);\n }\n return initialize;\n }()\n /**\n * @description\n * This method initializes the client using the provider given to call to fetch the bootstrap values.\n * If the client is initialized with an `analyticsWebClient`, it will send an operational event\n * to GASv3 with the following attributes:\n * - targetApp: the target app of the client\n * - clientVersion: the version of the client\n * - success: whether the initialization was successful\n * - startTime: the time when the initialization started\n * - totalTime: the total time it took to initialize the client\n * - apiKey: the api key used to initialize the client\n * @param clientOptions {ClientOptions}\n * @param provider {Provider}\n * @param identifiers {Identifiers}\n * @param customAttributes {CustomAttributes}\n * @returns {Promise<void>}\n */\n )\n }, {\n key: \"initializeWithProvider\",\n value: (function () {\n var _initializeWithProvider = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(clientOptions, provider, identifiers, customAttributes) {\n var _this2 = this;\n var clientOptionsWithDefaults, startTime;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n clientOptionsWithDefaults = getOptionsWithDefaults(clientOptions);\n if (!this.initPromise) {\n _context2.next = 4;\n break;\n }\n if (!shallowEquals(clientOptionsWithDefaults, this.initOptions)) {\n // eslint-disable-next-line no-console\n console.warn('Feature Gates client already initialized with different options. New options were not applied.');\n }\n return _context2.abrupt(\"return\", this.initPromise);\n case 4:\n startTime = performance.now();\n this.initOptions = clientOptionsWithDefaults;\n this.provider = provider;\n this.provider.setClientVersion(CLIENT_VERSION);\n if (this.provider.setApplyUpdateCallback) {\n this.provider.setApplyUpdateCallback(this.applyUpdateCallback);\n }\n this.initPromise = this.initWithProvider(clientOptionsWithDefaults, provider, identifiers, customAttributes).then(function () {\n _this2.initCompleted = true;\n _this2.initWithDefaults = true;\n }).finally(function () {\n var endTime = performance.now();\n var totalTime = endTime - startTime;\n _this2.fireClientEvent(startTime, totalTime, 'initializeWithProvider', _this2.initCompleted, provider.getApiKey ? provider.getApiKey() : undefined);\n });\n return _context2.abrupt(\"return\", this.initPromise);\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, this);\n }));\n function initializeWithProvider(_x4, _x5, _x6, _x7) {\n return _initializeWithProvider.apply(this, arguments);\n }\n return initializeWithProvider;\n }())\n }, {\n key: \"applyUpdateCallback\",\n value: function applyUpdateCallback(experimentsResult) {\n try {\n if (this.initCompleted || this.initWithDefaults) {\n Statsig.setInitializeValues(experimentsResult.experimentValues);\n this.subscriptions.anyUpdated();\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn('Error when attempting to apply update', error);\n }\n }\n }, {\n key: \"fireClientEvent\",\n value: function fireClientEvent(startTime, totalTime, action, success) {\n var _analyticsWebClient,\n _this3 = this;\n var apiKey = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : undefined;\n (_analyticsWebClient = this.initOptions.analyticsWebClient) === null || _analyticsWebClient === void 0 || _analyticsWebClient.then(function (analyticsWebClient) {\n var attributes = _objectSpread({\n targetApp: _this3.initOptions.targetApp,\n clientVersion: CLIENT_VERSION,\n success: success,\n startTime: startTime,\n totalTime: totalTime\n }, apiKey && {\n apiKey: apiKey\n });\n analyticsWebClient.sendOperationalEvent({\n action: action,\n actionSubject: 'featureGatesClient',\n attributes: attributes,\n tags: ['measurement'],\n source: '@atlaskit/feature-gate-js-client'\n });\n }).catch(function (err) {\n if (_this3.initOptions.environment !== FeatureGateEnvironment.Production) {\n // eslint-disable-next-line no-console\n console.error('Analytics web client promise did not resolve', err);\n }\n });\n }\n }, {\n key: \"initializeFromValues\",\n value: function () {\n var _initializeFromValues = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(clientOptions, identifiers, customAttributes) {\n var _this4 = this;\n var initializeValues,\n clientOptionsWithDefaults,\n startTime,\n _args3 = arguments;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n initializeValues = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : {};\n clientOptionsWithDefaults = getOptionsWithDefaults(clientOptions);\n if (!this.initPromise) {\n _context3.next = 5;\n break;\n }\n if (!shallowEquals(clientOptionsWithDefaults, this.initOptions)) {\n // eslint-disable-next-line no-console\n console.warn('Feature Gates client already initialized with different options. New options were not applied.');\n }\n return _context3.abrupt(\"return\", this.initPromise);\n case 5:\n startTime = performance.now();\n this.initOptions = clientOptionsWithDefaults;\n this.initPromise = this.initFromValues(clientOptionsWithDefaults, identifiers, customAttributes, initializeValues).then(function () {\n _this4.initCompleted = true;\n _this4.initWithDefaults = true;\n }).finally(function () {\n var endTime = performance.now();\n var totalTime = endTime - startTime;\n _this4.fireClientEvent(startTime, totalTime, 'initializeFromValues', _this4.initCompleted);\n });\n return _context3.abrupt(\"return\", this.initPromise);\n case 9:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3, this);\n }));\n function initializeFromValues(_x8, _x9, _x10) {\n return _initializeFromValues.apply(this, arguments);\n }\n return initializeFromValues;\n }()\n /**\n * This method updates the user using a network call to fetch the new set of values.\n * @param fetchOptions {FetcherOptions}\n * @param identifiers {Identifiers}\n * @param customAttributes {CustomAttributes}\n */\n }, {\n key: \"updateUser\",\n value: (function () {\n var _updateUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(fetchOptions, identifiers, customAttributes) {\n var fetchOptionsWithDefaults, initializeValuesProducer;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n fetchOptionsWithDefaults = getOptionsWithDefaults(fetchOptions);\n initializeValuesProducer = function initializeValuesProducer() {\n return Fetcher.fetchExperimentValues(fetchOptionsWithDefaults, identifiers, customAttributes).then(function (_ref) {\n var experimentValues = _ref.experimentValues,\n customAttributes = _ref.customAttributes;\n return {\n experimentValues: experimentValues,\n customAttributesFromFetch: customAttributes\n };\n });\n };\n _context4.next = 4;\n return this.updateUserUsingInitializeValuesProducer(initializeValuesProducer, identifiers, customAttributes);\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4, this);\n }));\n function updateUser(_x11, _x12, _x13) {\n return _updateUser.apply(this, arguments);\n }\n return updateUser;\n }()\n /**\n * This method updates the user using the provider given on initialisation to get the new set of\n * values.\n * @param identifiers {Identifiers}\n * @param customAttributes {CustomAttributes}\n */\n )\n }, {\n key: \"updateUserWithProvider\",\n value: (function () {\n var _updateUserWithProvider = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(identifiers, customAttributes) {\n var _this5 = this;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n if (this.provider) {\n _context5.next = 2;\n break;\n }\n throw new Error('Cannot update user using provider as the client was not initialised with a provider');\n case 2:\n _context5.next = 4;\n return this.provider.setProfile(this.initOptions, identifiers, customAttributes);\n case 4:\n _context5.next = 6;\n return this.updateUserUsingInitializeValuesProducer(function () {\n return _this5.provider.getExperimentValues();\n }, identifiers, customAttributes);\n case 6:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5, this);\n }));\n function updateUserWithProvider(_x14, _x15) {\n return _updateUserWithProvider.apply(this, arguments);\n }\n return updateUserWithProvider;\n }()\n /**\n * This method updates the user given a new set of bootstrap values obtained from one of the\n * server-side SDKs.\n *\n * @param identifiers {Identifiers}\n * @param customAttributes {CustomAttributes}\n * @param initializeValues {Record<string,unknown>}\n */\n )\n }, {\n key: \"updateUserWithValues\",\n value: (function () {\n var _updateUserWithValues = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(identifiers, customAttributes) {\n var initializeValues,\n initializeValuesProducer,\n _args6 = arguments;\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) switch (_context6.prev = _context6.next) {\n case 0:\n initializeValues = _args6.length > 2 && _args6[2] !== undefined ? _args6[2] : {};\n initializeValuesProducer = function initializeValuesProducer() {\n return Promise.resolve({\n experimentValues: initializeValues,\n customAttributesFromFetch: customAttributes\n });\n };\n _context6.next = 4;\n return this.updateUserUsingInitializeValuesProducer(initializeValuesProducer, identifiers, customAttributes);\n case 4:\n case \"end\":\n return _context6.stop();\n }\n }, _callee6, this);\n }));\n function updateUserWithValues(_x16, _x17) {\n return _updateUserWithValues.apply(this, arguments);\n }\n return updateUserWithValues;\n }())\n }, {\n key: \"initializeCalled\",\n value: function initializeCalled() {\n return this.initPromise != null;\n }\n }, {\n key: \"initializeCompleted\",\n value: function initializeCompleted() {\n return this.initCompleted;\n }\n\n /**\n * Returns the value for a feature gate. Returns false if there are errors.\n * @param {string} gateName - The name of the feature gate.\n * @param {Object} options\n * @param {boolean} options.fireGateExposure\n * Whether or not to fire the exposure event for the gate. Defaults to true.\n * To log an exposure event manually at a later time, use {@link Client.manuallyLogGateExposure}\n * (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-)).\n */\n }, {\n key: \"checkGate\",\n value: function checkGate(gateName) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n try {\n var _options$fireGateExpo = options.fireGateExposure,\n fireGateExposure = _options$fireGateExpo === void 0 ? true : _options$fireGateExpo;\n var evalMethod = fireGateExposure ? Statsig.checkGate.bind(Statsig) : Statsig.checkGateWithExposureLoggingDisabled.bind(Statsig);\n return evalMethod(gateName);\n } catch (error) {\n // Log the first occurrence of the error\n if (!this.hasCheckGateErrorOccurred) {\n // eslint-disable-next-line no-console\n console.warn({\n msg: 'An error has occurred checking the feature gate. Only the first occurrence of this error is logged.',\n gateName: gateName,\n error: error\n });\n this.hasCheckGateErrorOccurred = true;\n }\n return false;\n }\n }\n }, {\n key: \"isGateExist\",\n value: function isGateExist(gateName) {\n try {\n // @ts-expect-error TS2341: Property _getClientX is private and only accessible within class Statsi\n var gate = Statsig._getClientX()._getGateFromStore(gateName);\n return gate.evaluationDetails.reason !== EvaluationReason.Unrecognized;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Error occurred when trying to check FeatureGate: \".concat(error));\n // in case of error report true to avoid false positives.\n return true;\n }\n }\n }, {\n key: \"isExperimentExist\",\n value: function isExperimentExist(experimentName) {\n try {\n var config = Statsig.getExperimentWithExposureLoggingDisabled(experimentName);\n return config._evaluationDetails.reason !== EvaluationReason.Unrecognized;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Error occurred when trying to check Experiment: \".concat(error));\n // in case of error report true to avoid false positives.\n return true;\n }\n }\n\n /**\n * Manually log a gate exposure (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-)).\n * This is useful if you have evaluated a gate earlier via {@link Client.checkGate} where\n * <code>options.fireGateExposure</code> is false.\n * @param gateName\n */\n }, {\n key: \"manuallyLogGateExposure\",\n value: function manuallyLogGateExposure(gateName) {\n Statsig.manuallyLogGateExposure(gateName);\n }\n\n /**\n * Returns the entire config for a given experiment.\n *\n * @param {string} experimentName - The name of the experiment\n * @param {Object} options\n * @param {boolean} options.fireExperimentExposure - Whether or not to fire the exposure event\n * for the experiment. Defaults to true. To log an exposure event manually at a later time, use\n * {@link Client.manuallyLogExperimentExposure} (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-)).\n * @returns The config for an experiment\n * @example\n * ```ts\n * const experimentConfig = client.getExperiment('example-experiment-name');\n * const backgroundColor: string = experimentConfig.get('backgroundColor', 'yellow');\n * ```\n */\n }, {\n key: \"getExperiment\",\n value: function getExperiment(experimentName) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n try {\n var _options$fireExperime = options.fireExperimentExposure,\n fireExperimentExposure = _options$fireExperime === void 0 ? true : _options$fireExperime;\n var evalMethod = fireExperimentExposure ? Statsig.getExperiment.bind(Statsig) : Statsig.getExperimentWithExposureLoggingDisabled.bind(Statsig);\n return evalMethod(experimentName);\n } catch (error) {\n // Log the first occurrence of the error\n if (!this.hasGetExperimentErrorOccurred) {\n // eslint-disable-next-line no-console\n console.warn({\n msg: 'An error has occurred getting the experiment. Only the first occurrence of this error is logged.',\n experimentName: experimentName,\n error: error\n });\n this.hasGetExperimentErrorOccurred = true;\n }\n\n // Return a default value\n return new DynamicConfig(experimentName, {}, '', {\n time: Date.now(),\n reason: EvaluationReason.Error\n });\n }\n }\n\n /**\n * Returns the value of a given parameter in an experiment config.\n *\n * @template T\n * @param {string} experimentName - The name of the experiment\n * @param {string} parameterName - The name of the parameter to fetch from the experiment config\n * @param {T} defaultValue - The value to serve if the experiment or parameter do not exist, or\n * if the returned value does not match the expected type.\n * @param {Object} options\n * @param {boolean} options.fireExperimentExposure - Whether or not to fire the exposure event\n * for the experiment. Defaults to true. To log an exposure event manually at a later time, use\n * {@link Client.manuallyLogExperimentExposure} (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-))\n * @param {function} options.typeGuard - A function that asserts that the return value has the\n * expected type. If this function returns false, then the default value will be returned\n * instead. This can be set to protect your code from unexpected values being set remotely. By\n * default, this will be done by asserting that the default value and value are the same primitive\n * type.\n * @returns The value of the parameter if the experiment and parameter both exist, otherwise the\n * default value.\n * @example\n ``` ts\n type ValidColor = 'blue' | 'red' | 'yellow';\n type ValidColorTypeCheck = (value: unknown) => value is ValidColor;\n const isValidColor: ValidColorTypeCheck =\n (value: unknown) => typeof value === 'string' && ['blue', 'red', 'yellow'].includes(value);\n const buttonColor: ValidColor = client.getExperimentValue(\n 'example-experiment-name',\n 'backgroundColor',\n 'yellow',\n {\n typeGuard: isValidColor\n }\n );\n ```\n */\n }, {\n key: \"getExperimentValue\",\n value: function getExperimentValue(experimentName, parameterName, defaultValue) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var experiment = this.getExperiment(experimentName, options);\n try {\n var typeGuard = options.typeGuard;\n return experiment.get(parameterName, defaultValue, typeGuard);\n } catch (error) {\n // Log the first occurrence of the error\n if (!this.hasGetExperimentValueErrorOccurred) {\n // eslint-disable-next-line no-console\n console.warn({\n msg: 'An error has occurred getting the experiment value. Only the first occurrence of this error is logged.',\n experimentName: experimentName,\n defaultValue: defaultValue,\n options: options,\n error: error\n });\n this.hasGetExperimentValueErrorOccurred = true;\n }\n return defaultValue;\n }\n }\n\n /**\n * Manually log an experiment exposure (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-)).\n * This is useful if you have evaluated an experiment earlier via {@link Client.getExperimentValue} or\n * {@link Client.getExperiment} where <code>options.fireExperimentExposure</code> is false.\n * @param experimentName\n */\n }, {\n key: \"manuallyLogExperimentExposure\",\n value: function manuallyLogExperimentExposure(experimentName) {\n Statsig.manuallyLogExperimentExposure(experimentName);\n }\n\n /**\n * Manually log a layer exposure (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-)).\n * This is useful if you have evaluated a layer earlier via {@link Client.getLayerValue} where <code>options.fireExperimentExposure</code> is false.\n * @param layerName\n * @param parameterName\n */\n }, {\n key: \"manuallyLogLayerExposure\",\n value: function manuallyLogLayerExposure(layerName, parameterName) {\n Statsig.manuallyLogLayerParameterExposure(layerName, parameterName);\n }\n }, {\n key: \"shutdownStatsig\",\n value: function shutdownStatsig() {\n Statsig.shutdown();\n }\n\n /**\n * Adds a new override for the given gate.\n *\n * This method is additive, meaning you can call it multiple times with different gate names to\n * build your full set of overrides.\n *\n * Overrides are persisted to the `STATSIG_JS_LITE_LOCAL_OVERRIDES` key in localStorage, so they\n * will continue to affect every client that is initialized on the same domain after this method\n * is called. If you are using this API for testing purposes, you should call\n * {@link Client.clearGateOverride} after your tests are completed to remove this\n * localStorage entry.\n *\n * @param {string} gateName\n * @param {boolean} value\n */\n }, {\n key: \"overrideGate\",\n value: function overrideGate(gateName, value) {\n Statsig.overrideGate(gateName, value);\n this.subscriptions.anyUpdated();\n }\n\n /**\n * Removes any overrides that have been set for the given gate.\n */\n }, {\n key: \"clearGateOverride\",\n value: function clearGateOverride(gateName) {\n Statsig.overrideGate(gateName, null);\n this.subscriptions.anyUpdated();\n }\n\n /**\n * Adds a new override for the given config (or experiment).\n *\n * This method is additive, meaning you can call it multiple times with different experiment\n * names to build your full set of overrides.\n *\n * Overrides are persisted to the `STATSIG_JS_LITE_LOCAL_OVERRIDES` key in localStorage, so they\n * will continue to affect every client that is initialized on the same domain after this method\n * is called. If you are using this API for testing purposes, you should call\n * {@link Client.clearConfigOverride} after your tests are completed to remove this\n * localStorage entry.\n *\n * @param {string} experimentName\n * @param {object} values\n */\n }, {\n key: \"overrideConfig\",\n value: function overrideConfig(experimentName, values) {\n Statsig.overrideConfig(experimentName, values);\n this.subscriptions.anyUpdated();\n }\n\n /**\n * Removes any overrides that have been set for the given experiment.\n * @param {string} experimentName\n */\n }, {\n key: \"clearConfigOverride\",\n value: function clearConfigOverride(experimentName) {\n Statsig.overrideConfig(experimentName, null);\n this.subscriptions.anyUpdated();\n }\n\n /**\n * Set overrides for gates, experiments and layers in batch.\n *\n * Note that these overrides are **not** additive and will completely replace any that have been\n * added via prior calls to {@link Client.overrideConfig} or\n * {@link Client.overrideGate}.\n *\n * Overrides are persisted to the `STATSIG_JS_LITE_LOCAL_OVERRIDES` key in localStorage, so they\n * will continue to affect every client that is initialized on the same domain after this method\n * is called. If you are using this API for testing purposes, you should call\n * {@link Client.clearAllOverrides} after your tests are completed to remove this\n * localStorage entry.\n */\n }, {\n key: \"setOverrides\",\n value: function setOverrides(overrides) {\n Statsig.setOverrides(_objectSpread({\n gates: {},\n configs: {},\n layers: {}\n }, overrides));\n this.subscriptions.anyUpdated();\n }\n\n /**\n * @returns The current overrides for gates, configs (including experiments) and layers.\n */\n }, {\n key: \"getOverrides\",\n value: function getOverrides() {\n return Statsig.getOverrides();\n }\n\n /**\n * Clears overrides for all gates, configs (including experiments) and layers.\n */\n }, {\n key: \"clearAllOverrides\",\n value: function clearAllOverrides() {\n Statsig.setOverrides(null);\n this.subscriptions.anyUpdated();\n }\n\n /**\n * Returns whether the given identifiers and customAttributes align with the current\n * set that is being used by the client.\n *\n * If this method returns false, then the {@link Client.updateUser},\n * {@link Client.updateUserWithValues} or {@link Client.updateUserWithProvider}\n * methods can be used to re-align these values.\n *\n * @param identifiers\n * @param customAttributes\n * @returns a flag indicating whether the clients current configuration aligns with the given values\n */\n }, {\n key: \"isCurrentUser\",\n value: function isCurrentUser(identifiers, customAttributes) {\n return shallowEquals(this.currentIdentifiers, identifiers) && shallowEquals(this.currentAttributes, customAttributes);\n }\n\n /**\n * Subscribe to updates where the given callback will be called with the current checkGate value\n * @param gateName\n * @param callback\n * @param options\n * @returns off function to unsubscribe from updates\n */\n }, {\n key: \"onGateUpdated\",\n value: function onGateUpdated(gateName, callback) {\n var _this6 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var wrapCallback = function wrapCallback(value) {\n var _options$fireGateExpo2 = options.fireGateExposure,\n fireGateExposure = _options$fireGateExpo2 === void 0 ? true : _options$fireGateExpo2;\n if (fireGateExposure) {\n _this6.manuallyLogGateExposure(gateName);\n }\n try {\n callback(value);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn(\"Error calling callback for gate \".concat(gateName, \" with value \").concat(value), error);\n }\n };\n return this.subscriptions.onGateUpdated(gateName, wrapCallback, this.checkGate.bind(this), options);\n }\n\n /**\n * Subscribe to updates where the given callback will be called with the current experiment value\n * @param experimentName\n * @param parameterName\n * @param defaultValue\n * @param callback\n * @param options\n * @returns off function to unsubscribe from updates\n */\n }, {\n key: \"onExperimentValueUpdated\",\n value: function onExperimentValueUpdated(experimentName, parameterName, defaultValue, callback) {\n var _this7 = this;\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\n var wrapCallback = function wrapCallback(value) {\n var _options$fireExperime2 = options.fireExperimentExposure,\n fireExperimentExposure = _options$fireExperime2 === void 0 ? true : _options$fireExperime2;\n if (fireExperimentExposure) {\n _this7.manuallyLogExperimentExposure(experimentName);\n }\n try {\n callback(value);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn(\"Error calling callback for experiment \".concat(experimentName, \" with value \").concat(value), error);\n }\n };\n return this.subscriptions.onExperimentValueUpdated(experimentName, parameterName, defaultValue, wrapCallback, this.getExperimentValue, options);\n }\n\n /**\n * Subscribe so on any update the callback will be called.\n * NOTE: The callback will be called whenever the values are updated even if the values have not\n * changed.\n * @param callback\n * @returns off function to unsubscribe from updates\n */\n }, {\n key: \"onAnyUpdated\",\n value: function onAnyUpdated(callback) {\n return this.subscriptions.onAnyUpdated(callback);\n }\n\n /**\n * This method initializes the client using a network call to fetch the bootstrap values for the\n * given user.\n *\n * @param clientOptions\n * @param identifiers\n * @param customAttributes\n * @private\n */\n }, {\n key: \"init\",\n value: (function () {\n var _init = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7(clientOptions, identifiers, customAttributes) {\n var fromValuesClientOptions, experimentValues, customAttributesFromResult, clientSdkKeyPromise, experimentValuesPromise, _yield$Promise$all, _yield$Promise$all2, experimentValuesResult;\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) switch (_context7.prev = _context7.next) {\n case 0:\n fromValuesClientOptions = _objectSpread({}, clientOptions);\n _context7.prev = 1;\n // If client sdk key fetch fails, an error would be thrown and handled instead of waiting for\n // the experiment values request to be settled, and it will fall back to use default values.\n clientSdkKeyPromise = Fetcher.fetchClientSdk(clientOptions).then(function (value) {\n return fromValuesClientOptions.sdkKey = value.clientSdkKey;\n });\n experimentValuesPromise = Fetcher.fetchExperimentValues(clientOptions, identifiers, customAttributes); // Only wait for the experiment values request to finish and try to initialise the client\n // with experiment values if both requests are successful. Else an error would be thrown and\n // handled by the catch\n _context7.next = 6;\n return Promise.all([clientSdkKeyPromise, experimentValuesPromise]);\n case 6:\n _yield$Promise$all = _context7.sent;\n _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);\n experimentValuesResult = _yield$Promise$all2[1];\n experimentValues = experimentValuesResult.experimentValues;\n customAttributesFromResult = experimentValuesResult.customAttributes;\n _context7.next = 20;\n break;\n case 13:\n _context7.prev = 13;\n _context7.t0 = _context7[\"catch\"](1);\n if (_context7.t0 instanceof Error) {\n // eslint-disable-next-line no-console\n console.error(\"Error occurred when trying to fetch the Feature Gates client values, error: \".concat(_context7.t0 === null || _context7.t0 === void 0 ? void 0 : _context7.t0.message));\n }\n // eslint-disable-next-line no-console\n console.warn(\"Initialising Statsig client without values\");\n _context7.next = 19;\n return this.initFromValues(fromValuesClientOptions, identifiers, customAttributes);\n case 19:\n throw _context7.t0;\n case 20:\n return _context7.abrupt(\"return\", this.initFromValues(fromValuesClientOptions, identifiers, customAttributesFromResult, experimentValues));\n case 21:\n case \"end\":\n return _context7.stop();\n }\n }, _callee7, this, [[1, 13]]);\n }));\n function init(_x18, _x19, _x20) {\n return _init.apply(this, arguments);\n }\n return init;\n }())\n }, {\n key: \"initWithProvider\",\n value: function () {\n var _initWithProvider = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8(baseClientOptions, provider, identifiers, customAttributes) {\n var fromValuesClientOptions, experimentValues, customAttributesFromResult, clientSdkKeyPromise, experimentValuesPromise, _yield$Promise$all3, _yield$Promise$all4, experimentValuesResult;\n return _regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) switch (_context8.prev = _context8.next) {\n case 0:\n fromValuesClientOptions = _objectSpread(_objectSpread({}, baseClientOptions), {}, {\n disableCurrentPageLogging: true\n });\n _context8.prev = 1;\n _context8.next = 4;\n return provider.setProfile(baseClientOptions, identifiers, customAttributes);\n case 4:\n // If client sdk key fetch fails, an error would be thrown and handled instead of waiting for\n // the experiment values request to be settled, and it will fall back to use default values.\n clientSdkKeyPromise = provider.getClientSdkKey().then(function (value) {\n return fromValuesClientOptions.sdkKey = value;\n });\n experimentValuesPromise = provider.getExperimentValues(); // Only wait for the experiment values request to finish and try to initialise the client\n // with experiment values if both requests are successful. Else an error would be thrown and\n // handled by the catch\n _context8.next = 8;\n return Promise.all([clientSdkKeyPromise, experimentValuesPromise]);\n case 8:\n _yield$Promise$all3 = _context8.sent;\n _yield$Promise$all4 = _slicedToArray(_yield$Promise$all3, 2);\n experimentValuesResult = _yield$Promise$all4[1];\n experimentValues = experimentValuesResult.experimentValues;\n customAttributesFromResult = experimentValuesResult.customAttributesFromFetch;\n _context8.next = 22;\n break;\n case 15:\n _context8.prev = 15;\n _context8.t0 = _context8[\"catch\"](1);\n if (_context8.t0 instanceof Error) {\n // eslint-disable-next-line no-console\n console.error(\"Error occurred when trying to fetch the Feature Gates client values, error: \".concat(_context8.t0 === null || _context8.t0 === void 0 ? void 0 : _context8.t0.message));\n }\n // eslint-disable-next-line no-console\n console.warn(\"Initialising Statsig client without values\");\n _context8.next = 21;\n return this.initFromValues(fromValuesClientOptions, identifiers, customAttributes);\n case 21:\n throw _context8.t0;\n case 22:\n return _context8.abrupt(\"return\", this.initFromValues(fromValuesClientOptions, identifiers, customAttributesFromResult, experimentValues));\n case 23:\n case \"end\":\n return _context8.stop();\n }\n }, _callee8, this, [[1, 15]]);\n }));\n function initWithProvider(_x21, _x22, _x23, _x24) {\n return _initWithProvider.apply(this, arguments);\n }\n return initWithProvider;\n }()\n /**\n * This method initializes the client using a set of boostrap values obtained from one of the\n * server-side SDKs.\n *\n * @param clientOptions\n * @param identifiers\n * @param customAttributes\n * @param initializeValues\n * @private\n */\n }, {\n key: \"initFromValues\",\n value: (function () {\n var _initFromValues = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9(clientOptions, identifiers, customAttributes) {\n var initializeValues,\n user,\n sdkKey,\n statsigOptions,\n _args9 = arguments;\n return _regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) switch (_context9.prev = _context9.next) {\n case 0:\n initializeValues = _args9.length > 3 && _args9[3] !== undefined ? _args9[3] : {};\n user = toStatsigUser(identifiers, customAttributes);\n this.currentIdentifiers = identifiers;\n this.currentAttributes = customAttributes;\n if (!clientOptions.sdkKey) {\n clientOptions.sdkKey = DEFAULT_CLIENT_KEY;\n }\n if (!clientOptions.eventLoggingApi) {\n clientOptions.eventLoggingApi = DEFAULT_EVENT_LOGGING_API;\n }\n if (clientOptions.perimeter === PerimeterType.FEDRAMP_MODERATE) {\n // disable all logging in FedRAMP to prevent egress of sensitive data\n clientOptions.disableAllLogging = true;\n }\n sdkKey = clientOptions.sdkKey;\n statsigOptions = toStatsigOptions(clientOptions, initializeValues);\n _context9.prev = 9;\n _context9.next = 12;\n return Statsig.initialize(sdkKey, user, statsigOptions);\n case 12:\n _context9.next = 22;\n break;\n case 14:\n _context9.prev = 14;\n _context9.t0 = _context9[\"catch\"](9);\n if (_context9.t0 instanceof Error) {\n // eslint-disable-next-line no-console\n console.error(\"Error occurred when trying to initialise the Statsig client, error: \".concat(_context9.t0 === null || _context9.t0 === void 0 ? void 0 : _context9.t0.message));\n }\n // eslint-disable-next-line no-console\n console.warn(\"Initialising Statsig client with default sdk key and without values\");\n _context9.next = 20;\n return Statsig.initialize(DEFAULT_CLIENT_KEY, user, _objectSpread(_objectSpread({}, statsigOptions), {}, {\n initializeValues: {}\n }));\n case 20:\n this.initWithDefaults = true;\n throw _context9.t0;\n case 22:\n case \"end\":\n return _context9.stop();\n }\n }, _callee9, this, [[9, 14]]);\n }));\n function initFromValues(_x25, _x26, _x27) {\n return _initFromValues.apply(this, arguments);\n }\n return initFromValues;\n }()\n /**\n * This method updates the user for this client with the bootstrap values returned from a given\n * Promise.\n * It uses the customAttributes from fetching experiment values to update the Statsig user but\n * uses the customAttributes from given input to check if the user has changed.\n *\n * @param {Identifiers} identifiers\n * @param {CustomAttributes} customAttributes\n * @param {Promise<InitializeValues>} getInitializeValues\n * @private\n */\n )\n }, {\n key: \"updateUserUsingInitializeValuesProducer\",\n value: (function () {\n var _updateUserUsingInitializeValuesProducer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11(getInitializeValues, identifiers, customAttributes) {\n var _this8 = this;\n var originalInitPromise, initializeValuesPromise, updateUserPromise;\n return _regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) switch (_context11.prev = _context11.next) {\n case 0:\n if (this.initPromise) {\n _context11.next = 2;\n break;\n }\n throw new Error('The client must be initialized before you can update the user.');\n case 2:\n if (!this.isCurrentUser(identifiers, customAttributes)) {\n _context11.next = 4;\n break;\n }\n return _context11.abrupt(\"return\", this.initPromise);\n case 4:\n // Wait for the current initialize/update to finish\n originalInitPromise = this.initPromise;\n _context11.prev = 5;\n _context11.next = 8;\n return this.initPromise;\n case 8:\n _context11.next = 12;\n break;\n case 10:\n _context11.prev = 10;\n _context11.t0 = _context11[\"catch\"](5);\n case 12:\n initializeValuesPromise = getInitializeValues();\n updateUserPromise = this.updateStatsigClientUser(initializeValuesPromise, identifiers, customAttributes); // We replace the init promise here since we are essentially re-initializing the client at this\n // point. Any subsequent calls to await client.initialize() or client.updateUser()\n // will now also await this user update.\n this.initPromise = updateUserPromise.catch( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10() {\n return _regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) switch (_context10.prev = _context10.next) {\n case 0:\n // If the update failed then it changed nothing, so revert back to the original promise.\n _this8.initPromise = originalInitPromise;\n\n // Set the user profile again to revert back to the current user\n if (!_this8.provider) {\n _context10.next = 4;\n break;\n }\n _context10.next = 4;\n return _this8.provider.setProfile(_this8.initOptions, _this8.currentIdentifiers, _this8.currentAttributes);\n case 4:\n case \"end\":\n return _context10.stop();\n }\n }, _callee10);\n })));\n return _context11.abrupt(\"return\", updateUserPromise);\n case 16:\n case \"end\":\n return _context11.stop();\n }\n }, _callee11, this, [[5, 10]]);\n }));\n function updateUserUsingInitializeValuesProducer(_x28, _x29, _x30) {\n return _updateUserUsingInitializeValuesProducer.apply(this, arguments);\n }\n return updateUserUsingInitializeValuesProducer;\n }()\n /**\n * This method updates the user on the nested Statsig client\n *\n * @param identifiers\n * @param customAttributes\n * @param initializeValuesPromise\n * @private\n */\n )\n }, {\n key: \"updateStatsigClientUser\",\n value: (function () {\n var _updateStatsigClientUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee12(initializeValuesPromise, identifiers, customAttributes) {\n var initializeValues, user, _updateUserCompletion, _ref3, errMsg, success;\n return _regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) switch (_context12.prev = _context12.next) {\n case 0:\n _context12.prev = 0;\n _context12.next = 3;\n return initializeValuesPromise;\n case 3:\n initializeValues = _context12.sent;\n user = toStatsigUser(identifiers, initializeValues.customAttributesFromFetch);\n _context12.next = 12;\n break;\n case 7:\n _context12.prev = 7;\n _context12.t0 = _context12[\"catch\"](0);\n // Make sure the updateUserCompletionCallback is called for any errors in our custom code.\n // This is not necessary for the updateUserWithValues call, because the Statsig client will\n // already invoke the callback itself.\n errMsg = _context12.t0 instanceof Error ? _context12.t0.message : JSON.stringify(_context12.t0);\n (_updateUserCompletion = (_ref3 = this.initOptions).updateUserCompletionCallback) === null || _updateUserCompletion === void 0 || _updateUserCompletion.call(_ref3, false, errMsg);\n throw _context12.t0;\n case 12:\n success = Statsig.updateUserWithValues(user, initializeValues.experimentValues);\n if (!success) {\n _context12.next = 19;\n break;\n }\n this.currentIdentifiers = identifiers;\n this.currentAttributes = customAttributes;\n this.subscriptions.anyUpdated();\n _context12.next = 20;\n break;\n case 19:\n throw new Error('Failed to update user. An unexpected error occured.');\n case 20:\n case \"end\":\n return _context12.stop();\n }\n }, _callee12, this, [[0, 7]]);\n }));\n function updateStatsigClientUser(_x31, _x32, _x33) {\n return _updateStatsigClientUser.apply(this, arguments);\n }\n return updateStatsigClientUser;\n }()\n /**\n * @returns string version of the current package in semver style.\n */\n )\n }, {\n key: \"getPackageVersion\",\n value: function getPackageVersion() {\n return CLIENT_VERSION;\n }\n\n /**\n * Returns a specified layer otherwise returns an empty layer as a default value if the layer doesn't exist.\n *\n * @param {string} layerName - The name of the layer\n * @param {Object} options\n * @param {boolean} options.fireLayerExposure - Whether or not to fire the exposure event for the\n * layer. Defaults to true. To log an exposure event manually at a later time, use\n * {@link Client.manuallyLogLayerExposure} (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-)).\n * @returns A layer\n * @example\n * ```ts\n * const layer = client.getLayer('example-layer-name');\n * const exampletitle: string = layer.get(\"title\", \"Welcome to Statsig!\");\n * ```\n */\n }, {\n key: \"getLayer\",\n value: function getLayer( /** The name of the layer */\n layerName) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n try {\n var _options$fireLayerExp = options.fireLayerExposure,\n fireLayerExposure = _options$fireLayerExp === void 0 ? true : _options$fireLayerExp;\n var evalMethod = fireLayerExposure ? Statsig.getLayer.bind(Statsig) : Statsig.getLayerWithExposureLoggingDisabled.bind(Statsig);\n return evalMethod(layerName);\n } catch (error) {\n // Log the first occurrence of the error\n if (!this.hasGetLayerErrorOccurred) {\n // eslint-disable-next-line no-console\n console.warn({\n msg: 'An error has occurred getting the layer. Only the first occurrence of this error is logged.',\n layerName: layerName,\n error: error\n });\n this.hasGetLayerErrorOccurred = true;\n }\n\n // Return a default value\n return Layer._create(layerName, {}, '', {\n time: Date.now(),\n reason: EvaluationReason.Error\n });\n }\n }\n\n /**\n * Returns the value of a given parameter in a layer config.\n *\n * @template T\n * @param {string} layerName - The name of the layer\n * @param {string} parameterName - The name of the parameter to fetch from the layer config\n * @param {T} defaultValue - The value to serve if the layer or parameter do not exist, or if the\n * returned value does not match the expected type.\n * @param {Object} options\n * @param {boolean} options.fireLayerExposure - Whether or not to fire the exposure event for the\n * layer. Defaults to true. To log an exposure event manually at a later time, use\n * {@link Client.manuallyLogLayerExposure} (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-))\n * @param {function} options.typeGuard - A function that asserts that the return value has the expected type. If this function returns false, then the default value will be returned instead. This can be set to protect your code from unexpected values being set remotely. By default, this will be done by asserting that the default value and value are the same primitive type.\n * @returns The value of the parameter if the layer and parameter both exist, otherwise the default value.\n * @example\n * ``` ts\n * type ValidColor = 'blue' | 'red' | 'yellow';\n * type ValidColorTypeCheck = (value: unknown) => value is ValidColor;\n *\n * const isValidColor: ValidColorTypeCheck =\n * (value: unknown) => typeof value === 'string' && ['blue', 'red', 'yellow'].includes(value);\n *\n * const buttonColor: ValidColor = client.getLayerValue(\n * 'example-layer-name',\n * 'backgroundColor',\n * 'yellow',\n * {\n * typeGuard: isValidColor\n * }\n * );\n * ```\n */\n }, {\n key: \"getLayerValue\",\n value: function getLayerValue(layerName, parameterName, defaultValue) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var layer = this.getLayer(layerName, options);\n try {\n var typeGuard = options.typeGuard;\n return layer.get(parameterName, defaultValue, typeGuard);\n } catch (error) {\n // Log the first occurrence of the error\n if (!this.hasGetLayerValueErrorOccurred) {\n // eslint-disable-next-line no-console\n console.warn({\n msg: 'An error has occurred getting the layer value. Only the first occurrence of this error is logged.',\n layerName: layerName,\n defaultValue: defaultValue,\n options: options,\n error: error\n });\n this.hasGetLayerValueErrorOccurred = true;\n }\n return defaultValue;\n }\n }\n }]);\n}();","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _FeatureGates;\nimport { Client } from './Client';\nimport { CLIENT_VERSION } from './version';\nexport { DynamicConfig, EvaluationReason } from 'statsig-js-lite';\nexport { FeatureGateEnvironment, PerimeterType } from './types';\nexport { CLIENT_VERSION } from './version';\n/**\n * Access the FeatureGates object via the default export.\n * ```ts\n * import FeatureGates from '@atlaskit/feature-gate-js-client';\n * ```\n */\nvar FeatureGates = /*#__PURE__*/function () {\n function FeatureGates() {\n _classCallCheck(this, FeatureGates);\n }\n return _createClass(FeatureGates, null, [{\n key: \"isGateExists\",\n value: function isGateExists(gateName) {\n return this.client.isGateExist(gateName);\n }\n }, {\n key: \"isExperimentExists\",\n value: function isExperimentExists(experimentName) {\n return this.client.isExperimentExist(experimentName);\n }\n }]);\n}();\n_FeatureGates = FeatureGates;\n_defineProperty(FeatureGates, \"client\", new Client());\n_defineProperty(FeatureGates, \"hasCheckGateErrorOccurred\", false);\n_defineProperty(FeatureGates, \"hasGetExperimentValueErrorOccurred\", false);\n_defineProperty(FeatureGates, \"checkGate\", function (gateName, options) {\n try {\n // Check if the CRITERION override mechanism is available\n if (window && window.__CRITERION__ && typeof window.__CRITERION__.getFeatureFlagOverride === 'function') {\n // Attempt to retrieve an override value for the feature gate\n var overrideValue = window.__CRITERION__.getFeatureFlagOverride(gateName);\n // If an override value is found, return it immediately\n if (overrideValue !== undefined) {\n return overrideValue;\n }\n }\n } catch (error) {\n // Log the first occurrence of the error\n if (!_FeatureGates.hasCheckGateErrorOccurred) {\n // eslint-disable-next-line no-console\n console.warn({\n msg: 'An error has occurred checking the feature gate from criterion override. Only the first occurrence of this error is logged.',\n gateName: gateName,\n error: error\n });\n _FeatureGates.hasCheckGateErrorOccurred = true;\n }\n }\n\n // Proceed with the main logic if no override is found\n return _FeatureGates.client.checkGate(gateName, options);\n});\n_defineProperty(FeatureGates, \"getExperimentValue\", function (experimentName, parameterName, defaultValue, options) {\n try {\n // Check if the CRITERION override mechanism is available\n if (typeof window !== 'undefined' && window.__CRITERION__ && typeof window.__CRITERION__.getExperimentValueOverride === 'function') {\n var overrideValue = window.__CRITERION__.getExperimentValueOverride(experimentName, parameterName);\n if (overrideValue !== undefined && overrideValue !== null) {\n return overrideValue;\n }\n }\n } catch (error) {\n // Log the first occurrence of the error\n if (!_FeatureGates.hasCheckGateErrorOccurred) {\n // Log the first occurrence of the error\n if (!_FeatureGates.hasGetExperimentValueErrorOccurred) {\n // eslint-disable-next-line no-console\n console.warn({\n msg: 'An error has occurred getting the experiment value from criterion override. Only the first occurrence of this error is logged.',\n experimentName: experimentName,\n defaultValue: defaultValue,\n options: options,\n error: error\n });\n _FeatureGates.hasGetExperimentValueErrorOccurred = true;\n }\n return defaultValue;\n }\n }\n\n // Proceed with the main logic if no override is found\n return _FeatureGates.client.getExperimentValue(experimentName, parameterName, defaultValue, options);\n});\n_defineProperty(FeatureGates, \"initializeCalled\", _FeatureGates.client.initializeCalled.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"initializeCompleted\", _FeatureGates.client.initializeCompleted.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"initialize\", _FeatureGates.client.initialize.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"initializeWithProvider\", _FeatureGates.client.initializeWithProvider.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"initializeFromValues\", _FeatureGates.client.initializeFromValues.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"manuallyLogGateExposure\", _FeatureGates.client.manuallyLogGateExposure.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"getExperiment\", _FeatureGates.client.getExperiment.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"manuallyLogExperimentExposure\", _FeatureGates.client.manuallyLogExperimentExposure.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"manuallyLogLayerExposure\", _FeatureGates.client.manuallyLogLayerExposure.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"shutdownStatsig\", _FeatureGates.client.shutdownStatsig.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"overrideGate\", _FeatureGates.client.overrideGate.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"clearGateOverride\", _FeatureGates.client.clearGateOverride.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"overrideConfig\", _FeatureGates.client.overrideConfig.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"clearConfigOverride\", _FeatureGates.client.clearConfigOverride.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"setOverrides\", _FeatureGates.client.setOverrides.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"getOverrides\", _FeatureGates.client.getOverrides.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"clearAllOverrides\", _FeatureGates.client.clearAllOverrides.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"isCurrentUser\", _FeatureGates.client.isCurrentUser.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"onGateUpdated\", _FeatureGates.client.onGateUpdated.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"onExperimentValueUpdated\", _FeatureGates.client.onExperimentValueUpdated.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"onAnyUpdated\", _FeatureGates.client.onAnyUpdated.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"updateUser\", _FeatureGates.client.updateUser.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"updateUserWithProvider\", _FeatureGates.client.updateUserWithProvider.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"updateUserWithValues\", _FeatureGates.client.updateUserWithValues.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"getPackageVersion\", _FeatureGates.client.getPackageVersion.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"getLayer\", _FeatureGates.client.getLayer.bind(_FeatureGates.client));\n_defineProperty(FeatureGates, \"getLayerValue\", _FeatureGates.client.getLayerValue.bind(_FeatureGates.client));\nvar boundFGJS = FeatureGates;\n\n// This makes it possible to get a reference to the FeatureGates client at runtime.\n// This is important for overriding values in Cypress tests, as there needs to be a\n// way to get the exact instance for a window in order to mock some of its methods.\nif (typeof window !== 'undefined') {\n if (window.__FEATUREGATES_JS__ === undefined) {\n window.__FEATUREGATES_JS__ = FeatureGates;\n } else {\n var _boundFGJS, _boundFGJS$getPackage;\n boundFGJS = window.__FEATUREGATES_JS__;\n var boundVersion = ((_boundFGJS = boundFGJS) === null || _boundFGJS === void 0 || (_boundFGJS$getPackage = _boundFGJS.getPackageVersion) === null || _boundFGJS$getPackage === void 0 ? void 0 : _boundFGJS$getPackage.call(_boundFGJS)) || '4.10.0 or earlier';\n if (boundVersion !== CLIENT_VERSION) {\n var message = \"Multiple versions of FeatureGateClients found on the current page.\\n The currently bound version is \".concat(boundVersion, \" when module version \").concat(CLIENT_VERSION, \" was loading.\");\n // eslint-disable-next-line no-console\n console.warn(message);\n }\n }\n}\n\n/**\n * @property {FeatureGates} FeatureGate default export\n */\nexport default boundFGJS;","var _process, _process2;\n// We can't rely on NODE_ENV === 'test' if its value is already configured by the consumer to some other value, so better to use JEST_WORKER_ID\n// https://jestjs.io/docs/environment-variables#jest_worker_id\nvar TESTS_MODE = (globalThis === null || globalThis === void 0 || (_process = globalThis.process) === null || _process === void 0 || (_process = _process.env) === null || _process === void 0 ? void 0 : _process.JEST_WORKER_ID) !== undefined;\nvar DEBUG_MODE = !TESTS_MODE && (globalThis === null || globalThis === void 0 || (_process2 = globalThis.process) === null || _process2 === void 0 || (_process2 = _process2.env) === null || _process2 === void 0 ? void 0 : _process2.NODE_ENV) !== 'production';\nexport var debug = function debug() {\n var _console;\n if (!DEBUG_MODE) {\n return;\n }\n\n // eslint-disable-next-line no-console\n (_console = console).debug.apply(_console, arguments);\n};","import FeatureGates from '@atlaskit/feature-gate-js-client';\nimport { debug } from './debug';\nvar pkgName = '@atlaskit/platform-feature-flags';\nexport var PFF_GLOBAL_KEY = '__PLATFORM_FEATURE_FLAGS__';\nvar hasProcessEnv = typeof process !== 'undefined' && typeof process.env !== 'undefined';\n\n// FF global overrides can be configured by test runners or Storybook\nvar ENV_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['ENABLE_PLATFORM_FF'] === 'true' : false;\n\n// STORYBOOK_ENABLE_PLATFORM_FF is included as storybook only allows env vars prefixed with STORYBOOK\n// https://github.com/storybookjs/storybook/issues/12270\n\nvar ENV_STORYBOOK_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['STORYBOOK_ENABLE_PLATFORM_FF'] === 'true' : false;\nvar ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE = ENV_ENABLE_PLATFORM_FF || ENV_STORYBOOK_ENABLE_PLATFORM_FF;\nvar DEFAULT_PFF_GLOBAL = {\n // In development mode we want to capture any feature flag checks that happen using the default resolver and log this result when the resolver is replaced.\n // This is because evaluating feature flags when the resolver/FF client is loaded asynchronously could cause unexpected issues.\n earlyResolvedFlags: new Map(),\n booleanResolver: function booleanResolver(flagKey) {\n if (process.env.NODE_ENV !== 'production') {\n var unresolvedFlagCount = this.earlyResolvedFlags.get(flagKey) || 0;\n this.earlyResolvedFlags.set(flagKey, unresolvedFlagCount + 1);\n }\n return false;\n }\n};\nvar globalVar = typeof window !== 'undefined' ? window : globalThis;\nglobalVar[PFF_GLOBAL_KEY] = globalVar[PFF_GLOBAL_KEY] || DEFAULT_PFF_GLOBAL;\nexport function setBooleanResolver(resolver) {\n globalVar[PFF_GLOBAL_KEY].booleanResolver = resolver;\n if (process.env.NODE_ENV !== 'production') {\n var _globalVar$PFF_GLOBAL;\n if (((_globalVar$PFF_GLOBAL = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL === void 0 || (_globalVar$PFF_GLOBAL = _globalVar$PFF_GLOBAL.earlyResolvedFlags) === null || _globalVar$PFF_GLOBAL === void 0 ? void 0 : _globalVar$PFF_GLOBAL.size) > 0) {\n debug(\"[%s]: The following list of Feature Flags were called, the following number of times, before setBooleanResolver.\", pkgName, Array.from(globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.entries()));\n globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.clear();\n }\n }\n}\nexport function resolveBooleanFlag(flagKey) {\n if (ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE) {\n debug('[%s]: The feature flags were enabled while running tests. The flag \"%s\" will be always enabled.', pkgName, flagKey);\n return true;\n }\n try {\n var _globalVar$PFF_GLOBAL2, _globalVar$PFF_GLOBAL3, _globalVar$PFF_GLOBAL4;\n // booleanResolver will be empty for products like Trello, Elevate, Recruit etc.\n // Currently only Confluence, Jira and Bitbucket has set it.\n if (((_globalVar$PFF_GLOBAL2 = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL2 === void 0 ? void 0 : _globalVar$PFF_GLOBAL2.booleanResolver) === undefined || ((_globalVar$PFF_GLOBAL3 = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL3 === void 0 ? void 0 : _globalVar$PFF_GLOBAL3.booleanResolver) === null) {\n // eslint-disable-next-line @atlaskit/platform/use-recommended-utils\n return FeatureGates.checkGate(flagKey);\n }\n var result = (_globalVar$PFF_GLOBAL4 = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL4 === void 0 ? void 0 : _globalVar$PFF_GLOBAL4.booleanResolver(flagKey);\n if (typeof result !== 'boolean') {\n // eslint-disable-next-line no-console\n console.warn(\"\".concat(flagKey, \" resolved to a non-boolean value, returning false for safety\"));\n return false;\n }\n return result;\n } catch (e) {\n return false;\n }\n}","import { setBooleanResolver, resolveBooleanFlag } from './resolvers';\n\n/**\n * This creates a boolean flag resolver that allows calls to `getBooleanFF` inside of Platform components to use a Product's\n * feature flag client and LD project, rather than installing a feature flag client of their own, or passing those flags in via props.\n *\n * @param flagResolver\n */\nexport function setBooleanFeatureFlagResolver(flagResolver) {\n setBooleanResolver(flagResolver);\n}\n\n/**\n * Returns the value of a feature flag. If the flag does not resolve, it returns the \"false\" as a default value.\n *\n * @deprecated Use {@link fg} function instead.\n * @param name\n */\nexport function getBooleanFF(name) {\n return resolveBooleanFlag(name);\n}\n\n/**\n * Returns the value of a feature flag. If the flag does not resolve, it returns the \"false\" as a default value.\n *\n * @param name\n */\nexport function fg(name) {\n return resolveBooleanFlag(name);\n}","import { fg } from '@atlaskit/platform-feature-flags';\n\n/**\n * This file contains the source of truth for themes and all associated meta data.\n */\n\n/**\n * Themes: The internal identifier of a theme.\n * These ids are what the actual theme files/folders are called.\n * style-dictionary will attempt to locate these in the file-system.\n */\n\n/**\n * ThemeOverrides: The internal identifier of a theme override. Which are themes that contain\n * a subset of tokens intended to override an existing theme. These ids are what the actual\n * theme files/folders are called. style-dictionary will attempt to locate these in the file-system.\n * Theme overrides are temporary and there may not be any defined at times.\n */\n\n/**\n * Theme kinds: The type of theme.\n * Some themes are entirely focused on Color, whilst others are purely focused on spacing.\n * In the future other types may be introduced such as typography.\n */\n\n/**\n * Theme modes: The general purpose of a theme.\n * This attr is used to apply the appropriate system-preference option\n * It may also be used as a selector for mode-specific overrides such as light/dark images.\n * The idea is there may exist many color themes, but every theme must either fit into light or dark.\n */\nexport var themeColorModes = ['light', 'dark', 'auto'];\n/**\n * Contrast preferences: The system contrast preference\n */\nexport var themeContrastModes = ['more', 'no-preference', 'auto'];\n/**\n * Theme ids: The value that will be mounted to the DOM as a data attr\n * For example: `data-theme=\"light:light dark:dark spacing:spacing\"\n *\n * These ids must be kebab case\n */\nexport var themeIds = ['light-increased-contrast', 'light', 'light-future', 'light-brand-refresh', 'dark', 'dark-future', 'dark-increased-contrast', 'dark-brand-refresh', 'legacy-light', 'legacy-dark', 'spacing', 'shape', 'typography-adg3', 'typography-modernized', 'typography-refreshed'];\n/**\n * Theme override ids: the equivalent of themeIds for theme overrides.\n * Theme overrides are temporary and there may not be any defined at times.\n */\nexport var themeOverrideIds = [];\nexport var themeIdsWithOverrides = [].concat(themeIds, themeOverrideIds);\n\n/**\n * Theme to use a base. This will create the theme as\n * an extension with all token values marked as optional\n * to allow tokens to be overridden as required.\n */\n\n/**\n * Palettes: The set of base tokens a given theme may be populated with.\n * For example: legacy light & dark themes use the \"legacyPalette\" containing colors from our\n * previous color set.\n */\n\n/**\n * ThemeConfig: the source of truth for all theme meta-data.\n * This object should be used whenever interfacing with themes.\n */\n\nvar themeConfig = {\n 'atlassian-light': {\n id: 'light',\n displayName: 'Light Theme',\n palette: 'defaultPalette',\n attributes: {\n type: 'color',\n mode: 'light'\n }\n },\n 'atlassian-light-future': {\n id: 'light-future',\n displayName: 'Future Light Theme',\n palette: 'defaultPalette',\n attributes: {\n type: 'color',\n mode: 'light'\n },\n override: 'light'\n },\n 'atlassian-light-increased-contrast': {\n id: 'light-increased-contrast',\n displayName: 'Light Theme (increased contrast)',\n palette: 'defaultPalette',\n attributes: {\n type: 'color',\n mode: 'light'\n },\n extends: 'light',\n increasesContrastFor: 'light'\n },\n 'atlassian-dark': {\n id: 'dark',\n displayName: 'Dark Theme',\n palette: 'defaultPalette',\n attributes: {\n type: 'color',\n mode: 'dark'\n }\n },\n 'atlassian-dark-future': {\n id: 'dark-future',\n displayName: 'Future Dark Theme',\n palette: 'defaultPalette',\n attributes: {\n type: 'color',\n mode: 'dark'\n },\n override: 'light'\n },\n 'atlassian-dark-increased-contrast': {\n id: 'dark-increased-contrast',\n displayName: 'Dark Theme (increased contrast)',\n palette: 'defaultPalette',\n attributes: {\n type: 'color',\n mode: 'dark'\n },\n extends: 'dark',\n increasesContrastFor: 'dark'\n },\n 'atlassian-legacy-light': {\n id: 'legacy-light',\n displayName: 'Light Theme (legacy)',\n palette: 'legacyPalette',\n attributes: {\n type: 'color',\n mode: 'light'\n }\n },\n 'atlassian-legacy-dark': {\n id: 'legacy-dark',\n displayName: 'Dark Theme (legacy)',\n palette: 'legacyPalette',\n attributes: {\n type: 'color',\n mode: 'dark'\n }\n },\n 'atlassian-spacing': {\n id: 'spacing',\n displayName: 'Atlassian Spacing',\n palette: 'spacingScale',\n attributes: {\n type: 'spacing'\n }\n },\n 'atlassian-typography-adg3': {\n id: 'typography-adg3',\n displayName: 'ADG3 Typography',\n palette: 'typographyPalette',\n attributes: {\n type: 'typography'\n }\n },\n 'atlassian-shape': {\n id: 'shape',\n displayName: 'Atlassian Shape',\n palette: 'shapePalette',\n attributes: {\n type: 'shape'\n }\n },\n 'atlassian-typography-modernized': {\n id: 'typography-modernized',\n displayName: 'Atlassian Typography (Modernized)',\n palette: 'typographyPalette',\n attributes: {\n type: 'typography'\n }\n },\n 'atlassian-typography-refreshed': {\n id: 'typography-refreshed',\n displayName: 'Atlassian Typography (Refreshed)',\n palette: 'typographyPalette',\n attributes: {\n type: 'typography'\n }\n },\n 'atlassian-light-brand-refresh': {\n id: 'light-brand-refresh',\n displayName: 'Light theme (Brand refresh)',\n palette: 'brandRefreshPalette',\n attributes: {\n type: 'color',\n mode: 'light'\n }\n },\n 'atlassian-dark-brand-refresh': {\n id: 'dark-brand-refresh',\n displayName: 'Dark theme (Brand refresh)',\n palette: 'brandRefreshPalette',\n attributes: {\n type: 'color',\n mode: 'dark'\n }\n }\n};\n\n/**\n * ThemeOptionsSchema: additional configuration options used to customize Atlassian's themes\n */\n\n/**\n * ThemeState: the standard representation of an app's current theme and preferences\n */\n\n/**\n * Can't evaluate typography feature flags at the module level,\n * it will always resolve to false when server side rendered or when flags are loaded async.\n */\n\n/**\n * themeStateDefaults: the default values for ThemeState used by theming utilities\n */\nexport var themeStateDefaults = {\n colorMode: 'auto',\n contrastMode: 'auto',\n dark: 'dark',\n light: 'light',\n shape: undefined,\n spacing: 'spacing',\n typography: function typography() {\n if (fg('platform-default-typography-modernized')) {\n return 'typography-modernized';\n }\n return undefined;\n },\n UNSAFE_themeOptions: undefined\n};\n\n/**\n * Represents theme state once mounted to the page\n * (the page doesn't have an \"auto\" color mode, it's either light or dark)\n */\n\nexport default themeConfig;","/**\n * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <<SignedSource::02412877f3dbfda4dbaee7a917f24b6c>>\n * @codegenCommand yarn build tokens\n */\nvar tokens = {\n 'color.text': '--ds-text',\n 'color.text.accent.lime': '--ds-text-accent-lime',\n 'color.text.accent.lime.bolder': '--ds-text-accent-lime-bolder',\n 'color.text.accent.red': '--ds-text-accent-red',\n 'color.text.accent.red.bolder': '--ds-text-accent-red-bolder',\n 'color.text.accent.orange': '--ds-text-accent-orange',\n 'color.text.accent.orange.bolder': '--ds-text-accent-orange-bolder',\n 'color.text.accent.yellow': '--ds-text-accent-yellow',\n 'color.text.accent.yellow.bolder': '--ds-text-accent-yellow-bolder',\n 'color.text.accent.green': '--ds-text-accent-green',\n 'color.text.accent.green.bolder': '--ds-text-accent-green-bolder',\n 'color.text.accent.teal': '--ds-text-accent-teal',\n 'color.text.accent.teal.bolder': '--ds-text-accent-teal-bolder',\n 'color.text.accent.blue': '--ds-text-accent-blue',\n 'color.text.accent.blue.bolder': '--ds-text-accent-blue-bolder',\n 'color.text.accent.purple': '--ds-text-accent-purple',\n 'color.text.accent.purple.bolder': '--ds-text-accent-purple-bolder',\n 'color.text.accent.magenta': '--ds-text-accent-magenta',\n 'color.text.accent.magenta.bolder': '--ds-text-accent-magenta-bolder',\n 'color.text.accent.gray': '--ds-text-accent-gray',\n 'color.text.accent.gray.bolder': '--ds-text-accent-gray-bolder',\n 'color.text.disabled': '--ds-text-disabled',\n 'color.text.inverse': '--ds-text-inverse',\n 'color.text.selected': '--ds-text-selected',\n 'color.text.brand': '--ds-text-brand',\n 'color.text.danger': '--ds-text-danger',\n 'color.text.warning': '--ds-text-warning',\n 'color.text.warning.inverse': '--ds-text-warning-inverse',\n 'color.text.success': '--ds-text-success',\n 'color.text.discovery': '--ds-text-discovery',\n 'color.text.information': '--ds-text-information',\n 'color.text.subtlest': '--ds-text-subtlest',\n 'color.text.subtle': '--ds-text-subtle',\n 'color.link': '--ds-link',\n 'color.link.pressed': '--ds-link-pressed',\n 'color.link.visited': '--ds-link-visited',\n 'color.link.visited.pressed': '--ds-link-visited-pressed',\n 'color.icon': '--ds-icon',\n 'color.icon.accent.lime': '--ds-icon-accent-lime',\n 'color.icon.accent.red': '--ds-icon-accent-red',\n 'color.icon.accent.orange': '--ds-icon-accent-orange',\n 'color.icon.accent.yellow': '--ds-icon-accent-yellow',\n 'color.icon.accent.green': '--ds-icon-accent-green',\n 'color.icon.accent.teal': '--ds-icon-accent-teal',\n 'color.icon.accent.blue': '--ds-icon-accent-blue',\n 'color.icon.accent.purple': '--ds-icon-accent-purple',\n 'color.icon.accent.magenta': '--ds-icon-accent-magenta',\n 'color.icon.accent.gray': '--ds-icon-accent-gray',\n 'color.icon.disabled': '--ds-icon-disabled',\n 'color.icon.inverse': '--ds-icon-inverse',\n 'color.icon.selected': '--ds-icon-selected',\n 'color.icon.brand': '--ds-icon-brand',\n 'color.icon.danger': '--ds-icon-danger',\n 'color.icon.warning': '--ds-icon-warning',\n 'color.icon.warning.inverse': '--ds-icon-warning-inverse',\n 'color.icon.success': '--ds-icon-success',\n 'color.icon.discovery': '--ds-icon-discovery',\n 'color.icon.information': '--ds-icon-information',\n 'color.icon.subtlest': '--ds-icon-subtlest',\n 'color.icon.subtle': '--ds-icon-subtle',\n 'color.border': '--ds-border',\n 'color.border.accent.lime': '--ds-border-accent-lime',\n 'color.border.accent.red': '--ds-border-accent-red',\n 'color.border.accent.orange': '--ds-border-accent-orange',\n 'color.border.accent.yellow': '--ds-border-accent-yellow',\n 'color.border.accent.green': '--ds-border-accent-green',\n 'color.border.accent.teal': '--ds-border-accent-teal',\n 'color.border.accent.blue': '--ds-border-accent-blue',\n 'color.border.accent.purple': '--ds-border-accent-purple',\n 'color.border.accent.magenta': '--ds-border-accent-magenta',\n 'color.border.accent.gray': '--ds-border-accent-gray',\n 'color.border.disabled': '--ds-border-disabled',\n 'color.border.focused': '--ds-border-focused',\n 'color.border.input': '--ds-border-input',\n 'color.border.inverse': '--ds-border-inverse',\n 'color.border.selected': '--ds-border-selected',\n 'color.border.brand': '--ds-border-brand',\n 'color.border.danger': '--ds-border-danger',\n 'color.border.warning': '--ds-border-warning',\n 'color.border.success': '--ds-border-success',\n 'color.border.discovery': '--ds-border-discovery',\n 'color.border.information': '--ds-border-information',\n 'color.border.bold': '--ds-border-bold',\n 'color.background.accent.lime.subtlest': '--ds-background-accent-lime-subtlest',\n 'color.background.accent.lime.subtlest.hovered': '--ds-background-accent-lime-subtlest-hovered',\n 'color.background.accent.lime.subtlest.pressed': '--ds-background-accent-lime-subtlest-pressed',\n 'color.background.accent.lime.subtler': '--ds-background-accent-lime-subtler',\n 'color.background.accent.lime.subtler.hovered': '--ds-background-accent-lime-subtler-hovered',\n 'color.background.accent.lime.subtler.pressed': '--ds-background-accent-lime-subtler-pressed',\n 'color.background.accent.lime.subtle': '--ds-background-accent-lime-subtle',\n 'color.background.accent.lime.subtle.hovered': '--ds-background-accent-lime-subtle-hovered',\n 'color.background.accent.lime.subtle.pressed': '--ds-background-accent-lime-subtle-pressed',\n 'color.background.accent.lime.bolder': '--ds-background-accent-lime-bolder',\n 'color.background.accent.lime.bolder.hovered': '--ds-background-accent-lime-bolder-hovered',\n 'color.background.accent.lime.bolder.pressed': '--ds-background-accent-lime-bolder-pressed',\n 'color.background.accent.red.subtlest': '--ds-background-accent-red-subtlest',\n 'color.background.accent.red.subtlest.hovered': '--ds-background-accent-red-subtlest-hovered',\n 'color.background.accent.red.subtlest.pressed': '--ds-background-accent-red-subtlest-pressed',\n 'color.background.accent.red.subtler': '--ds-background-accent-red-subtler',\n 'color.background.accent.red.subtler.hovered': '--ds-background-accent-red-subtler-hovered',\n 'color.background.accent.red.subtler.pressed': '--ds-background-accent-red-subtler-pressed',\n 'color.background.accent.red.subtle': '--ds-background-accent-red-subtle',\n 'color.background.accent.red.subtle.hovered': '--ds-background-accent-red-subtle-hovered',\n 'color.background.accent.red.subtle.pressed': '--ds-background-accent-red-subtle-pressed',\n 'color.background.accent.red.bolder': '--ds-background-accent-red-bolder',\n 'color.background.accent.red.bolder.hovered': '--ds-background-accent-red-bolder-hovered',\n 'color.background.accent.red.bolder.pressed': '--ds-background-accent-red-bolder-pressed',\n 'color.background.accent.orange.subtlest': '--ds-background-accent-orange-subtlest',\n 'color.background.accent.orange.subtlest.hovered': '--ds-background-accent-orange-subtlest-hovered',\n 'color.background.accent.orange.subtlest.pressed': '--ds-background-accent-orange-subtlest-pressed',\n 'color.background.accent.orange.subtler': '--ds-background-accent-orange-subtler',\n 'color.background.accent.orange.subtler.hovered': '--ds-background-accent-orange-subtler-hovered',\n 'color.background.accent.orange.subtler.pressed': '--ds-background-accent-orange-subtler-pressed',\n 'color.background.accent.orange.subtle': '--ds-background-accent-orange-subtle',\n 'color.background.accent.orange.subtle.hovered': '--ds-background-accent-orange-subtle-hovered',\n 'color.background.accent.orange.subtle.pressed': '--ds-background-accent-orange-subtle-pressed',\n 'color.background.accent.orange.bolder': '--ds-background-accent-orange-bolder',\n 'color.background.accent.orange.bolder.hovered': '--ds-background-accent-orange-bolder-hovered',\n 'color.background.accent.orange.bolder.pressed': '--ds-background-accent-orange-bolder-pressed',\n 'color.background.accent.yellow.subtlest': '--ds-background-accent-yellow-subtlest',\n 'color.background.accent.yellow.subtlest.hovered': '--ds-background-accent-yellow-subtlest-hovered',\n 'color.background.accent.yellow.subtlest.pressed': '--ds-background-accent-yellow-subtlest-pressed',\n 'color.background.accent.yellow.subtler': '--ds-background-accent-yellow-subtler',\n 'color.background.accent.yellow.subtler.hovered': '--ds-background-accent-yellow-subtler-hovered',\n 'color.background.accent.yellow.subtler.pressed': '--ds-background-accent-yellow-subtler-pressed',\n 'color.background.accent.yellow.subtle': '--ds-background-accent-yellow-subtle',\n 'color.background.accent.yellow.subtle.hovered': '--ds-background-accent-yellow-subtle-hovered',\n 'color.background.accent.yellow.subtle.pressed': '--ds-background-accent-yellow-subtle-pressed',\n 'color.background.accent.yellow.bolder': '--ds-background-accent-yellow-bolder',\n 'color.background.accent.yellow.bolder.hovered': '--ds-background-accent-yellow-bolder-hovered',\n 'color.background.accent.yellow.bolder.pressed': '--ds-background-accent-yellow-bolder-pressed',\n 'color.background.accent.green.subtlest': '--ds-background-accent-green-subtlest',\n 'color.background.accent.green.subtlest.hovered': '--ds-background-accent-green-subtlest-hovered',\n 'color.background.accent.green.subtlest.pressed': '--ds-background-accent-green-subtlest-pressed',\n 'color.background.accent.green.subtler': '--ds-background-accent-green-subtler',\n 'color.background.accent.green.subtler.hovered': '--ds-background-accent-green-subtler-hovered',\n 'color.background.accent.green.subtler.pressed': '--ds-background-accent-green-subtler-pressed',\n 'color.background.accent.green.subtle': '--ds-background-accent-green-subtle',\n 'color.background.accent.green.subtle.hovered': '--ds-background-accent-green-subtle-hovered',\n 'color.background.accent.green.subtle.pressed': '--ds-background-accent-green-subtle-pressed',\n 'color.background.accent.green.bolder': '--ds-background-accent-green-bolder',\n 'color.background.accent.green.bolder.hovered': '--ds-background-accent-green-bolder-hovered',\n 'color.background.accent.green.bolder.pressed': '--ds-background-accent-green-bolder-pressed',\n 'color.background.accent.teal.subtlest': '--ds-background-accent-teal-subtlest',\n 'color.background.accent.teal.subtlest.hovered': '--ds-background-accent-teal-subtlest-hovered',\n 'color.background.accent.teal.subtlest.pressed': '--ds-background-accent-teal-subtlest-pressed',\n 'color.background.accent.teal.subtler': '--ds-background-accent-teal-subtler',\n 'color.background.accent.teal.subtler.hovered': '--ds-background-accent-teal-subtler-hovered',\n 'color.background.accent.teal.subtler.pressed': '--ds-background-accent-teal-subtler-pressed',\n 'color.background.accent.teal.subtle': '--ds-background-accent-teal-subtle',\n 'color.background.accent.teal.subtle.hovered': '--ds-background-accent-teal-subtle-hovered',\n 'color.background.accent.teal.subtle.pressed': '--ds-background-accent-teal-subtle-pressed',\n 'color.background.accent.teal.bolder': '--ds-background-accent-teal-bolder',\n 'color.background.accent.teal.bolder.hovered': '--ds-background-accent-teal-bolder-hovered',\n 'color.background.accent.teal.bolder.pressed': '--ds-background-accent-teal-bolder-pressed',\n 'color.background.accent.blue.subtlest': '--ds-background-accent-blue-subtlest',\n 'color.background.accent.blue.subtlest.hovered': '--ds-background-accent-blue-subtlest-hovered',\n 'color.background.accent.blue.subtlest.pressed': '--ds-background-accent-blue-subtlest-pressed',\n 'color.background.accent.blue.subtler': '--ds-background-accent-blue-subtler',\n 'color.background.accent.blue.subtler.hovered': '--ds-background-accent-blue-subtler-hovered',\n 'color.background.accent.blue.subtler.pressed': '--ds-background-accent-blue-subtler-pressed',\n 'color.background.accent.blue.subtle': '--ds-background-accent-blue-subtle',\n 'color.background.accent.blue.subtle.hovered': '--ds-background-accent-blue-subtle-hovered',\n 'color.background.accent.blue.subtle.pressed': '--ds-background-accent-blue-subtle-pressed',\n 'color.background.accent.blue.bolder': '--ds-background-accent-blue-bolder',\n 'color.background.accent.blue.bolder.hovered': '--ds-background-accent-blue-bolder-hovered',\n 'color.background.accent.blue.bolder.pressed': '--ds-background-accent-blue-bolder-pressed',\n 'color.background.accent.purple.subtlest': '--ds-background-accent-purple-subtlest',\n 'color.background.accent.purple.subtlest.hovered': '--ds-background-accent-purple-subtlest-hovered',\n 'color.background.accent.purple.subtlest.pressed': '--ds-background-accent-purple-subtlest-pressed',\n 'color.background.accent.purple.subtler': '--ds-background-accent-purple-subtler',\n 'color.background.accent.purple.subtler.hovered': '--ds-background-accent-purple-subtler-hovered',\n 'color.background.accent.purple.subtler.pressed': '--ds-background-accent-purple-subtler-pressed',\n 'color.background.accent.purple.subtle': '--ds-background-accent-purple-subtle',\n 'color.background.accent.purple.subtle.hovered': '--ds-background-accent-purple-subtle-hovered',\n 'color.background.accent.purple.subtle.pressed': '--ds-background-accent-purple-subtle-pressed',\n 'color.background.accent.purple.bolder': '--ds-background-accent-purple-bolder',\n 'color.background.accent.purple.bolder.hovered': '--ds-background-accent-purple-bolder-hovered',\n 'color.background.accent.purple.bolder.pressed': '--ds-background-accent-purple-bolder-pressed',\n 'color.background.accent.magenta.subtlest': '--ds-background-accent-magenta-subtlest',\n 'color.background.accent.magenta.subtlest.hovered': '--ds-background-accent-magenta-subtlest-hovered',\n 'color.background.accent.magenta.subtlest.pressed': '--ds-background-accent-magenta-subtlest-pressed',\n 'color.background.accent.magenta.subtler': '--ds-background-accent-magenta-subtler',\n 'color.background.accent.magenta.subtler.hovered': '--ds-background-accent-magenta-subtler-hovered',\n 'color.background.accent.magenta.subtler.pressed': '--ds-background-accent-magenta-subtler-pressed',\n 'color.background.accent.magenta.subtle': '--ds-background-accent-magenta-subtle',\n 'color.background.accent.magenta.subtle.hovered': '--ds-background-accent-magenta-subtle-hovered',\n 'color.background.accent.magenta.subtle.pressed': '--ds-background-accent-magenta-subtle-pressed',\n 'color.background.accent.magenta.bolder': '--ds-background-accent-magenta-bolder',\n 'color.background.accent.magenta.bolder.hovered': '--ds-background-accent-magenta-bolder-hovered',\n 'color.background.accent.magenta.bolder.pressed': '--ds-background-accent-magenta-bolder-pressed',\n 'color.background.accent.gray.subtlest': '--ds-background-accent-gray-subtlest',\n 'color.background.accent.gray.subtlest.hovered': '--ds-background-accent-gray-subtlest-hovered',\n 'color.background.accent.gray.subtlest.pressed': '--ds-background-accent-gray-subtlest-pressed',\n 'color.background.accent.gray.subtler': '--ds-background-accent-gray-subtler',\n 'color.background.accent.gray.subtler.hovered': '--ds-background-accent-gray-subtler-hovered',\n 'color.background.accent.gray.subtler.pressed': '--ds-background-accent-gray-subtler-pressed',\n 'color.background.accent.gray.subtle': '--ds-background-accent-gray-subtle',\n 'color.background.accent.gray.subtle.hovered': '--ds-background-accent-gray-subtle-hovered',\n 'color.background.accent.gray.subtle.pressed': '--ds-background-accent-gray-subtle-pressed',\n 'color.background.accent.gray.bolder': '--ds-background-accent-gray-bolder',\n 'color.background.accent.gray.bolder.hovered': '--ds-background-accent-gray-bolder-hovered',\n 'color.background.accent.gray.bolder.pressed': '--ds-background-accent-gray-bolder-pressed',\n 'color.background.disabled': '--ds-background-disabled',\n 'color.background.input': '--ds-background-input',\n 'color.background.input.hovered': '--ds-background-input-hovered',\n 'color.background.input.pressed': '--ds-background-input-pressed',\n 'color.background.inverse.subtle': '--ds-background-inverse-subtle',\n 'color.background.inverse.subtle.hovered': '--ds-background-inverse-subtle-hovered',\n 'color.background.inverse.subtle.pressed': '--ds-background-inverse-subtle-pressed',\n 'color.background.neutral': '--ds-background-neutral',\n 'color.background.neutral.hovered': '--ds-background-neutral-hovered',\n 'color.background.neutral.pressed': '--ds-background-neutral-pressed',\n 'color.background.neutral.subtle': '--ds-background-neutral-subtle',\n 'color.background.neutral.subtle.hovered': '--ds-background-neutral-subtle-hovered',\n 'color.background.neutral.subtle.pressed': '--ds-background-neutral-subtle-pressed',\n 'color.background.neutral.bold': '--ds-background-neutral-bold',\n 'color.background.neutral.bold.hovered': '--ds-background-neutral-bold-hovered',\n 'color.background.neutral.bold.pressed': '--ds-background-neutral-bold-pressed',\n 'color.background.selected': '--ds-background-selected',\n 'color.background.selected.hovered': '--ds-background-selected-hovered',\n 'color.background.selected.pressed': '--ds-background-selected-pressed',\n 'color.background.selected.bold': '--ds-background-selected-bold',\n 'color.background.selected.bold.hovered': '--ds-background-selected-bold-hovered',\n 'color.background.selected.bold.pressed': '--ds-background-selected-bold-pressed',\n 'color.background.brand.subtlest': '--ds-background-brand-subtlest',\n 'color.background.brand.subtlest.hovered': '--ds-background-brand-subtlest-hovered',\n 'color.background.brand.subtlest.pressed': '--ds-background-brand-subtlest-pressed',\n 'color.background.brand.bold': '--ds-background-brand-bold',\n 'color.background.brand.bold.hovered': '--ds-background-brand-bold-hovered',\n 'color.background.brand.bold.pressed': '--ds-background-brand-bold-pressed',\n 'color.background.brand.boldest': '--ds-background-brand-boldest',\n 'color.background.brand.boldest.hovered': '--ds-background-brand-boldest-hovered',\n 'color.background.brand.boldest.pressed': '--ds-background-brand-boldest-pressed',\n 'color.background.danger': '--ds-background-danger',\n 'color.background.danger.hovered': '--ds-background-danger-hovered',\n 'color.background.danger.pressed': '--ds-background-danger-pressed',\n 'color.background.danger.bold': '--ds-background-danger-bold',\n 'color.background.danger.bold.hovered': '--ds-background-danger-bold-hovered',\n 'color.background.danger.bold.pressed': '--ds-background-danger-bold-pressed',\n 'color.background.warning': '--ds-background-warning',\n 'color.background.warning.hovered': '--ds-background-warning-hovered',\n 'color.background.warning.pressed': '--ds-background-warning-pressed',\n 'color.background.warning.bold': '--ds-background-warning-bold',\n 'color.background.warning.bold.hovered': '--ds-background-warning-bold-hovered',\n 'color.background.warning.bold.pressed': '--ds-background-warning-bold-pressed',\n 'color.background.success': '--ds-background-success',\n 'color.background.success.hovered': '--ds-background-success-hovered',\n 'color.background.success.pressed': '--ds-background-success-pressed',\n 'color.background.success.bold': '--ds-background-success-bold',\n 'color.background.success.bold.hovered': '--ds-background-success-bold-hovered',\n 'color.background.success.bold.pressed': '--ds-background-success-bold-pressed',\n 'color.background.discovery': '--ds-background-discovery',\n 'color.background.discovery.hovered': '--ds-background-discovery-hovered',\n 'color.background.discovery.pressed': '--ds-background-discovery-pressed',\n 'color.background.discovery.bold': '--ds-background-discovery-bold',\n 'color.background.discovery.bold.hovered': '--ds-background-discovery-bold-hovered',\n 'color.background.discovery.bold.pressed': '--ds-background-discovery-bold-pressed',\n 'color.background.information': '--ds-background-information',\n 'color.background.information.hovered': '--ds-background-information-hovered',\n 'color.background.information.pressed': '--ds-background-information-pressed',\n 'color.background.information.bold': '--ds-background-information-bold',\n 'color.background.information.bold.hovered': '--ds-background-information-bold-hovered',\n 'color.background.information.bold.pressed': '--ds-background-information-bold-pressed',\n 'color.blanket': '--ds-blanket',\n 'color.blanket.selected': '--ds-blanket-selected',\n 'color.blanket.danger': '--ds-blanket-danger',\n 'color.interaction.hovered': '--ds-interaction-hovered',\n 'color.interaction.pressed': '--ds-interaction-pressed',\n 'color.skeleton': '--ds-skeleton',\n 'color.skeleton.subtle': '--ds-skeleton-subtle',\n 'color.chart.categorical.1': '--ds-chart-categorical-1',\n 'color.chart.categorical.1.hovered': '--ds-chart-categorical-1-hovered',\n 'color.chart.categorical.2': '--ds-chart-categorical-2',\n 'color.chart.categorical.2.hovered': '--ds-chart-categorical-2-hovered',\n 'color.chart.categorical.3': '--ds-chart-categorical-3',\n 'color.chart.categorical.3.hovered': '--ds-chart-categorical-3-hovered',\n 'color.chart.categorical.4': '--ds-chart-categorical-4',\n 'color.chart.categorical.4.hovered': '--ds-chart-categorical-4-hovered',\n 'color.chart.categorical.5': '--ds-chart-categorical-5',\n 'color.chart.categorical.5.hovered': '--ds-chart-categorical-5-hovered',\n 'color.chart.categorical.6': '--ds-chart-categorical-6',\n 'color.chart.categorical.6.hovered': '--ds-chart-categorical-6-hovered',\n 'color.chart.categorical.7': '--ds-chart-categorical-7',\n 'color.chart.categorical.7.hovered': '--ds-chart-categorical-7-hovered',\n 'color.chart.categorical.8': '--ds-chart-categorical-8',\n 'color.chart.categorical.8.hovered': '--ds-chart-categorical-8-hovered',\n 'color.chart.lime.bold': '--ds-chart-lime-bold',\n 'color.chart.lime.bold.hovered': '--ds-chart-lime-bold-hovered',\n 'color.chart.lime.bolder': '--ds-chart-lime-bolder',\n 'color.chart.lime.bolder.hovered': '--ds-chart-lime-bolder-hovered',\n 'color.chart.lime.boldest': '--ds-chart-lime-boldest',\n 'color.chart.lime.boldest.hovered': '--ds-chart-lime-boldest-hovered',\n 'color.chart.neutral': '--ds-chart-neutral',\n 'color.chart.neutral.hovered': '--ds-chart-neutral-hovered',\n 'color.chart.red.bold': '--ds-chart-red-bold',\n 'color.chart.red.bold.hovered': '--ds-chart-red-bold-hovered',\n 'color.chart.red.bolder': '--ds-chart-red-bolder',\n 'color.chart.red.bolder.hovered': '--ds-chart-red-bolder-hovered',\n 'color.chart.red.boldest': '--ds-chart-red-boldest',\n 'color.chart.red.boldest.hovered': '--ds-chart-red-boldest-hovered',\n 'color.chart.orange.bold': '--ds-chart-orange-bold',\n 'color.chart.orange.bold.hovered': '--ds-chart-orange-bold-hovered',\n 'color.chart.orange.bolder': '--ds-chart-orange-bolder',\n 'color.chart.orange.bolder.hovered': '--ds-chart-orange-bolder-hovered',\n 'color.chart.orange.boldest': '--ds-chart-orange-boldest',\n 'color.chart.orange.boldest.hovered': '--ds-chart-orange-boldest-hovered',\n 'color.chart.yellow.bold': '--ds-chart-yellow-bold',\n 'color.chart.yellow.bold.hovered': '--ds-chart-yellow-bold-hovered',\n 'color.chart.yellow.bolder': '--ds-chart-yellow-bolder',\n 'color.chart.yellow.bolder.hovered': '--ds-chart-yellow-bolder-hovered',\n 'color.chart.yellow.boldest': '--ds-chart-yellow-boldest',\n 'color.chart.yellow.boldest.hovered': '--ds-chart-yellow-boldest-hovered',\n 'color.chart.green.bold': '--ds-chart-green-bold',\n 'color.chart.green.bold.hovered': '--ds-chart-green-bold-hovered',\n 'color.chart.green.bolder': '--ds-chart-green-bolder',\n 'color.chart.green.bolder.hovered': '--ds-chart-green-bolder-hovered',\n 'color.chart.green.boldest': '--ds-chart-green-boldest',\n 'color.chart.green.boldest.hovered': '--ds-chart-green-boldest-hovered',\n 'color.chart.teal.bold': '--ds-chart-teal-bold',\n 'color.chart.teal.bold.hovered': '--ds-chart-teal-bold-hovered',\n 'color.chart.teal.bolder': '--ds-chart-teal-bolder',\n 'color.chart.teal.bolder.hovered': '--ds-chart-teal-bolder-hovered',\n 'color.chart.teal.boldest': '--ds-chart-teal-boldest',\n 'color.chart.teal.boldest.hovered': '--ds-chart-teal-boldest-hovered',\n 'color.chart.blue.bold': '--ds-chart-blue-bold',\n 'color.chart.blue.bold.hovered': '--ds-chart-blue-bold-hovered',\n 'color.chart.blue.bolder': '--ds-chart-blue-bolder',\n 'color.chart.blue.bolder.hovered': '--ds-chart-blue-bolder-hovered',\n 'color.chart.blue.boldest': '--ds-chart-blue-boldest',\n 'color.chart.blue.boldest.hovered': '--ds-chart-blue-boldest-hovered',\n 'color.chart.purple.bold': '--ds-chart-purple-bold',\n 'color.chart.purple.bold.hovered': '--ds-chart-purple-bold-hovered',\n 'color.chart.purple.bolder': '--ds-chart-purple-bolder',\n 'color.chart.purple.bolder.hovered': '--ds-chart-purple-bolder-hovered',\n 'color.chart.purple.boldest': '--ds-chart-purple-boldest',\n 'color.chart.purple.boldest.hovered': '--ds-chart-purple-boldest-hovered',\n 'color.chart.magenta.bold': '--ds-chart-magenta-bold',\n 'color.chart.magenta.bold.hovered': '--ds-chart-magenta-bold-hovered',\n 'color.chart.magenta.bolder': '--ds-chart-magenta-bolder',\n 'color.chart.magenta.bolder.hovered': '--ds-chart-magenta-bolder-hovered',\n 'color.chart.magenta.boldest': '--ds-chart-magenta-boldest',\n 'color.chart.magenta.boldest.hovered': '--ds-chart-magenta-boldest-hovered',\n 'color.chart.gray.bold': '--ds-chart-gray-bold',\n 'color.chart.gray.bold.hovered': '--ds-chart-gray-bold-hovered',\n 'color.chart.gray.bolder': '--ds-chart-gray-bolder',\n 'color.chart.gray.bolder.hovered': '--ds-chart-gray-bolder-hovered',\n 'color.chart.gray.boldest': '--ds-chart-gray-boldest',\n 'color.chart.gray.boldest.hovered': '--ds-chart-gray-boldest-hovered',\n 'color.chart.brand': '--ds-chart-brand',\n 'color.chart.brand.hovered': '--ds-chart-brand-hovered',\n 'color.chart.danger': '--ds-chart-danger',\n 'color.chart.danger.hovered': '--ds-chart-danger-hovered',\n 'color.chart.danger.bold': '--ds-chart-danger-bold',\n 'color.chart.danger.bold.hovered': '--ds-chart-danger-bold-hovered',\n 'color.chart.warning': '--ds-chart-warning',\n 'color.chart.warning.hovered': '--ds-chart-warning-hovered',\n 'color.chart.warning.bold': '--ds-chart-warning-bold',\n 'color.chart.warning.bold.hovered': '--ds-chart-warning-bold-hovered',\n 'color.chart.success': '--ds-chart-success',\n 'color.chart.success.hovered': '--ds-chart-success-hovered',\n 'color.chart.success.bold': '--ds-chart-success-bold',\n 'color.chart.success.bold.hovered': '--ds-chart-success-bold-hovered',\n 'color.chart.discovery': '--ds-chart-discovery',\n 'color.chart.discovery.hovered': '--ds-chart-discovery-hovered',\n 'color.chart.discovery.bold': '--ds-chart-discovery-bold',\n 'color.chart.discovery.bold.hovered': '--ds-chart-discovery-bold-hovered',\n 'color.chart.information': '--ds-chart-information',\n 'color.chart.information.hovered': '--ds-chart-information-hovered',\n 'color.chart.information.bold': '--ds-chart-information-bold',\n 'color.chart.information.bold.hovered': '--ds-chart-information-bold-hovered',\n 'elevation.surface': '--ds-surface',\n 'elevation.surface.hovered': '--ds-surface-hovered',\n 'elevation.surface.pressed': '--ds-surface-pressed',\n 'elevation.surface.overlay': '--ds-surface-overlay',\n 'elevation.surface.overlay.hovered': '--ds-surface-overlay-hovered',\n 'elevation.surface.overlay.pressed': '--ds-surface-overlay-pressed',\n 'elevation.surface.raised': '--ds-surface-raised',\n 'elevation.surface.raised.hovered': '--ds-surface-raised-hovered',\n 'elevation.surface.raised.pressed': '--ds-surface-raised-pressed',\n 'elevation.surface.sunken': '--ds-surface-sunken',\n 'elevation.shadow.overflow': '--ds-shadow-overflow',\n 'elevation.shadow.overflow.perimeter': '--ds-shadow-overflow-perimeter',\n 'elevation.shadow.overflow.spread': '--ds-shadow-overflow-spread',\n 'elevation.shadow.overlay': '--ds-shadow-overlay',\n 'elevation.shadow.raised': '--ds-shadow-raised',\n 'opacity.disabled': '--ds-opacity-disabled',\n 'opacity.loading': '--ds-opacity-loading',\n 'utility.UNSAFE.textTransformUppercase': '--ds-UNSAFE-textTransformUppercase',\n 'utility.UNSAFE.transparent': '--ds-UNSAFE-transparent',\n 'utility.elevation.surface.current': '--ds-elevation-surface-current',\n 'border.radius.050': '--ds-border-radius-050',\n 'border.radius': '--ds-border-radius',\n 'border.radius.100': '--ds-border-radius-100',\n 'border.radius.200': '--ds-border-radius-200',\n 'border.radius.300': '--ds-border-radius-300',\n 'border.radius.400': '--ds-border-radius-400',\n 'border.radius.circle': '--ds-border-radius-circle',\n 'border.width': '--ds-border-width',\n 'border.width.0': '--ds-border-width-0',\n 'border.width.indicator': '--ds-border-width-indicator',\n 'border.width.outline': '--ds-border-width-outline',\n 'space.0': '--ds-space-0',\n 'space.025': '--ds-space-025',\n 'space.050': '--ds-space-050',\n 'space.075': '--ds-space-075',\n 'space.100': '--ds-space-100',\n 'space.150': '--ds-space-150',\n 'space.200': '--ds-space-200',\n 'space.250': '--ds-space-250',\n 'space.300': '--ds-space-300',\n 'space.400': '--ds-space-400',\n 'space.500': '--ds-space-500',\n 'space.600': '--ds-space-600',\n 'space.800': '--ds-space-800',\n 'space.1000': '--ds-space-1000',\n 'space.negative.025': '--ds-space-negative-025',\n 'space.negative.050': '--ds-space-negative-050',\n 'space.negative.075': '--ds-space-negative-075',\n 'space.negative.100': '--ds-space-negative-100',\n 'space.negative.150': '--ds-space-negative-150',\n 'space.negative.200': '--ds-space-negative-200',\n 'space.negative.250': '--ds-space-negative-250',\n 'space.negative.300': '--ds-space-negative-300',\n 'space.negative.400': '--ds-space-negative-400',\n 'font.heading.xxlarge': '--ds-font-heading-xxlarge',\n 'font.heading.xlarge': '--ds-font-heading-xlarge',\n 'font.heading.large': '--ds-font-heading-large',\n 'font.heading.medium': '--ds-font-heading-medium',\n 'font.heading.small': '--ds-font-heading-small',\n 'font.heading.xsmall': '--ds-font-heading-xsmall',\n 'font.heading.xxsmall': '--ds-font-heading-xxsmall',\n 'font.body.large': '--ds-font-body-large',\n 'font.body': '--ds-font-body',\n 'font.body.small': '--ds-font-body-small',\n 'font.body.UNSAFE_small': '--ds-font-body-UNSAFE_small',\n 'font.code': '--ds-font-code',\n 'font.weight.regular': '--ds-font-weight-regular',\n 'font.weight.medium': '--ds-font-weight-medium',\n 'font.weight.semibold': '--ds-font-weight-semibold',\n 'font.weight.bold': '--ds-font-weight-bold',\n 'font.family.heading': '--ds-font-family-heading',\n 'font.family.body': '--ds-font-family-body',\n 'font.family.code': '--ds-font-family-code',\n 'font.family.brand.heading': '--ds-font-family-brand-heading',\n 'font.family.brand.body': '--ds-font-family-brand-body'\n};\nexport default tokens;","export var THEME_DATA_ATTRIBUTE = 'data-theme';\nexport var COLOR_MODE_ATTRIBUTE = 'data-color-mode';\nexport var CONTRAST_MODE_ATTRIBUTE = 'data-contrast-mode';\nexport var CUSTOM_THEME_ATTRIBUTE = 'data-custom-theme';\nexport var DEFAULT_THEME = 'light';\nexport var CSS_PREFIX = 'ds';\nexport var CSS_VAR_FULL = ['opacity', 'font', 'space', 'border'];\nexport var TOKEN_NOT_FOUND_CSS_VAR = \"--\".concat(CSS_PREFIX, \"-token-not-found\");\nexport var CURRENT_SURFACE_CSS_VAR = \"--\".concat(CSS_PREFIX, \"-elevation-surface-current\");","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n// Extend the Window interface to include optional analyticsWebClient\n\n/**\n * Records a token call event to the analytics service. This is used to track which tokens are being used at runtime as they should be substituted by the values by @atlaskit/tokens/babel-plugin at build time.\n * @param token - The token that was called.\n * @param fallback - The fallback value that was used.\n */\nexport var recordTokenCall = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(token, fallback) {\n var _window, analyticsClient, isThemeEnabled;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n try {\n // TODO: window.analyticsWebClient is a property specific to Jira. It is not available in the other products. We might consider to register a dedicated analytics client for logging token calls for each product to enable cohesive experience across different products.\n analyticsClient = (_window = window) === null || _window === void 0 ? void 0 : _window.analyticsWebClient;\n if (analyticsClient) {\n // Check for a <style> element with a data-theme attribute in the document\n isThemeEnabled = !!document.querySelector('style[data-theme]'); // when such property exists, we are using it to send this event https://data-portal.internal.atlassian.com/analytics/registry/75682 which is registered specifically for Jira.\n analyticsClient.sendEvent({\n type: 'TRACK',\n payload: {\n action: 'called_at_runtime',\n actionSubject: 'token',\n source: 'design-system',\n attributes: {\n url: window.location.href,\n token: token,\n fallback: fallback,\n isThemeEnabled: isThemeEnabled\n }\n }\n });\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function recordTokenCall(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();","import warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { fg } from '@atlaskit/platform-feature-flags';\nimport tokens from './artifacts/token-names';\nimport { TOKEN_NOT_FOUND_CSS_VAR } from './constants';\nimport { recordTokenCall } from './get-token-analytics';\n/**\n * Takes a dot-separated token name and an optional fallback, and returns the CSS custom property for the corresponding token.\n * This should be used to implement design decisions throughout your application.\n *\n * Note: With `@atlaskit/babel-plugin-tokens`, this function can be pre-compiled and a fallback value automatically inserted.\n *\n * @param {string} path - A dot-separated token name (example: `'color.background.brand'` or `'spacing.scale.100'`).\n * @param {string} [fallback] - The fallback value that should render when token CSS is not present in your app.\n *\n * @example\n * ```\n * <div\n * css={{\n * backgroundColor: token('elevation.surface.raised', N0),\n * boxShadow: token('elevation.shadow.raised', `0 20px 32px -8px ${N50A}, 0 0 1px ${N60A}`),\n * padding: token('spacing.scale.100', '8px'),\n * fontWeight: token('font.weight.regular', '400'),\n * }}\n * />\n * ```\n *\n */\nfunction token(path, fallback) {\n if (fg('platform-token-runtime-call-tracking')) {\n recordTokenCall(path, fallback);\n }\n var token = tokens[path];\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n if (!token) {\n warnOnce(\"Unknown token id at path: \".concat(path, \" in @atlaskit/tokens\"));\n }\n if (token === '--ds-icon-subtlest' && !fg('platform-component-visual-refresh')) {\n warnOnce(\"Token \\\"color.icon.subtlest\\\" is only available when feature flag \\\"platform-component-visual-refresh\\\" is on, don't use it if the flag can't be turned on on this page\");\n }\n }\n\n // if the token is not found - replacing it with variable name without any value, to avoid it being undefined which would result in invalid css\n if (!token) {\n token = TOKEN_NOT_FOUND_CSS_VAR;\n }\n var tokenCall = fallback ? \"var(\".concat(token, \", \").concat(fallback, \")\") : \"var(\".concat(token, \")\");\n return tokenCall;\n}\nexport default token;","import warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { fg } from '@atlaskit/platform-feature-flags';\nimport tokens from './artifacts/token-names';\n/**\n * Takes a dot-separated token name and and an optional fallback, and returns the current computed CSS value for the\n * resulting CSS Custom Property.\n * This should be used for when the CSS cascade isn't available, eg. `<canvas>` elements, JS charting libraries, etc.\n *\n * Note: these values change depending on the theme so consider pairing them with `useThemeObserver` in React, or the\n * `ThemeMutationObserver` class elsewhere.\n *\n * @param {string} path - A dot-separated token name (example: `'color.background.brand'` or `'spacing.scale.100'`).\n * @param {string} [fallback] - The fallback value that should render when token CSS is not present in your app.\n *\n * @example\n * ```\n * const theme = useThemeObserver();\n *\n * useEffect(() => {\n * const lineColor = getTokenValue('color.background.accent.blue.subtle', B400);\n * }, [theme]);\n * ```\n *\n */\nfunction getTokenValue(tokenId) {\n var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var token = tokens[tokenId];\n var tokenValue = fallback;\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n if (!token) {\n warnOnce(\"Unknown token id at path: \".concat(tokenId, \" in @atlaskit/tokens\"));\n }\n if (token === '--ds-icon-subtlest' && !fg('platform-component-visual-refresh')) {\n warnOnce(\"Token \\\"color.icon.subtlest\\\" is only available when feature flag \\\"platform-component-visual-refresh\\\" is on, don't use it if the flag can't be turned on on this page\");\n }\n }\n if (typeof window === 'undefined') {\n return tokenValue;\n }\n tokenValue = window.getComputedStyle(document.documentElement).getPropertyValue(token).trim();\n tokenValue = tokenValue || fallback;\n return tokenValue;\n}\nexport default getTokenValue;","// valid hex color with 6 digits\nexport var isValidBrandHex = function isValidBrandHex(hex) {\n return /^#[0-9A-F]{6}$/i.test(hex);\n};\n\n// valid hex color with 4, 6 or 8 digits\nvar isValidHex = function isValidHex(hex) {\n return /^#([A-Fa-f0-9]{3,4}){1,2}$/.test(hex);\n};\nexport function rgbToHex(r, g, b) {\n return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n}\nexport function getAlpha(hex) {\n if (hex.length === 9) {\n var int = parseInt(hex.slice(7, 9), 16) / 255;\n return Number(parseFloat(int.toString()).toFixed(2));\n }\n return 1;\n}\nexport function hexToRgbA(hex) {\n if (!isValidHex(hex)) {\n throw new Error('Invalid HEX');\n }\n var c;\n c = hex.substring(1).split('');\n if (c.length === 3) {\n c = [c[0], c[0], c[1], c[1], c[2], c[2]];\n }\n c = '0x' + c.join('');\n return [c >> 16 & 255, c >> 8 & 255, c & 255, getAlpha(hex)];\n}\nexport function hexToRgb(hex) {\n if (!isValidHex(hex)) {\n throw new Error('Invalid HEX');\n }\n var c;\n c = hex.substring(1).split('');\n if (c.length === 3) {\n c = [c[0], c[0], c[1], c[1], c[2], c[2]];\n }\n c = '0x' + c.join('');\n return [c >> 16 & 255, c >> 8 & 255, c & 255];\n}\nexport function hexToHSL(hex) {\n if (!isValidHex(hex)) {\n throw new Error('Invalid HEX');\n }\n var r = 0,\n g = 0,\n b = 0;\n if (hex.length === 4) {\n r = '0x' + hex[1] + hex[1];\n g = '0x' + hex[2] + hex[2];\n b = '0x' + hex[3] + hex[3];\n } else if (hex.length === 7) {\n r = '0x' + hex[1] + hex[2];\n g = '0x' + hex[3] + hex[4];\n b = '0x' + hex[5] + hex[6];\n }\n // Then to HSL\n r /= 255;\n g /= 255;\n b /= 255;\n var cmin = Math.min(r, g, b),\n cmax = Math.max(r, g, b),\n delta = cmax - cmin,\n h = 0,\n s = 0,\n l = 0;\n if (delta === 0) {\n h = 0;\n } else if (cmax === r) {\n h = (g - b) / delta % 6;\n } else if (cmax === g) {\n h = (b - r) / delta + 2;\n } else {\n h = (r - g) / delta + 4;\n }\n h = Math.round(h * 60);\n if (h < 0) {\n h += 360;\n }\n l = (cmax + cmin) / 2;\n s = delta === 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));\n s = +(s * 100).toFixed(1);\n l = +(l * 100).toFixed(1);\n return [h, s, l];\n}\nexport function HSLToRGB(h, s, l) {\n s /= 100;\n l /= 100;\n var k = function k(n) {\n return (n + h / 30) % 12;\n };\n var a = s * Math.min(l, 1 - l);\n var f = function f(n) {\n return l - a * Math.max(-1, Math.min(k(n) - 3, Math.min(9 - k(n), 1)));\n };\n return [255 * f(0), 255 * f(8), 255 * f(4)];\n}\nexport function relativeLuminanceW3C(r, g, b) {\n var RsRGB = r / 255;\n var GsRGB = g / 255;\n var BsRGB = b / 255;\n var R = RsRGB <= 0.03928 ? RsRGB / 12.92 : Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n var G = GsRGB <= 0.03928 ? GsRGB / 12.92 : Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n var B = BsRGB <= 0.03928 ? BsRGB / 12.92 : Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n\n // For the sRGB colorspace, the relative luminance of a color is defined as:\n var L = 0.2126 * R + 0.7152 * G + 0.0722 * B;\n return L;\n}\nexport function getContrastRatio(foreground, background) {\n if (!isValidHex(foreground) || !isValidHex(background)) {\n throw new Error('Invalid HEX');\n }\n var foregroundRgb = hexToRgb(foreground);\n var backgroundRgb = hexToRgb(background);\n var foregroundLuminance = relativeLuminanceW3C(foregroundRgb[0], foregroundRgb[1], foregroundRgb[2]);\n var backgroundLuminance = relativeLuminanceW3C(backgroundRgb[0], backgroundRgb[1], backgroundRgb[2]);\n // calculate the color contrast ratio\n var brightest = Math.max(foregroundLuminance, backgroundLuminance);\n var darkest = Math.min(foregroundLuminance, backgroundLuminance);\n return (brightest + 0.05) / (darkest + 0.05);\n}\nexport function deltaE(rgbA, rgbB) {\n var labA = rgbToLab(rgbA);\n var labB = rgbToLab(rgbB);\n var deltaL = labA[0] - labB[0];\n var deltaA = labA[1] - labB[1];\n var deltaB = labA[2] - labB[2];\n var c1 = Math.sqrt(labA[1] * labA[1] + labA[2] * labA[2]);\n var c2 = Math.sqrt(labB[1] * labB[1] + labB[2] * labB[2]);\n var deltaC = c1 - c2;\n var deltaH = deltaA * deltaA + deltaB * deltaB - deltaC * deltaC;\n deltaH = deltaH < 0 ? 0 : Math.sqrt(deltaH);\n var sc = 1.0 + 0.045 * c1;\n var sh = 1.0 + 0.015 * c1;\n var deltaLKlsl = deltaL / 1.0;\n var deltaCkcsc = deltaC / sc;\n var deltaHkhsh = deltaH / sh;\n var i = deltaLKlsl * deltaLKlsl + deltaCkcsc * deltaCkcsc + deltaHkhsh * deltaHkhsh;\n return i < 0 ? 0 : Math.sqrt(i);\n}\nfunction rgbToLab(rgb) {\n var r = rgb[0] / 255,\n g = rgb[1] / 255,\n b = rgb[2] / 255,\n x,\n y,\n z;\n r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;\n g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;\n b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;\n x = (r * 0.4124 + g * 0.3576 + b * 0.1805) / 0.95047;\n y = (r * 0.2126 + g * 0.7152 + b * 0.0722) / 1.0;\n z = (r * 0.0193 + g * 0.1192 + b * 0.9505) / 1.08883;\n x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;\n y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;\n z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;\n return [116 * y - 16, 500 * (x - y), 200 * (y - z)];\n}","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { themeIds } from './theme-config';\nvar themeKinds = ['light', 'dark', 'spacing', 'typography', 'shape'];\nvar customThemeOptions = 'UNSAFE_themeOptions';\nvar isThemeKind = function isThemeKind(themeKind) {\n return themeKinds.find(function (kind) {\n return kind === themeKind;\n }) !== undefined;\n};\nvar isThemeIds = function isThemeIds(themeId) {\n return themeIds.find(function (id) {\n return id === themeId;\n }) !== undefined;\n};\nvar isColorMode = function isColorMode(modeId) {\n return ['light', 'dark', 'auto'].includes(modeId);\n};\n/**\n * Converts a string that is formatted for the `data-theme` HTML attribute\n * to an object that can be passed to `setGlobalTheme`.\n *\n * @param {string} themes The themes that should be applied.\n *\n * @example\n * ```\n * themeStringToObject('dark:dark light:legacy-light spacing:spacing');\n * // returns { dark: 'dark', light: 'legacy-light', spacing: 'spacing' }\n * ```\n */\nexport var themeStringToObject = function themeStringToObject(themeState) {\n return themeState.split(' ').map(function (theme) {\n return theme.split(/:([^]*)/);\n }).reduce(function (themeObject, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n kind = _ref2[0],\n id = _ref2[1];\n if (kind === 'colorMode' && isColorMode(id)) {\n themeObject[kind] = id;\n }\n if (isThemeKind(kind) && isThemeIds(id)) {\n // @ts-expect-error FIXME - this is a valid ts error\n themeObject[kind] = id;\n }\n if (kind === customThemeOptions) {\n try {\n themeObject[customThemeOptions] = JSON.parse(id);\n } catch (e) {\n new Error('Invalid custom theme string');\n }\n }\n return themeObject;\n }, {});\n};\n\n/**\n * Converts a theme object to a string formatted for the `data-theme` HTML attribute.\n *\n * @param {object} themes The themes that should be applied.\n *\n * @example\n * ```\n * themeObjectToString({ dark: 'dark', light: 'legacy-light', spacing: 'spacing' });\n * // returns 'dark:dark light:legacy-light spacing:spacing'\n * ```\n */\nexport var themeObjectToString = function themeObjectToString(themeState) {\n return Object.entries(themeState).reduce(function (themeString, _ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n kind = _ref4[0],\n id = _ref4[1];\n if (\n // colorMode theme state\n kind === 'colorMode' && typeof id === 'string' && isColorMode(id) ||\n // custom theme state\n kind === customThemeOptions && _typeof(id) === 'object' ||\n // other theme states\n isThemeKind(kind) && typeof id === 'string' && isThemeIds(id)) {\n return themeString + \"\".concat(themeString ? ' ' : '') + \"\".concat(kind, \":\").concat(_typeof(id) === 'object' ? JSON.stringify(id) : id);\n }\n return themeString;\n }, '');\n};","export var hash = function hash(str) {\n var hash = 0;\n for (var i = 0; i < str.length; i++) {\n var char = str.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n hash &= hash; // Convert to 32bit integer\n }\n return new Uint32Array([hash])[0].toString(36);\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { fg } from '@atlaskit/platform-feature-flags';\nimport { COLOR_MODE_ATTRIBUTE, CONTRAST_MODE_ATTRIBUTE, CUSTOM_THEME_ATTRIBUTE, THEME_DATA_ATTRIBUTE } from './constants';\nimport { themeStateDefaults } from './theme-config';\nimport { themeObjectToString } from './theme-state-transformer';\nimport { isValidBrandHex } from './utils/color-utils';\nimport { hash } from './utils/hash';\nvar defaultColorMode = 'light';\nvar defaultContrastMode = 'no-preference';\n\n/**\n * Server-side rendering utility. Generates the valid HTML attributes for a given theme.\n * Note: this utility does not handle automatic theme switching.\n *\n * @param {Object<string, string>} themeOptions - Theme options object\n * @param {string} themeState.colorMode Determines which color theme is applied. If set to `auto`, the theme applied will be determined by the OS setting.\n * @param {string} themeState.dark The color theme to be applied when the color mode resolves to 'dark'.\n * @param {string} themeState.light The color theme to be applied when the color mode resolves to 'light'.\n * @param {string} themeState.spacing The spacing theme to be applied.\n * @param {string} themeState.typography The typography theme to be applied.\n * @param {Object} themeState.UNSAFE_themeOptions The custom branding options to be used for custom theme generation\n *\n * @returns {Object} Object of HTML attributes to be applied to the document root\n */\nvar getThemeHtmlAttrs = function getThemeHtmlAttrs() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$colorMode = _ref.colorMode,\n colorMode = _ref$colorMode === void 0 ? themeStateDefaults['colorMode'] : _ref$colorMode,\n _ref$dark = _ref.dark,\n dark = _ref$dark === void 0 ? themeStateDefaults['dark'] : _ref$dark,\n _ref$light = _ref.light,\n light = _ref$light === void 0 ? themeStateDefaults['light'] : _ref$light,\n _ref$contrastMode = _ref.contrastMode,\n contrastMode = _ref$contrastMode === void 0 ? themeStateDefaults['contrastMode'] : _ref$contrastMode,\n _ref$shape = _ref.shape,\n shape = _ref$shape === void 0 ? themeStateDefaults['shape'] : _ref$shape,\n _ref$spacing = _ref.spacing,\n spacing = _ref$spacing === void 0 ? themeStateDefaults['spacing'] : _ref$spacing,\n _ref$typography = _ref.typography,\n typography = _ref$typography === void 0 ? themeStateDefaults['typography']() : _ref$typography,\n _ref$UNSAFE_themeOpti = _ref.UNSAFE_themeOptions,\n UNSAFE_themeOptions = _ref$UNSAFE_themeOpti === void 0 ? themeStateDefaults['UNSAFE_themeOptions'] : _ref$UNSAFE_themeOpti;\n var themeAttribute = themeObjectToString({\n dark: dark,\n light: light,\n shape: shape,\n spacing: spacing,\n typography: typography\n });\n var result = _defineProperty(_defineProperty({}, THEME_DATA_ATTRIBUTE, themeAttribute), COLOR_MODE_ATTRIBUTE, colorMode === 'auto' ? defaultColorMode : colorMode);\n if (fg('platform_increased-contrast-themes')) {\n result = _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, CONTRAST_MODE_ATTRIBUTE, contrastMode === 'auto' ? defaultContrastMode : contrastMode));\n }\n if (UNSAFE_themeOptions && isValidBrandHex(UNSAFE_themeOptions.brandColor)) {\n var optionString = JSON.stringify(UNSAFE_themeOptions);\n var uniqueId = hash(optionString);\n result[CUSTOM_THEME_ATTRIBUTE] = uniqueId;\n }\n return result;\n};\nexport default getThemeHtmlAttrs;","export default {\n\t'light': () => import(\n\t\t/* webpackChunkName: \"./themes/light\" */\n\t\t'./themes/light.js'\n\t),\n\t'light-future': () => import(\n\t\t/* webpackChunkName: \"./themes/light-future\" */\n\t\t'./themes/light-future.js'\n\t),\n\t'dark': () => import(\n\t\t/* webpackChunkName: \"./themes/dark\" */\n\t\t'./themes/dark.js'\n\t),\n\t'dark-future': () => import(\n\t\t/* webpackChunkName: \"./themes/dark-future\" */\n\t\t'./themes/dark-future.js'\n\t),\n\t'legacy-light': () => import(\n\t\t/* webpackChunkName: \"./themes/legacy-light\" */\n\t\t'./themes/legacy-light.js'\n\t),\n\t'legacy-dark': () => import(\n\t\t/* webpackChunkName: \"./themes/legacy-dark\" */\n\t\t'./themes/legacy-dark.js'\n\t),\n\t'spacing': () => import(\n\t\t/* webpackChunkName: \"./themes/spacing\" */\n\t\t'./themes/spacing.js'\n\t),\n\t'shape': () => import(\n\t\t/* webpackChunkName: \"./themes/shape\" */\n\t\t'./themes/shape.js'\n\t),\n\t'typography-adg3': () => import(\n\t\t/* webpackChunkName: \"./themes/typography-adg3\" */\n\t\t'./themes/typography-adg3.js'\n\t),\n\t'typography-modernized': () => import(\n\t\t/* webpackChunkName: \"./themes/typography-modernized\" */\n\t\t'./themes/typography-modernized.js'\n\t),\n\t'typography-refreshed': () => import(\n\t\t/* webpackChunkName: \"./themes/typography-refreshed\" */\n\t\t'./themes/typography-refreshed.js'\n\t),\n\t'original': () => Promise.resolve(''),\n};","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { fg } from '@atlaskit/platform-feature-flags';\nimport themeImportMap from '../artifacts/theme-import-map';\nimport { CUSTOM_THEME_ATTRIBUTE, THEME_DATA_ATTRIBUTE } from '../constants';\nexport var loadAndAppendThemeCss = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(themeId) {\n var themeCss, style;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (!document.head.querySelector(\"style[\".concat(THEME_DATA_ATTRIBUTE, \"=\\\"\").concat(themeId, \"\\\"]:not([\").concat(CUSTOM_THEME_ATTRIBUTE, \"])\"))) {\n _context.next = 2;\n break;\n }\n return _context.abrupt(\"return\");\n case 2:\n if (themeId) {\n _context.next = 4;\n break;\n }\n return _context.abrupt(\"return\");\n case 4:\n _context.next = 6;\n return loadThemeCss(themeId);\n case 6:\n themeCss = _context.sent;\n style = document.createElement('style');\n style.textContent = themeCss;\n style.dataset.theme = themeId;\n document.head.appendChild(style);\n case 11:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function loadAndAppendThemeCss(_x) {\n return _ref.apply(this, arguments);\n };\n}();\nexport var loadThemeCss = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(themeId) {\n var _yield$themeImportMap, themeCss;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if ((themeId === 'light' || themeId === 'dark') && fg('platform-component-visual-refresh')) {\n themeId += '-brand-refresh';\n }\n _context2.next = 3;\n return themeImportMap[themeId]();\n case 3:\n _yield$themeImportMap = _context2.sent;\n themeCss = _yield$themeImportMap.default;\n return _context2.abrupt(\"return\", themeCss);\n case 6:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function loadThemeCss(_x2) {\n return _ref2.apply(this, arguments);\n };\n}();\nexport var darkModeMediaQuery = '(prefers-color-scheme: dark)';\nexport var moreContrastMediaQuery = '(prefers-contrast: more)';","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { bind as _bind } from 'bind-event-listener';\nimport { COLOR_MODE_ATTRIBUTE } from '../constants';\nimport { darkModeMediaQuery } from './theme-loading';\nvar isMatchMediaAvailable = typeof window !== 'undefined' && 'matchMedia' in window;\n\n/**\n * Updates the current theme when the system theme changes. Should be bound\n * to an event listener listening on the '(prefers-color-scheme: dark)' query\n * @param e The event representing a change in system theme.\n */\nfunction checkNativeListener(e) {\n var element = document.documentElement;\n element.setAttribute(COLOR_MODE_ATTRIBUTE, e.matches ? 'dark' : 'light');\n}\nvar darkModeMql = isMatchMediaAvailable && window.matchMedia(darkModeMediaQuery);\nvar ColorModeObserver = /*#__PURE__*/function () {\n function ColorModeObserver() {\n _classCallCheck(this, ColorModeObserver);\n _defineProperty(this, \"unbindThemeChangeListener\", null);\n }\n return _createClass(ColorModeObserver, [{\n key: \"getColorMode\",\n value: function getColorMode() {\n if (!darkModeMql) {\n return 'light';\n }\n return darkModeMql !== null && darkModeMql !== void 0 && darkModeMql.matches ? 'dark' : 'light';\n }\n }, {\n key: \"bind\",\n value: function bind() {\n if (darkModeMql && this.unbindThemeChangeListener === null) {\n this.unbindThemeChangeListener = _bind(darkModeMql, {\n type: 'change',\n listener: checkNativeListener\n });\n }\n }\n }, {\n key: \"unbind\",\n value: function unbind() {\n if (this.unbindThemeChangeListener) {\n this.unbindThemeChangeListener();\n this.unbindThemeChangeListener = null;\n }\n }\n }]);\n}();\n/**\n * A singleton color mode observer - binds \"auto\" switching logic to a single `mediaQueryList` listener\n * that can be unbound by any consumer when no longer needed.\n */\nvar SingletonColorModeObserver = new ColorModeObserver();\nexport default SingletonColorModeObserver;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { bind as _bind } from 'bind-event-listener';\nimport { CONTRAST_MODE_ATTRIBUTE } from '../constants';\nimport { moreContrastMediaQuery } from './theme-loading';\nvar isMatchMediaAvailable = typeof window !== 'undefined' && 'matchMedia' in window;\n\n/**\n * Updates the current theme when the system contrast preference changes. Should be bound\n * to an event listener listening on the '(prefers-contrast: more)' query\n * @param e The event representing a change in system theme.\n */\nfunction checkNativeListener(e) {\n var element = document.documentElement;\n element.setAttribute(CONTRAST_MODE_ATTRIBUTE, e.matches ? 'more' : 'no-preference');\n}\nvar contrastModeMql = isMatchMediaAvailable && window.matchMedia(moreContrastMediaQuery);\nvar ContrastModeObserver = /*#__PURE__*/function () {\n function ContrastModeObserver() {\n _classCallCheck(this, ContrastModeObserver);\n _defineProperty(this, \"unbindContrastChangeListener\", null);\n }\n return _createClass(ContrastModeObserver, [{\n key: \"getContrastMode\",\n value: function getContrastMode() {\n if (!contrastModeMql) {\n return 'no-preference';\n }\n return contrastModeMql !== null && contrastModeMql !== void 0 && contrastModeMql.matches ? 'more' : 'no-preference';\n }\n }, {\n key: \"bind\",\n value: function bind() {\n if (contrastModeMql && this.unbindContrastChangeListener === null) {\n this.unbindContrastChangeListener = _bind(contrastModeMql, {\n type: 'change',\n listener: checkNativeListener\n });\n }\n }\n }, {\n key: \"unbind\",\n value: function unbind() {\n if (this.unbindContrastChangeListener) {\n this.unbindContrastChangeListener();\n this.unbindContrastChangeListener = null;\n }\n }\n }]);\n}();\n/**\n * A singleton contrast mode observer - binds \"auto\" switching logic to a single `mediaQueryList` listener\n * that can be unbound by any consumer when no longer needed.\n */\nvar SingletonContrastModeObserver = new ContrastModeObserver();\nexport default SingletonContrastModeObserver;","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { fg } from '@atlaskit/platform-feature-flags';\nimport getThemeHtmlAttrs from '../get-theme-html-attrs';\nimport ColorModeObserver from './color-mode-listeners';\nimport ContrastModeObserver from './contrast-mode-listeners';\n\n/**\n * Given ThemeState, sets appropriate html attributes on the documentElement,\n * adds a listener to keep colorMode updated, and returns a function to unbind.\n */\nexport default function configurePage(themeState) {\n if (themeState.colorMode === 'auto') {\n // Set colorMode based on the user preference\n themeState.colorMode = ColorModeObserver.getColorMode();\n // Bind a listener (if one doesn't already exist) to keep colorMode updated\n ColorModeObserver.bind();\n } else {\n ColorModeObserver.unbind();\n }\n if (fg('platform_increased-contrast-themes')) {\n if (themeState.contrastMode === 'auto') {\n // Set contrastMode based on the user preference\n themeState.contrastMode = ContrastModeObserver.getContrastMode();\n // Bind a listener (if one doesn't already exist) to keep contrastMode updated\n ContrastModeObserver.bind();\n } else {\n ContrastModeObserver.unbind();\n }\n }\n var themeAttributes = getThemeHtmlAttrs(themeState);\n Object.entries(themeAttributes).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n document.documentElement.setAttribute(key, value);\n });\n return function () {\n ColorModeObserver.unbind();\n if (fg('platform_increased-contrast-themes')) {\n ContrastModeObserver.unbind();\n }\n };\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport tokens from '../artifacts/token-names';\nimport { CUSTOM_THEME_ATTRIBUTE, THEME_DATA_ATTRIBUTE } from '../constants';\nimport { hash } from './hash';\nexport function findMissingCustomStyleElements(UNSAFE_themeOptions, mode) {\n var optionString = JSON.stringify(UNSAFE_themeOptions);\n var uniqueId = hash(optionString);\n var attrOfMissingCustomStyles = [];\n (mode === 'auto' ? ['light', 'dark'] : [mode]).forEach(function (themeId) {\n var element = document.head.querySelector(\"style[\".concat(CUSTOM_THEME_ATTRIBUTE, \"=\\\"\").concat(uniqueId, \"\\\"][\").concat(THEME_DATA_ATTRIBUTE, \"=\\\"\").concat(themeId, \"\\\"]\"));\n if (element) {\n // Append the existing custom styles to take precedence over others\n document.head.appendChild(element);\n } else {\n attrOfMissingCustomStyles.push(themeId);\n }\n });\n return attrOfMissingCustomStyles;\n}\nexport function limitSizeOfCustomStyleElements(sizeThreshold) {\n var styleTags = _toConsumableArray(Array.from(document.head.querySelectorAll(\"style[\".concat(CUSTOM_THEME_ATTRIBUTE, \"][\").concat(THEME_DATA_ATTRIBUTE, \"]\"))));\n if (styleTags.length < sizeThreshold) {\n return;\n }\n styleTags.slice(0, styleTags.length - (sizeThreshold - 1)).forEach(function (element) {\n return element.remove();\n });\n}\nexport function reduceTokenMap(tokenMap, themeRamp) {\n return Object.entries(tokenMap).reduce(function (acc, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n var cssVar = tokens[key];\n return cssVar ? \"\".concat(acc, \"\\n \").concat(cssVar, \": \").concat(typeof value === 'string' ? value : themeRamp[value], \";\") : acc;\n }, '');\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport themeConfig from '../theme-config';\n\n/**\n * Finds any matching increased contrast theme available for a selected theme.\n */\nexport default function getIncreasedContrastTheme(themeId) {\n var _Object$entries$find;\n return (_Object$entries$find = Object.entries(themeConfig).find(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n increasesContrastFor = _ref2[1].increasesContrastFor;\n return increasesContrastFor === themeId;\n })) === null || _Object$entries$find === void 0 ? void 0 : _Object$entries$find[1].id;\n}","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { fg } from '@atlaskit/platform-feature-flags';\nimport getIncreasedContrastTheme from './get-increased-contrast-theme';\nexport var getThemePreferences = function getThemePreferences(themeState) {\n var colorMode = themeState.colorMode,\n contrastMode = themeState.contrastMode,\n dark = themeState.dark,\n light = themeState.light,\n shape = themeState.shape,\n spacing = themeState.spacing,\n typography = themeState.typography;\n var autoColorModeThemes = [light, dark];\n var themePreferences = [];\n if (colorMode === 'auto') {\n if (contrastMode !== 'no-preference' && fg('platform_increased-contrast-themes')) {\n autoColorModeThemes.forEach(function (normalTheme) {\n var increasedContrastTheme = getIncreasedContrastTheme(normalTheme);\n if (increasedContrastTheme) {\n autoColorModeThemes.push(increasedContrastTheme);\n }\n });\n }\n themePreferences.push.apply(themePreferences, autoColorModeThemes);\n } else {\n themePreferences.push(themeState[colorMode]);\n if (contrastMode !== 'no-preference' && fg('platform_increased-contrast-themes')) {\n var increasedContrastTheme = getIncreasedContrastTheme(themeState[colorMode]);\n if (increasedContrastTheme) {\n themePreferences.push(increasedContrastTheme);\n }\n }\n }\n [shape, spacing, typography].forEach(function (themeId) {\n if (themeId) {\n themePreferences.push(themeId);\n }\n });\n return _toConsumableArray(new Set(themePreferences));\n};\nexport var getThemeOverridePreferences = function getThemeOverridePreferences(_themeState) {\n var themeOverridePreferences = [];\n return _toConsumableArray(new Set(themeOverridePreferences));\n};","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nfunction _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { fg } from '@atlaskit/platform-feature-flags';\nimport { themeStateDefaults } from './theme-config';\nimport { isValidBrandHex } from './utils/color-utils';\nimport configurePage from './utils/configure-page';\nimport { findMissingCustomStyleElements } from './utils/custom-theme-loading-utils';\nimport { getThemeOverridePreferences, getThemePreferences } from './utils/get-theme-preferences';\nimport { loadAndAppendThemeCss } from './utils/theme-loading';\n\n/**\n * Sets the theme globally at runtime. This updates the `data-theme` and `data-color-mode` attributes on your page's <html> tag.\n *\n * @param {Object<string, string>} themeState The themes and color mode that should be applied.\n * @param {string} themeState.colorMode Determines which color theme is applied. If set to `auto`, the theme applied will be determined by the OS setting.\n * @param {string} themeState.contrastMode The contrast mode theme to be applied. If set to `auto`, the theme applied will be determined by the OS setting.set to `auto`, the theme applied will be determined by the OS setting.\n * @param {string} themeState.dark The color theme to be applied when the color mode resolves to 'dark'.\n * @param {string} themeState.light The color theme to be applied when the color mode resolves to 'light'.\n * @param {string} themeState.shape The shape theme to be applied.\n * @param {string} themeState.spacing The spacing theme to be applied.\n * @param {string} themeState.typography The typography theme to be applied.\n * @param {Object} themeState.UNSAFE_themeOptions The custom branding options to be used for custom theme generation\n * @param {function} themeLoader Callback function used to override the default theme loading functionality.\n *\n * @returns A Promise of an unbind function, that can be used to stop listening for changes to system theme.\n *\n * @example\n * ```\n * setGlobalTheme({colorMode: 'auto', light: 'light', dark: 'dark', spacing: 'spacing'});\n * ```\n */\nvar setGlobalTheme = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var _ref2,\n _ref2$colorMode,\n colorMode,\n _ref2$contrastMode,\n contrastMode,\n _ref2$dark,\n dark,\n _ref2$light,\n light,\n _ref2$shape,\n shape,\n _ref2$spacing,\n spacing,\n _ref2$typography,\n typography,\n _ref2$UNSAFE_themeOpt,\n UNSAFE_themeOptions,\n themeLoader,\n themeState,\n themePreferences,\n loadingStrategy,\n loadingTasks,\n mode,\n attrOfMissingCustomStyles,\n themeOverridePreferences,\n _iterator,\n _step,\n themeId,\n autoUnbind,\n _args3 = arguments;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n _ref2 = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : {}, _ref2$colorMode = _ref2.colorMode, colorMode = _ref2$colorMode === void 0 ? themeStateDefaults['colorMode'] : _ref2$colorMode, _ref2$contrastMode = _ref2.contrastMode, contrastMode = _ref2$contrastMode === void 0 ? themeStateDefaults['contrastMode'] : _ref2$contrastMode, _ref2$dark = _ref2.dark, dark = _ref2$dark === void 0 ? themeStateDefaults['dark'] : _ref2$dark, _ref2$light = _ref2.light, light = _ref2$light === void 0 ? themeStateDefaults['light'] : _ref2$light, _ref2$shape = _ref2.shape, shape = _ref2$shape === void 0 ? themeStateDefaults['shape'] : _ref2$shape, _ref2$spacing = _ref2.spacing, spacing = _ref2$spacing === void 0 ? themeStateDefaults['spacing'] : _ref2$spacing, _ref2$typography = _ref2.typography, typography = _ref2$typography === void 0 ? themeStateDefaults['typography']() : _ref2$typography, _ref2$UNSAFE_themeOpt = _ref2.UNSAFE_themeOptions, UNSAFE_themeOptions = _ref2$UNSAFE_themeOpt === void 0 ? themeStateDefaults['UNSAFE_themeOptions'] : _ref2$UNSAFE_themeOpt;\n themeLoader = _args3.length > 1 ? _args3[1] : undefined;\n // CLEANUP: Remove. This blocks application of increased contrast themes\n // without the feature flag enabled.\n if (!fg('platform_increased-contrast-themes')) {\n if (light === 'light-increased-contrast') {\n light = 'light';\n }\n if (dark === 'dark-increased-contrast') {\n dark = 'dark';\n }\n }\n themeState = {\n colorMode: colorMode,\n contrastMode: contrastMode,\n dark: dark,\n light: light,\n shape: shape,\n spacing: spacing,\n typography: typography,\n UNSAFE_themeOptions: themeLoader ? undefined : UNSAFE_themeOptions\n }; // Determine what to load and loading strategy\n themePreferences = getThemePreferences(themeState);\n loadingStrategy = themeLoader ? themeLoader : loadAndAppendThemeCss; // Load standard themes\n loadingTasks = themePreferences.map( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(themeId) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return loadingStrategy(themeId);\n case 2:\n return _context.abrupt(\"return\", _context.sent);\n case 3:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x) {\n return _ref3.apply(this, arguments);\n };\n }()); // Load custom themes if needed\n if (!themeLoader && UNSAFE_themeOptions && isValidBrandHex(UNSAFE_themeOptions === null || UNSAFE_themeOptions === void 0 ? void 0 : UNSAFE_themeOptions.brandColor)) {\n mode = colorMode || themeStateDefaults['colorMode'];\n attrOfMissingCustomStyles = findMissingCustomStyleElements(UNSAFE_themeOptions, mode);\n if (attrOfMissingCustomStyles.length > 0) {\n // Load custom theme styles\n loadingTasks.push(_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var _yield$import, loadAndAppendCustomThemeCss;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return import( /* webpackChunkName: \"@atlaskit-internal_atlassian-custom-theme\" */\n './custom-theme');\n case 2:\n _yield$import = _context2.sent;\n loadAndAppendCustomThemeCss = _yield$import.loadAndAppendCustomThemeCss;\n loadAndAppendCustomThemeCss({\n colorMode: attrOfMissingCustomStyles.length === 2 ? 'auto' :\n // only load the missing custom theme styles\n attrOfMissingCustomStyles[0],\n UNSAFE_themeOptions: UNSAFE_themeOptions\n });\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }))());\n }\n }\n _context3.next = 10;\n return Promise.all(loadingTasks);\n case 10:\n // Load override themes after standard themes\n themeOverridePreferences = getThemeOverridePreferences(themeState);\n _iterator = _createForOfIteratorHelper(themeOverridePreferences);\n _context3.prev = 12;\n _iterator.s();\n case 14:\n if ((_step = _iterator.n()).done) {\n _context3.next = 20;\n break;\n }\n themeId = _step.value;\n _context3.next = 18;\n return loadingStrategy(themeId);\n case 18:\n _context3.next = 14;\n break;\n case 20:\n _context3.next = 25;\n break;\n case 22:\n _context3.prev = 22;\n _context3.t0 = _context3[\"catch\"](12);\n _iterator.e(_context3.t0);\n case 25:\n _context3.prev = 25;\n _iterator.f();\n return _context3.finish(25);\n case 28:\n autoUnbind = configurePage(themeState);\n return _context3.abrupt(\"return\", autoUnbind);\n case 30:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3, null, [[12, 22, 25, 28]]);\n }));\n return function setGlobalTheme() {\n return _ref.apply(this, arguments);\n };\n}();\nexport default setGlobalTheme;","import { themeStateDefaults } from './theme-config';\nimport configurePage from './utils/configure-page';\nimport { getThemePreferences } from './utils/get-theme-preferences';\n\n/**\n * Synchronously sets the theme globally at runtime. Themes are not loaded;\n * use `getThemeStyles` and other server-side utilities to generate and load them.\n *\n * @param {Object<string, string>} themeState The themes and color mode that should be applied.\n * @param {string} themeState.colorMode Determines which color theme is applied. If set to `auto`, the theme applied will be determined by the OS setting.\n * @param {string} themeState.dark The color theme to be applied when the color mode resolves to 'dark'.\n * @param {string} themeState.light The color theme to be applied when the color mode resolves to 'light'.\n * @param {string} themeState.shape The shape theme to be applied.\n * @param {string} themeState.spacing The spacing theme to be applied.\n * @param {string} themeState.typography The typography theme to be applied.\n * @param {Object} themeState.UNSAFE_themeOptions The custom branding options to be used for custom theme generation\n * @param {function} themeLoader Callback function used to override the default theme loading functionality.\n *\n * @returns An unbind function, that can be used to stop listening for changes to system theme.\n *\n * @example\n * ```\n * enableGlobalTheme({colorMode: 'auto', light: 'light', dark: 'dark', spacing: 'spacing'});\n * ```\n */\nvar enableGlobalTheme = function enableGlobalTheme() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$colorMode = _ref.colorMode,\n colorMode = _ref$colorMode === void 0 ? themeStateDefaults['colorMode'] : _ref$colorMode,\n _ref$contrastMode = _ref.contrastMode,\n contrastMode = _ref$contrastMode === void 0 ? themeStateDefaults['contrastMode'] : _ref$contrastMode,\n _ref$dark = _ref.dark,\n dark = _ref$dark === void 0 ? themeStateDefaults['dark'] : _ref$dark,\n _ref$light = _ref.light,\n light = _ref$light === void 0 ? themeStateDefaults['light'] : _ref$light,\n _ref$shape = _ref.shape,\n shape = _ref$shape === void 0 ? themeStateDefaults['shape'] : _ref$shape,\n _ref$spacing = _ref.spacing,\n spacing = _ref$spacing === void 0 ? themeStateDefaults['spacing'] : _ref$spacing,\n _ref$typography = _ref.typography,\n typography = _ref$typography === void 0 ? themeStateDefaults['typography']() : _ref$typography,\n _ref$UNSAFE_themeOpti = _ref.UNSAFE_themeOptions,\n UNSAFE_themeOptions = _ref$UNSAFE_themeOpti === void 0 ? themeStateDefaults['UNSAFE_themeOptions'] : _ref$UNSAFE_themeOpti;\n var themeLoader = arguments.length > 1 ? arguments[1] : undefined;\n var themeState = {\n colorMode: colorMode,\n contrastMode: contrastMode,\n dark: dark,\n light: light,\n shape: shape,\n spacing: spacing,\n typography: typography,\n UNSAFE_themeOptions: themeLoader ? undefined : UNSAFE_themeOptions\n };\n\n // Determine what to load and call theme loader\n var themePreferences = getThemePreferences(themeState);\n if (themeLoader) {\n themePreferences.map(function (themeId) {\n return themeLoader(themeId);\n });\n }\n var autoUnbind = configurePage(themeState);\n return autoUnbind;\n};\nexport default enableGlobalTheme;","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { fg } from '@atlaskit/platform-feature-flags';\nimport { themeIdsWithOverrides, themeStateDefaults } from './theme-config';\nimport { isValidBrandHex } from './utils/color-utils';\nimport { getThemeOverridePreferences, getThemePreferences } from './utils/get-theme-preferences';\nimport { loadThemeCss } from './utils/theme-loading';\n/**\n * Takes an object containing theme preferences, and returns an array of objects for use in applying styles to the document head.\n * Only supplies the color themes necessary for initial render, based on the current themeState. I.e. if in light mode, dark mode themes are not returned.\n *\n * @param {Object<string, string>} themeState The themes and color mode that should be applied.\n * @param {string} themeState.colorMode Determines which color theme is applied. If set to `auto`, the theme applied will be determined by the OS setting.\n * @param {string} themeState.dark The color theme to be applied when the color mode resolves to 'dark'.\n * @param {string} themeState.light The color theme to be applied when the color mode resolves to 'light'.\n * @param {string} themeState.shape The shape theme to be applied.\n * @param {string} themeState.spacing The spacing theme to be applied.\n * @param {string} themeState.typography The typography theme to be applied.\n * @param {Object} themeState.UNSAFE_themeOptions The custom branding options to be used for custom theme generation\n *\n * @returns A Promise of an object array, containing theme IDs, data-attributes to attach to the theme, and the theme CSS.\n * If an error is encountered while loading themes, the themes array will be empty.\n */\nvar getThemeStyles = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(preferences) {\n var themePreferences, themeOverridePreferences, themeState, results;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n themeOverridePreferences = [];\n if (preferences === 'all') {\n themePreferences = themeIdsWithOverrides;\n\n // CLEANUP: Remove\n if (!fg('platform_increased-contrast-themes')) {\n themePreferences = themePreferences.filter(function (n) {\n return n !== 'light-increased-contrast' && n !== 'dark-increased-contrast';\n });\n }\n themePreferences = themePreferences.filter(function (n) {\n return n !== 'light-brand-refresh' && n !== 'dark-brand-refresh';\n });\n } else {\n themeState = {\n colorMode: (preferences === null || preferences === void 0 ? void 0 : preferences.colorMode) || themeStateDefaults['colorMode'],\n contrastMode: (preferences === null || preferences === void 0 ? void 0 : preferences.contrastMode) || themeStateDefaults['contrastMode'],\n dark: (preferences === null || preferences === void 0 ? void 0 : preferences.dark) || themeStateDefaults['dark'],\n light: (preferences === null || preferences === void 0 ? void 0 : preferences.light) || themeStateDefaults['light'],\n shape: (preferences === null || preferences === void 0 ? void 0 : preferences.shape) || themeStateDefaults['shape'],\n spacing: (preferences === null || preferences === void 0 ? void 0 : preferences.spacing) || themeStateDefaults['spacing'],\n typography: (preferences === null || preferences === void 0 ? void 0 : preferences.typography) || themeStateDefaults['typography']()\n };\n themePreferences = getThemePreferences(themeState);\n themeOverridePreferences = getThemeOverridePreferences(themeState);\n }\n _context3.next = 4;\n return Promise.all([].concat(_toConsumableArray([].concat(_toConsumableArray(themePreferences), _toConsumableArray(themeOverridePreferences)).map( /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(themeId) {\n var css;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return loadThemeCss(themeId);\n case 3:\n css = _context.sent;\n return _context.abrupt(\"return\", {\n id: themeId,\n attrs: {\n 'data-theme': themeId\n },\n css: css\n });\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](0);\n return _context.abrupt(\"return\", undefined);\n case 10:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[0, 7]]);\n }));\n return function (_x2) {\n return _ref2.apply(this, arguments);\n };\n }())), [\n // Add custom themes if they're present\n _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var _preferences$UNSAFE_t;\n var _yield$import, getCustomThemeStyles, customThemeStyles;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (!(preferences !== 'all' && preferences !== null && preferences !== void 0 && preferences.UNSAFE_themeOptions && isValidBrandHex(preferences === null || preferences === void 0 || (_preferences$UNSAFE_t = preferences.UNSAFE_themeOptions) === null || _preferences$UNSAFE_t === void 0 ? void 0 : _preferences$UNSAFE_t.brandColor))) {\n _context2.next = 15;\n break;\n }\n _context2.prev = 1;\n _context2.next = 4;\n return import( /* webpackChunkName: \"@atlaskit-internal_atlassian-custom-theme\" */\n './custom-theme');\n case 4:\n _yield$import = _context2.sent;\n getCustomThemeStyles = _yield$import.getCustomThemeStyles;\n _context2.next = 8;\n return getCustomThemeStyles({\n colorMode: (preferences === null || preferences === void 0 ? void 0 : preferences.colorMode) || themeStateDefaults['colorMode'],\n UNSAFE_themeOptions: preferences === null || preferences === void 0 ? void 0 : preferences.UNSAFE_themeOptions\n });\n case 8:\n customThemeStyles = _context2.sent;\n return _context2.abrupt(\"return\", customThemeStyles);\n case 12:\n _context2.prev = 12;\n _context2.t0 = _context2[\"catch\"](1);\n return _context2.abrupt(\"return\", undefined);\n case 15:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, null, [[1, 12]]);\n }))()]));\n case 4:\n results = _context3.sent;\n return _context3.abrupt(\"return\", results.flat().filter(function (theme) {\n return theme !== undefined;\n }));\n case 6:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return function getThemeStyles(_x) {\n return _ref.apply(this, arguments);\n };\n}();\nexport default getThemeStyles;","import { fg } from '@atlaskit/platform-feature-flags';\nimport { COLOR_MODE_ATTRIBUTE, CONTRAST_MODE_ATTRIBUTE } from './constants';\nimport { darkModeMediaQuery, moreContrastMediaQuery } from './utils/theme-loading';\n\n/**\n * Provides a script that, when executed before paint, sets the `data-color-mode` attribute based on the current system theme,\n * to enable SSR support for automatic theme switching, avoid a flash of un-themed content on first paint.\n *\n * @param {string} colorMode Determines which color theme is applied. If set to `auto`, the theme applied will be determined by the OS setting.\n *\n * @returns {string} A string to be added to the innerHTML of a script tag in the document head\n */\nvar getSSRAutoScript = function getSSRAutoScript(colorMode, contrastMode) {\n if (colorMode !== 'auto' && contrastMode !== 'auto') {\n return undefined;\n }\n var setColorMode = colorMode === 'auto' ? \"\\n try {\\n const darkModeMql = window.matchMedia('\".concat(darkModeMediaQuery, \"');\\n const colorMode = darkModeMql.matches ? 'dark' : 'light';\\n document.documentElement.setAttribute('\").concat(COLOR_MODE_ATTRIBUTE, \"', colorMode);\\n } catch (e) {}\") : '';\n var setContrastMode = contrastMode === 'auto' && fg('platform_increased-contrast-themes') ? \"\\n try {\\n const contrastModeMql = window.matchMedia('\".concat(moreContrastMediaQuery, \"');\\n const contrastMode = contrastModeMql.matches ? 'more' : 'no-preference';\\n document.documentElement.setAttribute('\").concat(CONTRAST_MODE_ATTRIBUTE, \"', contrastMode);\\n } catch (e) {}\") : '';\n return \"(() => {\".concat(setColorMode).concat(setContrastMode, \"})()\");\n};\nexport default getSSRAutoScript;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { COLOR_MODE_ATTRIBUTE, THEME_DATA_ATTRIBUTE } from './constants';\nimport { themeColorModes } from './theme-config';\nimport { themeStringToObject } from './theme-state-transformer';\nvar isThemeColorMode = function isThemeColorMode(colorMode) {\n return themeColorModes.find(function (mode) {\n return mode === colorMode;\n }) !== undefined;\n};\nvar getGlobalTheme = function getGlobalTheme() {\n if (typeof document === 'undefined') {\n return {};\n }\n var element = document.documentElement;\n var colorMode = element.getAttribute(COLOR_MODE_ATTRIBUTE) || '';\n var theme = element.getAttribute(THEME_DATA_ATTRIBUTE) || '';\n return _objectSpread(_objectSpread({}, themeStringToObject(theme)), isThemeColorMode(colorMode) && {\n colorMode: colorMode\n });\n};\nexport default getGlobalTheme;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { COLOR_MODE_ATTRIBUTE, THEME_DATA_ATTRIBUTE } from './constants';\nimport getGlobalTheme from './get-global-theme';\n/**\n * A MutationObserver which watches the `<html>` element for changes to the theme.\n *\n * In React, use the {@link useThemeObserver `useThemeObserver`} hook instead.\n *\n * @param {function} callback - A callback function which fires when the theme changes.\n *\n * @example\n * ```\n * const observer = new ThemeMutationObserver((theme) => {});\n * observer.observe();\n * ```\n */\nvar ThemeMutationObserver = /*#__PURE__*/function () {\n function ThemeMutationObserver(callback) {\n _classCallCheck(this, ThemeMutationObserver);\n _defineProperty(this, \"legacyObserver\", null);\n this.callback = callback;\n ThemeMutationObserver.callbacks.add(callback);\n }\n return _createClass(ThemeMutationObserver, [{\n key: \"observe\",\n value: function observe() {\n if (!ThemeMutationObserver.observer) {\n ThemeMutationObserver.observer = new MutationObserver(function () {\n var theme = getGlobalTheme();\n ThemeMutationObserver.callbacks.forEach(function (callback) {\n return callback(theme);\n });\n });\n // Observer only needs to be configured once\n ThemeMutationObserver.observer.observe(document.documentElement, {\n attributeFilter: [THEME_DATA_ATTRIBUTE, COLOR_MODE_ATTRIBUTE]\n });\n }\n }\n }, {\n key: \"disconnect\",\n value: function disconnect() {\n if (this.callback) {\n ThemeMutationObserver.callbacks.delete(this.callback);\n }\n if (ThemeMutationObserver.callbacks.size === 0 && ThemeMutationObserver.observer) {\n ThemeMutationObserver.observer.disconnect();\n ThemeMutationObserver.observer = null;\n }\n }\n }]);\n}();\n_defineProperty(ThemeMutationObserver, \"observer\", null);\n_defineProperty(ThemeMutationObserver, \"callbacks\", new Set());\nexport { ThemeMutationObserver as default };","import TokenNames from '@atlaskit/tokens/token-names';\n\nconst testingThemeTargetElement = document.documentElement;\nconst testingColorVariableName = '--aui-theme-testing-color';\nconst defaultTestingColor = 'color(srgb 1 0.75 0.8 / 0.6)';\nconst testingThemeTargetClass = 'aui-theme-testing';\nconst testingThemeSelector =\n `html.${testingThemeTargetClass}[data-theme*=\"light:\"], ` +\n `html.${testingThemeTargetClass}[data-theme*=\"dark:\"]`;\n\n/**\n * Theme that replaces all the design tokens with single color, helping to visually identify custom colors on the page\n *\n * @param solidColor any valid CSS color, will be used to replace tokens\n */\n(function generateTestingTheme() {\n const initialComment =\n 'This theme is autogenerated using AJS.DesignTokens.generateTestingTheme().';\n\n // If function called many times theme should be only added once\n const isThemeAlreadyInitialised = !document.querySelector(testingThemeSelector);\n if (!isThemeAlreadyInitialised) {\n return;\n }\n\n // We use overridable test color declaration to make theme configurable\n const colorDeclaration = `${testingColorVariableName}: ${defaultTestingColor};`;\n const themeCSSDeclarations = Object.values(TokenNames).map(\n (token) => `\\t${token}: var(${testingColorVariableName});`\n );\n const allDeclarations = [colorDeclaration, ...themeCSSDeclarations];\n\n const themeCSS = `/* ${initialComment} */\\n${testingThemeSelector} {\\n${allDeclarations.join('\\n')}\\n}`;\n\n const themeElement = document.createElement('style');\n themeElement.id = 'aui-design-tokens-testing-theme';\n themeElement.innerText = themeCSS;\n\n const head = document.querySelector('head');\n if (head) {\n head.appendChild(themeElement);\n }\n})();\n\n/**\n * Overrides default testing color by setting css variable. If no color passed, will revert to default.\n * @param color color to use for testing\n */\nfunction setTestingThemeColor(color = defaultTestingColor) {\n document.body.style.setProperty(testingColorVariableName, color);\n}\n\nfunction isTestingThemeEnabled() {\n return testingThemeTargetElement.matches(testingThemeSelector);\n}\n\nfunction enableTestingTheme() {\n if (!isTestingThemeEnabled()) {\n testingThemeTargetElement.classList.add(testingThemeTargetClass);\n }\n}\n\nfunction disableTestingTheme() {\n if (isTestingThemeEnabled()) {\n testingThemeTargetElement.classList.remove(testingThemeTargetClass);\n }\n}\n\n/**\n * Enables or disables testing theme for Design Tokens based on current state\n * @param targetState Optional parameter. Allows to force specific state.\n */\nfunction toggleTestingTheme(targetState) {\n // If not passed, invert existing state\n if (targetState == null) {\n targetState = !isTestingThemeEnabled();\n }\n\n targetState ? enableTestingTheme() : disableTestingTheme();\n}\n\nexport { setTestingThemeColor, enableTestingTheme, disableTestingTheme, toggleTestingTheme };\n","const NAMESPACE = 'AJS';\nconst I18N_OBJECT_NAME = 'I18n';\n\nfunction initNamespace() {\n if (typeof window[NAMESPACE] !== 'object') {\n window[NAMESPACE] = {};\n }\n}\n\n/**\n * Makes given value available globally under window[NAMESPACE][name] attribute.\n * Keep in mind that this is needed for p2-plugin where chunks of AUI\n * can be loaded separately.\n *\n * In order for global namespace to work in `aui.prototyping.js` and\n * `aui.prototyping.nodeps.js` the proper exports need to be added to:\n * `packages/core/entry/aui.batch.prototyping.js`\n *\n * @param {string} name Name of the attribute\n * @param {any} value Value to expose globally\n * @returns exposed value\n */\nexport default function globalize(name, value) {\n initNamespace();\n\n return (window[NAMESPACE][name] = value);\n}\n\nexport function globalizeI18n(localI18n) {\n initNamespace();\n\n if (typeof window[NAMESPACE][I18N_OBJECT_NAME] !== 'object') {\n window[NAMESPACE][I18N_OBJECT_NAME] = {};\n }\n\n const globalI18n = window[NAMESPACE][I18N_OBJECT_NAME];\n\n for (const property in localI18n) {\n // AUI-5431 Add to global namespace, but do not override what is set by the WRM\n if (typeof globalI18n[property] === 'undefined') {\n globalI18n[property] = localI18n[property];\n }\n }\n\n return globalI18n;\n}\n","import { setGlobalTheme } from '@atlaskit/tokens';\n\nif (document.documentElement.hasAttribute('data-color-mode-auto')) {\n setGlobalTheme({ colorMode: 'auto' });\n}\n","import * as Tokens from '@atlaskit/tokens';\nimport * as TestingTheme from './design-tokens-testing-theme';\nimport globalize from '../internal/globalize';\n\nimport './design-tokens-init';\n\n// Export for NPM bundle, for which Webpack automatically puts those functions under AJS.DesignTokens\nexport const { setGlobalTheme, token, getTokenValue, ThemeMutationObserver } = Tokens;\n\nexport const { setTestingThemeColor, enableTestingTheme, disableTestingTheme, toggleTestingTheme } =\n TestingTheme;\n\n// Export for p2-plugin bundle, where we need to do put those functions under AJS.DesignTokens manually\nglobalize('DesignTokens', {\n setGlobalTheme,\n token,\n getTokenValue,\n ThemeMutationObserver,\n\n toggleTestingTheme,\n enableTestingTheme,\n disableTestingTheme,\n setTestingThemeColor,\n});\n"],"names":["root","factory","exports","module","define","amd","window","inProgress","dataWebpackPrefix","undefined","isArray","Array","obj","Object","prototype","toString","call","init","this","_events","_conf","configure","conf","delimiter","_maxListeners","maxListeners","wildcard","newListener","verboseMemoryLeak","listenerTree","logPossibleMemoryLeak","count","eventName","errorMsg","process","emitWarning","e","Error","name","emitter","console","error","trace","EventEmitter","searchListenerTree","handlers","type","tree","i","leaf","len","branch","xTree","xxTree","isolatedBranch","endReached","listeners","typeLength","length","currentType","nextType","_listeners","push","hasOwnProperty","concat","growListenerTree","listener","split","slice","shift","warned","EventEmitter2","setMaxListeners","n","event","once","fn","_once","prependOnceListener","prepend","_many","many","ttl","prependMany","self","off","apply","arguments","_origin","_on","emit","args","l","j","handler","al","_all","ns","emitAsync","Promise","resolve","promises","reject","all","on","prependListener","onAny","_onAny","prependAny","addListener","unshift","leafs","iLeaf","position","splice","recursivelyGarbageCollect","keys","key","Function","offAny","fns","removeListener","removeAllListeners","eventNames","listenerCount","listenersAny","__assign","assign","t","s","p","defineProperty","value","bindAll","bind_1","toOptions","capture","target","bindings","sharedOptions","unbinds","map","original","binding","options","getBinding","bind","forEach","unbind","_a","addEventListener","removeEventListener","enumerable","get","bind_all_1","DynamicConfig","configName","configValue","ruleID","evaluationDetails","secondaryExposures","allocatedExperimentName","onDefaultValueFallback","_onDefaultValueFallback","JSON","parse","stringify","_name","_ruleID","_secondaryExposures","_allocatedExperimentName","_evaluationDetails","defaultValue","typeGuard","_b","val","getValue","expectedType","actualType","__awaiter","thisArg","_arguments","P","generator","fulfilled","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","Symbol","iterator","v","op","TypeError","pop","ExceptionEndpoint","Errors_1","ErrorBoundary","sdkKey","_seen","Set","_sdkKey","_options","_setStatsigMetadata","statsigMetadata","_statsigMetadata","_swallow","tag","task","_capture","recover","getExtraData","_this","catch","_onCaught","_logError","disableAllLogging","extra","unwrapped","isError","info","metadata","_c","has","add","stack","_getDescription","exception","fetch","method","headers","String","_error","StatsigUninitializedError","StatsigInvalidArgumentError","extendStatics","StatsigErrorMessage","__extends","d","b","setPrototypeOf","__proto__","__","constructor","create","StatsigSDKKeyMismatchError","_super","message","REQUIRE_SYNC_INITIALIZE","Layer","layerValue","logParameterFunction","undelegatedSecondaryExposures","explicitParameters","_logParameterFunction","_value","_undelegatedSecondaryExposures","_explicitParameters","_create","logAndReturn","_logLayerParameterExposure","parameterName","__importDefault","mod","__esModule","saveOverridesToLocalStorage","loadOverridesFromLocalStorage","makeEmptyOverrides","STORAGE_KEY","StatsigLocalStorage_1","gates","configs","layers","raw","default","getItem","overrides","setItem","user","logUser","privateAttributes","time","Date","now","version","__createBinding","o","m","k","k2","desc","getOwnPropertyDescriptor","writable","configurable","__setModuleDefault","__importStar","DynamicConfig_1","ErrorBoundary_1","Layer_1","StatsigIdentity_1","StatsigLogger_1","StatsigNetwork_1","StatsigSDKOptions_1","StatsigStore_1","ResponseVerification_1","Timing_1","LogEvent_1","LocalOverrides_1","StatsigClient","_initCalled","_pendingInitPromise","_logLayerParameterExposureForLayer","layer","isManualExposure","allocatedExperiment","exposures","isExplicit","includes","_logger","logLayerExposure","_identity","_user","_store","getBootstrapMetadata","localMode","startsWith","_startTime","_errorBoundary","_ready","disabled","disableLocalStorage","_overrides","_normalizeUser","overrideStableID","_network","logConfigDefaultValueFallback","initializeValues","setTimeout","_delayedSetup","setInitializeValues","bootstrap","sendSavedRequests","initializeAsync","_fetchAndSaveValues","initTimeoutMs","success","finally","getEvaluationDetails","getGlobalEvaluationDetails","reason","EvaluationReason","checkGate","gateName","_checkGateImpl","checkGateWithExposureLoggingDisabled","logGateExposure","_logGateExposureImpl","getConfig","_getConfigImpl","getConfigWithExposureLoggingDisabled","logConfigExposure","_logConfigExposureImpl","getExperiment","experimentName","getExperimentWithExposureLoggingDisabled","logExperimentExposure","getLayer","layerName","_getLayerImpl","getLayerWithExposureLoggingDisabled","logLayerParameterExposure","_getLayerFromStore","logEvent","REQUIRE_INITIALIZE_FOR_LOG_EVENT","log","updateUserWithValues","values","fireCompletionCallback","updateStartTime","initializeCalled","REQUIRE_ASYNC_INITIALIZE","cb","updateUserCompletionCallback","resetDedupeKeys","updateUser","currentUser","shutdown","getStableID","stableID","overrideGate","gate","_setOverride","overrideConfig","config","overrideLayer","setOverrides","getOverrides","saveStableID","userCopy","environment","statsigEnvironment","_ensureStoreLoaded","isLoaded","_getEvaluationDetailsForError","timeout","sinceTime","previousDerivedFields","getLastUpdateTime","getPreviousDerivedFields","fetchValues","eventually","json","verifySDKKeyUsed","has_updates","save","is_no_content","setEvaluationReason","NetworkNotModified","callsite","_getGateFromStore","fetchResult","rule_id","mapExposures","secondary_exposures","LocalOverride","_getConfigFromStore","_getEmptyConfig","localConfig","logFunc","Constants_1","Hashing_1","SDKVersion_1","Identity","_sdkType","_sdkVersion","STATSIG_STABLE_ID_KEY","_getUUID","sdkType","sdkVersion","getUserCacheKey","uuid","randomDigit","Math","random","INTERNAL_EVENT_PREFIX","CONFIG_EXPOSURE_EVENT","LAYER_EXPOSURE_EVENT","GATE_EXPOSURE_EVENT","LOG_FAILURE_EVENT","DEFAULT_VALUE_WARNING","MAX_LOCAL_STORAGE_SIZE","StatsigLogger","identity","network","errorBoundary","_failedLogEventCount","defaultValueEvent","_loggedErrors","_queue","_flushInterval","_failedLogEvents","_exposureDedupeKeys","_init","disableCurrentPageLogging","location","href","parts","currentPage","_e","loggingBufferMaxSize","flush","gateValue","details","bootstrapMetadata","dedupeKey","_shouldLogExposure","gateExposure","configExposure","isExplicitParameter","join","clearInterval","isClosing","oldQueue","supportsKeepalive","navigator","sendBeacon","sendLogBeacon","events","_addFailedRequest","_saveFailedRequests","processor","postToEndpoint","StatsigEndpoint","Rgstr","response","ok","text","errorText","eventCount","_newFailedRequest","failedRequests","fireAndForget","requestBodies","_loop_1","this_1","_i","requestBodies_1","requestBody","STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY","_clearLocalStorageRequests","status","document","visibilityState","ignoreWindowUndefined","me","setInterval","loggingIntervalMillis","lastTime","requestsCopy","additionalEvents","removeItem","queue","StatsigNetwork","retryCodes","canUseKeepalive","leakyBucket","input","hash","_postWithTimeout","Initialize","payload","url","URL","eventLoggingApi","LogEventBeacon","searchParams","append","clientTime","stringPayload","endpointName","retries","backoff","retryAttempt","useKeepalive","api","counter","postBody","params","eventLoggingApiForRetries","keepalive","res","networkResponse","data","max","disableNetworkKeepalive","Request","hasTimedOut","timer","cachedReturnValue","eventuals","boundScope","fetchPromise","_getErrorData","racingPromise","race","headers_1","responseInfo","statusText","redirected","bodySnippet","requestInfo","INIT_TIMEOUT_DEFAULT_MS","StatsigSDKOptions","_d","_f","_g","_h","_j","_k","_l","_m","_o","_p","_q","_r","endsWith","normalizeNumberInput","min","disableErrorLogging","disableAutoMetricsLogging","bounds","BootstrapValidator_1","StatsigStore","_userCacheKey","_values","_userValues","_getDefaultUserCacheValues","_loaded","_reason","Uninitialized","_loadFromLocalStorage","_setUserValueFromCache","isValid","Bootstrap","InvalidBootstrap","feature_gates","dynamic_configs","layer_configs","evaluation_time","hash_used","generatorSDKInfo","sdkInfo","sdk_info","lcut","userHash","djb2HashForObject","user_hash","derived_fields","evalReason","jsonConfigs","updateState","requestedUserCacheKey","initResponse","userValues","_mergeInitializeResponseIntoUserMap","Network","_writeValuesToStorage","gateNameHash","getHashValue","_getEvaluationDetails","exposure","configNameHash","rawConfigValue","_createDynamicConfig","latestValue","_getLatestValue","undelegated_secondary_exposures","allocated_experiment_name","explicit_parameters","_parseCachedValues","INTERNAL_STORE_KEY","allValues","_removeFromStorage","cachedValues","_resetUserValues","Cache","configMap","mergeFn","requestedUserValues","_convertAPIDataToCacheValues","valuesToWrite","filteredValues","entries","sort","a","fromEntries","topLevelKey","apiConfig","_makeOnConfigDefaultValueFallback","valueExists","reasonOverride","Unrecognized","cacheKey","isNaN","parameter","defaultValueType","valueType","StatsigClient_1","StatsigStore_2","Statsig","initialize","inst","instance","_getClientX","manuallyLogGateExposure","manuallyLogConfigExposure","manuallyLogExperimentExposure","manuallyLogLayerParameterExposure","BootstrapValidator","evaluatedKeys","user_1","evaluatedKeysRecord","copyObject","userToCompare","validate","one","two","copy","userID","customIDs","LOCAL_STORAGE_KEYS","SimpleHash","charCodeAt","getSortedObject","object","sortedObject","hashedSDKKeyUsed","hashed_sdk_key_used","StatsigLocalStorage","isStorageAccessible","localStorage","fallbackSessionCache","ignoreDisabledOption","canAccessStorageAccessible","Storage","canAccess","performance","difference","_typeof","_regeneratorRuntime","r","c","asyncIterator","u","toStringTag","wrap","Generator","Context","makeInvokeMethod","tryCatch","arg","h","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","displayName","isGeneratorFunction","mark","awrap","async","reverse","prev","charAt","stop","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","chunkId","reduce","miniCssF","prop","script","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","nc","setAttribute","src","onScriptComplete","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","head","appendChild","installedChunks","installedChunkData","promise","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","some","id","chunkLoadingGlobal","_classCallCheck","toPropertyKey","toPrimitive","Number","_defineProperties","_createClass","_defineProperty","_arrayLikeToArray","_unsupportedIterableToArray","from","test","_slicedToArray","asyncGeneratorStep","_asyncToGenerator","_next","_throw","ownKeys","getOwnPropertySymbols","filter","_objectSpread","getOwnPropertyDescriptors","defineProperties","ALL_FEATURE_VALUES","Subscriptions","Map","callback","fireGateExposure","eventToValue","set","wrapCallback","getExperimentValue","_this2","experimentEventName","fireExperimentExposure","_this3","_this4","FeatureGateEnvironment","PerimeterType","CLIENT_VERSION","_possibleConstructorReturn","ReferenceError","_getPrototypeOf","_setPrototypeOf","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_wrapNativeSuper","indexOf","Wrapper","ResponseError","_Error","_inherits","Fetcher","_fetchClientSdk","_callee","fetcherOptions","targetApp","_context","fetchRequest","t0","_x","_fetchExperimentValues","_callee2","identifiers","customAttributes","_context2","_x2","_x3","_x4","_handleResponseError","_callee3","_context3","_x5","_extractResponseBody","_callee4","_context4","_x6","serviceEnv","perimeter","FEDRAMP_MODERATE","Production","Staging","COMMERCIAL","Development","_fetchRequest","_callee5","path","baseUrl","fetchTimeout","abortSignal","abortController","_context5","getBaseUrl","useGatewayURL","fetchTimeoutMs","AbortSignal","AbortController","signal","abort","apiKey","handleResponseError","extractResponseBody","_x7","_x8","_x9","_x10","isFedRamp","_global$location","global","env","MICROS_PERIMETER","UNSAFE_ATL_CONTEXT_BOUNDARY","matches","hostname","match","_excluded","getOptionsWithDefaults","shallowEquals","objectA","objectB","aEntries","bEntries","ascendingKeyOrder","_ref","_ref2","key1","key2","localeCompare","toStatsigUser","custom","atlassianAccountId","toStatsigOptions","propertyIsEnumerable","_objectWithoutProperties","tier","toStatsigUpdateUserCompletionCallback","_duration","_FeatureGates","DEFAULT_CLIENT_KEY","Client","_initialize","clientOptions","clientOptionsWithDefaults","startTime","initPromise","initOptions","warn","initCompleted","initWithDefaults","totalTime","fireClientEvent","_initializeWithProvider","provider","setClientVersion","setApplyUpdateCallback","applyUpdateCallback","initWithProvider","getApiKey","experimentsResult","experimentValues","subscriptions","anyUpdated","action","_analyticsWebClient","analyticsWebClient","attributes","clientVersion","sendOperationalEvent","actionSubject","tags","source","err","_initializeFromValues","_args3","initFromValues","_updateUser","fetchOptions","fetchOptionsWithDefaults","initializeValuesProducer","fetchExperimentValues","customAttributesFromFetch","updateUserUsingInitializeValuesProducer","_x11","_x12","_x13","_updateUserWithProvider","_this5","setProfile","getExperimentValues","_x14","_x15","_updateUserWithValues","_callee6","_args6","_context6","_x16","_x17","_options$fireGateExpo","hasCheckGateErrorOccurred","msg","_options$fireExperime","hasGetExperimentErrorOccurred","experiment","hasGetExperimentValueErrorOccurred","currentIdentifiers","currentAttributes","_this6","onGateUpdated","_options$fireGateExpo2","_this7","onExperimentValueUpdated","_options$fireExperime2","onAnyUpdated","_callee7","fromValuesClientOptions","customAttributesFromResult","clientSdkKeyPromise","experimentValuesPromise","_yield$Promise$all","_yield$Promise$all2","experimentValuesResult","_context7","fetchClientSdk","clientSdkKey","_x18","_x19","_x20","_initWithProvider","_callee8","baseClientOptions","_yield$Promise$all3","_yield$Promise$all4","_context8","getClientSdkKey","_x21","_x22","_x23","_x24","_initFromValues","_callee9","statsigOptions","_args9","_context9","_x25","_x26","_x27","_updateUserUsingInitializeValuesProducer","_callee11","getInitializeValues","originalInitPromise","initializeValuesPromise","updateUserPromise","_this8","_context11","isCurrentUser","updateStatsigClientUser","_callee10","_context10","_x28","_x29","_x30","_updateStatsigClientUser","_callee12","_updateUserCompletion","_ref3","errMsg","_context12","_x31","_x32","_x33","_options$fireLayerExp","fireLayerExposure","hasGetLayerErrorOccurred","hasGetLayerValueErrorOccurred","FeatureGates","client","isGateExist","isExperimentExist","__CRITERION__","getFeatureFlagOverride","overrideValue","getExperimentValueOverride","initializeCompleted","initializeWithProvider","initializeFromValues","manuallyLogLayerExposure","shutdownStatsig","clearGateOverride","clearConfigOverride","clearAllOverrides","updateUserWithProvider","getPackageVersion","getLayerValue","boundFGJS","__FEATUREGATES_JS__","_boundFGJS","_boundFGJS$getPackage","boundVersion","_process","_process2","DEBUG_MODE","JEST_WORKER_ID","NODE_ENV","PFF_GLOBAL_KEY","hasProcessEnv","ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE","DEFAULT_PFF_GLOBAL","earlyResolvedFlags","booleanResolver","flagKey","globalVar","resolveBooleanFlag","_console","debug","_globalVar$PFF_GLOBAL2","_globalVar$PFF_GLOBAL3","_globalVar$PFF_GLOBAL4","fg","themeColorModes","themeIds","themeIdsWithOverrides","themeStateDefaults","colorMode","contrastMode","dark","light","shape","spacing","typography","UNSAFE_themeOptions","palette","mode","override","extends","increasesContrastFor","THEME_DATA_ATTRIBUTE","COLOR_MODE_ATTRIBUTE","CONTRAST_MODE_ATTRIBUTE","CUSTOM_THEME_ATTRIBUTE","TOKEN_NOT_FOUND_CSS_VAR","CURRENT_SURFACE_CSS_VAR","recordTokenCall","token","fallback","_window","analyticsClient","isThemeEnabled","querySelector","sendEvent","tokenId","tokenValue","getComputedStyle","documentElement","getPropertyValue","trim","isValidBrandHex","hex","themeKinds","customThemeOptions","isThemeKind","themeKind","find","kind","isThemeIds","themeId","isColorMode","modeId","themeStringToObject","themeState","theme","themeObject","themeObjectToString","themeString","_ref4","str","Uint32Array","_ref$colorMode","_ref$dark","_ref$light","_ref$contrastMode","_ref$shape","_ref$spacing","_ref$typography","_ref$UNSAFE_themeOpti","themeAttribute","brandColor","optionString","uniqueId","light-future","dark-future","legacy-light","legacy-dark","typography-adg3","typography-modernized","typography-refreshed","loadAndAppendThemeCss","themeCss","style","loadThemeCss","textContent","dataset","_yield$themeImportMap","darkModeMediaQuery","moreContrastMediaQuery","checkNativeListener","darkModeMql","matchMedia","ColorModeObserver","unbindThemeChangeListener","contrastModeMql","ContrastModeObserver","unbindContrastChangeListener","configurePage","getColorMode","getContrastMode","themeAttributes","_toConsumableArray","findMissingCustomStyleElements","attrOfMissingCustomStyles","element","getIncreasedContrastTheme","_Object$entries$find","getThemePreferences","autoColorModeThemes","themePreferences","normalTheme","increasedContrastTheme","getThemeOverridePreferences","_themeState","_createForOfIteratorHelper","_n","F","return","_ref2$colorMode","_ref2$contrastMode","_ref2$dark","_ref2$light","_ref2$shape","_ref2$spacing","_ref2$typography","_ref2$UNSAFE_themeOpt","themeLoader","loadingStrategy","loadingTasks","themeOverridePreferences","_iterator","_step","autoUnbind","_yield$import","loadAndAppendCustomThemeCss","preferences","results","css","attrs","_preferences$UNSAFE_t","getCustomThemeStyles","customThemeStyles","flat","setColorMode","setContrastMode","isThemeColorMode","ThemeMutationObserver","callbacks","observer","MutationObserver","observe","attributeFilter","delete","size","disconnect","testingThemeTargetElement","testingColorVariableName","defaultTestingColor","testingThemeTargetClass","testingThemeSelector","setTestingThemeColor","color","setProperty","isTestingThemeEnabled","enableTestingTheme","classList","disableTestingTheme","remove","toggleTestingTheme","targetState","colorDeclaration","themeCSSDeclarations","TokenNames","allDeclarations","themeCSS","themeElement","innerText","NAMESPACE","initNamespace","hasAttribute","setGlobalTheme","getTokenValue","Tokens","TestingTheme"],"sourceRoot":""}
|