{"version":3,"file":"chunks/e1da02443b82e2.js","mappings":"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","sources":["webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/LegacyAnalyticsListener.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/index.js","webpack:///./node_modules/@atlaskit/layering/node_modules/@atlaskit/platform-feature-flags/dist/es2019/debug.js","webpack:///./node_modules/@atlaskit/layering/node_modules/@atlaskit/platform-feature-flags/dist/es2019/resolvers.js","webpack:///./node_modules/@atlaskit/layering/node_modules/@atlaskit/platform-feature-flags/dist/es2019/index.js","webpack:///./node_modules/@atlaskit/layering/dist/es2019/components/context.js","webpack:///./node_modules/@atlaskit/layering/dist/es2019/hooks/index.js","webpack:///./node_modules/react-popper/lib/esm/usePopper.js","webpack:///./node_modules/react-popper/lib/esm/Popper.js","webpack:///./node_modules/@atlaskit/popper/dist/es2019/popper.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@atlaskit/platform-feature-flags/dist/es2019/debug.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@atlaskit/platform-feature-flags/dist/es2019/resolvers.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@atlaskit/platform-feature-flags/dist/es2019/index.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@atlaskit/portal/dist/es2019/internal/constants.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@atlaskit/portal/dist/es2019/internal/utils/portal-dom-utils.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@atlaskit/portal/dist/es2019/internal/components/internal-portal.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@atlaskit/portal/dist/es2019/internal/hooks/use-isomorphic-layout-effect.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@atlaskit/portal/dist/es2019/internal/utils/portal-custom-event.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@atlaskit/portal/dist/es2019/portal.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@atlaskit/portal/dist/es2019/internal/hooks/use-is-subsequent-render.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@atlaskit/portal/dist/es2019/internal/hooks/use-portal-event.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@atlaskit/portal/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/popup/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/popup/dist/es2019/reposition-on-update.js","webpack:///./node_modules/@atlaskit/popup/dist/es2019/use-focus-manager.js","webpack:///./node_modules/@atlaskit/popup/dist/es2019/popper-wrapper.js","webpack:///./node_modules/@atlaskit/popup/dist/es2019/use-close-manager.js","webpack:///./node_modules/@atlaskit/popup/dist/es2019/popup.js","webpack:///./node_modules/bind-event-listener/dist/bind-all.js","webpack:///./node_modules/bind-event-listener/dist/bind.js","webpack:///./node_modules/bind-event-listener/dist/index.js","webpack:///./node_modules/focus-trap/index.js","webpack:///./node_modules/querystring/decode.js","webpack:///./node_modules/querystring/encode.js","webpack:///./node_modules/querystring/index.js","webpack:///./node_modules/react-fast-compare/index.js","webpack:///./node_modules/react-popper/lib/esm/Manager.js","webpack:///./node_modules/react-popper/lib/esm/Reference.js","webpack:///./node_modules/react-popper/lib/esm/utils.js","webpack:///./node_modules/react-uid/dist/es2019/uid.js","webpack:///./node_modules/tabbable/index.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassiansox/origin-tracing/dist/es2019/env.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassiansox/origin-tracing/dist/es2019/encoder.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassiansox/origin-tracing/dist/es2019/origin-tracer.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassiansox/origin-tracing/dist/es2019/util/base64url.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/js-cookie/dist/js.cookie.mjs","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/utils/constants.ts","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/components/cart-button/cart-button.styles.tsx","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/components/cart-button/cart-icon.styles.tsx","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/components/cart-button/cart-icon.tsx","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/components/cart-button/cart-button.tsx","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/spinner/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/spinner/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/spinner/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/spinner/dist/es2019/spinner.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassiansox/wpl-token/src/spacing/spacing.ts","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassiansox/wpl-token/src/color/color.ts","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassiansox/wpl-token/src/get-value.ts","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassiansox/wpl-token/src/color/default/color-background-default.ts","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassiansox/wpl-token/src/color/default/color-border-default.ts","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassiansox/wpl-token/src/color/default/color-text-default.ts","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassiansox/wpl-token/src/token-list.ts","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassiansox/wpl-token/src/get-token.ts","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/components/entitlements-popup/entitlements-popup.styles.tsx","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/components/entitlements-popup/error-state.styles.tsx","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/components/entitlements-popup/error-icon.styles.tsx","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/components/entitlements-popup/error-icon.tsx","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/components/entitlements-popup/error-state.tsx","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/components/entitlements-popup/entitlements-popup.tsx","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/ds-explorations/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/ds-explorations/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/ds-explorations/dist/es2019/internal/color-map.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/ds-explorations/dist/es2019/components/surface-provider.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/ds-explorations/dist/es2019/components/text.partial.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/primitives/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/primitives/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/primitives/node_modules/@atlaskit/tokens/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/primitives/dist/es2019/xcss/style-maps.partial.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/primitives/dist/es2019/xcss/xcss.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/primitives/dist/es2019/components/internal/surface-provider.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/primitives/dist/es2019/components/box.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/lozenge/dist/es2019/Lozenge/index.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/logo/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/logo/dist/es2019/utils.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/logo/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/logo/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/logo/dist/es2019/wrapper.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/logo/dist/es2019/jira-software-logo/icon.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/logo/dist/es2019/jira-service-management-logo/icon.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/logo/dist/es2019/jira-work-management-logo/icon.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/logo/dist/es2019/jira-product-discovery-logo/icon.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlaskit/logo/dist/es2019/confluence-logo/icon.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/models.ts","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/components/entitlements-popup/entitlement-item/entitlement-item.styles.tsx","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/components/entitlements-popup/entitlement-item/entitlement-item.tsx","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/components/show-all-link/show-all-link.styles.tsx","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/components/show-all-link/show-all-link.tsx","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/src/admin-trial-cart.styles.tsx","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/src/utils.ts","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/src/hooks/use-entitlements.ts","webpack:///./node_modules/@wilkins-software/time-conversion-helpers/dist/time-conversion-helpers.esm.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/src/hooks/use-entitlement-listings.ts","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/src/admin-trial-cart.tsx","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/src/statsig-container.tsx","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/versions/v0/version-definition.ts","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/definition.ts","webpack:///./resources/js/react/cms-components/cart-btn/CartBtn.tsx","webpack:///./node_modules/@atlassiansox/admin-trial-cart/src/version-select.tsx","webpack:///./node_modules/url/node_modules/punycode/punycode.js","webpack:///./node_modules/url/url.js","webpack:///./node_modules/url/util.js","webpack:///./node_modules/warning/warning.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassian/feature-gate-js-client/dist/fetcher/Fetcher.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassian/feature-gate-js-client/dist/fetcher/errors.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassian/feature-gate-js-client/dist/fetcher/index.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassian/feature-gate-js-client/dist/index.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassian/feature-gate-js-client/dist/types.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassian/feature-gate-js-client/dist/version.js"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nconst ContextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func\n};\n\nconst noop = () => []; // eslint-disable-next-line @repo/internal/react/no-class-components\n\n\nclass AnalyticsListener extends Component {\n constructor(props) {\n super(props);\n\n _defineProperty(this, \"getChildContext\", () => ({\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers,\n getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext\n }));\n\n _defineProperty(this, \"getAnalyticsEventHandlers\", () => {\n const {\n channel,\n onEvent\n } = this.props;\n const {\n getAtlaskitAnalyticsEventHandlers = noop\n } = this.context;\n\n const handler = (event, eventChannel) => {\n if (channel === '*' || channel === eventChannel) {\n onEvent(event, eventChannel);\n }\n };\n\n return [handler, ...getAtlaskitAnalyticsEventHandlers()];\n });\n\n _defineProperty(this, \"getAtlaskitAnalyticsContext\", () => {\n const {\n getAtlaskitAnalyticsContext = noop\n } = this.context;\n return getAtlaskitAnalyticsContext();\n });\n\n this.contextValue = {\n getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers\n };\n }\n\n render() {\n const {\n children\n } = this.props;\n return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n value: this.contextValue\n }, children);\n }\n\n}\n\n_defineProperty(AnalyticsListener, \"contextTypes\", ContextTypes);\n\n_defineProperty(AnalyticsListener, \"childContextTypes\", ContextTypes);\n\nexport default AnalyticsListener;","import LegacyAnalyticsListener from './LegacyAnalyticsListener';\nimport ModernAnalyticsListener from './ModernAnalyticsListener';\nlet ExportedAnalyticsListener;\n\nif (typeof process !== 'undefined' && process.env['ANALYTICS_NEXT_MODERN_CONTEXT']) {\n ExportedAnalyticsListener = ModernAnalyticsListener;\n} else {\n ExportedAnalyticsListener = LegacyAnalyticsListener;\n}\n\nexport default ExportedAnalyticsListener;","var _ref, _process, _process$env, _process2, _process2$env;\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\nconst TESTS_MODE = (_ref = (globalThis === null || globalThis === void 0 ? void 0 : (_process = globalThis.process) === null || _process === void 0 ? void 0 : (_process$env = _process.env) === null || _process$env === void 0 ? void 0 : _process$env.JEST_WORKER_ID) !== undefined) !== null && _ref !== void 0 ? _ref : false;\nconst DEBUG_MODE = !TESTS_MODE && (globalThis === null || globalThis === void 0 ? void 0 : (_process2 = globalThis.process) === null || _process2 === void 0 ? void 0 : (_process2$env = _process2.env) === null || _process2$env === void 0 ? void 0 : _process2$env.NODE_ENV) !== 'production';\nexport const debug = (...args) => {\n if (!DEBUG_MODE) {\n return;\n }\n\n // eslint-disable-next-line no-console\n console.debug(...args);\n};","import { debug } from './debug';\nconst pkgName = '@atlaskit/platform-feature-flags';\nexport const PFF_GLOBAL_KEY = '__PLATFORM_FEATURE_FLAGS__';\nconst hasProcessEnv = typeof process !== 'undefined' && typeof process.env !== 'undefined';\n\n// FF global overrides can be configured by test runners or Storybook\nconst 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\nconst 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;\nconst ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE = ENV_ENABLE_PLATFORM_FF || ENV_STORYBOOK_ENABLE_PLATFORM_FF;\nconst 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 (flagKey) {\n if (process.env.NODE_ENV !== 'production') {\n const unresolvedFlagCount = this.earlyResolvedFlags.get(flagKey) || 0;\n this.earlyResolvedFlags.set(flagKey, unresolvedFlagCount + 1);\n }\n return false;\n }\n};\nconst 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, _globalVar$PFF_GLOBAL2;\n if (((_globalVar$PFF_GLOBAL = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL === void 0 ? void 0 : (_globalVar$PFF_GLOBAL2 = _globalVar$PFF_GLOBAL.earlyResolvedFlags) === null || _globalVar$PFF_GLOBAL2 === void 0 ? void 0 : _globalVar$PFF_GLOBAL2.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_GLOBAL3;\n const result = (_globalVar$PFF_GLOBAL3 = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL3 === void 0 ? void 0 : _globalVar$PFF_GLOBAL3.booleanResolver(flagKey);\n if (typeof result !== 'boolean') {\n // eslint-disable-next-line no-console\n console.warn(`${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 * @param name\n */\nexport function getBooleanFF(name) {\n return resolveBooleanFlag(name);\n}","import React, { createContext, useContext, useEffect, useMemo, useRef } from 'react';\nimport __noop from '@atlaskit/ds-lib/noop';\nimport { getBooleanFF } from '@atlaskit/platform-feature-flags';\n\n/**\n *\n * @internal\n * LevelContext which maintains the current level of nested layers\n * Default is 0\n */\nexport const LevelContext = /*#__PURE__*/createContext(0);\n\n/**\n *\n * @internal\n * TopLevelContext which maintains the top level ref and setTopLevel method of layers\n * Default ref value is null\n *\n */\nexport const TopLevelContext = /*#__PURE__*/createContext({\n topLevelRef: {\n current: null\n },\n setTopLevel: __noop\n});\n\n/**\n *\n * @internal\n * Context Provider Component which provider the current level of nested layers\n * It handles level management when it mounts and unmounts\n *\n */\nconst LevelProvider = ({\n children,\n currentLevel\n}) => {\n const {\n setTopLevel\n } = useContext(TopLevelContext);\n setTopLevel(currentLevel);\n useEffect(() => {\n return () => setTopLevel(currentLevel - 1);\n }, [setTopLevel, currentLevel]);\n return /*#__PURE__*/React.createElement(LevelContext.Provider, {\n value: currentLevel\n }, children);\n};\n\n/**\n *\n * @internal\n * Context Provider Component which provides the top level of all nested layers\n * It provides initial top level ref value as 0 and set top level method\n *\n */\nconst LayeringProvider = ({\n children\n}) => {\n const topLevelRef = useRef(0);\n const value = useMemo(() => ({\n topLevelRef,\n setTopLevel: level => {\n topLevelRef.current = level;\n }\n }), [topLevelRef]);\n return /*#__PURE__*/React.createElement(TopLevelContext.Provider, {\n value: value\n }, children);\n};\n\n/**\n * __UNSAFE_LAYERING__\n *\n * @experimental Still under development. Do not use.\n *\n * @important the component is under feature flag platform.design-system-team.layering_qmiw3\n *\n * Layering component is a wrapper to let children to consume layer contexts and hooks.\n *\n */\nexport const UNSAFE_LAYERING = ({\n children\n}) => {\n const currentLevel = useContext(LevelContext);\n const isNested = currentLevel > 0;\n if (!getBooleanFF('platform.design-system-team.layering_qmiw3')) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, children);\n }\n const content = /*#__PURE__*/React.createElement(LevelProvider, {\n currentLevel: currentLevel + 1\n }, children);\n return isNested ? content : /*#__PURE__*/React.createElement(LayeringProvider, null, content);\n};","import { useCallback, useContext, useEffect, useRef } from 'react';\nimport { bindAll } from 'bind-event-listener';\nimport { LevelContext, TopLevelContext } from '../components/context';\nconst ESCAPE = 'Escape';\n/**\n * Calls back when the escape key is pressed.\n * To be used exclusively for closing layered components.\n * Use the `isDisabled` argument to ignore closing events.\n *\n * ```js\n * useCloseOnEscapePress({\n * onClose: () => {},\n * isDisabled: false,\n * });\n * ```\n */\nexport function useCloseOnEscapePress({\n onClose,\n isDisabled\n}) {\n const escapePressed = useRef(false);\n const {\n isLayerDisabled\n } = UNSAFE_useLayering();\n const onKeyDown = useCallback(e => {\n const isDisabledLayer = isLayerDisabled();\n if (isDisabled || escapePressed.current || e.key !== ESCAPE || isDisabledLayer) {\n // We're either already handling the key down event or it's not escape or disabled.\n // Bail early!\n return;\n }\n escapePressed.current = true;\n onClose(e);\n }, [onClose, isDisabled, isLayerDisabled]);\n const onKeyUp = useCallback(() => {\n escapePressed.current = false;\n }, []);\n useEffect(() => {\n return bindAll(document, [{\n type: 'keydown',\n listener: onKeyDown\n }, {\n type: 'keyup',\n listener: onKeyUp\n }], {\n capture: false\n });\n }, [onKeyDown, onKeyUp]);\n}\n\n/**\n *\n * @experimental Still under development. Do not use.\n *\n * Layering hook to get layering info like the current level, the top level of\n * the given component\n *\n */\nexport function UNSAFE_useLayering() {\n const currentLevel = useContext(LevelContext);\n const {\n topLevelRef\n } = useContext(TopLevelContext);\n const isLayerDisabled = useCallback(() => {\n return !!topLevelRef.current && currentLevel !== topLevelRef.current;\n }, [currentLevel, topLevelRef]);\n return {\n currentLevel,\n topLevelRef,\n isLayerDisabled\n };\n}","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { createPopper as defaultCreatePopper } from '@popperjs/core';\nimport isEqual from 'react-fast-compare';\nimport { fromEntries, useIsomorphicLayoutEffect } from './utils';\nvar EMPTY_MODIFIERS = [];\nexport var usePopper = function usePopper(referenceElement, popperElement, options) {\n if (options === void 0) {\n options = {};\n }\n\n var prevOptions = React.useRef(null);\n var optionsWithDefaults = {\n onFirstUpdate: options.onFirstUpdate,\n placement: options.placement || 'bottom',\n strategy: options.strategy || 'absolute',\n modifiers: options.modifiers || EMPTY_MODIFIERS\n };\n\n var _React$useState = React.useState({\n styles: {\n popper: {\n position: optionsWithDefaults.strategy,\n left: '0',\n top: '0'\n },\n arrow: {\n position: 'absolute'\n }\n },\n attributes: {}\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var updateStateModifier = React.useMemo(function () {\n return {\n name: 'updateState',\n enabled: true,\n phase: 'write',\n fn: function fn(_ref) {\n var state = _ref.state;\n var elements = Object.keys(state.elements);\n ReactDOM.flushSync(function () {\n setState({\n styles: fromEntries(elements.map(function (element) {\n return [element, state.styles[element] || {}];\n })),\n attributes: fromEntries(elements.map(function (element) {\n return [element, state.attributes[element]];\n }))\n });\n });\n },\n requires: ['computeStyles']\n };\n }, []);\n var popperOptions = React.useMemo(function () {\n var newOptions = {\n onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n placement: optionsWithDefaults.placement,\n strategy: optionsWithDefaults.strategy,\n modifiers: [].concat(optionsWithDefaults.modifiers, [updateStateModifier, {\n name: 'applyStyles',\n enabled: false\n }])\n };\n\n if (isEqual(prevOptions.current, newOptions)) {\n return prevOptions.current || newOptions;\n } else {\n prevOptions.current = newOptions;\n return newOptions;\n }\n }, [optionsWithDefaults.onFirstUpdate, optionsWithDefaults.placement, optionsWithDefaults.strategy, optionsWithDefaults.modifiers, updateStateModifier]);\n var popperInstanceRef = React.useRef();\n useIsomorphicLayoutEffect(function () {\n if (popperInstanceRef.current) {\n popperInstanceRef.current.setOptions(popperOptions);\n }\n }, [popperOptions]);\n useIsomorphicLayoutEffect(function () {\n if (referenceElement == null || popperElement == null) {\n return;\n }\n\n var createPopper = options.createPopper || defaultCreatePopper;\n var popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n popperInstanceRef.current = popperInstance;\n return function () {\n popperInstance.destroy();\n popperInstanceRef.current = null;\n };\n }, [referenceElement, popperElement, options.createPopper]);\n return {\n state: popperInstanceRef.current ? popperInstanceRef.current.state : null,\n styles: state.styles,\n attributes: state.attributes,\n update: popperInstanceRef.current ? popperInstanceRef.current.update : null,\n forceUpdate: popperInstanceRef.current ? popperInstanceRef.current.forceUpdate : null\n };\n};","import * as React from 'react';\nimport { ManagerReferenceNodeContext } from './Manager';\nimport { unwrapArray, setRef } from './utils';\nimport { usePopper } from './usePopper';\n\nvar NOOP = function NOOP() {\n return void 0;\n};\n\nvar NOOP_PROMISE = function NOOP_PROMISE() {\n return Promise.resolve(null);\n};\n\nvar EMPTY_MODIFIERS = [];\nexport function Popper(_ref) {\n var _ref$placement = _ref.placement,\n placement = _ref$placement === void 0 ? 'bottom' : _ref$placement,\n _ref$strategy = _ref.strategy,\n strategy = _ref$strategy === void 0 ? 'absolute' : _ref$strategy,\n _ref$modifiers = _ref.modifiers,\n modifiers = _ref$modifiers === void 0 ? EMPTY_MODIFIERS : _ref$modifiers,\n referenceElement = _ref.referenceElement,\n onFirstUpdate = _ref.onFirstUpdate,\n innerRef = _ref.innerRef,\n children = _ref.children;\n var referenceNode = React.useContext(ManagerReferenceNodeContext);\n\n var _React$useState = React.useState(null),\n popperElement = _React$useState[0],\n setPopperElement = _React$useState[1];\n\n var _React$useState2 = React.useState(null),\n arrowElement = _React$useState2[0],\n setArrowElement = _React$useState2[1];\n\n React.useEffect(function () {\n setRef(innerRef, popperElement);\n }, [innerRef, popperElement]);\n var options = React.useMemo(function () {\n return {\n placement: placement,\n strategy: strategy,\n onFirstUpdate: onFirstUpdate,\n modifiers: [].concat(modifiers, [{\n name: 'arrow',\n enabled: arrowElement != null,\n options: {\n element: arrowElement\n }\n }])\n };\n }, [placement, strategy, onFirstUpdate, modifiers, arrowElement]);\n\n var _usePopper = usePopper(referenceElement || referenceNode, popperElement, options),\n state = _usePopper.state,\n styles = _usePopper.styles,\n forceUpdate = _usePopper.forceUpdate,\n update = _usePopper.update;\n\n var childrenProps = React.useMemo(function () {\n return {\n ref: setPopperElement,\n style: styles.popper,\n placement: state ? state.placement : placement,\n hasPopperEscaped: state && state.modifiersData.hide ? state.modifiersData.hide.hasPopperEscaped : null,\n isReferenceHidden: state && state.modifiersData.hide ? state.modifiersData.hide.isReferenceHidden : null,\n arrowProps: {\n style: styles.arrow,\n ref: setArrowElement\n },\n forceUpdate: forceUpdate || NOOP,\n update: update || NOOP_PROMISE\n };\n }, [setPopperElement, setArrowElement, placement, state, styles, update, forceUpdate]);\n return unwrapArray(children)(childrenProps);\n}","import React, { useMemo } from 'react';\nimport { Popper as ReactPopper } from 'react-popper';\nexport { placements } from '@popperjs/core';\n// Export types from PopperJS / React Popper\n\nconst constantModifiers = [{\n name: 'flip',\n options: {\n flipVariations: false,\n padding: 5,\n boundary: 'clippingParents',\n rootBoundary: 'viewport'\n }\n}, {\n name: 'preventOverflow',\n options: {\n padding: 5,\n rootBoundary: 'document'\n }\n}];\nfunction defaultChildrenFn() {\n return null;\n}\nconst defaultOffset = [0, 8];\nexport function Popper({\n children = defaultChildrenFn,\n offset = defaultOffset,\n placement = 'bottom-start',\n referenceElement = undefined,\n modifiers,\n strategy = 'fixed'\n}) {\n const [offsetX, offsetY] = offset;\n // Merge a new offset modifier only if new offset values passed in\n const internalModifiers = useMemo(() => {\n const offsetModifier = {\n name: 'offset',\n options: {\n offset: [offsetX, offsetY]\n }\n };\n return [...constantModifiers, offsetModifier];\n }, [offsetX, offsetY]);\n\n // Merge custom props and memoize\n const mergedModifiers = useMemo(() => {\n if (modifiers == null) {\n return internalModifiers;\n }\n return [...internalModifiers, ...modifiers];\n }, [internalModifiers, modifiers]);\n return /*#__PURE__*/React.createElement(ReactPopper, {\n modifiers: mergedModifiers,\n placement: placement,\n strategy: strategy,\n referenceElement: referenceElement\n }, children);\n}","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser$1) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","var _ref, _process, _process$env, _process2, _process2$env;\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\nconst TESTS_MODE = (_ref = (globalThis === null || globalThis === void 0 ? void 0 : (_process = globalThis.process) === null || _process === void 0 ? void 0 : (_process$env = _process.env) === null || _process$env === void 0 ? void 0 : _process$env.JEST_WORKER_ID) !== undefined) !== null && _ref !== void 0 ? _ref : false;\nconst DEBUG_MODE = !TESTS_MODE && (globalThis === null || globalThis === void 0 ? void 0 : (_process2 = globalThis.process) === null || _process2 === void 0 ? void 0 : (_process2$env = _process2.env) === null || _process2$env === void 0 ? void 0 : _process2$env.NODE_ENV) !== 'production';\nexport const debug = (...args) => {\n if (!DEBUG_MODE) {\n return;\n }\n\n // eslint-disable-next-line no-console\n console.debug(...args);\n};","import { debug } from './debug';\nconst pkgName = '@atlaskit/platform-feature-flags';\nexport const PFF_GLOBAL_KEY = '__PLATFORM_FEATURE_FLAGS__';\nconst hasProcessEnv = typeof process !== 'undefined' && typeof process.env !== 'undefined';\n\n// FF global overrides can be configured by test runners or Storybook\nconst 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\nconst 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;\nconst ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE = ENV_ENABLE_PLATFORM_FF || ENV_STORYBOOK_ENABLE_PLATFORM_FF;\nconst 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 (flagKey) {\n if (process.env.NODE_ENV !== 'production') {\n const unresolvedFlagCount = this.earlyResolvedFlags.get(flagKey) || 0;\n this.earlyResolvedFlags.set(flagKey, unresolvedFlagCount + 1);\n }\n return false;\n }\n};\nconst 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, _globalVar$PFF_GLOBAL2;\n if (((_globalVar$PFF_GLOBAL = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL === void 0 ? void 0 : (_globalVar$PFF_GLOBAL2 = _globalVar$PFF_GLOBAL.earlyResolvedFlags) === null || _globalVar$PFF_GLOBAL2 === void 0 ? void 0 : _globalVar$PFF_GLOBAL2.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_GLOBAL3;\n const result = (_globalVar$PFF_GLOBAL3 = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL3 === void 0 ? void 0 : _globalVar$PFF_GLOBAL3.booleanResolver(flagKey);\n if (typeof result !== 'boolean') {\n // eslint-disable-next-line no-console\n console.warn(`${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 * @param name\n */\nexport function getBooleanFF(name) {\n return resolveBooleanFlag(name);\n}","export const portalParentClassName = 'atlaskit-portal-container';\nexport const portalParentSelector = 'body > .atlaskit-portal-container';\nexport const portalClassName = 'atlaskit-portal';","import { portalClassName, portalParentClassName, portalParentSelector } from '../constants';\n\n/**\n * Creates a new portal container element with provided z-index and class name 'atlaskit-portal',\n * it is not be attached to any DOM node at this stage.\n * @param {number | string} zIndex - the z-index value of the newly created portal container element\n * @return {number} - The newly created container element\n */\nexport const createContainer = zIndex => {\n const container = document.createElement('div');\n container.className = portalClassName;\n container.style.zIndex = `${zIndex}`;\n return container;\n};\n\n/**\n * Returns document body element\n * @return {number} - The document body element\n */\nconst getBody = () => {\n return document.body;\n};\n\n/**\n * Returns portal parent container. If no container exists already then it creates a new container with class name 'atlaskit-portal-container'\n * @return {Element} - The portal parent container div element\n */\nconst getPortalParent = () => {\n const parentElement = document.querySelector(portalParentSelector);\n if (!parentElement) {\n const parent = document.createElement('div');\n parent.className = portalParentClassName;\n // we are setting display to flex because we want each portal to create a new stacking context\n // See https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context\n parent.style.display = 'flex';\n getBody().appendChild(parent);\n return parent;\n }\n return parentElement;\n};\n\n/**\n * Removes portal container from portal parent container\n * @param {HTMLDivElement | undefined} container - portal container to be removed from portal parent container\n */\nexport const removePortalContainer = container => {\n getPortalParent().removeChild(container);\n};\n\n/**\n * Appends portal container to portal parent container if it hasn't already been done\n * @param {HTMLDivElement | undefined} container - portal container to be added to portal parent container\n */\nexport const appendPortalContainerIfNotAppended = container => {\n if (!container.parentElement) {\n getPortalParent().appendChild(container);\n }\n};","import { useEffect, useMemo } from 'react';\nimport { createPortal } from 'react-dom';\nimport { appendPortalContainerIfNotAppended, createContainer, removePortalContainer } from '../utils/portal-dom-utils';\nexport default function InternalPortal(props) {\n const {\n zIndex,\n children\n } = props;\n const container = useMemo(() => createContainer(zIndex), [zIndex]);\n\n // This is in the render method instead of useEffect so that\n // the portal will be added to the DOM before the children render.\n // For any further changes, ensure that the container does not have a\n // parent besides the portal parent.\n appendPortalContainerIfNotAppended(container);\n useEffect(() => {\n return () => {\n removePortalContainer(container);\n };\n }, [container]);\n return /*#__PURE__*/createPortal(children, container);\n}","import { useEffect, useLayoutEffect } from 'react';\n\n/**\n * Needed to supress the SSR warning when running use layout effect on the server.\n */\nexport const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;","const zIndexToName = {\n 100: 'card',\n 200: 'navigation',\n 300: 'dialog',\n 400: 'layer',\n 500: 'blanket',\n 510: 'modal',\n 600: 'flag',\n 700: 'spotlight',\n 9999: 'tooltip'\n};\n\n/**\n * return layer name in Atlassian design system corresponding to given z-index\n * @param {number} zIndex - z-index value for which layer name is needed\n * @returns {LayerName | null} - The layer name for given z-index. If layer name is not found then null is returned\n */\nconst getLayerName = zIndex => {\n return zIndexToName.hasOwnProperty(zIndex) ? zIndexToName[zIndex] : null;\n};\n\n/**\n * Creates a PortalEvent object with given eventName, given zIndex and corresponding layer\n * @param {string} eventName - either of Mount or Unmount event name\n * @param {number} zIndex - z-index value which will be included in the event to be dispatched\n * @returns {PortalEvent} - The newly created PortalEvent object\n */\nconst getEvent = (eventName, zIndex) => {\n const detail = {\n layer: getLayerName(Number(zIndex)),\n zIndex\n };\n return new CustomEvent(eventName, {\n detail\n });\n};\n\n/**\n * Dispatches a custom event on window with given eventName, given zIndex and corresponding layer\n * @param {string} eventName - either of Mount or Unmount event name\n * @param {number} zIndex - z-index value which will be included in the event to be dispatched\n */\nexport default function firePortalEvent(eventName, zIndex) {\n const event = getEvent(eventName, zIndex);\n window.dispatchEvent(event);\n}","import React from 'react';\nimport InternalPortal from './internal/components/internal-portal';\nimport useIsSubsequentRender from './internal/hooks/use-is-subsequent-render';\nimport useFirePortalEvent from './internal/hooks/use-portal-event';\nexport default function Portal({\n zIndex = 0,\n children,\n mountStrategy = 'effect'\n}) {\n const isSubsequentRender = useIsSubsequentRender(mountStrategy);\n useFirePortalEvent(zIndex);\n return isSubsequentRender ? /*#__PURE__*/React.createElement(InternalPortal, {\n zIndex: zIndex\n }, children) : null;\n}","import { useEffect, useState } from 'react';\nimport { useIsomorphicLayoutEffect } from './use-isomorphic-layout-effect';\nconst useIsSubsequentRender = mountStrategy => {\n const [isSubsequentRender, setIsSubsequentRender] = useState(false);\n const [useMountEffect] = useState(() => mountStrategy === 'layoutEffect' ? useIsomorphicLayoutEffect : useEffect);\n useMountEffect(() => {\n setIsSubsequentRender(true);\n }, []);\n return isSubsequentRender;\n};\nexport default useIsSubsequentRender;","import { useEffect } from 'react';\nimport { PORTAL_MOUNT_EVENT, PORTAL_UNMOUNT_EVENT } from '../../constants';\nimport firePortalEvent from '../utils/portal-custom-event';\nconst useFirePortalEvent = zIndex => {\n const zIndexNumber = Number(zIndex);\n useEffect(() => {\n firePortalEvent(PORTAL_MOUNT_EVENT, zIndexNumber);\n return () => {\n firePortalEvent(PORTAL_UNMOUNT_EVENT, zIndexNumber);\n };\n }, [zIndexNumber]);\n};\nexport default useFirePortalEvent;","export const PORTAL_MOUNT_EVENT = 'akPortalMount';\nexport const PORTAL_UNMOUNT_EVENT = 'akPortalUnmount';","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B200})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 9999\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value) {\n return value;\n } // TS believes value can be undefined\n }\n }\n\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value) {\n return value;\n }\n }\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused', B200)` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B200})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import React, { Fragment, useLayoutEffect, useRef } from 'react';\n// eslint-disable-next-line @repo/internal/react/require-jsdoc\nexport const RepositionOnUpdate = ({\n children,\n update\n}) => {\n // Ref used here to skip update on first render (when refs haven't been set)\n const isFirstRenderRef = useRef(true);\n useLayoutEffect(() => {\n if (isFirstRenderRef.current) {\n isFirstRenderRef.current = false;\n return;\n }\n // callback function from popper that repositions pop-up on content Update\n update();\n }, [update]);\n\n // wrapping in fragment to make TS happy (known issue with FC returning children)\n return /*#__PURE__*/React.createElement(Fragment, null, children);\n};","import { useEffect } from 'react';\nimport createFocusTrap from 'focus-trap';\nimport noop from '@atlaskit/ds-lib/noop';\nexport const useFocusManager = ({\n initialFocusRef,\n popupRef\n}) => {\n useEffect(() => {\n if (!popupRef) {\n return noop;\n }\n const trapConfig = {\n clickOutsideDeactivates: true,\n escapeDeactivates: true,\n initialFocus: initialFocusRef || popupRef,\n fallbackFocus: popupRef,\n returnFocusOnDeactivate: true\n };\n const focusTrap = createFocusTrap(popupRef, trapConfig);\n let frameId = null;\n\n // wait for the popup to reposition itself before we focus\n frameId = requestAnimationFrame(() => {\n frameId = null;\n focusTrap.activate();\n });\n return () => {\n if (frameId != null) {\n cancelAnimationFrame(frameId);\n frameId = null;\n }\n focusTrap.deactivate();\n };\n }, [popupRef, initialFocusRef]);\n};","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport { forwardRef, useMemo, useState } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { Popper } from '@atlaskit/popper';\nimport { N0, N50A, N60A } from '@atlaskit/theme/colors';\nimport { layers } from '@atlaskit/theme/constants';\nimport { CURRENT_SURFACE_CSS_VAR } from '@atlaskit/tokens';\nimport { RepositionOnUpdate } from './reposition-on-update';\nimport { useCloseManager } from './use-close-manager';\nimport { useFocusManager } from './use-focus-manager';\nconst popupStyles = css({\n display: 'block',\n boxSizing: 'border-box',\n zIndex: layers.layer(),\n flex: '1 1 auto',\n backgroundColor: `var(--ds-surface-overlay, ${N0})`,\n borderRadius: \"var(--ds-border-radius, 3px)\",\n boxShadow: `var(--ds-shadow-overlay, ${`0 4px 8px -2px ${N50A}, 0 0 1px ${N60A}`})`,\n [CURRENT_SURFACE_CSS_VAR]: `var(--ds-surface-overlay, ${N0})`,\n ':focus': {\n outline: 'none'\n }\n});\nconst popupOverflowStyles = css({\n overflow: 'auto'\n});\nconst DefaultPopupComponent = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n shouldRenderToParent,\n children,\n ...htmlAttributes\n } = props;\n return jsx(\"div\", _extends({\n css: [popupStyles, !shouldRenderToParent && popupOverflowStyles]\n }, htmlAttributes, {\n ref: ref\n }), children);\n});\nfunction PopperWrapper({\n isOpen,\n id,\n offset,\n testId,\n content,\n fallbackPlacements,\n onClose,\n boundary,\n rootBoundary,\n shouldFlip,\n placement = 'auto',\n popupComponent: PopupContainer = DefaultPopupComponent,\n autoFocus = true,\n triggerRef,\n shouldUseCaptureOnOutsideClick,\n shouldRenderToParent\n}) {\n const [popupRef, setPopupRef] = useState(null);\n const [initialFocusRef, setInitialFocusRef] = useState(null);\n useFocusManager({\n initialFocusRef,\n popupRef\n });\n useCloseManager({\n isOpen,\n onClose,\n popupRef,\n triggerRef,\n shouldUseCaptureOnOutsideClick\n });\n const modifiers = useMemo(() => [{\n name: 'flip',\n enabled: shouldFlip,\n options: {\n rootBoundary,\n boundary,\n fallbackPlacements\n }\n }], [shouldFlip, rootBoundary, boundary, fallbackPlacements]);\n return jsx(Popper, {\n placement: placement,\n offset: offset,\n modifiers: modifiers\n }, ({\n ref,\n style,\n placement,\n update\n }) => {\n return jsx(PopupContainer, {\n id: id,\n \"data-placement\": placement,\n \"data-testid\": testId,\n ref: node => {\n if (node) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n setPopupRef(node);\n }\n },\n style: style\n // using tabIndex={-1} would cause a bug where Safari focuses\n // first on the browser address bar when using keyboard\n ,\n tabIndex: autoFocus ? 0 : undefined,\n shouldRenderToParent: shouldRenderToParent\n }, jsx(RepositionOnUpdate, {\n update: update\n }, content({\n update,\n isOpen,\n onClose,\n setInitialFocusRef\n })));\n });\n}\n\n// eslint-disable-next-line @repo/internal/react/require-jsdoc\nexport default PopperWrapper;","import { useEffect } from 'react';\nimport { bindAll } from 'bind-event-listener';\nimport noop from '@atlaskit/ds-lib/noop';\nimport { UNSAFE_useLayering } from '@atlaskit/layering';\nexport const useCloseManager = ({\n isOpen,\n onClose,\n popupRef,\n triggerRef,\n shouldUseCaptureOnOutsideClick: capture\n}) => {\n const {\n isLayerDisabled\n } = UNSAFE_useLayering();\n useEffect(() => {\n if (!isOpen || !popupRef) {\n return noop;\n }\n const closePopup = event => {\n if (onClose) {\n onClose(event);\n }\n };\n\n // This check is required for cases where components like\n // Select or DDM are placed inside a Popup. A click\n // on a MenuItem or Option would close the Popup, without registering\n // a click on DDM/Select.\n // Users would have to call `onClose` manually to close the Popup in these cases.\n // You can see the bug in action here:\n // https://codesandbox.io/s/atlaskitpopup-default-forked-2eb87?file=/example.tsx:0-1788\n const onClick = event => {\n const {\n target\n } = event;\n const doesDomNodeExist = document.body.contains(target);\n if (!doesDomNodeExist) {\n return;\n }\n const isClickOnPopup = popupRef && popupRef.contains(target);\n const isClickOnTrigger = triggerRef && triggerRef.contains(target);\n if (!isClickOnPopup && !isClickOnTrigger) {\n closePopup(event);\n }\n };\n const onKeyDown = event => {\n if (isLayerDisabled()) {\n return;\n }\n const {\n key\n } = event;\n if (key === 'Escape' || key === 'Esc') {\n closePopup(event);\n }\n };\n const unbind = bindAll(window, [{\n type: 'click',\n listener: onClick,\n options: {\n capture\n }\n }, {\n type: 'keydown',\n listener: onKeyDown\n }]);\n return unbind;\n }, [isOpen, onClose, popupRef, triggerRef, capture, isLayerDisabled]);\n};","/* eslint-disable @repo/internal/react/require-jsdoc */\n/** @jsx jsx */\nimport { memo, useState } from 'react';\nimport { jsx } from '@emotion/react';\nimport { UNSAFE_LAYERING } from '@atlaskit/layering';\nimport { getBooleanFF } from '@atlaskit/platform-feature-flags';\nimport { Manager, Reference } from '@atlaskit/popper';\nimport Portal from '@atlaskit/portal';\nimport { layers } from '@atlaskit/theme/constants';\nimport PopperWrapper from './popper-wrapper';\nconst defaultLayer = layers.layer();\nexport const Popup = /*#__PURE__*/memo(({\n isOpen,\n id,\n offset,\n testId,\n trigger,\n content,\n onClose,\n boundary,\n rootBoundary = 'viewport',\n shouldFlip = true,\n placement = 'auto',\n fallbackPlacements,\n popupComponent: PopupContainer,\n autoFocus = true,\n zIndex = defaultLayer,\n shouldUseCaptureOnOutsideClick = false,\n shouldRenderToParent = false\n}) => {\n const [triggerRef, setTriggerRef] = useState(null);\n const renderPopperWrapper = jsx(UNSAFE_LAYERING, {\n isDisabled: getBooleanFF('platform.design-system-team.layering_popup_1cnzt') ? false : true\n }, jsx(PopperWrapper, {\n content: content,\n isOpen: isOpen,\n placement: placement,\n fallbackPlacements: fallbackPlacements,\n boundary: boundary,\n rootBoundary: rootBoundary,\n shouldFlip: shouldFlip,\n offset: offset,\n popupComponent: PopupContainer,\n id: id,\n testId: testId,\n onClose: onClose,\n autoFocus: autoFocus,\n shouldUseCaptureOnOutsideClick: shouldUseCaptureOnOutsideClick,\n shouldRenderToParent: shouldRenderToParent,\n triggerRef: triggerRef\n }));\n return jsx(Manager, null, jsx(Reference, null, ({\n ref\n }) => {\n return trigger({\n ref: node => {\n if (node && isOpen) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n setTriggerRef(node);\n }\n },\n 'aria-controls': id,\n 'aria-expanded': isOpen,\n 'aria-haspopup': true\n });\n }), isOpen && (shouldRenderToParent ? renderPopperWrapper : jsx(Portal, {\n zIndex: zIndex\n }, renderPopperWrapper)));\n});\nexport default Popup;","\"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","var tabbable = require('tabbable');\n\nvar listeningFocusTrap = null;\n\nfunction focusTrap(element, userOptions) {\n var tabbableNodes = [];\n var firstTabbableNode = null;\n var lastTabbableNode = null;\n var nodeFocusedBeforeActivation = null;\n var active = false;\n var paused = false;\n var tabEvent = null;\n\n var container = (typeof element === 'string')\n ? document.querySelector(element)\n : element;\n\n var config = userOptions || {};\n config.returnFocusOnDeactivate = (userOptions && userOptions.returnFocusOnDeactivate !== undefined)\n ? userOptions.returnFocusOnDeactivate\n : true;\n config.escapeDeactivates = (userOptions && userOptions.escapeDeactivates !== undefined)\n ? userOptions.escapeDeactivates\n : true;\n\n var trap = {\n activate: activate,\n deactivate: deactivate,\n pause: pause,\n unpause: unpause,\n };\n\n return trap;\n\n function activate(activateOptions) {\n if (active) return;\n\n var defaultedActivateOptions = {\n onActivate: (activateOptions && activateOptions.onActivate !== undefined)\n ? activateOptions.onActivate\n : config.onActivate,\n };\n\n active = true;\n paused = false;\n nodeFocusedBeforeActivation = document.activeElement;\n\n if (defaultedActivateOptions.onActivate) {\n defaultedActivateOptions.onActivate();\n }\n\n addListeners();\n return trap;\n }\n\n function deactivate(deactivateOptions) {\n if (!active) return;\n\n var defaultedDeactivateOptions = {\n returnFocus: (deactivateOptions && deactivateOptions.returnFocus !== undefined)\n ? deactivateOptions.returnFocus\n : config.returnFocusOnDeactivate,\n onDeactivate: (deactivateOptions && deactivateOptions.onDeactivate !== undefined)\n ? deactivateOptions.onDeactivate\n : config.onDeactivate,\n };\n\n removeListeners();\n\n if (defaultedDeactivateOptions.onDeactivate) {\n defaultedDeactivateOptions.onDeactivate();\n }\n\n if (defaultedDeactivateOptions.returnFocus) {\n setTimeout(function () {\n tryFocus(nodeFocusedBeforeActivation);\n }, 0);\n }\n\n active = false;\n paused = false;\n return this;\n }\n\n function pause() {\n if (paused || !active) return;\n paused = true;\n removeListeners();\n }\n\n function unpause() {\n if (!paused || !active) return;\n paused = false;\n addListeners();\n }\n\n function addListeners() {\n if (!active) return;\n\n // There can be only one listening focus trap at a time\n if (listeningFocusTrap) {\n listeningFocusTrap.pause();\n }\n listeningFocusTrap = trap;\n\n updateTabbableNodes();\n // Ensure that the focused element doesn't capture the event that caused the focus trap activation\n setTimeout(function () {\n tryFocus(firstFocusNode());\n }, 0);\n document.addEventListener('focus', checkFocus, true);\n document.addEventListener('click', checkClick, true);\n document.addEventListener('mousedown', checkPointerDown, true);\n document.addEventListener('touchstart', checkPointerDown, true);\n document.addEventListener('keydown', checkKey, true);\n\n return trap;\n }\n\n function removeListeners() {\n if (!active || listeningFocusTrap !== trap) return;\n\n document.removeEventListener('focus', checkFocus, true);\n document.removeEventListener('click', checkClick, true);\n document.removeEventListener('mousedown', checkPointerDown, true);\n document.removeEventListener('touchstart', checkPointerDown, true);\n document.removeEventListener('keydown', checkKey, true);\n\n listeningFocusTrap = null;\n\n return trap;\n }\n\n function getNodeForOption(optionName) {\n var optionValue = config[optionName];\n var node = optionValue;\n if (!optionValue) {\n return null;\n }\n if (typeof optionValue === 'string') {\n node = document.querySelector(optionValue);\n if (!node) {\n throw new Error('`' + optionName + '` refers to no known node');\n }\n }\n if (typeof optionValue === 'function') {\n node = optionValue();\n if (!node) {\n throw new Error('`' + optionName + '` did not return a node');\n }\n }\n return node;\n }\n\n function firstFocusNode() {\n var node;\n if (getNodeForOption('initialFocus') !== null) {\n node = getNodeForOption('initialFocus');\n } else if (container.contains(document.activeElement)) {\n node = document.activeElement;\n } else {\n node = tabbableNodes[0] || getNodeForOption('fallbackFocus');\n }\n\n if (!node) {\n throw new Error('You can\\'t have a focus-trap without at least one focusable element');\n }\n\n return node;\n }\n\n // This needs to be done on mousedown and touchstart instead of click\n // so that it precedes the focus event\n function checkPointerDown(e) {\n if (config.clickOutsideDeactivates && !container.contains(e.target)) {\n deactivate({ returnFocus: false });\n }\n }\n\n function checkClick(e) {\n if (config.clickOutsideDeactivates) return;\n if (container.contains(e.target)) return;\n e.preventDefault();\n e.stopImmediatePropagation();\n }\n\n function checkFocus(e) {\n if (container.contains(e.target)) return;\n e.preventDefault();\n e.stopImmediatePropagation();\n // Checking for a blur method here resolves a Firefox issue (#15)\n if (typeof e.target.blur === 'function') e.target.blur();\n\n if (tabEvent) {\n readjustFocus(tabEvent);\n }\n }\n\n function checkKey(e) {\n if (e.key === 'Tab' || e.keyCode === 9) {\n handleTab(e);\n }\n\n if (config.escapeDeactivates !== false && isEscapeEvent(e)) {\n deactivate();\n }\n }\n\n function handleTab(e) {\n updateTabbableNodes();\n\n if (e.target.hasAttribute('tabindex') && Number(e.target.getAttribute('tabindex')) < 0) {\n return tabEvent = e;\n }\n\n e.preventDefault();\n var currentFocusIndex = tabbableNodes.indexOf(e.target);\n\n if (e.shiftKey) {\n if (e.target === firstTabbableNode || tabbableNodes.indexOf(e.target) === -1) {\n return tryFocus(lastTabbableNode);\n }\n return tryFocus(tabbableNodes[currentFocusIndex - 1]);\n }\n\n if (e.target === lastTabbableNode) return tryFocus(firstTabbableNode);\n\n tryFocus(tabbableNodes[currentFocusIndex + 1]);\n }\n\n function updateTabbableNodes() {\n tabbableNodes = tabbable(container);\n firstTabbableNode = tabbableNodes[0];\n lastTabbableNode = tabbableNodes[tabbableNodes.length - 1];\n }\n\n function readjustFocus(e) {\n if (e.shiftKey) return tryFocus(lastTabbableNode);\n\n tryFocus(firstTabbableNode);\n }\n}\n\nfunction isEscapeEvent(e) {\n return e.key === 'Escape' || e.key === 'Esc' || e.keyCode === 27;\n}\n\nfunction tryFocus(node) {\n if (!node || !node.focus) return;\n if (node === document.activeElement) return;\n\n node.focus();\n if (node.tagName.toLowerCase() === 'input') {\n node.select();\n }\n}\n\nmodule.exports = focusTrap;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return Object.keys(obj).map(function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k].map(function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","import * as React from 'react';\nexport var ManagerReferenceNodeContext = React.createContext();\nexport var ManagerReferenceNodeSetterContext = React.createContext();\nexport function Manager(_ref) {\n var children = _ref.children;\n\n var _React$useState = React.useState(null),\n referenceNode = _React$useState[0],\n setReferenceNode = _React$useState[1];\n\n var hasUnmounted = React.useRef(false);\n React.useEffect(function () {\n return function () {\n hasUnmounted.current = true;\n };\n }, []);\n var handleSetReferenceNode = React.useCallback(function (node) {\n if (!hasUnmounted.current) {\n setReferenceNode(node);\n }\n }, []);\n return /*#__PURE__*/React.createElement(ManagerReferenceNodeContext.Provider, {\n value: referenceNode\n }, /*#__PURE__*/React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n value: handleSetReferenceNode\n }, children));\n}","import * as React from 'react';\nimport warning from 'warning';\nimport { ManagerReferenceNodeSetterContext } from './Manager';\nimport { safeInvoke, unwrapArray, setRef } from './utils';\nexport function Reference(_ref) {\n var children = _ref.children,\n innerRef = _ref.innerRef;\n var setReferenceNode = React.useContext(ManagerReferenceNodeSetterContext);\n var refHandler = React.useCallback(function (node) {\n setRef(innerRef, node);\n safeInvoke(setReferenceNode, node);\n }, [innerRef, setReferenceNode]); // ran on unmount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n\n React.useEffect(function () {\n return function () {\n return setRef(innerRef, null);\n };\n }, []);\n React.useEffect(function () {\n warning(Boolean(setReferenceNode), '`Reference` should not be used outside of a `Manager` component.');\n }, [setReferenceNode]);\n return unwrapArray(children)({\n ref: refHandler\n });\n}","import * as React from 'react';\n\n/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === 'function') {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === 'function') {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};\n/**\n * Simple ponyfill for Object.fromEntries\n */\n\nexport var fromEntries = function fromEntries(entries) {\n return entries.reduce(function (acc, _ref) {\n var key = _ref[0],\n value = _ref[1];\n acc[key] = value;\n return acc;\n }, {});\n};\n/**\n * Small wrapper around `useLayoutEffect` to get rid of the warning on SSR envs\n */\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;","/**\n * generates a UID factory\n * @internal\n * @example\n * const uid = generateUID();\n * uid(object) = 1;\n * uid(object) = 1;\n * uid(anotherObject) = 2;\n */\nexport const generateUID = () => {\n let counter = 1;\n const map = new WeakMap();\n /**\n * @borrows {uid}\n */\n const uid = (item, index) => {\n if (typeof item === 'number' || typeof item === 'string') {\n return index ? `idx-${index}` : `val-${item}`;\n }\n if (!map.has(item)) {\n map.set(item, counter++);\n return uid(item);\n }\n return 'uid' + map.get(item);\n };\n return uid;\n};\n/**\n * @name uid\n * returns an UID associated with {item}\n * @param {Object} item - object to generate UID for\n * @param {Number} index, a fallback index\n * @example\n * uid(object) == 1;\n * uid(object) == 1;\n * uid(anotherObject) == 2;\n * uid(\"not object\", 42) == 42\n *\n * @see {@link useUID}\n */\nexport const uid = generateUID();\n","module.exports = function(el, options) {\n options = options || {};\n\n var elementDocument = el.ownerDocument || el;\n var basicTabbables = [];\n var orderedTabbables = [];\n\n // A node is \"available\" if\n // - it's computed style\n var isUnavailable = createIsUnavailable(elementDocument);\n\n var candidateSelectors = [\n 'input',\n 'select',\n 'a[href]',\n 'textarea',\n 'button',\n '[tabindex]',\n ];\n\n var candidates = el.querySelectorAll(candidateSelectors.join(','));\n\n if (options.includeContainer) {\n var matches = Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n if (\n candidateSelectors.some(function(candidateSelector) {\n return matches.call(el, candidateSelector);\n })\n ) {\n candidates = Array.prototype.slice.apply(candidates);\n candidates.unshift(el);\n }\n }\n\n var candidate, candidateIndexAttr, candidateIndex;\n for (var i = 0, l = candidates.length; i < l; i++) {\n candidate = candidates[i];\n candidateIndexAttr = parseInt(candidate.getAttribute('tabindex'), 10)\n candidateIndex = isNaN(candidateIndexAttr) ? candidate.tabIndex : candidateIndexAttr;\n\n if (\n candidateIndex < 0\n || (candidate.tagName === 'INPUT' && candidate.type === 'hidden')\n || candidate.disabled\n || isUnavailable(candidate, elementDocument)\n ) {\n continue;\n }\n\n if (candidateIndex === 0) {\n basicTabbables.push(candidate);\n } else {\n orderedTabbables.push({\n index: i,\n tabIndex: candidateIndex,\n node: candidate,\n });\n }\n }\n\n var tabbableNodes = orderedTabbables\n .sort(function(a, b) {\n return a.tabIndex === b.tabIndex ? a.index - b.index : a.tabIndex - b.tabIndex;\n })\n .map(function(a) {\n return a.node\n });\n\n Array.prototype.push.apply(tabbableNodes, basicTabbables);\n\n return tabbableNodes;\n}\n\nfunction createIsUnavailable(elementDocument) {\n // Node cache must be refreshed on every check, in case\n // the content of the element has changed\n var isOffCache = [];\n\n // \"off\" means `display: none;`, as opposed to \"hidden\",\n // which means `visibility: hidden;`. getComputedStyle\n // accurately reflects visiblity in context but not\n // \"off\" state, so we need to recursively check parents.\n\n function isOff(node, nodeComputedStyle) {\n if (node === elementDocument.documentElement) return false;\n\n // Find the cached node (Array.prototype.find not available in IE9)\n for (var i = 0, length = isOffCache.length; i < length; i++) {\n if (isOffCache[i][0] === node) return isOffCache[i][1];\n }\n\n nodeComputedStyle = nodeComputedStyle || elementDocument.defaultView.getComputedStyle(node);\n\n var result = false;\n\n if (nodeComputedStyle.display === 'none') {\n result = true;\n } else if (node.parentNode) {\n result = isOff(node.parentNode);\n }\n\n isOffCache.push([node, result]);\n\n return result;\n }\n\n return function isUnavailable(node) {\n if (node === elementDocument.documentElement) return false;\n\n var computedStyle = elementDocument.defaultView.getComputedStyle(node);\n\n if (isOff(node, computedStyle)) return true;\n\n return computedStyle.visibility === 'hidden';\n }\n}\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n constructor(props) {\n _defineProperty(this, \"_isAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n // just a shallow clone, don't change sub refs unless you want to\n // affect the original's too\n const payload = {\n ...this.payload\n };\n return new AnalyticsEvent({\n payload\n });\n });\n this.payload = props.payload;\n }\n update(updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = {\n ...this.payload,\n ...updater\n };\n }\n return this;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n }\n return null;\n }\n const context = [...this.context];\n const handlers = [...this.handlers];\n\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n const payload = JSON.parse(JSON.stringify(this.payload));\n return new UIAnalyticsEvent({\n context,\n handlers,\n payload\n });\n });\n _defineProperty(this, \"fire\", channel => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n }\n return;\n }\n this.handlers.forEach(handler => handler(this, channel));\n this.hasFired = true;\n });\n this.context = props.context || [];\n this.handlers = props.handlers || [];\n this.hasFired = false;\n }\n update(updater) {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n }\n return this;\n }\n return super.update(updater);\n }\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n const analyticsContext = useAnalyticsContext();\n const createAnalyticsEvent = useCallbackOne(payload => {\n return new UIAnalyticsEvent({\n context: analyticsContext.getAtlaskitAnalyticsContext(),\n handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n payload\n });\n }, [analyticsContext]);\n return {\n createAnalyticsEvent\n };\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n return useContext(AnalyticsReactContext);\n};","export const getEnvGlobals = () => ({\n atob:\n // atob/btoa need to be bound because they throw an illegal invocation error when called as a method (obj.atob())\n typeof atob === 'function' && atob.bind(undefined) || typeof Buffer !== 'undefined' && (encoded => Buffer.from(encoded, 'base64').toString()),\n btoa: typeof btoa === 'function' && btoa.bind(undefined) || typeof Buffer !== 'undefined' && (str => Buffer.from(str).toString('base64')),\n URLSearchParams: typeof URLSearchParams === 'function' && URLSearchParams || typeof require === 'function' && require('url').URLSearchParams\n});\nlet env;\nexport const getEnv = () => env || (env = validateEnv(getEnvGlobals()));\nconst validateEnv = env => {\n if (!(env.atob && env.btoa && env.URLSearchParams)) {\n throw new TypeError(`Origin-Tracing: missing environment APIs. Required: btoa(), atob(), URLSearchParams() (or in Node: Buffer, require('url').URLSearchParams).`);\n }\n return env;\n};","import { base64ToBase64Url, base64UrlToBase64 } from './util/base64url';\nimport { getEnv } from './env';\nconst productShorthands = {\n confluence: 'c',\n jira: 'j',\n stride: 's',\n bitbucket: 'b',\n trello: 't'\n};\nexport function encode(originData) {\n const json = JSON.stringify(toJSONObject(originData));\n const base64 = getEnv().btoa(json);\n return base64ToBase64Url(base64);\n}\nexport function decode(encodedOriginString) {\n const base64 = base64UrlToBase64(encodedOriginString);\n const json = getEnv().atob(base64);\n return fromJSONObject(JSON.parse(json));\n}\nexport function toJSONObject({\n id,\n product\n}) {\n return {\n i: id,\n p: product && product in productShorthands ? productShorthands[product] : product\n };\n}\nexport function fromJSONObject(originJSONObject) {\n const originData = {};\n if (originJSONObject.i) {\n originData.id = originJSONObject.i;\n }\n if (originJSONObject.p) {\n originData.product = expandProductShorthand(originJSONObject.p);\n }\n return originData;\n}\nfunction expandProductShorthand(maybeShorthand) {\n const products = Object.keys(productShorthands);\n for (let i = 0; i < products.length; i++) {\n const product = products[i];\n const shorthand = productShorthands[product];\n if (maybeShorthand === shorthand) {\n return product;\n }\n }\n return maybeShorthand;\n}","import uuid from 'uuid/v4';\nimport { encode, decode } from './encoder';\nimport { getEnv } from './env';\nconst packageVersion = \"6.1.2\";\nconst originParamName = 'atlOrigin';\nconst originVersioningAttributes = {\n originLibrary: `origin-tracing.js@${packageVersion}`\n};\nexport default class OriginTracer {\n constructor({\n id = OriginTracer.generateId(),\n product,\n dangerouslySkipValidation = false\n }) {\n this.id = id;\n this.product = product;\n if (!dangerouslySkipValidation) {\n this.validate();\n }\n }\n static isValidId(value) {\n return typeof value === 'string' && /^[-_a-zA-Z0-9]{1,36}$/.test(value);\n }\n static isValidProduct(value) {\n return typeof value === 'string' && /^[-_a-zA-Z0-9]{1,20}$/.test(value);\n }\n static generateId() {\n const id = uuid();\n\n // Dash positions are fixed so they don't add to uniqueness.\n // Remove them to save space in the encoded form.\n return id.replace(/-/g, '');\n }\n static createEmpty() {\n return new EmptyOriginTracer();\n }\n static createMalformed() {\n return new MalformedOriginTracer();\n }\n static fromUrl(url) {\n let params = new (getEnv().URLSearchParams)();\n replaceQuery(url, queryString => {\n params = new (getEnv().URLSearchParams)(queryString);\n });\n return OriginTracer.fromEncoded(params.get(originParamName));\n }\n static fromEncoded(encoded) {\n if (!encoded) {\n return OriginTracer.createEmpty();\n }\n try {\n return OriginTracer.decode(encoded);\n } catch (e) {\n return OriginTracer.createMalformed();\n }\n }\n static removeFromUrl(url) {\n return replaceQuery(url, queryString => {\n const params = new (getEnv().URLSearchParams)(queryString);\n params.delete(originParamName);\n return params.toString();\n });\n }\n static decode(encodedOrigin) {\n const originData = decode(encodedOrigin);\n return new OriginTracer(originData);\n }\n encode() {\n return encode({\n id: this.id,\n product: this.product\n });\n }\n addToUrl(url) {\n return replaceQuery(url, originalQueryString => {\n const params = new (getEnv().URLSearchParams)(originalQueryString);\n params.set(originParamName, this.encode());\n return params.toString();\n });\n }\n isEmpty() {\n return false;\n }\n isMalformed() {\n return !this.isEmpty() && !this.isValid();\n }\n isValid() {\n return true;\n }\n toAnalyticsAttributes({\n transformValue = v => v === null ? undefined : v,\n hasGeneratedId = false\n } = {}) {\n // `originIdGenerated` should be used in analytic events that generated this originId.\n // Subsequent events should use `originId`.\n // No two events should have the same value of originIdGenerated.\n const originIdProp = hasGeneratedId ? 'originIdGenerated' : 'originId';\n return {\n [originIdProp]: transformValue(this.id),\n originProduct: transformValue(this.product),\n ...originVersioningAttributes\n };\n }\n validate() {\n if (!OriginTracer.isValidId(this.id)) {\n throw new TypeError('Invalid Origin id');\n }\n if (!OriginTracer.isValidProduct(this.product)) {\n throw new TypeError('Missing/invalid Origin product');\n }\n }\n}\nclass EmptyOriginTracer extends OriginTracer {\n constructor() {\n super({\n id: null,\n product: null,\n dangerouslySkipValidation: true\n });\n }\n isValid() {\n return false;\n }\n isEmpty() {\n return true;\n }\n toAnalyticsAttributes() {\n return {\n ...originVersioningAttributes\n };\n }\n}\nclass MalformedOriginTracer extends OriginTracer {\n constructor() {\n super({\n id: null,\n product: null,\n dangerouslySkipValidation: true\n });\n }\n isValid() {\n return false;\n }\n isEmpty() {\n return false;\n }\n toAnalyticsAttributes() {\n return {\n originMalformed: true,\n ...originVersioningAttributes\n };\n }\n}\nfunction replaceQuery(url, replacer) {\n const urlWithQueryStringRegex = /(^[^?#]*)(?:\\?)?([^#]*?)(#.*|$)$/;\n\n // If we get passed window.location, we don't want to call window.location.replace()\n const urlString = String(url);\n return urlString.replace(urlWithQueryStringRegex, (wholeMatch, beforeQuery, queryString, afterQuery) => {\n let newQueryString = replacer(queryString);\n if (newQueryString) {\n newQueryString = `?${newQueryString}`;\n }\n return `${beforeQuery}${newQueryString}${afterQuery}`;\n });\n}","/**\n * This file converts between Base64 and Base 64 Encoding with URL and Filename Safe Alphabet,\n * the latter of which has URL-safe characters only (drops =, + and /).\n *\n * Why not use a library? The popular libs use Buffer to be able to\n * encode any data to base64. We don't need this capability, and it causes\n * Webpack to include 30KB of a Buffer polyfill.\n * Webpack's/UglifyJS's Tree Shaking seems to be unable to drop it.\n *\n * See: RFC 4648 section 5 (https://tools.ietf.org/html/rfc4648#section-5)\n */\nexport function base64ToBase64Url(base64) {\n if (base64 == null) {\n return '';\n }\n return String(base64).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '');\n}\nexport function base64UrlToBase64(base64url) {\n if (base64url == null) {\n return '';\n }\n const base64 = String(base64url).replace(/-/g, '+').replace(/_/g, '/');\n const padLength = (4 - base64url.length % 4) % 4;\n const pad = '==='.slice(0, padLength);\n return base64 + pad;\n}","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","export enum TRACKING_EVENT_NAMES {\n errorScreenDisplayed = 'errorScreenDisplayed',\n noEntitlementsFound = 'noEntitlementsFound',\n noSitesFound = 'noSitesFound',\n showAllLinkDisplayed = 'showAllLinkDisplayed',\n showAllLinkClicked = 'showAllLinkClicked',\n wacCartAddPaymentDetailsButtonClicked = 'wacCartAddPaymentDetailsButtonClicked',\n wacCartIconClicked = 'wacCartIconClicked',\n wacCartPopoverClosed = 'wacCartPopoverClosed',\n wacCartPopoverViewed = 'wacCartPopoverViewed',\n wacCartRendered = 'wacCartRendered'\n}\n\nexport enum ACTION_SUBJECT_IDS {\n wacCartRendered = 'wacCartRendered',\n wacCartPopoverErrorScreen = 'wacCartPopoverErrorScreen',\n wacCartShowAllLinkDisplayed = 'wacCartShowAllLinkDisplayed',\n wacCartShowAllLinkClicked = 'wacCartShowAllLinkClicked',\n wacCartFeatureExposed = 'wacCartFeatureExposed',\n wacCartEstimateCallFailed = 'wacCartEstimateCallFailed',\n wacCartUseEntitlementsFailed = 'wacCartUseEntitlementsFailed',\n wacCartUseEntitlementListingsFailed = 'wacCartUseEntitlementListingsFailed',\n wacCartInvoiceGroupsCallFailed = 'wacCartInvoiceGroupsCallFailed',\n wacCartProductHubInfoReturnedNoSites = 'wacCartProductHubInfoReturnedNoSites',\n wacCartProductHubInfoReturnedNoEntitlements = 'wacCartProductHubInfoReturnedNoEntitlements',\n wacCartIcon = 'wacCartIcon',\n wacCartPopover = 'wacCartPopover',\n wacCartPopoverClosed = 'wacCartPopoverClosed'\n}\n","import { css } from '@emotion/react';\n\nexport const containerStyle = css`\n position: relative;\n`;\n\nexport const buttonStyle = css`\n background: none;\n border: none;\n margin: 0;\n padding: 0;\n cursor: pointer;\n`;\n","import { css } from '@emotion/react';\nimport { getColor } from '@atlassiansox/wpl-utils';\n\nexport const indicatorStyle = css`\n display: flex;\n position: absolute;\n color: ${getColor('n0')};\n background-color: ${getColor('r500')};\n border-radius: 10px;\n height: 12px;\n min-width: 9px;\n padding: 0 3px;\n font-size: 8.5px;\n top: -5px;\n left: -9px;\n justify-content: center;\n align-items: center;\n`;\n","import { indicatorStyle } from './cart-icon.styles';\n\ninterface CartIconProps {\n numberOfProductTrials: string;\n}\n\nexport const CartIcon = ({ numberOfProductTrials }: CartIconProps) => (\n
\n
{numberOfProductTrials}
\n \n \n \n \n \n \n
\n);\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { useEffect } from 'react';\n\nimport {\n TRACKING_EVENT_NAMES,\n ACTION_SUBJECT_IDS\n} from '../../utils/constants';\nimport { containerStyle, buttonStyle } from './cart-button.styles';\nimport { CartIcon } from './cart-icon';\n\ninterface CartButtonProps {\n analyticsAttributes: object;\n numberOfProductTrials: number;\n onClick: () => void;\n}\n\nconst CartButton = ({\n analyticsAttributes,\n numberOfProductTrials,\n onClick\n}: CartButtonProps) => {\n const { createAnalyticsEvent } = useAnalyticsEvents();\n\n useEffect(() => {\n createAnalyticsEvent({\n eventName: TRACKING_EVENT_NAMES.wacCartRendered,\n action: 'rendered',\n actionSubject: 'wacCart',\n actionSubjectId: ACTION_SUBJECT_IDS.wacCartRendered,\n attributes: analyticsAttributes\n }).fire();\n }, []);\n\n return (\n
\n 1 ? 'trials' : 'trial'\n } ending soon`}\n >\n 5 ? '5 +' : `${numberOfProductTrials}`\n }\n />\n \n
\n );\n};\n\nexport { CartButton };\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser$1) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B200})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 9999\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value) {\n return value;\n } // TS believes value can be undefined\n }\n }\n\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value) {\n return value;\n }\n }\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused', B200)` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B200})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n Provider,\n Consumer,\n useTheme\n} = createTheme(() => ({\n mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n Provider,\n Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n * based on those props. An example of this default theme function is one that produces the standard\n * appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n * that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n * to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n /**\n * Internally, Theme uses React Context, with internal providers and consumers.\n * The React Context passes only a function that gets props, and turns them into tokens. This\n * function gets mixed as more Providers with their own themes are added. This mixed function\n * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n * the theme.\n */\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\n }\n\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props;\n\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = useTheme(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n }\n\n /**\n * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n * - The getTokens function isn't called immediately - instead the props are passed\n * through a mix of parent theming functions\n * Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: mixedFn\n }, props.children);\n }\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","export const presetSizes = {\n xsmall: 8,\n small: 16,\n medium: 24,\n large: 48,\n xlarge: 96\n};","/** @jsx jsx */\nimport React, { useContext, useEffect, useLayoutEffect as useRealLayoutEffect } from 'react';\nimport { css, jsx, keyframes } from '@emotion/react';\nimport InteractionContext from '@atlaskit/interaction-context';\nimport { DN500, DN900, N0, N500 } from '@atlaskit/theme/colors';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { presetSizes } from './constants';\n/**\n * Returns the appropriate circle stroke color.\n */\nfunction getStrokeColor({\n mode,\n appearance\n}) {\n if (mode === 'light') {\n return appearance === 'inherit' ? `var(--ds-icon-subtle, ${N500})` : `var(--ds-icon-inverse, ${N0})`;\n }\n return appearance === 'inherit' ? `var(--ds-icon-subtle, ${DN900})` : `var(--ds-icon-inverse, ${DN500})`;\n}\nconst rotate = keyframes({\n to: {\n transform: 'rotate(360deg)'\n }\n});\nconst rotateStyles = css({\n animation: `${rotate} 0.86s infinite`,\n animationTimingFunction: 'cubic-bezier(0.4, 0.15, 0.6, 0.85)',\n transformOrigin: 'center'\n});\n\n/**\n * There are three parts to the load in animation:\n * 1. Fade in\n * 2. Accelerated spin\n * 3. Stretch the spinner line\n */\nconst loadIn = keyframes({\n from: {\n transform: 'rotate(50deg)',\n opacity: 0,\n strokeDashoffset: 60\n },\n to: {\n transform: 'rotate(230deg)',\n opacity: 1,\n strokeDashoffset: 50\n }\n});\nconst loadInStyles = css({\n animation: `${loadIn} 1s ease-in-out`,\n /**\n * When the animation completes, stay at the last frame of the animation.\n */\n animationFillMode: 'forwards',\n /**\n * We are going to animate this in.\n */\n opacity: 0\n});\nconst wrapperStyles = css({\n display: 'inline-flex',\n /**\n * Align better inline with text.\n */\n verticalAlign: 'middle'\n});\nconst circleStyles = css({\n fill: 'none',\n strokeDasharray: 60,\n strokeDashoffset: 'inherit',\n strokeLinecap: 'round',\n strokeWidth: 1.5,\n '@media screen and (forced-colors: active)': {\n filter: 'grayscale(100%)',\n stroke: 'CanvasText'\n }\n});\n\n/**\n * `useLayoutEffect` is being used in SSR safe form. On the server, this work doesn’t need to run.\n * `useEffect` is used in-place, because `useEffect` is not run on the server and it matches types\n * which makes things simpler than doing an `isServer` check or a `null` check.\n *\n * @see https://hello.atlassian.net/wiki/spaces/DST/pages/2081696628/DSTDACI-010+-+Interaction+Tracing+hooks+in+DS+components\n */\nconst useLayoutEffect = typeof window === 'undefined' ? useEffect : useRealLayoutEffect;\nexport default /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function Spinner({\n appearance = 'inherit',\n delay = 0,\n interactionName,\n label,\n size: providedSize = 'medium',\n testId\n}, ref) {\n const size = typeof providedSize === 'number' ? providedSize : presetSizes[providedSize];\n const animationDelay = `${delay}ms`;\n const {\n mode\n } = useGlobalTheme();\n const stroke = getStrokeColor({\n mode,\n appearance\n });\n const context = useContext(InteractionContext);\n useLayoutEffect(() => {\n if (context != null) {\n return context.hold(interactionName);\n }\n }, [context, interactionName]);\n\n /**\n * The Spinner animation uses a combination of two\n * css animations on two separate elements.\n */\n return jsx(\"span\", {\n /**\n * This span exists to off-load animations from the circle element,\n * which were causing performance issues (style recalculations)\n * on Safari and older versions of Chrome.\n *\n * This can be removed and styles placed back on the circle element once\n * Safari fixes this bug and off-loads rendering to the GPU from the CPU.\n */\n css: [wrapperStyles, rotateStyles],\n \"data-testid\": testId && `${testId}-wrapper`,\n style: {\n animationDelay,\n width: size,\n height: size\n }\n }, jsx(\"svg\", {\n height: size,\n width: size,\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"data-testid\": testId,\n ref: ref,\n \"aria-label\": label,\n css: loadInStyles,\n style: {\n animationDelay\n }\n }, jsx(\"circle\", {\n cx: \"8\",\n cy: \"8\",\n r: \"7\",\n css: circleStyles,\n style: {\n stroke\n }\n })));\n}));","export const spacingTokens: Record = Object.freeze({\n 'space.0': '0', //0px\n 'space.025': '0.125rem', //2px\n 'space.050': '0.25rem', //4px\n 'space.075': '0.375rem', //6px\n 'space.100': '0.5rem', //8px\n 'space.150': '0.75rem', //12px\n 'space.200': '1rem', //16px\n 'space.250': '1.25rem', //20px\n 'space.300': '1.5rem', //24px\n 'space.400': '2rem', //32px\n 'space.500': '2.5rem', //40px\n 'space.600': '3rem', //48px\n 'space.800': '4rem', //64px\n 'space.1000': '5rem' //80px\n});\n","type ColorRecord = {\n [key: string]: string | ColorRecord;\n};\n\nexport const color: { [key: string]: string | ColorRecord } = Object.freeze({\n // colors for light backgrounds\n 'default': {\n background: {\n disabled: '',\n accent: {\n blue: {\n bolder: '#2684ff',\n subtle: '#4c9aff',\n subtler: '#B3D4FF',\n subtlest: '#deebff'\n },\n gray: {\n bolder: '#97a0af',\n subtle: '#b3bac5',\n subtler: '#c1c7d0',\n subtlest: '#f4f5f7'\n },\n green: {\n bolder: '#57D9A3',\n subtle: '#79f2c0',\n subtler: '#abf5d1',\n subtlest: '#e3fcef'\n },\n magenta: {\n bolder: '',\n subtle: '',\n subtler: '',\n subtlest: ''\n },\n orange: {\n bolder: '',\n subtle: '',\n subtler: '',\n subtlest: ''\n },\n purple: {\n bolder: '#8777d9',\n subtle: '#998dd9',\n subtler: '#c0b6f2',\n subtlest: '#eae6ff'\n },\n red: {\n bolder: '#ff7452',\n subtle: '#ff8f73',\n subtler: '#ffbdad',\n subtlest: '#FFEBE6'\n },\n teal: {\n bolder: '#00C7E6',\n subtle: '#79e2f2',\n subtler: '#b3f5ff',\n subtlest: '#e6fcff'\n },\n yellow: {\n bolder: '',\n subtle: '',\n subtler: '',\n subtlest: ''\n }\n },\n brand: {\n default: '#deebff',\n hovered: '#B3D4FF',\n pressed: '#deebff',\n bold: {\n default: '#0052cc',\n hovered: '#0747A6',\n pressed: '#091e42'\n }\n },\n danger: {\n default: '#FFEBE6',\n hovered: '#ffbdad',\n pressed: '#ff8f73',\n bold: {\n default: '#de350b',\n hovered: '#bf2600',\n pressed: '#751902'\n }\n },\n discovery: {\n default: '#c0b6f2',\n hovered: '#998dd9',\n pressed: '#8777d9',\n bold: {\n default: '#6554c0',\n hovered: '#5243aa',\n pressed: '#403294'\n }\n },\n information: {\n default: '#deebff',\n bold: {\n default: '#0052cc',\n hovered: '#0747A6',\n pressed: '#091e42'\n }\n },\n input: {\n default: '#ebecf0',\n hovered: '#a5adba',\n pressed: '#c1c7d0'\n },\n selected: {\n default: '#B3D4FF',\n hovered: '#4c9aff',\n pressed: '#2684ff',\n bold: {\n default: '#6B778C',\n hovered: '#42526e',\n pressed: '#091e42'\n }\n },\n success: {\n default: '#abf5d1',\n hovered: '#79f2c0',\n pressed: '#57D9A3',\n bold: {\n default: '#00875a',\n hovered: '#006644',\n pressed: '#003D28'\n }\n },\n warning: {\n default: '#FFF0B3',\n hovered: '#ffe380',\n pressed: '#ffc400',\n bold: {\n default: '#ffab00',\n hovered: '#ff991f',\n pressed: '#ff8b00'\n }\n }\n },\n blanket: {\n default: '#505f79'\n },\n border: {\n bold: '#42526e',\n brand: '#0052cc',\n danger: '#de350b',\n default: '#a5adba',\n disabled: '#c1c7d0',\n discovery: '#5243aa',\n focus: '#2684ff',\n information: '#0065ff',\n inverse: '#ffffff',\n selected: '#0052cc',\n success: '#00875a',\n warning: '#ff991f',\n accent: {\n blue: '#0065ff',\n gray: '#97a0af',\n green: '#36b37e',\n magenta: '',\n orange: '#ff991f',\n purple: '#8777d9',\n red: '#ff5630',\n teal: '#00b8d9',\n yellow: '#ffc400'\n }\n },\n elevation: {\n surface: {\n footer: '#f4f5f7',\n default: {\n solid: {\n alternate1: '#c0b6f2',\n alternate2: '#B3D4FF',\n alternate3: '#DFE1E6',\n primary: '#ffffff'\n }\n },\n overlay: {\n default: '#ffffff'\n },\n raised: {\n default: '#ffffff'\n }\n }\n },\n icon: {\n 'brand': '#0052cc',\n 'danger': '#bf2600',\n 'default': '#172b4d',\n 'disabled': '#b3bac5',\n 'discovery': '#403294',\n 'information': '#0747A6',\n 'inverse': '#ffffff',\n 'selected': '#0747A6',\n 'subtle': '#6B778C',\n 'subtlest': '#97a0af',\n 'success': '#006644',\n 'warning-inverse': '#091e42',\n 'warning': '#ff8b00',\n 'accent': {\n blue: '#0747A6',\n gray: '#7a869a',\n green: '#00875a',\n magenta: '',\n orange: '#ff8b00',\n purple: '#5243aa',\n red: '#de350b',\n teal: '#00a3bf',\n yellow: '#ffc400'\n }\n },\n link: {\n default: '#0052cc',\n pressed: '#0747A6',\n subtle: '#505f79'\n },\n text: {\n 'brand': '#0052cc',\n 'danger': '#bf2600',\n 'default': '#253858',\n 'disabled': '#97a0af',\n 'discovery': '#403294',\n 'information': '#091e42',\n 'inverse': '#ffffff',\n 'selected': '#0052cc',\n 'subtle': '#505f79',\n 'subtlest': '#7a869a',\n 'success': '#006644',\n 'warning-inverse': '#253858',\n 'warning': '#ff8b00',\n 'accent': {\n 'blue-bolder': '#091e42',\n 'blue': '#0747A6',\n 'gray-bolder': '',\n 'gray': '#505f79',\n 'green-bolder': '',\n 'green': '#006644',\n 'magenta-bolder': '',\n 'magenta': '',\n 'orange-bolder': '',\n 'orange': '#ff8b00',\n 'purple-bolder': '',\n 'purple': '#403294',\n 'red-bolder': '',\n 'red': '#bf2600',\n 'teal-bolder': '',\n 'teal': '#008da6',\n 'yellow-bolder': '',\n 'yellow': '#ffc400'\n }\n },\n utility: {\n MISSING_TOKEN: '#FA11F2'\n }\n },\n 'lo-fi': {\n background: {\n 'items-light': '#ffffff',\n 'items': '#42526e',\n 'surface': '#ffffff'\n },\n text: {\n default: '#000000'\n }\n },\n // colors for dark backgrounds\n 'inverse': {\n background: {\n disabled: '',\n accent: {\n blue: {\n bolder: '#2684ff',\n subtle: '#0747A6',\n subtler: '#344563',\n subtlest: '#253858'\n },\n gray: {\n bolder: '#8993a4',\n subtle: '#5e6c84',\n subtler: '#42526e',\n subtlest: '#253858'\n },\n green: {\n bolder: '#57D9A3',\n subtle: '#79f2c0',\n subtler: '#abf5d1',\n subtlest: '#e3fcef'\n },\n magenta: {\n bolder: '',\n subtle: '',\n subtler: '',\n subtlest: ''\n },\n orange: {\n bolder: '',\n subtle: '',\n subtler: '',\n subtlest: ''\n },\n purple: {\n bolder: '#403294',\n subtle: '#998dd9',\n subtler: '#c0b6f2',\n subtlest: '#eae6ff'\n },\n red: {\n bolder: '#ff7452',\n subtle: '#ff8f73',\n subtler: '#ffbdad',\n subtlest: '#FFEBE6'\n },\n teal: {\n bolder: '#00C7E6',\n subtle: '#79e2f2',\n subtler: '#b3f5ff',\n subtlest: '#e6fcff'\n },\n yellow: {\n bolder: '',\n subtle: '',\n subtler: '',\n subtlest: ''\n }\n },\n brand: {\n default: '#deebff',\n hovered: '',\n pressed: '',\n bold: {\n default: '#091e42',\n hovered: '#0747A6',\n pressed: '#091e42'\n }\n },\n danger: {\n default: '#FFEBE6',\n hovered: '#ffbdad',\n pressed: '#ff8f73',\n bold: {\n default: '#de350b',\n hovered: '#bf2600',\n pressed: '#751902'\n }\n },\n discovery: {\n default: '#c0b6f2',\n hovered: '#998dd9',\n pressed: '#8777d9',\n bold: {\n default: '#6554c0',\n hovered: '#5243aa',\n pressed: '#403294'\n }\n },\n information: {\n default: '#B3D4FF',\n hovered: '#4c9aff',\n pressed: '#2684ff',\n bold: {\n default: '#0052cc',\n hovered: '#0747A6',\n pressed: '#091e42'\n }\n },\n input: {\n default: '#091e42'\n },\n selected: {\n default: '#ffffff',\n hovered: '#4c9aff',\n pressed: '#2684ff',\n bold: {\n default: '#0052cc',\n hovered: '#0747A6',\n pressed: '#091e42'\n }\n },\n success: {\n default: '#abf5d1',\n hovered: '#79f2c0',\n pressed: '#57D9A3',\n bold: {\n default: '#00875a',\n hovered: '#006644',\n pressed: '#003D28'\n }\n },\n warning: {\n default: '#FFF0B3',\n hovered: '#ffe380',\n pressed: '#ffc400',\n bold: {\n default: '#ffab00',\n hovered: '#ff991f',\n pressed: '#ff8b00'\n }\n }\n },\n blanket: {\n default: '#000000'\n },\n border: {\n bold: '#42526e',\n brand: '#B3D4FF',\n danger: '#de350b',\n default: '#5e6c84',\n disabled: '#c1c7d0',\n discovery: '#5243aa',\n focus: '#2684ff',\n information: '#0065ff',\n inverse: '#ffffff',\n selected: '#0052cc',\n success: '#00875a',\n warning: '#ff991f',\n accent: {\n blue: '#2684ff',\n gray: '#97a0af',\n green: '#57D9A3',\n magenta: '',\n orange: '#ffab00',\n purple: '#998dd9',\n red: '#ff5630',\n teal: '#79e2f2',\n yellow: '#ffe380'\n }\n },\n elevation: {\n surface: {\n default: {\n solid: {\n alternate1: '#5243aa',\n alternate2: '#0747A6',\n primary: '#172b4d'\n }\n },\n overlay: {\n default: '#ffffff'\n },\n raised: {\n default: '#253858'\n }\n }\n },\n icon: {\n 'brand': '#2684ff',\n 'danger': '#ff7452',\n 'default': '#ffffff',\n 'disabled': '#b3bac5',\n 'discovery': '#998dd9',\n 'information': '#B3D4FF',\n 'inverse': '#000000',\n 'selected': '#4c9aff',\n 'subtle': '#6B778C',\n 'success': '#57D9A3',\n 'warning-inverse': '#000000',\n 'warning': '#ffe380',\n 'accent': {\n blue: '#4c9aff',\n gray: '#7a869a',\n green: '#57D9A3',\n magenta: '',\n orange: '#ffe380',\n purple: '#998dd9',\n red: '#ff8f73',\n teal: '#79e2f2',\n yellow: '#FFF0B3'\n }\n },\n link: {\n alternate: '#ffffff',\n default: '#B3D4FF',\n pressed: '#4c9aff'\n },\n text: {\n 'brand': '#B3D4FF',\n 'danger': '#ff7452',\n 'default': '#f4f5f7',\n 'disabled': '#DFE1E6',\n 'discovery': '#998dd9',\n 'information': '#4c9aff',\n 'inverse': '#0747A6',\n 'selected': '#2684ff',\n 'subtle': '#DFE1E6',\n 'subtlest': '#b3bac5',\n 'success': '#57D9A3',\n 'warning-inverse': '#000000',\n 'warning': '#ffc400',\n 'accent': {\n 'blue-bolder': '#deebff',\n 'blue': '#2684ff',\n 'gray-bolder': '',\n 'gray': '#b3bac5',\n 'green-bolder': '',\n 'green': '#57D9A3',\n 'magenta-bolder': '',\n 'magenta': '',\n 'orange-bolder': '',\n 'orange': '#ffe380',\n 'purple-bolder': '',\n 'purple': '#998dd9',\n 'red-bolder': '',\n 'red': '#ff8f73',\n 'teal-bolder': '',\n 'teal': '#79e2f2',\n 'yellow-bolder': '',\n 'yellow': '#FFF0B3'\n }\n },\n utility: {\n MISSING_TOKEN: '#FA11F2'\n }\n }\n});\n","const isValidNestedObject = (\n rawTokens: string | object\n): rawTokens is object => {\n return (\n typeof rawTokens === 'object' &&\n !Array.isArray(rawTokens) &&\n rawTokens !== null\n );\n};\n\nexport const getValue = (rawTokens: object, tokenName: string): string => {\n const keys = tokenName.split('.');\n let current: object | string = rawTokens;\n\n for (const key of keys) {\n if (isValidNestedObject(current) && current?.hasOwnProperty(key)) {\n current = current[key as keyof object] as object | string;\n } else {\n return '';\n }\n }\n\n return current as string;\n};\n","import { color } from '../color';\nimport { getValue } from '../../get-value';\n\nexport const colorBackgroundDefaultTokens: Record =\n Object.freeze({\n 'color.background.accent.red.bolder': getValue(\n color,\n 'default.background.accent.red.bolder'\n ),\n 'color.background.accent.red.subtle': getValue(\n color,\n 'default.background.accent.red.subtle'\n ),\n 'color.background.accent.red.subtler': getValue(\n color,\n 'default.background.accent.red.subtler'\n ),\n 'color.background.accent.red.subtlest': getValue(\n color,\n 'default.background.accent.red.subtlest'\n ),\n 'color.background.accent.orange.bolder': getValue(\n color,\n 'default.background.accent.orange.bolder'\n ),\n 'color.background.accent.orange.subtle': getValue(\n color,\n 'default.background.accent.orange.subtle'\n ),\n 'color.background.accent.orange.subtler': getValue(\n color,\n 'default.background.accent.orange.subtler'\n ),\n 'color.background.accent.orange.subtlest': getValue(\n color,\n 'default.background.accent.orange.subtlest'\n ),\n 'color.background.accent.yellow.bolder': getValue(\n color,\n 'default.background.accent.yellow.bolder'\n ),\n 'color.background.accent.yellow.subtle': getValue(\n color,\n 'default.background.accent.yellow.subtle'\n ),\n 'color.background.accent.yellow.subtler': getValue(\n color,\n 'default.background.accent.yellow.subtler'\n ),\n 'color.background.accent.yellow.subtlest': getValue(\n color,\n 'default.background.accent.yellow.subtlest'\n ),\n 'color.background.accent.green.bolder': getValue(\n color,\n 'default.background.accent.green.bolder'\n ),\n 'color.background.accent.green.subtle': getValue(\n color,\n 'default.background.accent.green.subtle'\n ),\n 'color.background.accent.green.subtler': getValue(\n color,\n 'default.background.accent.green.subtler'\n ),\n 'color.background.accent.green.subtlest': getValue(\n color,\n 'default.background.accent.green.subtlest'\n ),\n 'color.background.accent.teal.bolder': getValue(\n color,\n 'default.background.accent.teal.bolder'\n ),\n 'color.background.accent.teal.subtle': getValue(\n color,\n 'default.background.accent.teal.subtle'\n ),\n 'color.background.accent.teal.subtler': getValue(\n color,\n 'default.background.accent.teal.subtler'\n ),\n 'color.background.accent.teal.subtlest': getValue(\n color,\n 'default.background.accent.teal.subtlest'\n ),\n 'color.background.accent.blue.bolder': getValue(\n color,\n 'default.background.accent.blue.bolder'\n ),\n 'color.background.accent.blue.subtle': getValue(\n color,\n 'default.background.accent.blue.subtle'\n ),\n 'color.background.accent.blue.subtler': getValue(\n color,\n 'default.background.accent.blue.subtler'\n ),\n 'color.background.accent.blue.subtlest': getValue(\n color,\n 'default.background.accent.blue.subtlest'\n ),\n 'color.background.accent.purple.bolder': getValue(\n color,\n 'default.background.accent.purple.bolder'\n ),\n 'color.background.accent.purple.subtle': getValue(\n color,\n 'default.background.accent.purple.subtle'\n ),\n 'color.background.accent.purple.subtler': getValue(\n color,\n 'default.background.accent.purple.subtler'\n ),\n 'color.background.accent.purple.subtlest': getValue(\n color,\n 'default.background.accent.purple.subtlest'\n ),\n 'color.background.accent.magenta.bolder': getValue(\n color,\n 'default.background.accent.magenta.bolder'\n ),\n 'color.background.accent.magenta.subtle': getValue(\n color,\n 'default.background.accent.magenta.subtle'\n ),\n 'color.background.accent.magenta.subtler': getValue(\n color,\n 'default.background.accent.magenta.subtler'\n ),\n 'color.background.accent.magenta.subtlest': getValue(\n color,\n 'default.background.accent.magenta.subtlest'\n ),\n 'color.background.accent.gray.bolder': getValue(\n color,\n 'default.background.accent.gray.bolder'\n ),\n 'color.background.accent.gray.subtle': getValue(\n color,\n 'default.background.accent.gray.subtle'\n ),\n 'color.background.accent.gray.subtler': getValue(\n color,\n 'default.background.accent.gray.subtler'\n ),\n 'color.background.accent.gray.subtlest': getValue(\n color,\n 'default.background.accent.gray.subtlest'\n ),\n 'color.background.disabled': getValue(color, 'default.background.disabled'),\n 'color.background.input': getValue(\n color,\n 'default.background.input.default'\n ),\n 'color.background.selected': getValue(\n color,\n 'default.background.selected.default'\n ),\n 'color.background.selected.bold': getValue(\n color,\n 'default.background.selected.bold.default'\n ),\n 'color.background.brand.bold': getValue(\n color,\n 'default.background.brand.bold.default'\n ),\n 'color.background.danger': getValue(\n color,\n 'default.background.danger.default'\n ),\n 'color.background.danger.bold': getValue(\n color,\n 'default.background.danger.bold.default'\n ),\n 'color.background.warning': getValue(\n color,\n 'default.background.warning.default'\n ),\n 'color.background.warning.bold': getValue(\n color,\n 'default.background.warning.bold.default'\n ),\n 'color.background.success': getValue(\n color,\n 'default.background.success.default'\n ),\n 'color.background.success.bold': getValue(\n color,\n 'default.background.success.bold.default'\n ),\n 'color.background.discovery': getValue(\n color,\n 'default.background.discovery.default'\n ),\n 'color.background.discovery.bold': getValue(\n color,\n 'default.background.discovery.bold.default'\n ),\n 'color.background.information': getValue(\n color,\n 'default.background.information.default'\n ),\n 'color.background.information.bold': getValue(\n color,\n 'default.background.information.bold.default'\n )\n });\n","import { color } from '../color';\nimport { getValue } from '../../get-value';\n\nexport const colorBorderDefaultTokens: Record = Object.freeze({\n 'color.border': getValue(color, 'default.border.default'),\n 'color.border.accent.red': getValue(color, 'default.border.accent.red'),\n 'color.border.accent.orange': getValue(color, 'default.border.accent.orange'),\n 'color.border.accent.yellow': getValue(color, 'default.border.accent.yellow'),\n 'color.border.accent.green': getValue(color, 'default.border.accent.green'),\n 'color.border.accent.teal': getValue(color, 'default.border.accent.teal'),\n 'color.border.accent.blue': getValue(color, 'default.border.accent.blue'),\n 'color.border.accent.purple': getValue(color, 'default.border.accent.purple'),\n 'color.border.accent.magenta': getValue(\n color,\n 'default.border.accent.magenta'\n ),\n 'color.border.accent.gray': getValue(color, 'default.border.accent.gray'),\n 'color.border.disabled': getValue(color, 'default.border.disabled'),\n 'color.border.focused': getValue(color, 'default.border.focused'),\n 'color.border.input': getValue(color, 'default.border.input'),\n 'color.border.inverse': getValue(color, 'default.border.inverse'),\n 'color.border.selected': getValue(color, 'default.border.selected'),\n 'color.border.brand': getValue(color, 'default.border.brand'),\n 'color.border.danger': getValue(color, 'default.border.danger'),\n 'color.border.warning': getValue(color, 'default.border.warning'),\n 'color.border.success': getValue(color, 'default.border.focused'),\n 'color.border.discovery': getValue(color, 'default.border.discovery'),\n 'color.border.information: ': getValue(color, 'default.border.information'),\n 'color.border.bold': getValue(color, 'default.border.bold')\n});\n","import { color } from '../color';\nimport { getValue } from '../../get-value';\n\nexport const colorTextDefaultTokens: Record = Object.freeze({\n 'color.text': getValue(color, 'default.text.default'),\n 'color.text.accent.red': getValue(color, 'default.text.accent.red'),\n 'color.text.accent.red.bolder': getValue(\n color,\n 'default.text.accent.red-bolder'\n ),\n 'color.text.accent.orange': getValue(color, 'default.text.accent.orange'),\n 'color.text.accent.orange.bolder': getValue(\n color,\n 'default.text.accent.orange-bolder'\n ),\n 'color.text.accent.yellow': getValue(color, 'default.text.accent.yellow'),\n 'color.text.accent.yellow.bolder': getValue(\n color,\n 'default.text.accent.yellow-bolder'\n ),\n 'color.text.accent.green': getValue(color, 'default.text.accent.green'),\n 'color.text.accent.green.bolder': getValue(\n color,\n 'default.text.accent.green-bolder'\n ),\n 'color.text.accent.teal': getValue(color, 'default.text.accent.teal'),\n 'color.text.accent.teal.bolder': getValue(\n color,\n 'default.text.accent.teal-bolder'\n ),\n 'color.text.accent.blue': getValue(color, 'default.text.accent.blue'),\n 'color.text.accent.blue.bolder': getValue(\n color,\n 'default.text.accent.blue-bolder'\n ),\n 'color.text.accent.purple': getValue(color, 'default.text.accent.purple'),\n 'color.text.accent.purple.bolder': getValue(\n color,\n 'default.text.accent.purple-bolder'\n ),\n 'color.text.accent.magenta': getValue(color, 'default.text.accent.magenta'),\n 'color.text.accent.magenta.bolder': getValue(\n color,\n 'default.text.accent.magenta-bolder'\n ),\n 'color.text.accent.gray': getValue(color, 'default.text.accent.gray'),\n 'color.text.accent.gray.bolder': getValue(\n color,\n 'default.text.accent.gray-bolder'\n ),\n 'color.text.disabled': getValue(color, 'default.text.accent.disabled'),\n 'color.text.inverse': getValue(color, 'default.text.inverse'),\n 'color.text.selected': getValue(color, 'default.text.selected'),\n 'color.text.brand': getValue(color, 'default.text.brand'),\n 'color.text.danger': getValue(color, 'default.text.danger'),\n 'color.text.warning': getValue(color, 'default.text.warning'),\n 'color.text.warning.inverse': getValue(color, 'default.text.warning-inverse'),\n 'color.text.success': getValue(color, 'default.text.success'),\n 'color.text.discovery': getValue(color, 'default.text.discovery'),\n 'color.text.information': getValue(color, 'default.text.information'),\n 'color.text.subtlest': getValue(color, 'default.text.subtlest'),\n 'color.text.subtle': getValue(color, 'default.text.subtle')\n});\n","import { spacingTokens } from './spacing';\nimport {\n colorBackgroundDefaultTokens,\n colorBorderDefaultTokens,\n colorTextDefaultTokens\n} from './color';\n\nconst tokenList: { [key: string]: string } = Object.freeze({\n ...spacingTokens,\n ...colorBackgroundDefaultTokens,\n ...colorBorderDefaultTokens,\n ...colorTextDefaultTokens\n});\n\nexport default tokenList;\n","import tokenList from './token-list';\n\nexport const wplToken = (tokenName: string) => {\n return tokenList[`${tokenName}`];\n};\n","import { css } from '@emotion/react';\nimport { wplToken } from '@atlassiansox/wpl-token';\nimport { getColor } from '@atlassiansox/wpl-utils';\n\nexport const containerStyle = css`\n font-family: Charlie Text, sans-serif;\n box-sizing: border-box;\n width: 400px;\n min-height: 300px;\n padding: ${wplToken('space.300')};\n`;\n\nexport const spinnerContainerStyle = css`\n width: 400px;\n min-height: 300px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const headerContainerStyle = css`\n display: flex;\n align-items: center;\n margin-bottom: ${wplToken('space.100')};\n\n svg {\n margin-bottom: 0px !important;\n }\n`;\n\nexport const headerStyle = css`\n display: inline-block;\n margin: 0 0 0 ${wplToken('space.100')};\n font-family: Charlie Display, sans-serif;\n font-size: 24px;\n font-weight: 500;\n line-height: 32px;\n letter-spacing: 0.3px;\n`;\n\nexport const descriptionStyle = css`\n font-size: 14px;\n line-height: 18px;\n`;\n\nexport const dividerStyle = css`\n border-bottom: 1px solid ${getColor('n50')};\n margin: ${wplToken('space.300')} 0;\n`;\n\nexport const footerContainerStyle = css`\n font-family: Charlie Display, sans-serif;\n font-size: 22px;\n line-height: 24px;\n display: flex;\n\n div {\n flex: 1 1 auto;\n }\n`;\n\nexport const totalValueStyle = css`\n font-weight: 500;\n text-align: right;\n`;\n\nexport const taxSubtextStyle = css`\n font-size: 10px;\n line-height: 20px;\n text-align: right;\n margin-bottom: ${wplToken('space.200')};\n color: ${getColor('n200')};\n`;\n\nexport const buttonWrapper = css`\n display: flex;\n justify-content: center;\n\n a {\n font-weight: 500 !important;\n }\n`;\n","import { css } from '@emotion/react';\nimport { getColor } from '@atlassiansox/wpl-utils';\n\nexport const bodyStyle = css`\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n`;\n\nexport const containerStyle = css`\n text-align: center;\n`;\n\nexport const headerStyle = css`\n font-family: Charlie Display, sans-serif;\n font-size: 24px;\n font-style: normal;\n font-weight: 500;\n line-height: 32px;\n letter-spacing: 0.3px;\n margin-bottom: 8px;\n`;\n\nexport const linkStyle = css`\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n color: ${getColor('b300')};\n text-decoration: none;\n`;\n","import { css } from '@emotion/react';\n\nexport const errorContainerStyle = css`\n display: flex;\n flex-direction: column;\n align-items: center;\n`;\n","import { errorContainerStyle } from './error-icon.styles';\n\nexport const ErrorIcon = () => (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n);\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { useEffect } from 'react';\n\nimport {\n TRACKING_EVENT_NAMES,\n ACTION_SUBJECT_IDS\n} from '../../utils/constants';\nimport {\n bodyStyle,\n containerStyle,\n headerStyle,\n linkStyle\n} from './error-state.styles';\nimport { ErrorIcon } from './error-icon';\n\ninterface ErrorStateProps {\n analyticsAttributes: object;\n}\n\nexport const ErrorState = ({ analyticsAttributes }: ErrorStateProps) => {\n const { createAnalyticsEvent } = useAnalyticsEvents();\n\n useEffect(() => {\n createAnalyticsEvent({\n eventName: TRACKING_EVENT_NAMES.errorScreenDisplayed,\n action: 'displayed',\n actionSubject: 'errorScreen',\n actionSubjectId: ACTION_SUBJECT_IDS.wacCartPopoverErrorScreen,\n attributes: analyticsAttributes\n }).fire();\n }, []);\n\n return (\n
\n \n

Failed to load trial details

\n
\n We couldn't get info about some of the products you're\n trialing. Try loading your trial details again. If the problem persists,{' '}\n \n contact support\n \n .\n
\n
\n );\n};\n","import { PropsWithChildren, useEffect } from 'react';\nimport { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Spinner from '@atlaskit/spinner';\nimport { Button as WPLButton, Icon } from '@atlassiansox/wpl-utils';\nimport { TRACKING_EVENT_NAMES } from '../../utils/constants';\nimport {\n buttonWrapper,\n containerStyle,\n descriptionStyle,\n dividerStyle,\n footerContainerStyle,\n headerContainerStyle,\n headerStyle,\n spinnerContainerStyle,\n taxSubtextStyle,\n totalValueStyle\n} from './entitlements-popup.styles';\nimport { ErrorState } from './error-state';\n\nexport interface EntitlementsPopupProps {\n addPaymentDetailsURL: string;\n analyticsAttributes: object;\n hasError: boolean;\n isLoading: boolean;\n formattedTotalPrice: string;\n}\n\nconst EntitlementsPopup = ({\n addPaymentDetailsURL,\n analyticsAttributes,\n children,\n formattedTotalPrice,\n hasError,\n isLoading\n}: PropsWithChildren) => {\n const { createAnalyticsEvent } = useAnalyticsEvents();\n\n const handleAddPaymentDetails = () => {\n createAnalyticsEvent({\n eventName: TRACKING_EVENT_NAMES.wacCartAddPaymentDetailsButtonClicked,\n action: 'clicked',\n actionSubject: 'button',\n actionSubjectId: 'wacCartAddPaymentDetails',\n attributes: analyticsAttributes\n }).fire();\n };\n\n useEffect(() => {\n createAnalyticsEvent({\n eventName: TRACKING_EVENT_NAMES.wacCartPopoverViewed,\n action: 'viewed',\n actionSubjectId: 'wacCartPopover',\n attributes: analyticsAttributes\n }).fire();\n }, []);\n\n if (hasError) {\n return (\n
\n \n
\n );\n }\n\n if (isLoading) {\n return (\n
\n \n
\n );\n }\n\n return (\n
\n
\n \n

Action required

\n
\n
\n To avoid product deactivation, add your payment details now. Your\n payment details will be stored in your account for the following plans\n and any future purchases you make.\n
\n
\n\n
{children}
\n\n
\n
\n
Monthly total
\n
{formattedTotalPrice}
\n
\n
(excluding tax)
\n
\n \n
\n
\n );\n};\n\nexport { EntitlementsPopup };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser$1) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","/**\n * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n *\n * The color map is used to map a background color token to a matching text color that will meet contrast.\n *\n * @codegen <>\n * @codegenCommand yarn codegen-styles\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-light.tsx <>\n */\nexport default {\n 'neutral.bold': 'inverse',\n 'neutral.bold.hovered': 'inverse',\n 'neutral.bold.pressed': 'inverse',\n 'selected.bold': 'inverse',\n 'selected.bold.hovered': 'inverse',\n 'selected.bold.pressed': 'inverse',\n 'brand.bold': 'inverse',\n 'brand.bold.hovered': 'inverse',\n 'brand.bold.pressed': 'inverse',\n 'brand.boldest': 'inverse',\n 'brand.boldest.hovered': 'inverse',\n 'brand.boldest.pressed': 'inverse',\n 'danger.bold': 'inverse',\n 'danger.bold.hovered': 'inverse',\n 'danger.bold.pressed': 'inverse',\n 'warning.bold': 'warning.inverse',\n 'warning.bold.hovered': 'warning.inverse',\n 'warning.bold.pressed': 'warning.inverse',\n 'success.bold': 'inverse',\n 'success.bold.hovered': 'inverse',\n 'success.bold.pressed': 'inverse',\n 'discovery.bold': 'inverse',\n 'discovery.bold.hovered': 'inverse',\n 'discovery.bold.pressed': 'inverse',\n 'information.bold': 'inverse',\n 'information.bold.hovered': 'inverse',\n 'information.bold.pressed': 'inverse'\n};","import { createContext, useContext } from 'react';\n\n/**\n * __Surface context__\n *\n * A surface context provides context information on the current background (if set).\n */\nexport const SurfaceContext = /*#__PURE__*/createContext('elevation.surface');\n\n/**\n * __useSurface__\n *\n * Return the current surface. If no parent sets a surface color it falls back to the default surface.\n *\n * @see SurfaceContext\n */\nexport const useSurface = () => {\n return useContext(SurfaceContext);\n};\nSurfaceContext.displayName = 'SurfaceProvider';","/** @jsx jsx */\nimport { createContext, Fragment, useContext } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport invariant from 'tiny-invariant';\nimport surfaceColorMap from '../internal/color-map';\nimport { useSurface } from './surface-provider';\nconst asAllowlist = ['span', 'div', 'p', 'strong'];\nconst textAlignMap = {\n center: css({\n textAlign: 'center'\n }),\n end: css({\n textAlign: 'end'\n }),\n start: css({\n textAlign: 'start'\n })\n};\nconst textTransformMap = {\n none: css({\n textTransform: 'none'\n }),\n lowercase: css({\n textTransform: 'lowercase'\n }),\n uppercase: css({\n textTransform: 'uppercase'\n })\n};\nconst verticalAlignMap = {\n top: css({\n verticalAlign: 'top'\n }),\n middle: css({\n verticalAlign: 'middle'\n }),\n bottom: css({\n verticalAlign: 'bottom'\n })\n};\nconst baseStyles = css({\n boxSizing: 'border-box',\n margin: \"var(--ds-space-0, 0px)\",\n padding: \"var(--ds-space-0, 0px)\"\n});\nconst truncateStyles = css({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n});\n\n/**\n * Custom hook designed to abstract the parsing of the color props and make it clearer in the future how color is reconciled between themes and tokens.\n */\nconst useColor = colorProp => {\n const surface = useSurface();\n const inverseTextColor = surfaceColorMap[surface];\n\n /**\n * Where the color of the surface is inverted we override the user choice\n * as there is no valid choice that is not covered by the override.\n */\n const color = inverseTextColor !== null && inverseTextColor !== void 0 ? inverseTextColor : colorProp;\n return color;\n};\nconst HasTextAncestorContext = /*#__PURE__*/createContext(false);\nconst useHasTextAncestor = () => useContext(HasTextAncestorContext);\n\n/**\n * __Text__\n *\n * Text is a primitive component that has the Atlassian Design System's design guidelines baked in.\n * This includes considerations for text attributes such as color, font size, font weight, and line height.\n * It renders a `span` by default.\n *\n * @internal\n */\nconst Text = ({\n children,\n ...props\n}) => {\n const {\n as: Component = 'span',\n color: colorProp,\n fontSize,\n fontWeight,\n lineHeight,\n shouldTruncate = false,\n textAlign,\n textTransform,\n verticalAlign,\n testId,\n UNSAFE_style,\n id\n } = props;\n invariant(asAllowlist.includes(Component), `@atlaskit/ds-explorations: Text received an invalid \"as\" value of \"${Component}\"`);\n const color = useColor(colorProp);\n const isWrapped = useHasTextAncestor();\n\n /**\n * If the text is already wrapped and applies no props we can just\n * render the children directly as a fragment.\n */\n if (isWrapped && Object.keys(props).length === 0) {\n return jsx(Fragment, null, children);\n }\n const component = jsx(Component, {\n style: UNSAFE_style,\n css: [baseStyles, fontFamilyMap.sans, color && textColorMap[color], fontSize && fontSizeMap[fontSize], fontWeight && fontWeightMap[fontWeight], lineHeight && lineHeightMap[lineHeight], shouldTruncate && truncateStyles, textAlign && textAlignMap[textAlign], textTransform && textTransformMap[textTransform], verticalAlign && verticalAlignMap[verticalAlign]],\n \"data-testid\": testId,\n id: id\n }, children);\n return isWrapped ?\n // no need to re-apply context if the text is already wrapped\n component : jsx(HasTextAncestorContext.Provider, {\n value: true\n }, component);\n};\nexport default Text;\n\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId typography\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"fontSize\", \"fontWeight\", \"fontFamily\", \"lineHeight\"]\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-typography.tsx <>\n */\nconst fontSizeMap = {\n 'size.050': css({\n fontSize: \"var(--ds-font-size-050, 11px)\"\n }),\n 'size.075': css({\n fontSize: \"var(--ds-font-size-075, 12px)\"\n }),\n 'size.100': css({\n fontSize: \"var(--ds-font-size-100, 14px)\"\n }),\n 'size.200': css({\n fontSize: \"var(--ds-font-size-200, 16px)\"\n }),\n 'size.300': css({\n fontSize: \"var(--ds-font-size-300, 20px)\"\n }),\n 'size.400': css({\n fontSize: \"var(--ds-font-size-400, 24px)\"\n }),\n 'size.500': css({\n fontSize: \"var(--ds-font-size-500, 29px)\"\n }),\n 'size.600': css({\n fontSize: \"var(--ds-font-size-600, 35px)\"\n })\n};\nconst fontWeightMap = {\n bold: css({\n fontWeight: \"var(--ds-font-weight-bold, 700)\"\n }),\n medium: css({\n fontWeight: \"var(--ds-font-weight-medium, 500)\"\n }),\n regular: css({\n fontWeight: \"var(--ds-font-weight-regular, 400)\"\n }),\n semibold: css({\n fontWeight: \"var(--ds-font-weight-semibold, 600)\"\n })\n};\nconst fontFamilyMap = {\n body: css({\n fontFamily: \"var(--ds-font-family-body, ui-sans-serif, \\\"Segoe UI\\\", Ubuntu, system-ui, \\\"Helvetica Neue\\\", sans-serif)\"\n }),\n brand: css({\n fontFamily: \"var(--ds-font-family-brand, Charlie Sans)\"\n }),\n code: css({\n fontFamily: \"var(--ds-font-family-code, ui-monospace, Menlo, \\\"Segoe UI Mono\\\", \\\"Ubuntu Mono\\\", monospace)\"\n }),\n heading: css({\n fontFamily: \"var(--ds-font-family-heading, ui-sans-serif, \\\"Segoe UI\\\", Ubuntu, system-ui, \\\"Helvetica Neue\\\", sans-serif)\"\n }),\n monospace: css({\n fontFamily: \"var(--ds-font-family-monospace, ui-monospace, Menlo, \\\"Segoe UI Mono\\\", \\\"Ubuntu Mono\\\", monospace)\"\n }),\n sans: css({\n fontFamily: \"var(--ds-font-family-sans, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", \\\"Roboto\\\", \\\"Oxygen\\\", \\\"Ubuntu\\\", \\\"Fira Sans\\\", \\\"Droid Sans\\\", \\\"Helvetica Neue\\\", sans-serif)\"\n })\n};\nconst lineHeightMap = {\n 'lineHeight.1': css({\n lineHeight: \"var(--ds-font-lineHeight-1, 1)\"\n }),\n 'lineHeight.100': css({\n lineHeight: \"var(--ds-font-lineHeight-100, 16px)\"\n }),\n 'lineHeight.200': css({\n lineHeight: \"var(--ds-font-lineHeight-200, 20px)\"\n }),\n 'lineHeight.300': css({\n lineHeight: \"var(--ds-font-lineHeight-300, 24px)\"\n }),\n 'lineHeight.400': css({\n lineHeight: \"var(--ds-font-lineHeight-400, 28px)\"\n }),\n 'lineHeight.500': css({\n lineHeight: \"var(--ds-font-lineHeight-500, 32px)\"\n }),\n 'lineHeight.600': css({\n lineHeight: \"var(--ds-font-lineHeight-600, 40px)\"\n })\n};\n/**\n * @codegenEnd\n */\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId colors\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"text\"]\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-light.tsx <>\n */\nconst textColorMap = {\n 'color.text': css({\n color: \"var(--ds-text, #172B4D)\"\n }),\n disabled: css({\n color: \"var(--ds-text-disabled, #A5ADBA)\"\n }),\n inverse: css({\n color: \"var(--ds-text-inverse, #FFFFFF)\"\n }),\n selected: css({\n color: \"var(--ds-text-selected, #0052CC)\"\n }),\n brand: css({\n color: \"var(--ds-text-brand, #0065FF)\"\n }),\n danger: css({\n color: \"var(--ds-text-danger, #DE350B)\"\n }),\n warning: css({\n color: \"var(--ds-text-warning, #974F0C)\"\n }),\n 'warning.inverse': css({\n color: \"var(--ds-text-warning-inverse, #172B4D)\"\n }),\n success: css({\n color: \"var(--ds-text-success, #006644)\"\n }),\n discovery: css({\n color: \"var(--ds-text-discovery, #403294)\"\n }),\n information: css({\n color: \"var(--ds-text-information, #0052CC)\"\n }),\n subtlest: css({\n color: \"var(--ds-text-subtlest, #7A869A)\"\n }),\n subtle: css({\n color: \"var(--ds-text-subtle, #42526E)\"\n })\n};\n\n/**\n * @codegenEnd\n */","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser$1) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","export const THEME_DATA_ATTRIBUTE = 'data-theme';\nexport const COLOR_MODE_ATTRIBUTE = 'data-color-mode';\nexport const CONTRAST_MODE_ATTRIBUTE = 'data-contrast-mode';\nexport const CUSTOM_THEME_ATTRIBUTE = 'data-custom-theme';\nexport const DEFAULT_THEME = 'light';\nexport const CSS_PREFIX = 'ds';\nexport const CSS_VAR_FULL = ['opacity', 'font', 'space', 'border'];\nexport const TOKEN_NOT_FOUND_CSS_VAR = `--${CSS_PREFIX}-token-not-found`;\nexport const CURRENT_SURFACE_CSS_VAR = `--${CSS_PREFIX}-elevation-surface-current`;","import { css } from '@emotion/react';\nimport { CURRENT_SURFACE_CSS_VAR } from '@atlaskit/tokens';\n\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId dimensions\n * @codegenCommand yarn workspace @atlaskit/primitives codegen-styles\n * @codegenParams [\"dimensions\"]\n * @codegenDependency ../../scripts/codegen-file-templates/dimensions.tsx <>\n */\nexport const dimensionMap = {\n '100%': '100%',\n 'size.100': '1rem',\n 'size.200': '1.5rem',\n 'size.300': '2rem',\n 'size.400': '2.5rem',\n 'size.500': '3rem',\n 'size.600': '6rem',\n 'size.1000': '12rem'\n};\n/**\n * @codegenEnd\n */\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId spacing\n * @codegenCommand yarn workspace @atlaskit/primitives codegen-styles\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-spacing.tsx <>\n */\nexport const spaceMap = {\n 'space.0': \"var(--ds-space-0, 0px)\",\n 'space.025': \"var(--ds-space-025, 2px)\",\n 'space.050': \"var(--ds-space-050, 4px)\",\n 'space.075': \"var(--ds-space-075, 6px)\",\n 'space.100': \"var(--ds-space-100, 8px)\",\n 'space.150': \"var(--ds-space-150, 12px)\",\n 'space.200': \"var(--ds-space-200, 16px)\",\n 'space.250': \"var(--ds-space-250, 20px)\",\n 'space.300': \"var(--ds-space-300, 24px)\",\n 'space.400': \"var(--ds-space-400, 32px)\",\n 'space.500': \"var(--ds-space-500, 40px)\",\n 'space.600': \"var(--ds-space-600, 48px)\",\n 'space.800': \"var(--ds-space-800, 64px)\",\n 'space.1000': \"var(--ds-space-1000, 80px)\"\n};\nexport const negativeSpaceMap = {\n 'space.negative.025': \"var(--ds-space-negative-025, -2px)\",\n 'space.negative.050': \"var(--ds-space-negative-050, -4px)\",\n 'space.negative.075': \"var(--ds-space-negative-075, -6px)\",\n 'space.negative.100': \"var(--ds-space-negative-100, -8px)\",\n 'space.negative.150': \"var(--ds-space-negative-150, -12px)\",\n 'space.negative.200': \"var(--ds-space-negative-200, -16px)\",\n 'space.negative.250': \"var(--ds-space-negative-250, -20px)\",\n 'space.negative.300': \"var(--ds-space-negative-300, -24px)\",\n 'space.negative.400': \"var(--ds-space-negative-400, -32px)\"\n};\n/**\n * @codegenEnd\n */\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId inverse-colors\n * @codegenCommand yarn workspace @atlaskit/primitives codegen-styles\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-light.tsx <>\n */\nexport const inverseColorMap = {\n 'color.background.neutral.bold': 'color.text.inverse',\n 'color.background.neutral.bold.hovered': 'color.text.inverse',\n 'color.background.neutral.bold.pressed': 'color.text.inverse',\n 'color.background.selected.bold': 'color.text.inverse',\n 'color.background.selected.bold.hovered': 'color.text.inverse',\n 'color.background.selected.bold.pressed': 'color.text.inverse',\n 'color.background.brand.bold': 'color.text.inverse',\n 'color.background.brand.bold.hovered': 'color.text.inverse',\n 'color.background.brand.bold.pressed': 'color.text.inverse',\n 'color.background.brand.boldest': 'color.text.inverse',\n 'color.background.brand.boldest.hovered': 'color.text.inverse',\n 'color.background.brand.boldest.pressed': 'color.text.inverse',\n 'color.background.danger.bold': 'color.text.inverse',\n 'color.background.danger.bold.hovered': 'color.text.inverse',\n 'color.background.danger.bold.pressed': 'color.text.inverse',\n 'color.background.warning.bold': 'color.text.warning.inverse',\n 'color.background.warning.bold.hovered': 'color.text.warning.inverse',\n 'color.background.warning.bold.pressed': 'color.text.warning.inverse',\n 'color.background.success.bold': 'color.text.inverse',\n 'color.background.success.bold.hovered': 'color.text.inverse',\n 'color.background.success.bold.pressed': 'color.text.inverse',\n 'color.background.discovery.bold': 'color.text.inverse',\n 'color.background.discovery.bold.hovered': 'color.text.inverse',\n 'color.background.discovery.bold.pressed': 'color.text.inverse',\n 'color.background.information.bold': 'color.text.inverse',\n 'color.background.information.bold.hovered': 'color.text.inverse',\n 'color.background.information.bold.pressed': 'color.text.inverse'\n};\n\n/**\n * @codegenEnd\n */\n\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId colors\n * @codegenCommand yarn workspace @atlaskit/primitives codegen-styles\n * @codegenParams [\"border\", \"background\", \"shadow\", \"text\", \"fill\", \"surface\"]\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-light.tsx <>\n */\nexport const borderColorMap = {\n 'color.border': \"var(--ds-border, #091e4221)\",\n 'color.border.accent.lime': \"var(--ds-border-accent-lime, #6A9A23)\",\n 'color.border.accent.red': \"var(--ds-border-accent-red, #FF5630)\",\n 'color.border.accent.orange': \"var(--ds-border-accent-orange, #D94008)\",\n 'color.border.accent.yellow': \"var(--ds-border-accent-yellow, #FFAB00)\",\n 'color.border.accent.green': \"var(--ds-border-accent-green, #36B37E)\",\n 'color.border.accent.teal': \"var(--ds-border-accent-teal, #00B8D9)\",\n 'color.border.accent.blue': \"var(--ds-border-accent-blue, #0065FF)\",\n 'color.border.accent.purple': \"var(--ds-border-accent-purple, #6554C0)\",\n 'color.border.accent.magenta': \"var(--ds-border-accent-magenta, #CD519D)\",\n 'color.border.accent.gray': \"var(--ds-border-accent-gray, #5E6C84)\",\n 'color.border.disabled': \"var(--ds-border-disabled, #FAFBFC)\",\n 'color.border.focused': \"var(--ds-border-focused, #2684FF)\",\n 'color.border.input': \"var(--ds-border-input, #FAFBFC)\",\n 'color.border.inverse': \"var(--ds-border-inverse, #FFFFFF)\",\n 'color.border.selected': \"var(--ds-border-selected, #0052CC)\",\n 'color.border.brand': \"var(--ds-border-brand, #0052CC)\",\n 'color.border.danger': \"var(--ds-border-danger, #FF5630)\",\n 'color.border.warning': \"var(--ds-border-warning, #FFC400)\",\n 'color.border.success': \"var(--ds-border-success, #00875A)\",\n 'color.border.discovery': \"var(--ds-border-discovery, #998DD9)\",\n 'color.border.information': \"var(--ds-border-information, #0065FF)\",\n 'color.border.bold': \"var(--ds-border-bold, #344563)\"\n};\nexport const backgroundColorMap = {\n 'color.background.accent.lime.subtlest': \"var(--ds-background-accent-lime-subtlest, #EEFBDA)\",\n 'color.background.accent.lime.subtlest.hovered': \"var(--ds-background-accent-lime-subtlest-hovered, #D3F1A7)\",\n 'color.background.accent.lime.subtlest.pressed': \"var(--ds-background-accent-lime-subtlest-pressed, #B3DF72)\",\n 'color.background.accent.lime.subtler': \"var(--ds-background-accent-lime-subtler, #D3F1A7)\",\n 'color.background.accent.lime.subtler.hovered': \"var(--ds-background-accent-lime-subtler-hovered, #B3DF72)\",\n 'color.background.accent.lime.subtler.pressed': \"var(--ds-background-accent-lime-subtler-pressed, #94C748)\",\n 'color.background.accent.lime.subtle': \"var(--ds-background-accent-lime-subtle, #94C748)\",\n 'color.background.accent.lime.subtle.hovered': \"var(--ds-background-accent-lime-subtle-hovered, #B3DF72)\",\n 'color.background.accent.lime.subtle.pressed': \"var(--ds-background-accent-lime-subtle-pressed, #D3F1A7)\",\n 'color.background.accent.lime.bolder': \"var(--ds-background-accent-lime-bolder, #5B7F24)\",\n 'color.background.accent.lime.bolder.hovered': \"var(--ds-background-accent-lime-bolder-hovered, #37471F)\",\n 'color.background.accent.lime.bolder.pressed': \"var(--ds-background-accent-lime-bolder-pressed, #37471F)\",\n 'color.background.accent.red.subtlest': \"var(--ds-background-accent-red-subtlest, #FF8F73)\",\n 'color.background.accent.red.subtlest.hovered': \"var(--ds-background-accent-red-subtlest-hovered, #FF7452)\",\n 'color.background.accent.red.subtlest.pressed': \"var(--ds-background-accent-red-subtlest-pressed, #FF5630)\",\n 'color.background.accent.red.subtler': \"var(--ds-background-accent-red-subtler, #FF7452)\",\n 'color.background.accent.red.subtler.hovered': \"var(--ds-background-accent-red-subtler-hovered, #FF5630)\",\n 'color.background.accent.red.subtler.pressed': \"var(--ds-background-accent-red-subtler-pressed, #DE350B)\",\n 'color.background.accent.red.subtle': \"var(--ds-background-accent-red-subtle, #DE350B)\",\n 'color.background.accent.red.subtle.hovered': \"var(--ds-background-accent-red-subtle-hovered, #FF5630)\",\n 'color.background.accent.red.subtle.pressed': \"var(--ds-background-accent-red-subtle-pressed, #FF7452)\",\n 'color.background.accent.red.bolder': \"var(--ds-background-accent-red-bolder, #DE350B)\",\n 'color.background.accent.red.bolder.hovered': \"var(--ds-background-accent-red-bolder-hovered, #FF5630)\",\n 'color.background.accent.red.bolder.pressed': \"var(--ds-background-accent-red-bolder-pressed, #FF7452)\",\n 'color.background.accent.orange.subtlest': \"var(--ds-background-accent-orange-subtlest, #F18D13)\",\n 'color.background.accent.orange.subtlest.hovered': \"var(--ds-background-accent-orange-subtlest-hovered, #FEC57B)\",\n 'color.background.accent.orange.subtlest.pressed': \"var(--ds-background-accent-orange-subtlest-pressed, #FFE2BD)\",\n 'color.background.accent.orange.subtler': \"var(--ds-background-accent-orange-subtler, #B65C02)\",\n 'color.background.accent.orange.subtler.hovered': \"var(--ds-background-accent-orange-subtler-hovered, #F18D13)\",\n 'color.background.accent.orange.subtler.pressed': \"var(--ds-background-accent-orange-subtler-pressed, #FEC57B)\",\n 'color.background.accent.orange.subtle': \"var(--ds-background-accent-orange-subtle, #5F3811)\",\n 'color.background.accent.orange.subtle.hovered': \"var(--ds-background-accent-orange-subtle-hovered, #974F0C)\",\n 'color.background.accent.orange.subtle.pressed': \"var(--ds-background-accent-orange-subtle-pressed, #B65C02)\",\n 'color.background.accent.orange.bolder': \"var(--ds-background-accent-orange-bolder, #43290F)\",\n 'color.background.accent.orange.bolder.hovered': \"var(--ds-background-accent-orange-bolder-hovered, #5F3811)\",\n 'color.background.accent.orange.bolder.pressed': \"var(--ds-background-accent-orange-bolder-pressed, #974F0C)\",\n 'color.background.accent.yellow.subtlest': \"var(--ds-background-accent-yellow-subtlest, #FFE380)\",\n 'color.background.accent.yellow.subtlest.hovered': \"var(--ds-background-accent-yellow-subtlest-hovered, #FFC400)\",\n 'color.background.accent.yellow.subtlest.pressed': \"var(--ds-background-accent-yellow-subtlest-pressed, #FFAB00)\",\n 'color.background.accent.yellow.subtler': \"var(--ds-background-accent-yellow-subtler, #FFC400)\",\n 'color.background.accent.yellow.subtler.hovered': \"var(--ds-background-accent-yellow-subtler-hovered, #FFAB00)\",\n 'color.background.accent.yellow.subtler.pressed': \"var(--ds-background-accent-yellow-subtler-pressed, #FF991F)\",\n 'color.background.accent.yellow.subtle': \"var(--ds-background-accent-yellow-subtle, #FF991F)\",\n 'color.background.accent.yellow.subtle.hovered': \"var(--ds-background-accent-yellow-subtle-hovered, #FFAB00)\",\n 'color.background.accent.yellow.subtle.pressed': \"var(--ds-background-accent-yellow-subtle-pressed, #FFC400)\",\n 'color.background.accent.yellow.bolder': \"var(--ds-background-accent-yellow-bolder, #FF991F)\",\n 'color.background.accent.yellow.bolder.hovered': \"var(--ds-background-accent-yellow-bolder-hovered, #FFAB00)\",\n 'color.background.accent.yellow.bolder.pressed': \"var(--ds-background-accent-yellow-bolder-pressed, #FFC400)\",\n 'color.background.accent.green.subtlest': \"var(--ds-background-accent-green-subtlest, #79F2C0)\",\n 'color.background.accent.green.subtlest.hovered': \"var(--ds-background-accent-green-subtlest-hovered, #57D9A3)\",\n 'color.background.accent.green.subtlest.pressed': \"var(--ds-background-accent-green-subtlest-pressed, #36B37E)\",\n 'color.background.accent.green.subtler': \"var(--ds-background-accent-green-subtler, #57D9A3)\",\n 'color.background.accent.green.subtler.hovered': \"var(--ds-background-accent-green-subtler-hovered, #36B37E)\",\n 'color.background.accent.green.subtler.pressed': \"var(--ds-background-accent-green-subtler-pressed, #00875A)\",\n 'color.background.accent.green.subtle': \"var(--ds-background-accent-green-subtle, #00875A)\",\n 'color.background.accent.green.subtle.hovered': \"var(--ds-background-accent-green-subtle-hovered, #36B37E)\",\n 'color.background.accent.green.subtle.pressed': \"var(--ds-background-accent-green-subtle-pressed, #57D9A3)\",\n 'color.background.accent.green.bolder': \"var(--ds-background-accent-green-bolder, #00875A)\",\n 'color.background.accent.green.bolder.hovered': \"var(--ds-background-accent-green-bolder-hovered, #36B37E)\",\n 'color.background.accent.green.bolder.pressed': \"var(--ds-background-accent-green-bolder-pressed, #57D9A3)\",\n 'color.background.accent.teal.subtlest': \"var(--ds-background-accent-teal-subtlest, #79E2F2)\",\n 'color.background.accent.teal.subtlest.hovered': \"var(--ds-background-accent-teal-subtlest-hovered, #00C7E6)\",\n 'color.background.accent.teal.subtlest.pressed': \"var(--ds-background-accent-teal-subtlest-pressed, #00B8D9)\",\n 'color.background.accent.teal.subtler': \"var(--ds-background-accent-teal-subtler, #00C7E6)\",\n 'color.background.accent.teal.subtler.hovered': \"var(--ds-background-accent-teal-subtler-hovered, #00B8D9)\",\n 'color.background.accent.teal.subtler.pressed': \"var(--ds-background-accent-teal-subtler-pressed, #00A3BF)\",\n 'color.background.accent.teal.subtle': \"var(--ds-background-accent-teal-subtle, #00A3BF)\",\n 'color.background.accent.teal.subtle.hovered': \"var(--ds-background-accent-teal-subtle-hovered, #00B8D9)\",\n 'color.background.accent.teal.subtle.pressed': \"var(--ds-background-accent-teal-subtle-pressed, #00C7E6)\",\n 'color.background.accent.teal.bolder': \"var(--ds-background-accent-teal-bolder, #00A3BF)\",\n 'color.background.accent.teal.bolder.hovered': \"var(--ds-background-accent-teal-bolder-hovered, #00B8D9)\",\n 'color.background.accent.teal.bolder.pressed': \"var(--ds-background-accent-teal-bolder-pressed, #00C7E6)\",\n 'color.background.accent.blue.subtlest': \"var(--ds-background-accent-blue-subtlest, #4C9AFF)\",\n 'color.background.accent.blue.subtlest.hovered': \"var(--ds-background-accent-blue-subtlest-hovered, #2684FF)\",\n 'color.background.accent.blue.subtlest.pressed': \"var(--ds-background-accent-blue-subtlest-pressed, #0065FF)\",\n 'color.background.accent.blue.subtler': \"var(--ds-background-accent-blue-subtler, #2684FF)\",\n 'color.background.accent.blue.subtler.hovered': \"var(--ds-background-accent-blue-subtler-hovered, #0065FF)\",\n 'color.background.accent.blue.subtler.pressed': \"var(--ds-background-accent-blue-subtler-pressed, #0052CC)\",\n 'color.background.accent.blue.subtle': \"var(--ds-background-accent-blue-subtle, #0052CC)\",\n 'color.background.accent.blue.subtle.hovered': \"var(--ds-background-accent-blue-subtle-hovered, #0065FF)\",\n 'color.background.accent.blue.subtle.pressed': \"var(--ds-background-accent-blue-subtle-pressed, #2684FF)\",\n 'color.background.accent.blue.bolder': \"var(--ds-background-accent-blue-bolder, #0052CC)\",\n 'color.background.accent.blue.bolder.hovered': \"var(--ds-background-accent-blue-bolder-hovered, #0065FF)\",\n 'color.background.accent.blue.bolder.pressed': \"var(--ds-background-accent-blue-bolder-pressed, #2684FF)\",\n 'color.background.accent.purple.subtlest': \"var(--ds-background-accent-purple-subtlest, #998DD9)\",\n 'color.background.accent.purple.subtlest.hovered': \"var(--ds-background-accent-purple-subtlest-hovered, #8777D9)\",\n 'color.background.accent.purple.subtlest.pressed': \"var(--ds-background-accent-purple-subtlest-pressed, #6554C0)\",\n 'color.background.accent.purple.subtler': \"var(--ds-background-accent-purple-subtler, #8777D9)\",\n 'color.background.accent.purple.subtler.hovered': \"var(--ds-background-accent-purple-subtler-hovered, #6554C0)\",\n 'color.background.accent.purple.subtler.pressed': \"var(--ds-background-accent-purple-subtler-pressed, #5243AA)\",\n 'color.background.accent.purple.subtle': \"var(--ds-background-accent-purple-subtle, #5243AA)\",\n 'color.background.accent.purple.subtle.hovered': \"var(--ds-background-accent-purple-subtle-hovered, #6554C0)\",\n 'color.background.accent.purple.subtle.pressed': \"var(--ds-background-accent-purple-subtle-pressed, #8777D9)\",\n 'color.background.accent.purple.bolder': \"var(--ds-background-accent-purple-bolder, #5243AA)\",\n 'color.background.accent.purple.bolder.hovered': \"var(--ds-background-accent-purple-bolder-hovered, #6554C0)\",\n 'color.background.accent.purple.bolder.pressed': \"var(--ds-background-accent-purple-bolder-pressed, #8777D9)\",\n 'color.background.accent.magenta.subtlest': \"var(--ds-background-accent-magenta-subtlest, #FFECF8)\",\n 'color.background.accent.magenta.subtlest.hovered': \"var(--ds-background-accent-magenta-subtlest-hovered, #FDD0EC)\",\n 'color.background.accent.magenta.subtlest.pressed': \"var(--ds-background-accent-magenta-subtlest-pressed, #F797D2)\",\n 'color.background.accent.magenta.subtler': \"var(--ds-background-accent-magenta-subtler, #FDD0EC)\",\n 'color.background.accent.magenta.subtler.hovered': \"var(--ds-background-accent-magenta-subtler-hovered, #F797D2)\",\n 'color.background.accent.magenta.subtler.pressed': \"var(--ds-background-accent-magenta-subtler-pressed, #E774BB)\",\n 'color.background.accent.magenta.subtle': \"var(--ds-background-accent-magenta-subtle, #E774BB)\",\n 'color.background.accent.magenta.subtle.hovered': \"var(--ds-background-accent-magenta-subtle-hovered, #F797D2)\",\n 'color.background.accent.magenta.subtle.pressed': \"var(--ds-background-accent-magenta-subtle-pressed, #FDD0EC)\",\n 'color.background.accent.magenta.bolder': \"var(--ds-background-accent-magenta-bolder, #AE4787)\",\n 'color.background.accent.magenta.bolder.hovered': \"var(--ds-background-accent-magenta-bolder-hovered, #943D73)\",\n 'color.background.accent.magenta.bolder.pressed': \"var(--ds-background-accent-magenta-bolder-pressed, #50253F)\",\n 'color.background.accent.gray.subtlest': \"var(--ds-background-accent-gray-subtlest, #6B778C)\",\n 'color.background.accent.gray.subtlest.hovered': \"var(--ds-background-accent-gray-subtlest-hovered, #5E6C84)\",\n 'color.background.accent.gray.subtlest.pressed': \"var(--ds-background-accent-gray-subtlest-pressed, #505F79)\",\n 'color.background.accent.gray.subtler': \"var(--ds-background-accent-gray-subtler, #5E6C84)\",\n 'color.background.accent.gray.subtler.hovered': \"var(--ds-background-accent-gray-subtler-hovered, #505F79)\",\n 'color.background.accent.gray.subtler.pressed': \"var(--ds-background-accent-gray-subtler-pressed, #42526E)\",\n 'color.background.accent.gray.subtle': \"var(--ds-background-accent-gray-subtle, #505F79)\",\n 'color.background.accent.gray.subtle.hovered': \"var(--ds-background-accent-gray-subtle-hovered, #5E6C84)\",\n 'color.background.accent.gray.subtle.pressed': \"var(--ds-background-accent-gray-subtle-pressed, #6B778C)\",\n 'color.background.accent.gray.bolder': \"var(--ds-background-accent-gray-bolder, #42526E)\",\n 'color.background.accent.gray.bolder.hovered': \"var(--ds-background-accent-gray-bolder-hovered, #344563)\",\n 'color.background.accent.gray.bolder.pressed': \"var(--ds-background-accent-gray-bolder-pressed, #253858)\",\n 'color.background.disabled': \"var(--ds-background-disabled, #091e4289)\",\n 'color.background.input': \"var(--ds-background-input, #FAFBFC)\",\n 'color.background.input.hovered': \"var(--ds-background-input-hovered, #EBECF0)\",\n 'color.background.input.pressed': \"var(--ds-background-input-pressed, #FFFFFF)\",\n 'color.background.inverse.subtle': \"var(--ds-background-inverse-subtle, #00000029)\",\n 'color.background.inverse.subtle.hovered': \"var(--ds-background-inverse-subtle-hovered, #0000003D)\",\n 'color.background.inverse.subtle.pressed': \"var(--ds-background-inverse-subtle-pressed, #00000052)\",\n 'color.background.neutral': \"var(--ds-background-neutral, #DFE1E6)\",\n 'color.background.neutral.hovered': \"var(--ds-background-neutral-hovered, #091e4214)\",\n 'color.background.neutral.pressed': \"var(--ds-background-neutral-pressed, #B3D4FF)\",\n 'color.background.neutral.subtle': \"var(--ds-background-neutral-subtle, transparent)\",\n 'color.background.neutral.subtle.hovered': \"var(--ds-background-neutral-subtle-hovered, #091e4214)\",\n 'color.background.neutral.subtle.pressed': \"var(--ds-background-neutral-subtle-pressed, #B3D4FF)\",\n 'color.background.neutral.bold': \"var(--ds-background-neutral-bold, #42526E)\",\n 'color.background.neutral.bold.hovered': \"var(--ds-background-neutral-bold-hovered, #505F79)\",\n 'color.background.neutral.bold.pressed': \"var(--ds-background-neutral-bold-pressed, #344563)\",\n 'color.background.selected': \"var(--ds-background-selected, #DEEBFF)\",\n 'color.background.selected.hovered': \"var(--ds-background-selected-hovered, #B3D4FF)\",\n 'color.background.selected.pressed': \"var(--ds-background-selected-pressed, #4C9AFF)\",\n 'color.background.selected.bold': \"var(--ds-background-selected-bold, #0052CC)\",\n 'color.background.selected.bold.hovered': \"var(--ds-background-selected-bold-hovered, #2684FF)\",\n 'color.background.selected.bold.pressed': \"var(--ds-background-selected-bold-pressed, #0052CC)\",\n 'color.background.brand.subtlest': \"var(--ds-background-brand-subtlest, #B3D4FF)\",\n 'color.background.brand.subtlest.hovered': \"var(--ds-background-brand-subtlest-hovered, #DEEBFF)\",\n 'color.background.brand.subtlest.pressed': \"var(--ds-background-brand-subtlest-pressed, #4C9AFF)\",\n 'color.background.brand.bold': \"var(--ds-background-brand-bold, #0052CC)\",\n 'color.background.brand.bold.hovered': \"var(--ds-background-brand-bold-hovered, #0065FF)\",\n 'color.background.brand.bold.pressed': \"var(--ds-background-brand-bold-pressed, #0747A6)\",\n 'color.background.brand.boldest': \"var(--ds-background-brand-boldest, #0747A6)\",\n 'color.background.brand.boldest.hovered': \"var(--ds-background-brand-boldest-hovered, #0052CC)\",\n 'color.background.brand.boldest.pressed': \"var(--ds-background-brand-boldest-pressed, #0747A6)\",\n 'color.background.danger': \"var(--ds-background-danger, #FFEBE6)\",\n 'color.background.danger.hovered': \"var(--ds-background-danger-hovered, #FFBDAD)\",\n 'color.background.danger.pressed': \"var(--ds-background-danger-pressed, #FF8F73)\",\n 'color.background.danger.bold': \"var(--ds-background-danger-bold, #DE350B)\",\n 'color.background.danger.bold.hovered': \"var(--ds-background-danger-bold-hovered, #FF5630)\",\n 'color.background.danger.bold.pressed': \"var(--ds-background-danger-bold-pressed, #BF2600)\",\n 'color.background.warning': \"var(--ds-background-warning, #FFFAE6)\",\n 'color.background.warning.hovered': \"var(--ds-background-warning-hovered, #FFF0B3)\",\n 'color.background.warning.pressed': \"var(--ds-background-warning-pressed, #FFE380)\",\n 'color.background.warning.bold': \"var(--ds-background-warning-bold, #FFAB00)\",\n 'color.background.warning.bold.hovered': \"var(--ds-background-warning-bold-hovered, #FFC400)\",\n 'color.background.warning.bold.pressed': \"var(--ds-background-warning-bold-pressed, #FF991F)\",\n 'color.background.success': \"var(--ds-background-success, #E3FCEF)\",\n 'color.background.success.hovered': \"var(--ds-background-success-hovered, #ABF5D1)\",\n 'color.background.success.pressed': \"var(--ds-background-success-pressed, #79F2C0)\",\n 'color.background.success.bold': \"var(--ds-background-success-bold, #00875A)\",\n 'color.background.success.bold.hovered': \"var(--ds-background-success-bold-hovered, #57D9A3)\",\n 'color.background.success.bold.pressed': \"var(--ds-background-success-bold-pressed, #00875A)\",\n 'color.background.discovery': \"var(--ds-background-discovery, #EAE6FF)\",\n 'color.background.discovery.hovered': \"var(--ds-background-discovery-hovered, #C0B6F2)\",\n 'color.background.discovery.pressed': \"var(--ds-background-discovery-pressed, #998DD9)\",\n 'color.background.discovery.bold': \"var(--ds-background-discovery-bold, #5243AA)\",\n 'color.background.discovery.bold.hovered': \"var(--ds-background-discovery-bold-hovered, #8777D9)\",\n 'color.background.discovery.bold.pressed': \"var(--ds-background-discovery-bold-pressed, #5243AA)\",\n 'color.background.information': \"var(--ds-background-information, #DEEBFF)\",\n 'color.background.information.hovered': \"var(--ds-background-information-hovered, #B3D4FF)\",\n 'color.background.information.pressed': \"var(--ds-background-information-pressed, #4C9AFF)\",\n 'color.background.information.bold': \"var(--ds-background-information-bold, #0052CC)\",\n 'color.background.information.bold.hovered': \"var(--ds-background-information-bold-hovered, #2684FF)\",\n 'color.background.information.bold.pressed': \"var(--ds-background-information-bold-pressed, #0052CC)\",\n 'color.blanket': \"var(--ds-blanket, #091e4289)\",\n 'color.blanket.selected': \"var(--ds-blanket-selected, #388BFF14)\",\n 'color.blanket.danger': \"var(--ds-blanket-danger, #EF5C4814)\",\n 'elevation.surface': \"var(--ds-surface, #FFFFFF)\",\n 'elevation.surface.hovered': \"var(--ds-surface-hovered, #FAFBFC)\",\n 'elevation.surface.pressed': \"var(--ds-surface-pressed, #F4F5F7)\",\n 'elevation.surface.overlay': \"var(--ds-surface-overlay, #FFFFFF)\",\n 'elevation.surface.overlay.hovered': \"var(--ds-surface-overlay-hovered, #FAFBFC)\",\n 'elevation.surface.overlay.pressed': \"var(--ds-surface-overlay-pressed, #F4F5F7)\",\n 'elevation.surface.raised': \"var(--ds-surface-raised, #FFFFFF)\",\n 'elevation.surface.raised.hovered': \"var(--ds-surface-raised-hovered, #FAFBFC)\",\n 'elevation.surface.raised.pressed': \"var(--ds-surface-raised-pressed, #F4F5F7)\",\n 'elevation.surface.sunken': \"var(--ds-surface-sunken, #F4F5F7)\",\n 'utility.elevation.surface.current': \"var(--ds-elevation-surface-current, #FFFFFF)\"\n};\nexport const shadowMap = {\n 'elevation.shadow.overflow': \"var(--ds-shadow-overflow, 0px 0px 8px #091e423f, 0px 0px 1px #091e424f)\",\n 'elevation.shadow.overflow.perimeter': \"var(--ds-shadow-overflow-perimeter, #091e421f)\",\n 'elevation.shadow.overflow.spread': \"var(--ds-shadow-overflow-spread, #091e4229)\",\n 'elevation.shadow.overlay': \"var(--ds-shadow-overlay, 0px 8px 12px #091e423f, 0px 0px 1px #091e424f)\",\n 'elevation.shadow.raised': \"var(--ds-shadow-raised, 0px 1px 1px #091e423f, 0px 0px 1px #091e4221)\"\n};\nexport const textColorMap = {\n 'color.text': \"var(--ds-text, #172B4D)\",\n 'color.text.accent.lime': \"var(--ds-text-accent-lime, #4C6B1F)\",\n 'color.text.accent.lime.bolder': \"var(--ds-text-accent-lime-bolder, #37471F)\",\n 'color.text.accent.red': \"var(--ds-text-accent-red, #DE350B)\",\n 'color.text.accent.red.bolder': \"var(--ds-text-accent-red-bolder, #BF2600)\",\n 'color.text.accent.orange': \"var(--ds-text-accent-orange, #F18D13)\",\n 'color.text.accent.orange.bolder': \"var(--ds-text-accent-orange-bolder, #B65C02)\",\n 'color.text.accent.yellow': \"var(--ds-text-accent-yellow, #FF991F)\",\n 'color.text.accent.yellow.bolder': \"var(--ds-text-accent-yellow-bolder, #FF8B00)\",\n 'color.text.accent.green': \"var(--ds-text-accent-green, #00875A)\",\n 'color.text.accent.green.bolder': \"var(--ds-text-accent-green-bolder, #006644)\",\n 'color.text.accent.teal': \"var(--ds-text-accent-teal, #00A3BF)\",\n 'color.text.accent.teal.bolder': \"var(--ds-text-accent-teal-bolder, #008DA6)\",\n 'color.text.accent.blue': \"var(--ds-text-accent-blue, #0052CC)\",\n 'color.text.accent.blue.bolder': \"var(--ds-text-accent-blue-bolder, #0747A6)\",\n 'color.text.accent.purple': \"var(--ds-text-accent-purple, #5243AA)\",\n 'color.text.accent.purple.bolder': \"var(--ds-text-accent-purple-bolder, #403294)\",\n 'color.text.accent.magenta': \"var(--ds-text-accent-magenta, #E774BB)\",\n 'color.text.accent.magenta.bolder': \"var(--ds-text-accent-magenta-bolder, #DA62AC)\",\n 'color.text.accent.gray': \"var(--ds-text-accent-gray, #505F79)\",\n 'color.text.accent.gray.bolder': \"var(--ds-text-accent-gray-bolder, #172B4D)\",\n 'color.text.disabled': \"var(--ds-text-disabled, #A5ADBA)\",\n 'color.text.inverse': \"var(--ds-text-inverse, #FFFFFF)\",\n 'color.text.selected': \"var(--ds-text-selected, #0052CC)\",\n 'color.text.brand': \"var(--ds-text-brand, #0065FF)\",\n 'color.text.danger': \"var(--ds-text-danger, #DE350B)\",\n 'color.text.warning': \"var(--ds-text-warning, #974F0C)\",\n 'color.text.warning.inverse': \"var(--ds-text-warning-inverse, #172B4D)\",\n 'color.text.success': \"var(--ds-text-success, #006644)\",\n 'color.text.discovery': \"var(--ds-text-discovery, #403294)\",\n 'color.text.information': \"var(--ds-text-information, #0052CC)\",\n 'color.text.subtlest': \"var(--ds-text-subtlest, #7A869A)\",\n 'color.text.subtle': \"var(--ds-text-subtle, #42526E)\",\n 'color.link': \"var(--ds-link, #0052CC)\",\n 'color.link.pressed': \"var(--ds-link-pressed, #0747A6)\",\n 'color.link.visited': \"var(--ds-link-visited, #403294)\"\n};\nexport const fillMap = {\n 'color.icon': \"var(--ds-icon, #505F79)\",\n 'color.icon.accent.lime': \"var(--ds-icon-accent-lime, #6A9A23)\",\n 'color.icon.accent.red': \"var(--ds-icon-accent-red, #FF5630)\",\n 'color.icon.accent.orange': \"var(--ds-icon-accent-orange, #D94008)\",\n 'color.icon.accent.yellow': \"var(--ds-icon-accent-yellow, #FFAB00)\",\n 'color.icon.accent.green': \"var(--ds-icon-accent-green, #36B37E)\",\n 'color.icon.accent.teal': \"var(--ds-icon-accent-teal, #00B8D9)\",\n 'color.icon.accent.blue': \"var(--ds-icon-accent-blue, #0065FF)\",\n 'color.icon.accent.purple': \"var(--ds-icon-accent-purple, #6554C0)\",\n 'color.icon.accent.magenta': \"var(--ds-icon-accent-magenta, #CD519D)\",\n 'color.icon.accent.gray': \"var(--ds-icon-accent-gray, #5E6C84)\",\n 'color.icon.disabled': \"var(--ds-icon-disabled, #8993A4)\",\n 'color.icon.inverse': \"var(--ds-icon-inverse, #FFFFFF)\",\n 'color.icon.selected': \"var(--ds-icon-selected, #0052CC)\",\n 'color.icon.brand': \"var(--ds-icon-brand, #0065FF)\",\n 'color.icon.danger': \"var(--ds-icon-danger, #DE350B)\",\n 'color.icon.warning': \"var(--ds-icon-warning, #FFC400)\",\n 'color.icon.warning.inverse': \"var(--ds-icon-warning-inverse, #253858)\",\n 'color.icon.success': \"var(--ds-icon-success, #00875A)\",\n 'color.icon.discovery': \"var(--ds-icon-discovery, #8777D9)\",\n 'color.icon.information': \"var(--ds-icon-information, #0747A6)\",\n 'color.icon.subtle': \"var(--ds-icon-subtle, #6B778C)\"\n};\nexport const surfaceColorMap = {\n 'elevation.surface': \"var(--ds-surface, #FFFFFF)\",\n 'elevation.surface.hovered': \"var(--ds-surface-hovered, #FAFBFC)\",\n 'elevation.surface.pressed': \"var(--ds-surface-pressed, #F4F5F7)\",\n 'elevation.surface.overlay': \"var(--ds-surface-overlay, #FFFFFF)\",\n 'elevation.surface.overlay.hovered': \"var(--ds-surface-overlay-hovered, #FAFBFC)\",\n 'elevation.surface.overlay.pressed': \"var(--ds-surface-overlay-pressed, #F4F5F7)\",\n 'elevation.surface.raised': \"var(--ds-surface-raised, #FFFFFF)\",\n 'elevation.surface.raised.hovered': \"var(--ds-surface-raised-hovered, #FAFBFC)\",\n 'elevation.surface.raised.pressed': \"var(--ds-surface-raised-pressed, #F4F5F7)\",\n 'elevation.surface.sunken': \"var(--ds-surface-sunken, #F4F5F7)\"\n};\n/**\n * @codegenEnd\n */\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId misc\n * @codegenCommand yarn workspace @atlaskit/primitives codegen-styles\n * @codegenParams [\"layer\"]\n * @codegenDependency ../../scripts/codegen-file-templates/dimensions.tsx <>\n * @codegenDependency ../../scripts/codegen-file-templates/layer.tsx <>\n */\nexport const layerMap = {\n card: 100,\n navigation: 200,\n dialog: 300,\n layer: 400,\n blanket: 500,\n modal: 510,\n flag: 600,\n spotlight: 700,\n tooltip: 800\n};\n/**\n * @codegenEnd\n */\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId border\n * @codegenCommand yarn workspace @atlaskit/primitives codegen-styles\n * @codegenParams [\"width\", \"radius\"]\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-shape.tsx <>\n */\nexport const borderWidthMap = {\n 'border.width': \"var(--ds-border-width, 1px)\",\n 'border.width.0': \"var(--ds-border-width-0, 0px)\",\n 'border.width.indicator': \"var(--ds-border-width-indicator, 3px)\",\n 'border.width.outline': \"var(--ds-border-width-outline, 2px)\"\n};\nexport const borderRadiusMap = {\n 'border.radius.050': \"var(--ds-border-radius-050, 2px)\",\n 'border.radius': \"var(--ds-border-radius, 3px)\",\n 'border.radius.100': \"var(--ds-border-radius-100, 3px)\",\n 'border.radius.200': \"var(--ds-border-radius-200, 8px)\",\n 'border.radius.300': \"var(--ds-border-radius-300, 12px)\",\n 'border.radius.400': \"var(--ds-border-radius-400, 16px)\",\n 'border.radius.circle': \"var(--ds-border-radius-circle, 32032px)\"\n};\n/**\n * @codegenEnd\n */\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId typography\n * @codegenCommand yarn workspace @atlaskit/primitives codegen-styles\n * @codegenParams [\"fontSize\", \"fontWeight\", \"fontFamily\", \"lineHeight\", \"body\", \"ui\"]\n * @codegenDependency ../../scripts/codegen-file-templates/dimensions.tsx <>\n * @codegenDependency ../../scripts/codegen-file-templates/layer.tsx <>\n */\nexport const fontSizeMap = {\n 'font.size.050': \"var(--ds-font-size-050, 11px)\",\n 'font.size.075': \"var(--ds-font-size-075, 12px)\",\n 'font.size.100': \"var(--ds-font-size-100, 14px)\",\n 'font.size.200': \"var(--ds-font-size-200, 16px)\",\n 'font.size.300': \"var(--ds-font-size-300, 20px)\",\n 'font.size.400': \"var(--ds-font-size-400, 24px)\",\n 'font.size.500': \"var(--ds-font-size-500, 29px)\",\n 'font.size.600': \"var(--ds-font-size-600, 35px)\"\n};\nexport const fontWeightMap = {\n 'font.weight.bold': \"var(--ds-font-weight-bold, 700)\",\n 'font.weight.medium': \"var(--ds-font-weight-medium, 500)\",\n 'font.weight.regular': \"var(--ds-font-weight-regular, 400)\",\n 'font.weight.semibold': \"var(--ds-font-weight-semibold, 600)\"\n};\nexport const fontFamilyMap = {\n 'font.family.body': \"var(--ds-font-family-body, ui-sans-serif, \\\"Segoe UI\\\", Ubuntu, system-ui, \\\"Helvetica Neue\\\", sans-serif)\",\n 'font.family.brand': \"var(--ds-font-family-brand, Charlie Sans)\",\n 'font.family.code': \"var(--ds-font-family-code, ui-monospace, Menlo, \\\"Segoe UI Mono\\\", \\\"Ubuntu Mono\\\", monospace)\",\n 'font.family.heading': \"var(--ds-font-family-heading, ui-sans-serif, \\\"Segoe UI\\\", Ubuntu, system-ui, \\\"Helvetica Neue\\\", sans-serif)\",\n 'font.family.monospace': \"var(--ds-font-family-monospace, ui-monospace, Menlo, \\\"Segoe UI Mono\\\", \\\"Ubuntu Mono\\\", monospace)\",\n 'font.family.sans': \"var(--ds-font-family-sans, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", \\\"Roboto\\\", \\\"Oxygen\\\", \\\"Ubuntu\\\", \\\"Fira Sans\\\", \\\"Droid Sans\\\", \\\"Helvetica Neue\\\", sans-serif)\"\n};\nexport const lineHeightMap = {\n 'font.lineHeight.1': \"var(--ds-font-lineHeight-1, 1)\",\n 'font.lineHeight.100': \"var(--ds-font-lineHeight-100, 16px)\",\n 'font.lineHeight.200': \"var(--ds-font-lineHeight-200, 20px)\",\n 'font.lineHeight.300': \"var(--ds-font-lineHeight-300, 24px)\",\n 'font.lineHeight.400': \"var(--ds-font-lineHeight-400, 28px)\",\n 'font.lineHeight.500': \"var(--ds-font-lineHeight-500, 32px)\",\n 'font.lineHeight.600': \"var(--ds-font-lineHeight-600, 40px)\"\n};\nexport const bodyTextMap = {\n body: \"var(--ds-font-body, normal 400 14px/20px var(--ds-font-family-body))\",\n 'body.large': \"var(--ds-font-body-large, normal 400 16px/24px var(--ds-font-family-body))\",\n 'body.small': \"var(--ds-font-body-small, normal 400 11px/20px var(--ds-font-family-body))\"\n};\nexport const uiTextMap = {\n ui: \"var(--ds-font-ui, normal 400 14px/1 var(--ds-font-family-body))\",\n 'ui.small': \"var(--ds-font-ui-small, normal 400 11px/1 var(--ds-font-family-body))\"\n};\n\n/**\n * @codegenEnd\n */\n\n// Generate maps for Box props. backgroundColor, padding, etc\nconst spacingProperties = [\n// Used by Box\n'padding', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd',\n// Used by Inline and Stack\n'gap', 'rowGap', 'columnGap'];\nconst getSerializedStylesMap = (cssProperty, tokenMap) => {\n return Object.keys(tokenMap).reduce((emotionSpacingMap, token) => {\n emotionSpacingMap[token] = css({\n [cssProperty]: tokenMap[token]\n });\n return emotionSpacingMap;\n }, {});\n};\nexport const paddingStylesMap = spacingProperties.reduce((styleMap, spacingProperty) => {\n styleMap[spacingProperty] = getSerializedStylesMap(spacingProperty, spaceMap);\n return styleMap;\n}, {});\nexport const spaceStylesMap = spacingProperties.reduce((styleMap, spacingProperty) => {\n styleMap[spacingProperty] = getSerializedStylesMap(spacingProperty, spaceMap);\n return styleMap;\n}, {});\nexport const backgroundColorStylesMap = getSerializedStylesMap('backgroundColor', backgroundColorMap);\nexport const textColorStylesMap = getSerializedStylesMap('color', textColorMap);\nexport const fontSizeStylesMap = getSerializedStylesMap('fontSize', fontSizeMap);\nexport const fontWeightStylesMap = getSerializedStylesMap('fontWeight', fontWeightMap);\nexport const fontFamilyStylesMap = getSerializedStylesMap('fontFamily', fontFamilyMap);\nexport const lineHeightStylesMap = getSerializedStylesMap('lineHeight', lineHeightMap);\nexport const bodyTextStylesMap = getSerializedStylesMap('font', bodyTextMap);\nexport const uiTextStylesMap = getSerializedStylesMap('font', uiTextMap);\nexport const surfaceColorStylesMap = getSerializedStylesMap(CURRENT_SURFACE_CSS_VAR, surfaceColorMap);\nexport const isSurfaceColorToken = color => surfaceColorMap[color] !== undefined;","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\nimport { css as cssEmotion } from '@emotion/react';\nimport { backgroundColorMap, borderColorMap, borderRadiusMap, borderWidthMap, dimensionMap, layerMap, shadowMap, spaceMap, textColorMap } from './style-maps.partial';\nconst tokensMap = {\n backgroundColor: backgroundColorMap,\n blockSize: dimensionMap,\n borderColor: borderColorMap,\n borderRadius: borderRadiusMap,\n borderWidth: borderWidthMap,\n bottom: spaceMap,\n boxShadow: shadowMap,\n color: textColorMap,\n columnGap: spaceMap,\n gap: spaceMap,\n height: dimensionMap,\n inlineSize: dimensionMap,\n inset: spaceMap,\n insetBlock: spaceMap,\n insetBlockEnd: spaceMap,\n insetBlockStart: spaceMap,\n insetInline: spaceMap,\n insetInlineEnd: spaceMap,\n insetInlineStart: spaceMap,\n margin: spaceMap,\n marginBlock: spaceMap,\n marginBlockEnd: spaceMap,\n marginBlockStart: spaceMap,\n marginBottom: spaceMap,\n marginInline: spaceMap,\n marginInlineEnd: spaceMap,\n marginInlineStart: spaceMap,\n marginLeft: spaceMap,\n marginRight: spaceMap,\n marginTop: spaceMap,\n left: spaceMap,\n maxBlockSize: dimensionMap,\n maxHeight: dimensionMap,\n maxInlineSize: dimensionMap,\n maxWidth: dimensionMap,\n minBlockSize: dimensionMap,\n minHeight: dimensionMap,\n minInlineSize: dimensionMap,\n minWidth: dimensionMap,\n outlineOffset: spaceMap,\n outlineWidth: borderWidthMap,\n outlineColor: borderColorMap,\n padding: spaceMap,\n paddingBlock: spaceMap,\n paddingBlockEnd: spaceMap,\n paddingBlockStart: spaceMap,\n paddingBottom: spaceMap,\n paddingInline: spaceMap,\n paddingInlineEnd: spaceMap,\n paddingInlineStart: spaceMap,\n paddingLeft: spaceMap,\n paddingRight: spaceMap,\n paddingTop: spaceMap,\n right: spaceMap,\n rowGap: spaceMap,\n top: spaceMap,\n width: dimensionMap,\n zIndex: layerMap\n};\nconst uniqueSymbol = Symbol('UNSAFE_INTERNAL_styles');\nconst isSafeEnvToThrow = () => typeof process === 'object' && typeof process.env === 'object' && process.env.NODE_ENV !== 'production';\nconst reNestedSelectors = /(\\.|\\s|&+|\\*\\>|#|\\[.*\\])/;\nconst safeSelectors = /^@media .*$|^::?.*$|^@supports .*$/;\nconst transformStyles = styleObj => {\n if (!styleObj || typeof styleObj !== 'object') {\n return styleObj;\n }\n\n // If styles are defined as a CSSObject[], recursively call on each element until we reach CSSObject\n if (Array.isArray(styleObj)) {\n return styleObj.map(transformStyles);\n }\n\n // Modifies styleObj in place. Be careful.\n Object.entries(styleObj).forEach(([key, value]) => {\n // If key is a pseudo class or a pseudo element, then value should be an object.\n // So, call transformStyles on the value\n if (typeof value === 'object' && safeSelectors.test(key)) {\n styleObj[key] = transformStyles(value);\n return;\n }\n if (isSafeEnvToThrow()) {\n // We don't support `.class`, `[data-testid]`, `> *`, `#some-id`\n if (reNestedSelectors.test(key)) {\n throw new Error(`Styles not supported for key '${key}'.`);\n }\n }\n\n // We have now dealt with all the special cases, so,\n // check whether what remains is a style property\n // that can be transformed.\n if (!(key in tokensMap)) {\n return;\n }\n const tokenValue = tokensMap[key][value];\n styleObj[key] = tokenValue !== null && tokenValue !== void 0 ? tokenValue : value;\n });\n return styleObj;\n};\nconst baseXcss = style => {\n const transformedStyles = transformStyles(style);\n return {\n [uniqueSymbol]: cssEmotion(transformedStyles)\n };\n};\n\n/**\n * @internal used in primitives\n * @returns a collection of styles that can be applied to the respective primitive\n */\n\nexport const parseXcss = args => {\n if (Array.isArray(args)) {\n return args.map(x => x && parseXcss(x)).filter(Boolean);\n }\n const {\n [uniqueSymbol]: styles\n } = args;\n if (typeof process && process.env.NODE_ENV === 'development' && typeof styles === 'undefined') {\n throw new Error('Styles generated from unsafe source, use the `xcss` export from `@atlaskit/primitives`.');\n }\n return styles;\n};\n\n// Media queries should not contain nested media queries\n\n// Pseudos should not contain nested pseudos, or media queries\n\n/**\n * ### xcss\n *\n * `xcss` is a safer, tokens-first approach to CSS-in-JS. It allows token-backed values for\n * CSS application.\n *\n * ```tsx\n * const styles = xcss({\n * padding: 'space.100'\n * })\n * ```\n */\nexport function xcss(style) {\n return baseXcss(style);\n}","import { createContext, useContext } from 'react';\n/**\n * __Surface context__\n *\n * A surface context provides context information on the current background (if set).\n */\nexport const SurfaceContext = /*#__PURE__*/createContext('elevation.surface');\n\n/**\n * __useSurface__\n *\n * Return the current surface. If no parent sets a surface color it falls back to the default surface.\n *\n * @see SurfaceContext\n */\nexport const useSurface = () => {\n return useContext(SurfaceContext);\n};\nSurfaceContext.displayName = 'SurfaceProvider';","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport { forwardRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { backgroundColorStylesMap, isSurfaceColorToken, paddingStylesMap, surfaceColorStylesMap } from '../xcss/style-maps.partial';\nimport { parseXcss } from '../xcss/xcss';\nimport { SurfaceContext } from './internal/surface-provider';\n\n// Can either Exclude or Extract - here we're excluding all SVG-related elements\n\n// Basically just ElementType but without ComponentType, it makes sense to keep the \"Type\" suffix\n// eslint-disable-next-line @repo/internal/react/consistent-types-definitions\n/**\n * __Box__\n *\n * A Box is a primitive component that has the design decisions of the Atlassian Design System baked in.\n * Renders a `div` by default.\n *\n * - [Examples](https://atlassian.design/components/primitives/box/examples)\n * - [Code](https://atlassian.design/components/primitives/box/code)\n * - [Usage](https://atlassian.design/components/primitives/box/usage)\n */\nexport const Box = /*#__PURE__*/forwardRef(({\n as = 'div',\n children,\n backgroundColor,\n padding,\n paddingBlock,\n paddingBlockStart,\n paddingBlockEnd,\n paddingInline,\n paddingInlineStart,\n paddingInlineEnd,\n style,\n testId,\n xcss,\n ...htmlAttributes\n}, ref) => {\n const Component = as;\n // This is to remove className from safeHtmlAttributes\n // @ts-expect-error className doesn't exist in the prop definition but we want to ensure it cannot be applied even if types are bypassed\n const {\n className: _spreadClass,\n ...safeHtmlAttributes\n } = htmlAttributes;\n const className = xcss && parseXcss(xcss);\n const node =\n // @ts-expect-error Expression produces a union type that is too complex to represent. I think this is unavoidable\n jsx(Component, _extends({\n style: style\n // @ts-expect-error Expression produces a union type that is too complex to represent. We may be able to narrow the type here but unsure.\n ,\n ref: ref\n // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props\n }, safeHtmlAttributes, {\n css: [baseStyles, backgroundColor && backgroundColorStylesMap[backgroundColor], isSurfaceColorToken(backgroundColor) && surfaceColorStylesMap[backgroundColor], padding && paddingStylesMap.padding[padding], paddingBlock && paddingStylesMap.paddingBlock[paddingBlock], paddingBlockStart && paddingStylesMap.paddingBlockStart[paddingBlockStart], paddingBlockEnd && paddingStylesMap.paddingBlockEnd[paddingBlockEnd], paddingInline && paddingStylesMap.paddingInline[paddingInline], paddingInlineStart && paddingStylesMap.paddingInlineStart[paddingInlineStart], paddingInlineEnd && paddingStylesMap.paddingInlineEnd[paddingInlineEnd],\n // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage\n className],\n \"data-testid\": testId\n }), children);\n return backgroundColor ? jsx(SurfaceContext.Provider, {\n value: backgroundColor\n }, node) : node;\n});\nexport default Box;\nconst baseStyles = css({\n boxSizing: 'border-box',\n appearance: 'none',\n border: 'none'\n});","/* eslint-disable @atlassian/tangerine/import/entry-points */\n/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n/* eslint-disable @atlaskit/design-system/no-unsafe-design-token-usage */\n\nimport React, { memo } from 'react';\nimport Text from '@atlaskit/ds-explorations/text';\nimport { Box, xcss } from '@atlaskit/primitives';\nconst baseStyles = xcss({\n display: 'inline-flex',\n borderRadius: 'border.radius',\n position: 'static',\n overflow: 'hidden'\n});\n/**\n * __Lozenge__\n *\n * A lozenge is a visual indicator used to highlight an item's status for quick recognition.\n *\n * - [Examples](https://atlassian.design/components/lozenge/examples)\n * - [Code](https://atlassian.design/components/lozenge/code)\n * - [Usage](https://atlassian.design/components/lozenge/usage)\n */\nconst Lozenge = /*#__PURE__*/memo(({\n children,\n testId,\n isBold = false,\n appearance = 'default',\n maxWidth = 200,\n style\n}) => {\n const appearanceStyle = isBold ? 'bold' : 'subtle';\n const appearanceType = appearance in backgroundColors[appearanceStyle] ? appearance : 'default';\n const maxWidthValue = typeof maxWidth === 'string' ? maxWidth : `${maxWidth}px`;\n const maxWidthIsPc = typeof maxWidth === 'string' && /%$/.test(maxWidth);\n return /*#__PURE__*/React.createElement(Box, {\n as: \"span\",\n backgroundColor: backgroundColors[appearanceStyle][appearanceType],\n style: {\n backgroundColor: style === null || style === void 0 ? void 0 : style.backgroundColor,\n maxWidth: maxWidthIsPc ? maxWidth : '100%'\n },\n paddingInline: \"space.050\",\n xcss: baseStyles,\n testId: testId\n }, /*#__PURE__*/React.createElement(Text, {\n fontSize: \"size.050\",\n fontWeight: \"bold\",\n lineHeight: \"lineHeight.100\",\n textTransform: \"uppercase\",\n color: textColors[appearanceStyle][appearanceType],\n shouldTruncate: true,\n UNSAFE_style: {\n color: style === null || style === void 0 ? void 0 : style.color,\n // to negate paddingInline specified on Box above\n maxWidth: maxWidthIsPc ? '100%' : `calc(${maxWidthValue} - ${\"var(--ds-space-100, 8px)\"})`\n },\n testId: testId && `${testId}--text`\n }, children));\n});\nLozenge.displayName = 'Lozenge';\nexport default Lozenge;\n\n// Lozenge colors\nconst backgroundColors = {\n bold: {\n default: 'color.background.neutral.bold',\n inprogress: 'color.background.information.bold',\n moved: 'color.background.warning.bold',\n new: 'color.background.discovery.bold',\n removed: 'color.background.danger.bold',\n success: 'color.background.success.bold'\n },\n subtle: {\n default: 'color.background.neutral',\n inprogress: 'color.background.information',\n moved: 'color.background.warning',\n new: 'color.background.discovery',\n removed: 'color.background.danger',\n success: 'color.background.success'\n }\n};\nconst textColors = {\n bold: {\n default: 'inverse',\n inprogress: 'inverse',\n moved: 'warning.inverse',\n new: 'inverse',\n removed: 'inverse',\n success: 'inverse'\n },\n subtle: {\n default: 'subtle',\n inprogress: 'information',\n moved: 'warning',\n new: 'discovery',\n removed: 'danger',\n success: 'success'\n }\n};","/**\n * These are the default parameters for LogoProps if the user does not specify values.\n */\nexport const defaultLogoParams = {\n iconColor: 'inherit',\n iconGradientStart: 'inherit',\n iconGradientStop: 'inherit',\n label: '',\n size: 'medium',\n textColor: 'currentColor'\n};\n\n/**\n * The props for the that takes the svg and turns it into a component.\n */\n\nexport const sizes = {\n xsmall: 16,\n small: 24,\n medium: 32,\n large: 40,\n xlarge: 48\n};\n\n/**\n * In order to pass linting rules, these props were renamed to be more descriptive i.e. props renamed to LogoProps and\n * defaultParams to defaultLogoParams. However, this is a breaking change as it is a file with public entry points. The code\n * below is here to keep Logo backwards compatible.\n * See the ticket here: https://product-fabric.atlassian.net/browse/DSP-4086.\n *\n * Note that some consumers are accessing this using like so: import { Props } from '@atlaskit/logo/constants', this should\n * still work despite `LogoProps` being in a different types.tsx file.\n *\n */\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-175 Internal documentation for deprecation (no external access)} This has been renamed, please import `LogoProps` instead.\n */\n// eslint-disable-next-line @repo/internal/react/consistent-types-definitions\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-176 Internal documentation for deprecation (no external access)} This has been renamed, please import `defaultLogoParams` instead.\n */\nexport const DefaultProps = defaultLogoParams;","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B200})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 9999\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value) {\n return value;\n } // TS believes value can be undefined\n }\n }\n\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value) {\n return value;\n }\n }\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused', B200)` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B200})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\nimport { B200, B400, N0, N100, N400, N50, N600, N800 } from '@atlaskit/theme/colors';\n// TODO: This is where we need to add tokens for all appearance color values\nexport const getColorsFromAppearance = appearance => {\n let iconGradientStart, iconGradientStop, iconColor, textColor, atlassianLogoTextColor;\n switch (appearance) {\n case 'brand':\n iconGradientStart = B400;\n iconGradientStop = B200;\n iconColor = B200;\n textColor = `var(--ds-text, ${N800})`;\n // This is only used for the top level Atlassian wordmark (see AtlassianLogo\n // or AtlassianStartLogo for example), and is only different for the Brand\n // appearance - a bold brand color. For other appearances,\n // atlassianLogoTextColor is the same as textColor.\n atlassianLogoTextColor = B400;\n break;\n case 'neutral':\n iconGradientStart = N600;\n iconGradientStop = N100;\n iconColor = N100;\n textColor = N400;\n atlassianLogoTextColor = N400;\n break;\n case 'inverse':\n iconGradientStart = N50;\n iconGradientStop = N0;\n iconColor = N0;\n textColor = `var(--ds-text-inverse, ${N0})`;\n atlassianLogoTextColor = `var(--ds-text-inverse, ${N0})`;\n break;\n }\n return {\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor,\n atlassianLogoTextColor\n };\n};","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser$1) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\n\nimport { css, jsx } from '@emotion/react';\nimport { sizes } from './constants';\nconst CSS_VAR_COLOR = '--logo-color';\nconst CSS_VAR_FILL = '--logo-fill';\nconst baseWrapperStyles = css({\n display: 'inline-block',\n position: 'relative',\n color: `var(${CSS_VAR_COLOR})`,\n fill: `var(${CSS_VAR_FILL})`,\n lineHeight: 1,\n userSelect: 'none',\n whiteSpace: 'normal',\n // eslint-disable-next-line @atlaskit/design-system/no-nested-styles\n '> svg': {\n height: '100%',\n fill: 'inherit'\n }\n});\nconst stopColorStyles = css({\n // eslint-disable-next-line @atlaskit/design-system/no-nested-styles\n stop: {\n stopColor: 'currentColor'\n }\n});\nconst sizeStyles = Object.entries(sizes).reduce((acc, [key, val]) => {\n acc[key] = css({\n height: `${val}px`\n });\n return acc;\n}, {});\n\n/**\n * __Wrapper__\n *\n * An internal component used by `@atlaskit/logo` to render logo SVGs with correct styles.\n */\nconst Wrapper = ({\n label,\n svg,\n size,\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor,\n testId: userDefinedTestId,\n ...rest\n}) => {\n const shouldApplyStopColor = iconGradientStart === 'inherit' && iconGradientStop === 'inherit' && appearance === undefined;\n const testId = userDefinedTestId && `${userDefinedTestId}--wrapper`;\n return jsx(\"span\", _extends({\n css: [baseWrapperStyles, shouldApplyStopColor && stopColorStyles, size && sizeStyles[size]],\n \"data-testid\": testId,\n style: {\n [CSS_VAR_COLOR]: iconColor,\n [CSS_VAR_FILL]: textColor\n },\n \"aria-label\": label ? label : undefined,\n role: label ? 'img' : undefined,\n dangerouslySetInnerHTML: {\n __html: svg\n }\n // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props\n }, rest));\n};\nexport default Wrapper;","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Jira software icon__\n *\n * The Jira Software icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraSoftwareIcon = ({\n appearance,\n label = 'Jira Software',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Jira Service Management icon__\n *\n * The Jira Service Management icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraServiceManagementIcon = ({\n appearance,\n label = 'Jira Service Management',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Jira Work Management icon__\n *\n * The Jira Work Management icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraWorkManagementIcon = ({\n appearance,\n label = 'Jira Work Management',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n`;\n};\n\n/**\n * __Jira Product Discovery icon__\n *\n * The Jira Product Discovery icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraProductDiscoveryIcon = ({\n appearance,\n label = 'Jira Product Discovery',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Confluence icon__\n *\n * The Confluence icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const ConfluenceIcon = ({\n appearance,\n label = 'Confluence',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","import {\n JiraSoftwareIcon,\n JiraServiceManagementIcon,\n JiraWorkManagementIcon,\n JiraProductDiscoveryIcon,\n ConfluenceIcon\n} from '@atlaskit/logo';\n\nexport interface Entitlement {\n entitlementId: string;\n siteName: string;\n productAndPlanName: string;\n productKey: ProductKey;\n daysLeftInTrial?: number;\n}\n\nexport type Edition = 'free' | 'standard' | 'premium';\n\nexport interface Product {\n edition: Edition;\n trialEndDate: string;\n\n invoiceGroupId: string;\n ccpTransactionAccountId: string;\n ccpEntitlementId: string;\n}\n\nexport interface Site {\n hostname: string;\n products?: Record;\n}\n\nconst JSW_KEY = 'jira-software.ondemand';\nconst JSM_KEY = 'jira-servicedesk.ondemand';\nconst JWM_KEY = 'jira-core.ondemand';\nconst JPD_KEY = 'jira-product-discovery';\nconst CONFLUENCE_KEY = 'confluence.ondemand';\n\nexport type ProductKey =\n | typeof JSW_KEY\n | typeof JSM_KEY\n | typeof JWM_KEY\n | typeof JPD_KEY\n | typeof CONFLUENCE_KEY;\n\nexport const PRODUCT_NAME_BY_KEY = {\n [JSW_KEY]: 'Jira Software',\n [JSM_KEY]: 'Jira Service Management',\n [JWM_KEY]: 'Jira Work Management',\n [JPD_KEY]: 'Jira Product Discovery',\n [CONFLUENCE_KEY]: 'Confluence'\n};\n\nexport const PRODUCT_ICON_BY_KEY = {\n [JSW_KEY]: JiraSoftwareIcon,\n [JSM_KEY]: JiraServiceManagementIcon,\n [JWM_KEY]: JiraWorkManagementIcon,\n [JPD_KEY]: JiraProductDiscoveryIcon,\n [CONFLUENCE_KEY]: ConfluenceIcon\n};\n","import { css } from '@emotion/react';\nimport { wplToken } from '@atlassiansox/wpl-token';\nimport { getColor } from '@atlassiansox/wpl-utils';\n\nexport const containerStyle = css`\n padding: ${wplToken('space.300')} 0;\n\n &:first-child {\n padding-top: 0;\n }\n\n &:last-child {\n padding-bottom: 0;\n }\n\n &:not(:last-child) {\n border-bottom: 1px solid ${getColor('n50')};\n }\n`;\n\nexport const lozengeStyle = css`\n font-weight: 500;\n`;\n\nexport const mainContentStyle = css`\n display: flex;\n align-items: start;\n font-size: 16px;\n font-weight: 500;\n margin: ${wplToken('space.100')} 0;\n line-height: 24px;\n`;\n\nexport const productTextStyle = css`\n display: flex;\n align-items: start;\n flex: 1 1 auto;\n`;\n\nexport const productNameStyle = css`\n text-transform: capitalize;\n display: inline-block;\n`;\n\nexport const totalCostStyle = css`\n text-align: right;\n flex-shrink: 0;\n margin-left: ${wplToken('space.300')};\n`;\n\nexport const subContentStyle = css`\n display: flex;\n font-size: 14px;\n color: ${getColor('n300')};\n margin: ${wplToken('space.100')} 0 0;\n line-height: 18px;\n`;\n\nexport const siteNameStyle = css`\n flex: 1 1 auto;\n`;\n\nexport const userBreakdownStyle = css`\n text-align: right;\n flex-shrink: 0;\n margin-left: ${wplToken('space.300')};\n`;\n","import Lozenge from '@atlaskit/lozenge';\nimport { ProductKey, PRODUCT_ICON_BY_KEY } from '../../../models';\nimport {\n containerStyle,\n lozengeStyle,\n mainContentStyle,\n productNameStyle,\n productTextStyle,\n siteNameStyle,\n subContentStyle,\n totalCostStyle,\n userBreakdownStyle\n} from './entitlement-item.styles';\n\nexport interface EntitlementItemProps {\n daysLeft?: number;\n productKey: ProductKey;\n productAndPlanName: string;\n siteName: string;\n formattedTotalPrice: string;\n usersPriceBreakdown: string;\n}\n\nconst EntitlementItem = ({\n daysLeft,\n productKey,\n productAndPlanName,\n siteName,\n formattedTotalPrice,\n usersPriceBreakdown\n}: EntitlementItemProps) => {\n const IconComponent = PRODUCT_ICON_BY_KEY[productKey];\n\n const pluralize = (count: number) => (count === 1 ? '' : 's');\n\n return (\n
\n \n {daysLeft ? (\n \n {daysLeft} day{pluralize(daysLeft)} left in trial\n \n ) : (\n URGENT ACTION NEEDED\n )}\n \n
\n
\n \n
{productAndPlanName}
\n
\n
{formattedTotalPrice}
\n
\n
\n
{siteName}
\n
{usersPriceBreakdown}
\n
\n
\n );\n};\n\nexport { EntitlementItem };\n","import { css } from '@emotion/react';\nimport { wplToken } from '@atlassiansox/wpl-token';\nimport { getColor } from '@atlassiansox/wpl-utils';\n\nexport const linkStyle = css`\n text-align: center;\n font-family: Charlie Text, sans-serif;\n font-size: 16px;\n font-style: normal;\n font-weight: 500;\n line-height: 20px;\n display: block;\n margin: ${wplToken('space.300')} 0;\n padding: ${wplToken('space.100')} ${wplToken('space.200')};\n color: ${getColor('b300')};\n text-decoration: none;\n\n &:hover,\n &:active,\n &:focus {\n text-decoration: none;\n }\n`;\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { useEffect } from 'react';\n\nimport {\n TRACKING_EVENT_NAMES,\n ACTION_SUBJECT_IDS\n} from '../../utils/constants';\nimport { linkStyle } from './show-all-link.styles';\n\ninterface ShowAllLinkProps {\n addPaymentDetailsURL: string;\n analyticsAttributes: object;\n totalEntitlementsCount: number;\n}\n\nconst ShowAllLink = ({\n addPaymentDetailsURL,\n analyticsAttributes,\n totalEntitlementsCount\n}: ShowAllLinkProps) => {\n const { createAnalyticsEvent } = useAnalyticsEvents();\n\n useEffect(() => {\n createAnalyticsEvent({\n eventName: TRACKING_EVENT_NAMES.showAllLinkDisplayed,\n action: 'displayed',\n actionSubject: 'showAllLink',\n actionSubjectId: ACTION_SUBJECT_IDS.wacCartShowAllLinkDisplayed,\n attributes: analyticsAttributes\n }).fire();\n }, []);\n\n return (\n {\n createAnalyticsEvent({\n eventName: TRACKING_EVENT_NAMES.showAllLinkClicked,\n action: 'clicked',\n actionSubject: 'showAllLink',\n actionSubjectId: ACTION_SUBJECT_IDS.wacCartShowAllLinkClicked,\n attributes: analyticsAttributes\n }).fire();\n }}\n >\n Show all {totalEntitlementsCount} products\n \n );\n};\n\nexport { ShowAllLink };\n","import { css } from '@emotion/react';\n\nexport const containerStyle = css`\n display: inline-block;\n`;\n","const fetchAPI = async (url: string, initObj?: RequestInit) => {\n try {\n let baseURL = '/gateway/api';\n\n if (location && location.hostname !== 'www.atlassian.com') {\n baseURL = 'https://wac.stg.internal.atlassian.com' + baseURL;\n }\n const response = await fetch(baseURL + url, {\n credentials: 'include',\n ...initObj\n });\n\n return response;\n } catch (error) {\n throw new Error(\n (error instanceof Error ? error.message : JSON.stringify(error)) +\n ` ${url}`\n );\n }\n};\n\nexport { fetchAPI };\n","import {\n CreateUIAnalyticsEvent,\n useAnalyticsEvents\n} from '@atlaskit/analytics-next';\nimport { seconds } from '@wilkins-software/time-conversion-helpers';\nimport Cookies from 'js-cookie';\nimport { useEffect, useRef, useState } from 'react';\nimport {\n Entitlement,\n Site,\n ProductKey,\n PRODUCT_NAME_BY_KEY\n} from '../../models';\nimport {\n TRACKING_EVENT_NAMES,\n ACTION_SUBJECT_IDS\n} from '../../utils/constants';\nimport { fetchAPI } from '../utils';\n\nconst mapSiteToEntitlements = async (\n site: Site,\n createAnalyticsEvent: CreateUIAnalyticsEvent,\n existingTransactionAccountId?: string,\n existingInvoiceGroupId?: string\n): Promise<[Entitlement[]?, string?, string?, number?]> => {\n let foundTransactionId: string | undefined = existingTransactionAccountId;\n let foundInvoiceGroupId: string | undefined = existingInvoiceGroupId;\n let entitlements: Entitlement[] = [];\n\n if (!site.products) {\n return [];\n }\n\n // iterate over products in site in order to find\n // products with same invoiceGroupId and ccpTransactionId\n for (const [productKey, product] of Object.entries(site.products)) {\n const { ccpTransactionAccountId, invoiceGroupId } = product;\n\n if (\n !invoiceGroupId ||\n !ccpTransactionAccountId ||\n !Object.keys(PRODUCT_NAME_BY_KEY).includes(productKey)\n ) {\n continue;\n }\n\n // on finding first ids set them as those to look for\n if (!foundInvoiceGroupId && !foundTransactionId) {\n foundInvoiceGroupId = invoiceGroupId;\n foundTransactionId = ccpTransactionAccountId;\n }\n\n // return eligible entitlements in format required by UI\n entitlements = Object.entries(site.products)\n .filter(([productKey]) =>\n // only include Jira family and Confluence\n Object.keys(PRODUCT_NAME_BY_KEY).includes(productKey)\n )\n .filter(\n // only products with ids matching the first set found\n ([_, { invoiceGroupId, ccpTransactionAccountId }]) =>\n invoiceGroupId === foundInvoiceGroupId &&\n ccpTransactionAccountId === foundTransactionId\n )\n .map(([productKey, currentProduct]) => {\n const hostname: string = site.hostname ?? '';\n\n // strip hostname of protocol\n const siteURLMatch = /https:\\/\\/(.*)/.exec(hostname);\n const siteName = (siteURLMatch && siteURLMatch[1]) ?? '';\n\n const currDate = new Date();\n const utcZero = Date.UTC(\n currDate.getFullYear(),\n currDate.getMonth(),\n currDate.getDate()\n );\n\n let daysLeftInTrial;\n if (currentProduct.trialEndDate) {\n daysLeftInTrial = seconds(\n (new Date(currentProduct.trialEndDate).valueOf() -\n new Date(utcZero).valueOf()) /\n 1000\n ).toDays();\n\n if (daysLeftInTrial < 1) {\n daysLeftInTrial = undefined;\n }\n }\n\n return {\n entitlementId: currentProduct.ccpEntitlementId,\n\n siteName,\n\n // get product name plus capitalized plan (aka 'edition')\n productAndPlanName:\n PRODUCT_NAME_BY_KEY[productKey as ProductKey] +\n ' ' +\n currentProduct.edition.slice(0, 1).toUpperCase() +\n currentProduct.edition.slice(1),\n\n productKey: productKey as ProductKey,\n\n daysLeftInTrial\n };\n });\n }\n\n if (!foundTransactionId) {\n return [];\n }\n\n // if this is the first time we've found an invoice group id then\n // check that this invoice is not invoiceable, meaning payment details\n // have not yet been added\n if (!existingTransactionAccountId || !existingInvoiceGroupId) {\n const invoiceGroupResp = await fetchAPI(\n `/ccp/api/v1/invoice-groups/${foundInvoiceGroupId}/status`,\n {\n headers: { ['X-transaction-account']: foundTransactionId }\n }\n );\n\n const { ok, status, statusText } = invoiceGroupResp;\n if (!ok) {\n console.error(`Call to /invoice-groups/ failed: ${status} ${statusText}`);\n\n createAnalyticsEvent({\n action: 'failed',\n actionSubject: 'Call to /invoice-groups/',\n actionSubjectId: ACTION_SUBJECT_IDS.wacCartInvoiceGroupsCallFailed,\n attributes: {\n aaid: Cookies.get('__aid_user_id'),\n error: `${status} ${statusText}`,\n foundInvoiceGroupId\n }\n }).fire();\n\n return [];\n }\n\n const { invoiceable } = await invoiceGroupResp.json();\n if (invoiceable) {\n return [];\n }\n }\n\n return [\n entitlements,\n foundTransactionId,\n foundInvoiceGroupId,\n entitlements.length\n ];\n};\n\nconst useEntitlements = (): [Entitlement[], string, string, number] => {\n const { createAnalyticsEvent } = useAnalyticsEvents();\n const hasRun = useRef(false);\n\n const [cachedEntitlements, setCachedEntitlements] = useState();\n const [totalEntitlementsCount, setTotalEntitlementsCount] = useState(0);\n const [transactionAccountId, setTransactionAccountId] = useState('');\n const [invoiceGroupId, setInvoiceGroupId] = useState('');\n\n useEffect(() => {\n if (hasRun.current) {\n return;\n }\n\n hasRun.current = true;\n void (async () => {\n try {\n const productHubInfo = await fetchAPI('/producthub/info');\n const { ok, status, statusText } = productHubInfo;\n if (!ok && status !== 401) {\n console.error(\n `Call to /producthub/info failed with status ${status} ${statusText}`\n );\n\n throw Error(\n `Call to /producthub/info failed with status ${status} ${statusText}`\n );\n } else if (status === 401) {\n // user is not logged in so do nothing and log nothing\n return;\n }\n\n const { sites } = await productHubInfo.json();\n if (!sites || sites.length === 0) {\n createAnalyticsEvent({\n eventName: TRACKING_EVENT_NAMES.noSitesFound,\n action: 'returnedNoSites',\n actionSubject: '/producthub/info',\n actionSubjectId:\n ACTION_SUBJECT_IDS.wacCartProductHubInfoReturnedNoSites,\n attributes: {\n aaid: Cookies.get('__aid_user_id')\n }\n }).fire();\n return;\n }\n\n let siteIdx = 0;\n let entitlements: Entitlement[] = [];\n let countTotalEntitlements = 0;\n let recvTransactionAccountId;\n let recvInvoiceGroupId;\n\n // iterate over sites to find set of matching\n // transaction account ids and invoice group ids\n while (siteIdx < sites.length) {\n const site = sites[siteIdx];\n if (site) {\n const [foundEntitlements, taId, iGroupId, numEntitlements] =\n await mapSiteToEntitlements(\n site,\n createAnalyticsEvent,\n recvTransactionAccountId,\n recvInvoiceGroupId\n );\n\n entitlements = entitlements.concat(foundEntitlements ?? []);\n countTotalEntitlements += numEntitlements || 0;\n\n recvTransactionAccountId = taId;\n recvInvoiceGroupId = iGroupId;\n }\n\n siteIdx++;\n }\n\n if (entitlements.length === 0) {\n createAnalyticsEvent({\n eventName: TRACKING_EVENT_NAMES.noEntitlementsFound,\n action: 'returnedNoEntitlements',\n actionSubject: '/producthub/info',\n actionSubjectId:\n ACTION_SUBJECT_IDS.wacCartProductHubInfoReturnedNoEntitlements,\n attributes: {\n aaid: Cookies.get('__aid_user_id')\n }\n }).fire();\n }\n\n setCachedEntitlements(entitlements);\n setTotalEntitlementsCount(countTotalEntitlements);\n setTransactionAccountId(recvTransactionAccountId ?? '');\n setInvoiceGroupId(recvInvoiceGroupId ?? '');\n } catch (error) {\n createAnalyticsEvent({\n action: 'failed',\n actionSubject: 'useEntitlements hook',\n actionSubjectId: ACTION_SUBJECT_IDS.wacCartUseEntitlementsFailed,\n attributes: {\n aaid: Cookies.get('__aid_user_id'),\n error:\n error instanceof Error ? error.message : JSON.stringify(error)\n }\n }).fire();\n }\n })();\n });\n\n return [\n cachedEntitlements ?? [],\n transactionAccountId,\n invoiceGroupId,\n totalEntitlementsCount\n ];\n};\n\nexport { useEntitlements };\n","var seconds = function seconds(numberOfSeconds) {\n return {\n toMilliseconds: function toMilliseconds() {\n return Math.round(numberOfSeconds * 1000);\n },\n toSeconds: function toSeconds() {\n return Math.round(numberOfSeconds);\n },\n toMinutes: function toMinutes() {\n return Math.round(numberOfSeconds / 60);\n },\n toHours: function toHours() {\n return Math.round(numberOfSeconds / (60 * 60));\n },\n toDays: function toDays() {\n return Math.round(numberOfSeconds / (60 * 60 * 24));\n },\n toWeeks: function toWeeks() {\n return Math.round(numberOfSeconds / (60 * 60 * 24 * 7));\n },\n toMonths: function toMonths() {\n return Math.round(numberOfSeconds / (60 * 60 * 24 * 30));\n },\n toYears: function toYears() {\n return Math.round(numberOfSeconds / (60 * 60 * 24 * 365));\n }\n };\n};\nvar minutes = function minutes(numberOfMinutes) {\n return {\n toMilliseconds: function toMilliseconds() {\n return Math.round(numberOfMinutes * 60 * 1000);\n },\n toSeconds: function toSeconds() {\n return Math.round(numberOfMinutes * 60);\n },\n toMinutes: function toMinutes() {\n return Math.round(numberOfMinutes);\n },\n toHours: function toHours() {\n return Math.round(numberOfMinutes / 60);\n },\n toDays: function toDays() {\n return Math.round(numberOfMinutes / (60 * 24));\n },\n toWeeks: function toWeeks() {\n return Math.round(numberOfMinutes / (60 * 24 * 7));\n },\n toMonths: function toMonths() {\n return Math.round(numberOfMinutes / (60 * 24 * 30));\n },\n toYears: function toYears() {\n return Math.round(numberOfMinutes / (60 * 24 * 365));\n }\n };\n};\nvar hours = function hours(numberOfHours) {\n return {\n toMilliseconds: function toMilliseconds() {\n return Math.round(numberOfHours * 60 * 60 * 1000);\n },\n toSeconds: function toSeconds() {\n return Math.round(numberOfHours * 60 * 60);\n },\n toMinutes: function toMinutes() {\n return Math.round(numberOfHours * 60);\n },\n toHours: function toHours() {\n return Math.round(numberOfHours);\n },\n toDays: function toDays() {\n return Math.round(numberOfHours / 24);\n },\n toWeeks: function toWeeks() {\n return Math.round(numberOfHours / (24 * 7));\n },\n toMonths: function toMonths() {\n return Math.round(numberOfHours / (24 * 30));\n },\n toYears: function toYears() {\n return Math.round(numberOfHours / (24 * 365));\n }\n };\n};\nvar days = function days(numberOfDays) {\n return {\n toMilliseconds: function toMilliseconds() {\n return Math.round(numberOfDays * 24 * 60 * 60 * 1000);\n },\n toSeconds: function toSeconds() {\n return Math.round(numberOfDays * 24 * 60 * 60);\n },\n toMinutes: function toMinutes() {\n return Math.round(numberOfDays * 24 * 60);\n },\n toHours: function toHours() {\n return Math.round(numberOfDays * 24);\n },\n toDays: function toDays() {\n return Math.round(numberOfDays);\n },\n toWeeks: function toWeeks() {\n return Math.round(numberOfDays / 7);\n },\n toMonths: function toMonths() {\n return Math.round(numberOfDays / 30);\n },\n toYears: function toYears() {\n return Math.round(numberOfDays / 365);\n }\n };\n};\nvar weeks = function weeks(numberOfWeeks) {\n return {\n toMilliseconds: function toMilliseconds() {\n return Math.round(numberOfWeeks * 7 * 24 * 60 * 60 * 1000);\n },\n toSeconds: function toSeconds() {\n return Math.round(numberOfWeeks * 7 * 24 * 60 * 60);\n },\n toMinutes: function toMinutes() {\n return Math.round(numberOfWeeks * 7 * 24 * 60);\n },\n toHours: function toHours() {\n return Math.round(numberOfWeeks * 7 * 24);\n },\n toDays: function toDays() {\n return Math.round(numberOfWeeks * 7);\n },\n toWeeks: function toWeeks() {\n return Math.round(numberOfWeeks);\n },\n toMonths: function toMonths() {\n return Math.round(numberOfWeeks / 4.34524);\n },\n toYears: function toYears() {\n return Math.round(numberOfWeeks / 52.1429);\n }\n };\n};\nvar months = function months(numberOfMonths) {\n return {\n toMilliseconds: function toMilliseconds() {\n return Math.round(numberOfMonths * 30 * 24 * 60 * 60 * 1000);\n },\n toSeconds: function toSeconds() {\n return Math.round(numberOfMonths * 30 * 24 * 60 * 60);\n },\n toMinutes: function toMinutes() {\n return Math.round(numberOfMonths * 30 * 24 * 60);\n },\n toHours: function toHours() {\n return Math.round(numberOfMonths * 30 * 24);\n },\n toDays: function toDays() {\n return Math.round(numberOfMonths * 30);\n },\n toWeeks: function toWeeks() {\n return Math.round(numberOfMonths * 30 / 7);\n },\n toMonths: function toMonths() {\n return Math.round(numberOfMonths);\n },\n toYears: function toYears() {\n return Math.round(numberOfMonths / 12);\n }\n };\n};\nvar years = function years(numberOfYears) {\n return {\n toMilliseconds: function toMilliseconds() {\n return Math.round(numberOfYears * 365 * 24 * 60 * 60 * 1000);\n },\n toSeconds: function toSeconds() {\n return Math.round(numberOfYears * 365 * 24 * 60 * 60);\n },\n toMinutes: function toMinutes() {\n return Math.round(numberOfYears * 365 * 24 * 60);\n },\n toHours: function toHours() {\n return Math.round(numberOfYears * 365 * 24);\n },\n toDays: function toDays() {\n return Math.round(numberOfYears * 365);\n },\n toWeeks: function toWeeks() {\n return Math.round(numberOfYears * 365 / 7);\n },\n toMonths: function toMonths() {\n return Math.round(numberOfYears * 365 / 30);\n },\n toYears: function toYears() {\n return Math.round(numberOfYears);\n }\n };\n};\n\nexport { days, hours, minutes, months, seconds, weeks, years };\n//# sourceMappingURL=time-conversion-helpers.esm.js.map\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Cookies from 'js-cookie';\nimport { useRef, useState } from 'react';\n\nimport { Entitlement } from '../../models';\nimport { fetchAPI } from '../utils';\nimport { ACTION_SUBJECT_IDS } from '../../utils/constants';\n\nexport interface EntitlementListing extends Entitlement {\n formattedTotalPrice: string;\n usersPriceBreakdown: string;\n}\n\ninterface EstimateResponse {\n entitlementId: string;\n items: ReadonlyArray<{\n total: number;\n chargeQuantity: {\n chargeElement: string;\n quantity: string;\n };\n }>;\n}\n\nconst formatPrice = new Intl.NumberFormat('en-US', {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n style: 'currency',\n currency: 'USD',\n currencyDisplay: 'code'\n}).format;\n\nconst useEntitlementListings = (\n entitlements: Entitlement[]\n): [string, EntitlementListing[], () => void, boolean, boolean] => {\n const { createAnalyticsEvent } = useAnalyticsEvents();\n const hasRun = useRef(false);\n const [isFetching, setIsFetching] = useState(false);\n const [hasError, setHasError] = useState(false);\n\n const [formattedTotalPrice, setFormattedTotalPrice] = useState('');\n const [estimates, setEstimates] = useState([]);\n\n const fetchEstimates = () => {\n // only fetch (and only once) when we receive the entitlements\n if (entitlements.length === 0) {\n return;\n }\n\n if (hasRun.current === true) {\n return;\n }\n\n hasRun.current = true;\n\n let totalPrice = 0;\n const compiledEstimates = [];\n\n const entitlementById: Record = {};\n for (const entitlement of entitlements) {\n entitlementById[entitlement.entitlementId] = entitlement;\n }\n\n void (async () => {\n try {\n setIsFetching(true);\n const allEstimateResponses = await Promise.all(\n entitlements.map(({ entitlementId }) =>\n fetchAPI('/ccp/api/v1/bill/estimate?entitlementId=' + entitlementId)\n )\n );\n\n for (const estimateResp of allEstimateResponses) {\n const { ok, status, statusText } = estimateResp;\n if (!ok) {\n console.error(\n `Call to /estimate for failed with error: ${status} ${statusText}`\n );\n\n createAnalyticsEvent({\n action: 'failed',\n actionSubject: 'Call to /estimate',\n actionSubjectId: ACTION_SUBJECT_IDS.wacCartEstimateCallFailed,\n attributes: {\n aaid: Cookies.get('__aid_user_id'),\n error: `${status} for ccp entitlement id: ${\n estimateResp.url.split('entitlementId=')[1]\n }`\n }\n }).fire();\n\n continue;\n }\n\n const { entitlementId, items } =\n (await estimateResp.json()) as EstimateResponse;\n\n if (!items || items.length === 0) {\n console.error(\n \"Call to /estimate failed, 'items' were null or empty in response.\"\n );\n\n createAnalyticsEvent({\n action: 'failed',\n actionSubject: 'Call to /estimate',\n actionSubjectId: ACTION_SUBJECT_IDS.wacCartEstimateCallFailed,\n attributes: {\n aaid: Cookies.get('__aid_user_id'),\n error: \"'items' were null or empty in response.\",\n entitlementId\n }\n }).fire();\n\n continue;\n }\n\n const item = items[0];\n if (!item) {\n return;\n }\n\n const { chargeQuantity, total } = item;\n totalPrice += total;\n\n const { chargeElement, quantity } = chargeQuantity;\n\n if (\n !quantity ||\n Number.isNaN(parseInt(quantity)) ||\n parseInt(quantity) === 0\n ) {\n createAnalyticsEvent({\n action: 'failed',\n actionSubject: 'Call to /estimate',\n actionSubjectId: ACTION_SUBJECT_IDS.wacCartEstimateCallFailed,\n attributes: {\n aaid: Cookies.get('__aid_user_id'),\n error: '/estimate returned entitlement with zero users',\n entitlementId\n }\n }).fire();\n }\n\n const entitlement = entitlementById[entitlementId];\n if (entitlement) {\n const {\n siteName,\n productAndPlanName,\n productKey,\n daysLeftInTrial\n } = entitlement;\n\n const areDefined = [siteName, productAndPlanName].every(\n (v) => v !== undefined\n );\n\n if (areDefined) {\n const estimate: EntitlementListing = {\n entitlementId,\n siteName,\n productAndPlanName,\n productKey,\n daysLeftInTrial,\n formattedTotalPrice: formatPrice(total),\n usersPriceBreakdown: `${quantity} ${chargeElement}${\n parseInt(quantity) === 1 ? '' : 's'\n } x $${total / parseInt(quantity)} each`\n };\n\n compiledEstimates.push(estimate);\n }\n }\n }\n setHasError(false);\n } catch (error) {\n createAnalyticsEvent({\n action: 'failed',\n actionSubject: 'useEntitlementListings hook',\n actionSubjectId:\n ACTION_SUBJECT_IDS.wacCartUseEntitlementListingsFailed,\n attributes: {\n aaid: Cookies.get('__aid_user_id'),\n error:\n error instanceof Error ? error.message : JSON.stringify(error)\n }\n }).fire();\n\n setHasError(true);\n }\n setIsFetching(false);\n\n setFormattedTotalPrice(formatPrice(totalPrice));\n setEstimates(compiledEstimates);\n })();\n };\n\n return [formattedTotalPrice, estimates, fetchEstimates, isFetching, hasError];\n};\n\nexport { useEntitlementListings };\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { Popup } from '@atlaskit/popup';\nimport { ExtractPropsFromDefinitionVersion } from '@atlassiansox/bxp-definition-sdk';\nimport OriginTracing from '@atlassiansox/origin-tracing';\nimport Cookies from 'js-cookie';\nimport { ReactNode, useEffect, useState } from 'react';\n\nimport type definition from '../../../definition';\nimport { CartButton } from '../components/cart-button';\nimport {\n EntitlementItem,\n EntitlementsPopup\n} from '../components/entitlements-popup';\nimport { ShowAllLink } from '../components/show-all-link';\nimport { TRACKING_EVENT_NAMES, ACTION_SUBJECT_IDS } from '../utils/constants';\nimport { containerStyle } from './admin-trial-cart.styles';\nimport { useEntitlements } from './hooks';\nimport { useEntitlementListings } from './hooks/use-entitlement-listings';\nimport FeatureGates from '@atlassian/feature-gate-js-client';\n\nexport type ModulePropsV0 = ExtractPropsFromDefinitionVersion<\n typeof definition,\n 0\n>;\n\nconst AdminCartWrapper = ({\n enrolled,\n children\n}: {\n enrolled: string;\n children?: ReactNode;\n}) => {\n const { createAnalyticsEvent } = useAnalyticsEvents();\n\n useEffect(() => {\n FeatureGates.manuallyLogExperimentExposure('wac_cart_a-b_experiment');\n\n createAnalyticsEvent({\n action: 'exposed',\n actionSubject: 'feature',\n actionSubjectId: ACTION_SUBJECT_IDS.wacCartFeatureExposed,\n attributes: {\n aaid: Cookies.get('__aid_user_id'),\n flagKey: 'wac_cart_a-b_experiment',\n value: enrolled\n }\n }).fire();\n }, []);\n\n if (enrolled === 'control') {\n return;\n }\n return (\n
\n
{children}
\n
\n );\n};\nconst AdminTrialCart = ({ enrolled }: { enrolled: string } & ModulePropsV0) => {\n const { createAnalyticsEvent } = useAnalyticsEvents();\n const [\n entitlements,\n transactionAccountId,\n invoiceGroupId,\n totalEntitlementsCount\n ] = useEntitlements();\n const [\n formattedTotalPrice,\n estimates,\n fetchEntitlementListings,\n isLoadingEntitlementListings,\n fetchEntitlementListingsError\n ] = useEntitlementListings(entitlements ?? []);\n\n const [popupOpen, setPopupOpen] = useState(false);\n\n const isProd = location.hostname === 'www.atlassian.com';\n\n const analyticsAttributes = {\n aaid: Cookies.get('__aid_user_id'),\n transactionAccountId,\n invoiceGroupId,\n numberOfEntitlements: entitlements?.length || 0\n };\n\n const handleCartClick = () => {\n fetchEntitlementListings();\n\n createAnalyticsEvent({\n eventName: TRACKING_EVENT_NAMES.wacCartIconClicked,\n action: 'clicked',\n actionSubject: 'button',\n actionSubjectId: ACTION_SUBJECT_IDS.wacCartIcon,\n attributes: {\n popupState: popupOpen ? 'closed' : 'open',\n ...analyticsAttributes\n }\n }).fire();\n\n if (popupOpen) {\n handleClosePopup();\n } else {\n setPopupOpen(true);\n }\n };\n\n const handleClosePopup = () => {\n createAnalyticsEvent({\n eventName: TRACKING_EVENT_NAMES.wacCartPopoverClosed,\n action: 'closed',\n actionSubjectId: ACTION_SUBJECT_IDS.wacCartPopoverClosed,\n attributes: analyticsAttributes\n }).fire();\n setPopupOpen(false);\n };\n\n const getAddPaymentDetailsURL = () => {\n const addPaymentDetailsURL = `https://admin${\n !isProd ? '.stg' : ''\n }.atlassian.com/billing/${transactionAccountId}/${invoiceGroupId}/payment-flow`;\n\n const origin = new OriginTracing({ product: 'marketing' });\n\n return origin.addToUrl(addPaymentDetailsURL);\n };\n\n if (!entitlements?.length) {\n return;\n }\n\n return (\n \n (\n
\n \n
\n )}\n content={() => (\n \n
\n {estimates?.slice(0, 5).map((estimate) => {\n const {\n entitlementId,\n siteName,\n formattedTotalPrice,\n usersPriceBreakdown,\n productAndPlanName,\n productKey,\n daysLeftInTrial\n } = estimate;\n\n return (\n \n );\n })}\n {estimates?.length > 5 && (\n \n )}\n
\n \n )}\n />\n
\n );\n};\n\nexport default AdminTrialCart;\n","import FeatureGates from '@atlassian/feature-gate-js-client';\nimport AdminTrialCart, { ModulePropsV0 } from './admin-trial-cart';\nimport { useEffect } from 'react';\nimport Cookies from 'js-cookie';\n\nconst StatsigContainer = (props: ModulePropsV0) => (\n \n);\n\nconst NonEnrolledCart = () => {\n useEffect(() => {\n FeatureGates.manuallyLogExperimentExposure('wac_cart_a-b_experiment');\n }, []);\n\n return <>;\n};\n\nconst FeatureGatedAdminTrialCart = (props: ModulePropsV0) => {\n const aaid = Cookies.get('__aid_user_id');\n if (!aaid || aaid === '') {\n return <>;\n }\n\n const enrolledAb = FeatureGates.getExperimentValue(\n 'wac_cart_a-b_experiment',\n 'treatment',\n 'non-enrolled',\n { fireExperimentExposure: false }\n );\n\n if (enrolledAb === 'non-enrolled') {\n return ;\n }\n\n return ;\n};\n\nexport default StatsigContainer;\nexport { ModulePropsV0 } from './admin-trial-cart';\n","import { createModuleDefinitionVersion } from '@atlassiansox/bxp-definition-sdk';\n\nexport const versionDefinitionV0 = createModuleDefinitionVersion({\n label: 'admin-trial-cart',\n description: 'Cart-like UI for trialling JSW & Confluence admins.',\n status: 'active',\n channels: ['web', 'mobile', 'desktop'],\n fieldDefinitions: []\n});\n","import { createDefinition } from '@atlassiansox/bxp-definition-sdk';\nimport { versionDefinitionV0 } from './versions/v0/version-definition';\n\nexport default createDefinition({\n name: 'adminTrialCart',\n schema: '0.1.0',\n type: 'module', // options: module | field | surface | zone\n versions: {\n 0: versionDefinitionV0\n }\n});\n","import React from \"react\";\nimport { AnalyticsListener } from \"@atlaskit/analytics-next\";\nimport { trackEvent } from \"../../../common/analytics\";\nimport versionSelect from \"@atlassiansox/admin-trial-cart\";\nimport { FeatureGatesInitialization } from \"@atlassian/feature-gates-react\";\nimport storage from \"../../../utils/storage\";\nimport {\n FeatureGateEnvironment,\n} from \"@atlassian/feature-gate-js-client\";\nimport { Environment } from \"@atlassiansox/bxpkit-core\";\n\n\nfunction sendAnalytics({ payload, context }) {\n const analyticsDataList = [...context, payload];\n const analyticsEvent = analyticsDataList.reduce(\n (mergedAnalyticsEvent, currentAnalyicsEvent) => {\n return { ...mergedAnalyticsEvent, ...currentAnalyicsEvent };\n },\n {}\n );\n trackEvent(analyticsEvent.eventName, analyticsEvent);\n}\n\nconst getEnvironment = () => {\n switch (Environment.getEnvironment()) {\n case \"production\":\n return {\n apiKey: \"4e18bcb9-52fb-4f76-b7b6-a0d9d8e56f8f\",\n environment: FeatureGateEnvironment.Production\n };\n case \"staging\":\n return {\n apiKey: \"ff9c70b0-ab7e-4abc-be4f-53f9c3fd37d6\",\n environment: FeatureGateEnvironment.Staging\n };\n case \"dev\":\n default:\n return {\n apiKey: \"ab9944a4-9eb2-482b-b997-36f41f3a1edf\",\n environment: FeatureGateEnvironment.Development\n };\n }\n};\nconst CartBtn = () => {\n const atlassianAccountId = (storage.getCookie(\"__aid_user_id\") ?? \"\").replace(\n /\\\"/g,\n \"\"\n );\n\n if (!atlassianAccountId || atlassianAccountId === '') {\n return false;\n }\n \n return (\n \n \n
\n {versionSelect({\n version: 0,\n fields: {},\n })}\n
\n
\n \n)};\n\nexport default CartBtn;\n","import AdminTrialCartV0, { ModulePropsV0 } from './versions/v0';\n\n// TODO: create a fn for this\n// https://bitbucket.org/atlassian/jluong/src/spike/libraries/web-platform-sdk/src/utils.ts\ntype VersionSelectType = {\n readonly version: number;\n readonly fields: ModulePropsV0;\n};\n\nconst versionSelect = ({ version, fields }: VersionSelectType) => {\n switch (version) {\n case 0:\n return ;\n default:\n throw new Error('Unknown module version');\n }\n};\n\nexport default versionSelect;\n","/*! https://mths.be/punycode v1.3.2 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * http://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.3.2',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst errors_1 = require(\"./errors\");\nconst types_1 = require(\"../types\");\nconst version_1 = require(\"../version\");\nconst DEFAULT_REQUEST_TIMEOUT_MS = 2000;\nconst PROD_BASE_URL = 'https://api.atlassian.com/flags';\nconst STAGING_BASE_URL = 'https://api.stg.atlassian.com/flags';\nconst DEV_BASE_URL = 'https://api.dev.atlassian.com/flags';\nconst GATEWAY_BASE_URL = '/gateway/api/flags';\nclass Fetcher {\n static async fetchClientSdk(fetcherOptions) {\n const { targetApp } = fetcherOptions;\n const url = `/api/v2/frontend/clientSdkKey/${targetApp}`;\n try {\n return await this.fetchRequest(url, 'GET', fetcherOptions);\n }\n catch (error) {\n if (error instanceof Error) {\n throw error;\n }\n throw Error('Failed to retrieve client sdk key');\n }\n }\n static async fetchExperimentValues(fetcherOptions, identifiers, customAttributes) {\n const requestBody = {\n identifiers,\n customAttributes,\n targetApp: fetcherOptions.targetApp\n };\n try {\n return await this.fetchRequest('/api/v2/frontend/experimentValues', 'POST', fetcherOptions, requestBody);\n }\n catch (error) {\n if (error instanceof Error) {\n throw error;\n }\n throw Error('Failed to retrieve experiment values');\n }\n }\n static async handleResponseError(response) {\n if (!response.ok) {\n // Use text() instead of json() as the error body might not be json data\n const body = await response.text();\n throw new errors_1.ResponseError(`Non 2xx response status received, status: ${response.status}, body: ${JSON.stringify(body)}`);\n }\n if (response.status === 204) {\n throw new errors_1.ResponseError('Unexpected 204 response');\n }\n }\n static async extractResponseBody(response) {\n const value = await response.text();\n return JSON.parse(value);\n }\n static getBaseUrl(serviceEnv, useGatewayUrl = false) {\n if (useGatewayUrl) {\n return GATEWAY_BASE_URL;\n }\n switch (serviceEnv) {\n case types_1.FeatureGateEnvironment.Development:\n return DEV_BASE_URL;\n case types_1.FeatureGateEnvironment.Staging:\n return STAGING_BASE_URL;\n default:\n return PROD_BASE_URL;\n }\n }\n static async fetchRequest(path, method, fetcherOptions, body) {\n const baseUrl = Fetcher.getBaseUrl(fetcherOptions.environment, fetcherOptions.useGatewayURL);\n const fetchTimeout = fetcherOptions.fetchTimeoutMs || DEFAULT_REQUEST_TIMEOUT_MS;\n let abortSignal;\n if (AbortSignal.timeout) {\n abortSignal = AbortSignal.timeout(fetchTimeout);\n }\n else if (AbortController) {\n const abortController = new AbortController();\n abortSignal = abortController.signal;\n setTimeout(() => abortController.abort(), fetchTimeout);\n }\n const response = await fetch(`${baseUrl}${path}`, Object.assign({ method, headers: {\n 'Content-Type': 'application/json',\n 'X-Client-Name': 'feature-gate-js-client',\n 'X-Client-Version': version_1.CLIENT_VERSION,\n 'X-API-KEY': fetcherOptions.apiKey\n }, signal: abortSignal }, (body && { body: JSON.stringify(body) })));\n await this.handleResponseError(response);\n return await this.extractResponseBody(response);\n }\n}\nexports.default = Fetcher;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ResponseError = void 0;\nclass ResponseError extends Error {\n constructor(message) {\n super(message);\n }\n}\nexports.ResponseError = ResponseError;\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.default = void 0;\nvar Fetcher_1 = require(\"./Fetcher\");\nObject.defineProperty(exports, \"default\", { enumerable: true, get: function () { return __importDefault(Fetcher_1).default; } });\n","\"use strict\";\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 __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\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.DynamicConfig = void 0;\nconst statsig_js_lite_1 = __importStar(require(\"statsig-js-lite\"));\nvar statsig_js_lite_2 = require(\"statsig-js-lite\");\nObject.defineProperty(exports, \"DynamicConfig\", { enumerable: true, get: function () { return statsig_js_lite_2.DynamicConfig; } });\nObject.defineProperty(exports, \"EvaluationReason\", { enumerable: true, get: function () { return statsig_js_lite_2.EvaluationReason; } });\nconst fetcher_1 = __importDefault(require(\"./fetcher\"));\n__exportStar(require(\"./types\"), exports);\nconst DEFAULT_CLIENT_KEY = 'client-default-key';\n// the default event logging api is the Atlassian proxy rather than Statsig's domain, to avoid ad blockers\nconst DEFAULT_EVENT_LOGGING_API = 'https://xp.atlassian.com/v1/';\nclass FeatureGates {\n static async initialize(clientOptions, identifiers, customAttributes) {\n if (FeatureGates.initPromise) {\n if (!FeatureGates.shallowEquals(clientOptions, FeatureGates.initOptions)) {\n console.warn('Feature Gates client already initialized with different options. New options were not applied.');\n }\n return FeatureGates.initPromise;\n }\n FeatureGates.initOptions = clientOptions;\n FeatureGates.initPromise = FeatureGates.init(clientOptions, identifiers, customAttributes).then(() => {\n FeatureGates.initCompleted = true;\n });\n return FeatureGates.initPromise;\n }\n static async initializeFromValues(clientOptions, identifiers, customAttributes, initializeValues = {}) {\n if (FeatureGates.initPromise) {\n if (!FeatureGates.shallowEquals(clientOptions, FeatureGates.initOptions)) {\n console.warn('Feature Gates client already initialized with different options. New options were not applied.');\n }\n return FeatureGates.initPromise;\n }\n FeatureGates.initOptions = clientOptions;\n FeatureGates.initPromise = FeatureGates.initFromValues(clientOptions, identifiers, customAttributes, initializeValues).then(() => {\n FeatureGates.initCompleted = true;\n });\n return FeatureGates.initPromise;\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 static async updateUser(fetchOptions, identifiers, customAttributes) {\n const initializeValuesProducer = () => fetcher_1.default.fetchExperimentValues(fetchOptions, identifiers, customAttributes).then(({ experimentValues, customAttributes }) => ({\n experimentValues,\n customAttributesFromFetch: customAttributes\n }));\n await FeatureGates.updateUserUsingInitializeValuesProducer(initializeValuesProducer, identifiers, customAttributes);\n }\n /**\n * This method updates the user given a new set of bootstrap values obtained from one of the server-side SDKs.\n *\n * @param identifiers {Identifiers}\n * @param customAttributes {CustomAttributes}\n * @param initializeValues {Record}\n */\n static async updateUserWithValues(identifiers, customAttributes, initializeValues = {}) {\n const initializeValuesProducer = () => Promise.resolve({\n experimentValues: initializeValues,\n customAttributesFromFetch: customAttributes\n });\n await FeatureGates.updateUserUsingInitializeValuesProducer(initializeValuesProducer, identifiers, customAttributes);\n }\n static initializeCalled() {\n return FeatureGates.initPromise != null;\n }\n static initializeCompleted() {\n return FeatureGates.initCompleted;\n }\n /**\n * Returns the value for a feature gate. Returns false if there are errors.\n * @param gateName - The name of the feature gate.\n */\n static checkGate(gateName) {\n try {\n return statsig_js_lite_1.default.checkGate(gateName);\n }\n catch (error) {\n // Log the first occurrence of the error\n if (!FeatureGates.hasCheckGateErrorOccurred) {\n console.warn({\n msg: 'An error has occurred checking the feature gate. Only the first occurrence of this error is logged.',\n gateName,\n error\n });\n FeatureGates.hasCheckGateErrorOccurred = true;\n }\n return false;\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 for the experiment. Defaults to true. To log an exposure event manually at a later time, use {@link 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 = FeatureGates.getExperiment('example-experiment-name');\n * const backgroundColor: string = experimentConfig.get('backgroundColor', 'yellow');\n * ```\n */\n static getExperiment(experimentName, options = {}) {\n try {\n const { fireExperimentExposure = true } = options;\n const evalMethod = fireExperimentExposure\n ? statsig_js_lite_1.default.getExperiment.bind(statsig_js_lite_1.default)\n : statsig_js_lite_1.default.getExperimentWithExposureLoggingDisabled.bind(statsig_js_lite_1.default);\n return evalMethod(experimentName);\n }\n catch (error) {\n // Log the first occurrence of the error\n if (!FeatureGates.hasGetExperimentErrorOccurred) {\n console.warn({\n msg: 'An error has occurred getting the experiment. Only the first occurrence of this error is logged.',\n experimentName,\n error\n });\n FeatureGates.hasGetExperimentErrorOccurred = true;\n }\n // Return a default value\n return new statsig_js_lite_1.DynamicConfig(experimentName, {}, '', {\n time: Date.now(),\n reason: statsig_js_lite_1.EvaluationReason.Error\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 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 for the experiment. Defaults to true. To log an exposure event manually at a later time, use {@link 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 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 experiment 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 = FeatureGates.getExperimentValue(\n 'example-experiment-name',\n 'backgroundColor',\n 'yellow',\n {\n typeGuard: isValidColor\n }\n );\n ```\n */\n static getExperimentValue(experimentName, parameterName, defaultValue, options = {}) {\n const experiment = FeatureGates.getExperiment(experimentName, options);\n try {\n const { typeGuard } = options;\n return experiment.get(parameterName, defaultValue, typeGuard);\n }\n catch (error) {\n // Log the first occurrence of the error\n if (!FeatureGates.hasGetExperimentValueErrorOccurred) {\n console.warn({\n msg: 'An error has occurred getting the experiment value. Only the first occurrence of this error is logged.',\n experimentName,\n defaultValue,\n options,\n error\n });\n FeatureGates.hasGetExperimentValueErrorOccurred = true;\n }\n return defaultValue;\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 getExperimentValue} or\n * {@link getExperiment} where options.fireExperimentExposure is false.\n * @param experimentName\n */\n static manuallyLogExperimentExposure(experimentName) {\n statsig_js_lite_1.default.manuallyLogExperimentExposure(experimentName);\n }\n static shutdownStatsig() {\n statsig_js_lite_1.default.shutdown();\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 build\n * your full set of overrides.\n *\n * Overrides are persisted to the `STATSIG_JS_LITE_LOCAL_OVERRIDES` key in localStorage, so they will\n * continue to affect every client that is initialized on the same domain after this method is called.\n * If you are using this API for testing purposes, you should call ${@link clearGateOverride} after\n * your tests are completed to remove this localStorage entry.\n *\n * @param {string} gateName\n * @param {boolean} value\n */\n static overrideGate(gateName, value) {\n statsig_js_lite_1.default.overrideGate(gateName, value);\n }\n /**\n * Removes any overrides that have been set for the given gate.\n * @param {string} gateName\n */\n static clearGateOverride(gateName) {\n statsig_js_lite_1.default.overrideGate(gateName, null);\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 names to build\n * your full set of overrides.\n *\n * Overrides are persisted to the `STATSIG_JS_LITE_LOCAL_OVERRIDES` key in localStorage, so they will\n * continue to affect every client that is initialized on the same domain after this method is called.\n * If you are using this API for testing purposes, you should call ${@link clearConfigOverride} after\n * your tests are completed to remove this localStorage entry.\n *\n * @param {string} experimentName\n * @param {object} values\n */\n static overrideConfig(experimentName, values) {\n statsig_js_lite_1.default.overrideConfig(experimentName, values);\n }\n /**\n * Removes any overrides that have been set for the given experiment.\n * @param {string} experimentName\n */\n static clearConfigOverride(experimentName) {\n statsig_js_lite_1.default.overrideConfig(experimentName, null);\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 added\n * via prior calls to {@link overrideConfig} or {@link overrideGate}.\n *\n * Overrides are persisted to the `STATSIG_JS_LITE_LOCAL_OVERRIDES` key in localStorage, so they will\n * continue to affect every client that is initialized on the same domain after this method is called.\n * If you are using this API for testing purposes, you should call ${@link clearAllOverrides} after\n * your tests are completed to remove this localStorage entry.\n *\n * @param {object} overrides\n */\n static setOverrides(overrides) {\n statsig_js_lite_1.default.setOverrides(Object.assign({ gates: {}, configs: {}, layers: {} }, overrides));\n }\n /**\n * Clears overrides for all gates, configs (including experiments) and layers.\n */\n static clearAllOverrides() {\n statsig_js_lite_1.default.setOverrides(null);\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 updateUser} or {@link updateUserWithValues}\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 static isCurrentUser(identifiers, customAttributes) {\n return (FeatureGates.shallowEquals(FeatureGates.currentIdentifiers, identifiers) &&\n FeatureGates.shallowEquals(FeatureGates.currentAttributes, customAttributes));\n }\n /**\n * This method initializes the client using a network call to fetch the bootstrap values for the given user.\n *\n * @param clientOptions\n * @param identifiers\n * @param customAttributes\n * @private\n */\n static async init(clientOptions, identifiers, customAttributes) {\n const fromValuesClientOptions = Object.assign(Object.assign({}, clientOptions), { disableCurrentPageLogging: true });\n let experimentValues;\n let customAttributesFromResult;\n try {\n // If client sdk key fetch fails, an error would be thrown and handled instead of waiting for the experiment\n // values request to be settled, and it will fall back to use default values.\n const clientSdkKeyPromise = fetcher_1.default.fetchClientSdk(clientOptions).then((value) => (fromValuesClientOptions.sdkKey = value.clientSdkKey));\n const experimentValuesPromise = fetcher_1.default.fetchExperimentValues(clientOptions, identifiers, customAttributes);\n // Only wait for the experiment values request to finish and try to initialise the client with experiment\n // values if both requests are successful. Else an error would be thrown and handled by the catch\n const [, experimentValuesResult] = await Promise.all([\n clientSdkKeyPromise,\n experimentValuesPromise\n ]);\n experimentValues = experimentValuesResult.experimentValues;\n customAttributesFromResult =\n experimentValuesResult.customAttributes;\n }\n catch (error) {\n if (error instanceof Error) {\n console.error(`Error occurred when trying to fetch the Feature Gates client values, error: ${error === null || error === void 0 ? void 0 : error.message}`);\n }\n console.warn(`Initialising Statsig client without values`);\n await FeatureGates.initFromValues(fromValuesClientOptions, identifiers, customAttributes);\n throw error;\n }\n await this.initFromValues(fromValuesClientOptions, identifiers, customAttributesFromResult, experimentValues);\n }\n /**\n * This method initializes the client using a set of boostrap values obtained from one of the server-side SDKs.\n *\n * @param clientOptions\n * @param identifiers\n * @param customAttributes\n * @param initializeValues\n * @private\n */\n static async initFromValues(clientOptions, identifiers, customAttributes, initializeValues = {}) {\n const user = this.toStatsigUser(identifiers, customAttributes);\n FeatureGates.currentIdentifiers = identifiers;\n FeatureGates.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 const { sdkKey } = clientOptions;\n const statsigOptions = this.toStatsigOptions(clientOptions, initializeValues);\n try {\n await statsig_js_lite_1.default.initialize(sdkKey, user, statsigOptions);\n }\n catch (error) {\n if (error instanceof Error) {\n console.error(`Error occurred when trying to initialise the Statsig client, error: ${error === null || error === void 0 ? void 0 : error.message}`);\n }\n console.warn(`Initialising Statsig client with default sdk key and without values`);\n await statsig_js_lite_1.default.initialize(DEFAULT_CLIENT_KEY, user, Object.assign(Object.assign({}, statsigOptions), { initializeValues: {} }));\n throw error;\n }\n }\n /**\n * This method creates an instance of StatsigUser from the given set of identifiers and attributes.\n *\n * @param identifiers\n * @param customAttributes\n * @private\n */\n static toStatsigUser(identifiers, customAttributes) {\n const user = {\n customIDs: identifiers,\n custom: customAttributes\n };\n if (identifiers.atlassianAccountId) {\n user.userID = identifiers.atlassianAccountId;\n }\n return user;\n }\n /**\n * This method updates the user for this client with the bootstrap values returned from a given 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\n * @param customAttributes\n * @param initializeValuesPromise\n * @private\n */\n static async updateUserUsingInitializeValuesProducer(getInitializeValues, identifiers, customAttributes) {\n if (!FeatureGates.initPromise) {\n throw new Error('The FeatureGates client must be initialized before you can update the user.');\n }\n // If the user isn't changing at all, then exit immediately\n if (FeatureGates.isCurrentUser(identifiers, customAttributes)) {\n return FeatureGates.initPromise;\n }\n // Wait for the current initialize/update to finish\n const originalInitPromise = FeatureGates.initPromise;\n try {\n await FeatureGates.initPromise;\n }\n catch (err) {\n // Proceed with the user update even if the init failed, since this update\n // may put the client back into a valid state.\n }\n const initializeValuesPromise = getInitializeValues();\n const updateUserPromise = FeatureGates.updateStatsigClientUser(initializeValuesPromise, identifiers, customAttributes);\n // We replace the init promise here since we are essentially re-initializing the client at this point.\n // Any subsequent calls to await FeatureGates.initialize() or FeatureGates.updateUser() will now also await this user update.\n FeatureGates.initPromise = updateUserPromise.catch(() => {\n // If the update failed then it changed nothing, so revert back to the original promise.\n FeatureGates.initPromise = originalInitPromise;\n });\n return updateUserPromise;\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 static async updateStatsigClientUser(initializeValuesPromise, identifiers, customAttributes) {\n var _a, _b;\n let initializeValues, user;\n try {\n initializeValues = await initializeValuesPromise;\n user = FeatureGates.toStatsigUser(identifiers, initializeValues.customAttributesFromFetch);\n }\n catch (err) {\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 already invoke the callback itself.\n const errMsg = err instanceof Error ? err.message : JSON.stringify(err);\n (_b = (_a = FeatureGates.initOptions).updateUserCompletionCallback) === null || _b === void 0 ? void 0 : _b.call(_a, false, errMsg);\n throw err;\n }\n const success = statsig_js_lite_1.default.updateUserWithValues(user, initializeValues.experimentValues);\n if (success) {\n FeatureGates.currentIdentifiers = identifiers;\n FeatureGates.currentAttributes = customAttributes;\n }\n else {\n throw new Error('Failed to update user. An unexpected error occured.');\n }\n }\n /**\n * This method transforms the options given by the user into the format accepted by the Statsig client.\n *\n * @param options\n * @private\n */\n static toStatsigOptions(options, initializeValues) {\n const { \n // De-structured to remove from restClientOptions\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n sdkKey, \n // De-structured to remove from restClientOptions\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n updateUserCompletionCallback } = options, restClientOptions = __rest(options, [\"sdkKey\", \"updateUserCompletionCallback\"]);\n return Object.assign(Object.assign(Object.assign({}, restClientOptions), { initializeValues, environment: {\n tier: options.environment\n }, disableCurrentPageLogging: true }), (options.updateUserCompletionCallback && {\n updateUserCompletionCallback: FeatureGates.toStatsigUpdateUserCompletionCallback(options.updateUserCompletionCallback)\n }));\n }\n /**\n * This method transforms an UpdateUserCompletionCallback in our own format into the format accepted by the Statsig client.\n *\n * @param callback\n * @private\n */\n static toStatsigUpdateUserCompletionCallback(callback) {\n /**\n * The duration passed to the callback indicates how long the update took, but it is deceptive since it only times the\n * Statsig code and doesn't account for all of the extra custom work we do to obtain the bootstrap values.\n * As a result, we just suppress this parameter in our own callback rather than trying to keep it accurate.\n */\n return (_duration, success, message) => {\n callback(success, message);\n };\n }\n static shallowEquals(objectA, objectB) {\n if (!objectA && !objectB) {\n return true;\n }\n if (!objectA || !objectB) {\n return false;\n }\n const aEntries = Object.entries(objectA);\n const bEntries = Object.entries(objectB);\n if (aEntries.length !== bEntries.length) {\n return false;\n }\n const ascendingKeyOrder = ([key1], [key2]) => key1.localeCompare(key2);\n aEntries.sort(ascendingKeyOrder);\n bEntries.sort(ascendingKeyOrder);\n for (let i = 0; i < aEntries.length; i++) {\n const [, aValue] = aEntries[i];\n const [, bValue] = bEntries[i];\n if (aValue !== bValue) {\n return false;\n }\n }\n return true;\n }\n}\nFeatureGates.initPromise = null;\nFeatureGates.initCompleted = false;\nFeatureGates.hasGetExperimentErrorOccurred = false;\nFeatureGates.hasGetExperimentValueErrorOccurred = false;\nFeatureGates.hasCheckGateErrorOccurred = false;\nexports.default = FeatureGates;\n// This makes it possible to get a reference to the FeatureGates client at runtime.\n// This is important for overriding values in Cyprus 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 window.__FEATUREGATES_JS__ = FeatureGates;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FeatureGateEnvironment = void 0;\nvar FeatureGateEnvironment;\n(function (FeatureGateEnvironment) {\n FeatureGateEnvironment[\"Development\"] = \"development\";\n FeatureGateEnvironment[\"Staging\"] = \"staging\";\n FeatureGateEnvironment[\"Production\"] = \"production\";\n})(FeatureGateEnvironment || (exports.FeatureGateEnvironment = FeatureGateEnvironment = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CLIENT_VERSION = void 0;\nexports.CLIENT_VERSION = \"4.7.1\";\n"],"names":["ContextTypes","getAtlaskitAnalyticsEventHandlers","getAtlaskitAnalyticsContext","noop","AnalyticsListener","Component","constructor","props","super","this","getAnalyticsEventHandlers","channel","onEvent","context","event","eventChannel","contextValue","render","children","value","ExportedAnalyticsListener","_ref","_process","_process$env","_process2","_process2$env","DEBUG_MODE","undefined","globalThis","process","env","JEST_WORKER_ID","NODE_ENV","PFF_GLOBAL_KEY","hasProcessEnv","ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE","DEFAULT_PFF_GLOBAL","earlyResolvedFlags","Map","booleanResolver","flagKey","globalVar","window","getBooleanFF","name","args","console","debug","_globalVar$PFF_GLOBAL3","result","warn","e","resolveBooleanFlag","LevelContext","createContext","TopLevelContext","topLevelRef","current","setTopLevel","LevelProvider","currentLevel","useContext","useEffect","Provider","LayeringProvider","useRef","useMemo","level","UNSAFE_LAYERING","isNested","content","ESCAPE","useCloseOnEscapePress","onClose","isDisabled","escapePressed","isLayerDisabled","UNSAFE_useLayering","onKeyDown","useCallback","isDisabledLayer","key","onKeyUp","document","type","listener","capture","EMPTY_MODIFIERS","usePopper","referenceElement","popperElement","options","prevOptions","optionsWithDefaults","onFirstUpdate","placement","strategy","modifiers","_React$useState","styles","popper","position","left","top","arrow","attributes","state","setState","updateStateModifier","enabled","phase","fn","elements","Object","keys","map","element","requires","popperOptions","newOptions","concat","popperInstanceRef","setOptions","popperInstance","createPopper","destroy","update","forceUpdate","NOOP","NOOP_PROMISE","Promise","resolve","Popper","_ref$placement","_ref$strategy","_ref$modifiers","innerRef","referenceNode","Manager","setPopperElement","_React$useState2","arrowElement","setArrowElement","_usePopper","childrenProps","ref","style","hasPopperEscaped","modifiersData","hide","isReferenceHidden","arrowProps","constantModifiers","flipVariations","padding","boundary","rootBoundary","defaultChildrenFn","defaultOffset","offset","offsetX","offsetY","internalModifiers","mergedModifiers","cache","serialized","isStringTag","className","registered","hasOwnProperty","EmotionCacheContext","HTMLElement","func","forwardRef","typePropName","Insertion","inserted","insert","sheet","next","Emotion$1","cssProp","css","WrappedComponent","registeredStyles","classNames","rawClassName","split","forEach","push","newProps","call","jsx","arguments","argsLength","length","createElementArgArray","Array","createEmotionProps","i","_len","_key","createContainer","zIndex","container","createElement","getPortalParent","parentElement","querySelector","parent","display","body","appendChild","removePortalContainer","removeChild","appendPortalContainerIfNotAppended","InternalPortal","createPortal","useIsomorphicLayoutEffect","useLayoutEffect","zIndexToName","getLayerName","firePortalEvent","eventName","detail","layer","Number","CustomEvent","getEvent","dispatchEvent","Portal","mountStrategy","isSubsequentRender","setIsSubsequentRender","useState","useMountEffect","zIndexNumber","CHANNEL","DEFAULT_THEME_MODE","THEME_MODES","theme","includes","mode","themed","modesOrVariant","variantModes","variantProp","variants","modes","R300","Y300","G300","B100","B400","N0","N200","N800","DN600","DN300","DN50","RepositionOnUpdate","light","dark","isFirstRenderRef","Fragment","popupStyles","boxSizing","flex","backgroundColor","borderRadius","boxShadow","outline","popupOverflowStyles","overflow","DefaultPopupComponent","shouldRenderToParent","htmlAttributes","isOpen","id","testId","fallbackPlacements","shouldFlip","popupComponent","PopupContainer","autoFocus","triggerRef","shouldUseCaptureOnOutsideClick","popupRef","setPopupRef","initialFocusRef","setInitialFocusRef","trapConfig","clickOutsideDeactivates","escapeDeactivates","initialFocus","fallbackFocus","returnFocusOnDeactivate","focusTrap","frameId","requestAnimationFrame","activate","cancelAnimationFrame","deactivate","useFocusManager","closePopup","target","contains","isClickOnPopup","isClickOnTrigger","useCloseManager","node","tabIndex","Popup","memo","trigger","setTriggerRef","renderPopperWrapper","Reference","__assign","assign","t","s","n","p","prototype","apply","defineProperty","exports","bindAll","bind_1","toOptions","bindings","sharedOptions","unbinds","original","binding","getBinding","bind","unbind","_a","addEventListener","removeEventListener","enumerable","get","bind_all_1","tabbable","listeningFocusTrap","tryFocus","focus","activeElement","tagName","toLowerCase","select","module","userOptions","tabbableNodes","firstTabbableNode","lastTabbableNode","nodeFocusedBeforeActivation","active","paused","tabEvent","config","trap","activateOptions","defaultedActivateOptions","onActivate","addListeners","pause","removeListeners","unpause","deactivateOptions","defaultedDeactivateOptions","returnFocus","onDeactivate","setTimeout","updateTabbableNodes","getNodeForOption","Error","firstFocusNode","checkFocus","checkClick","checkPointerDown","checkKey","optionName","optionValue","preventDefault","stopImmediatePropagation","blur","shiftKey","readjustFocus","keyCode","hasAttribute","getAttribute","currentFocusIndex","indexOf","handleTab","isEscapeEvent","obj","prop","qs","sep","eq","regexp","maxKeys","len","kstr","vstr","k","v","x","replace","idx","substr","decodeURIComponent","isArray","stringifyPrimitive","isFinite","ks","encodeURIComponent","join","decode","parse","encode","stringify","hasElementType","Element","hasMap","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","equal","a","b","it","size","entries","done","has","RegExp","source","flags","valueOf","toString","$$typeof","error","message","match","ManagerReferenceNodeContext","ManagerReferenceNodeSetterContext","setReferenceNode","hasUnmounted","handleSetReferenceNode","refHandler","Boolean","unwrapArray","arg","safeInvoke","setRef","fromEntries","reduce","acc","generateUID","counter","WeakMap","uid","item","index","set","el","candidate","candidateIndexAttr","candidateIndex","elementDocument","ownerDocument","basicTabbables","orderedTabbables","isUnavailable","isOffCache","isOff","nodeComputedStyle","documentElement","defaultView","getComputedStyle","parentNode","computedStyle","visibility","createIsUnavailable","candidateSelectors","candidates","querySelectorAll","includeContainer","matches","msMatchesSelector","webkitMatchesSelector","some","candidateSelector","slice","unshift","l","parseInt","isNaN","disabled","sort","AnalyticsEvent","payload","updater","UIAnalyticsEvent","hasFired","handlers","JSON","handler","useAnalyticsEvents","analyticsContext","createAnalyticsEvent","getEnv","validateEnv","atob","Buffer","encoded","from","btoa","str","URLSearchParams","TypeError","productShorthands","confluence","jira","stride","bitbucket","trello","originParamName","originVersioningAttributes","originLibrary","OriginTracer","generateId","product","dangerouslySkipValidation","validate","static","test","EmptyOriginTracer","MalformedOriginTracer","url","params","replaceQuery","queryString","fromEncoded","createEmpty","createMalformed","delete","encodedOrigin","originData","encodedOriginString","base64","base64url","String","padLength","base64UrlToBase64","json","originJSONObject","maybeShorthand","products","expandProductShorthand","fromJSONObject","toJSONObject","addToUrl","originalQueryString","isEmpty","isMalformed","isValid","toAnalyticsAttributes","transformValue","hasGeneratedId","originProduct","isValidId","isValidProduct","originMalformed","replacer","wholeMatch","beforeQuery","afterQuery","newQueryString","TRACKING_EVENT_NAMES","ACTION_SUBJECT_IDS","api","init","converter","defaultAttributes","expires","Date","now","toUTCString","escape","stringifiedAttributes","attributeName","cookie","write","create","cookies","jar","parts","found","read","remove","withAttributes","withConverter","freeze","path","containerStyle","buttonStyle","indicatorStyle","CartIcon","numberOfProductTrials","width","height","viewBox","fill","xmlns","opacity","d","fillRule","clipRule","CartButton","analyticsAttributes","onClick","wacCartRendered","action","actionSubject","actionSubjectId","fire","title","keyframes","insertable","anim","Consumer","useTheme","defaultGetTokens","emptyThemeFn","getTokens","ThemeContext","themeProps","tokens","themeFn","valueFn","mixedFn","createTheme","presetSizes","xsmall","small","medium","large","xlarge","rotateStyles","animation","to","transform","animationTimingFunction","transformOrigin","loadInStyles","strokeDashoffset","animationFillMode","wrapperStyles","verticalAlign","circleStyles","strokeDasharray","strokeLinecap","strokeWidth","filter","stroke","appearance","delay","interactionName","label","providedSize","animationDelay","getStrokeColor","hold","cx","cy","r","spacingTokens","color","background","accent","blue","bolder","subtle","subtler","subtlest","gray","green","magenta","orange","purple","red","teal","yellow","brand","default","hovered","pressed","bold","danger","discovery","information","input","selected","success","warning","blanket","border","inverse","elevation","surface","footer","solid","alternate1","alternate2","alternate3","primary","overlay","raised","icon","link","text","utility","MISSING_TOKEN","alternate","isValidNestedObject","rawTokens","getValue","tokenName","colorBackgroundDefaultTokens","colorBorderDefaultTokens","colorTextDefaultTokens","wplToken","spinnerContainerStyle","headerContainerStyle","headerStyle","descriptionStyle","dividerStyle","footerContainerStyle","totalValueStyle","taxSubtextStyle","buttonWrapper","bodyStyle","linkStyle","errorContainerStyle","ErrorIcon","x1","y1","x2","y2","gradientUnits","stopColor","ErrorState","errorScreenDisplayed","wacCartPopoverErrorScreen","href","rel","EntitlementsPopup","addPaymentDetailsURL","formattedTotalPrice","hasError","isLoading","wacCartPopoverViewed","wacCartAddPaymentDetailsButtonClicked","SurfaceContext","displayName","asAllowlist","textAlignMap","center","textAlign","end","start","textTransformMap","none","textTransform","lowercase","uppercase","verticalAlignMap","middle","bottom","baseStyles","margin","truncateStyles","textOverflow","whiteSpace","HasTextAncestorContext","as","colorProp","fontSize","fontWeight","lineHeight","shouldTruncate","UNSAFE_style","inverseTextColor","useColor","isWrapped","component","fontFamilyMap","sans","textColorMap","fontSizeMap","fontWeightMap","lineHeightMap","regular","semibold","fontFamily","code","heading","monospace","dimensionMap","spaceMap","borderColorMap","backgroundColorMap","surfaceColorMap","borderWidthMap","spacingProperties","getSerializedStylesMap","cssProperty","tokenMap","emotionSpacingMap","token","paddingStylesMap","styleMap","spacingProperty","backgroundColorStylesMap","surfaceColorStylesMap","ui","isSurfaceColorToken","tokensMap","blockSize","borderColor","borderWidth","columnGap","gap","inlineSize","inset","insetBlock","insetBlockEnd","insetBlockStart","insetInline","insetInlineEnd","insetInlineStart","marginBlock","marginBlockEnd","marginBlockStart","marginBottom","marginInline","marginInlineEnd","marginInlineStart","marginLeft","marginRight","marginTop","maxBlockSize","maxHeight","maxInlineSize","maxWidth","minBlockSize","minHeight","minInlineSize","minWidth","outlineOffset","outlineWidth","outlineColor","paddingBlock","paddingBlockEnd","paddingBlockStart","paddingBottom","paddingInline","paddingInlineEnd","paddingInlineStart","paddingLeft","paddingRight","paddingTop","right","rowGap","card","navigation","dialog","modal","flag","spotlight","tooltip","uniqueSymbol","Symbol","safeSelectors","transformStyles","styleObj","tokenValue","parseXcss","xcss","_spreadClass","safeHtmlAttributes","transformedStyles","baseXcss","Lozenge","isBold","appearanceStyle","appearanceType","backgroundColors","maxWidthValue","maxWidthIsPc","textColors","inprogress","moved","new","removed","defaultLogoParams","getColorsFromAppearance","iconGradientStart","iconGradientStop","iconColor","textColor","atlassianLogoTextColor","CSS_VAR_COLOR","CSS_VAR_FILL","baseWrapperStyles","userSelect","stopColorStyles","stop","sizeStyles","val","svg","userDefinedTestId","rest","shouldApplyStopColor","role","dangerouslySetInnerHTML","__html","colors","JSW_KEY","JSM_KEY","JWM_KEY","JPD_KEY","CONFLUENCE_KEY","PRODUCT_NAME_BY_KEY","PRODUCT_ICON_BY_KEY","lozengeStyle","mainContentStyle","productTextStyle","productNameStyle","totalCostStyle","subContentStyle","siteNameStyle","userBreakdownStyle","EntitlementItem","daysLeft","productKey","productAndPlanName","siteName","usersPriceBreakdown","IconComponent","count","ShowAllLink","totalEntitlementsCount","showAllLinkDisplayed","wacCartShowAllLinkDisplayed","showAllLinkClicked","wacCartShowAllLinkClicked","fetchAPI","async","initObj","baseURL","location","hostname","fetch","credentials","mapSiteToEntitlements","site","existingTransactionAccountId","existingInvoiceGroupId","foundTransactionId","foundInvoiceGroupId","entitlements","ccpTransactionAccountId","invoiceGroupId","_","currentProduct","siteURLMatch","exec","currDate","utcZero","UTC","getFullYear","getMonth","getDate","daysLeftInTrial","numberOfSeconds","trialEndDate","toMilliseconds","Math","round","toSeconds","toMinutes","toHours","toDays","toWeeks","toMonths","toYears","entitlementId","ccpEntitlementId","edition","toUpperCase","invoiceGroupResp","headers","ok","status","statusText","wacCartInvoiceGroupsCallFailed","aaid","invoiceable","formatPrice","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","currency","currencyDisplay","format","AdminCartWrapper","enrolled","wacCartFeatureExposed","transactionAccountId","hasRun","cachedEntitlements","setCachedEntitlements","setTotalEntitlementsCount","setTransactionAccountId","setInvoiceGroupId","productHubInfo","sites","noSitesFound","wacCartProductHubInfoReturnedNoSites","recvTransactionAccountId","recvInvoiceGroupId","siteIdx","countTotalEntitlements","foundEntitlements","taId","iGroupId","numEntitlements","noEntitlementsFound","wacCartProductHubInfoReturnedNoEntitlements","wacCartUseEntitlementsFailed","useEntitlements","estimates","fetchEntitlementListings","isLoadingEntitlementListings","fetchEntitlementListingsError","isFetching","setIsFetching","setHasError","setFormattedTotalPrice","setEstimates","totalPrice","compiledEstimates","entitlementById","entitlement","allEstimateResponses","all","estimateResp","wacCartEstimateCallFailed","items","chargeQuantity","total","chargeElement","quantity","every","estimate","wacCartUseEntitlementListingsFailed","useEntitlementListings","popupOpen","setPopupOpen","isProd","numberOfEntitlements","handleCartClick","wacCartIconClicked","wacCartIcon","popupState","handleClosePopup","wacCartPopoverClosed","getAddPaymentDetailsURL","triggerProps","NonEnrolledCart","FeatureGatedAdminTrialCart","enrolledAb","fireExperimentExposure","versionDefinitionV0","description","channels","fieldDefinitions","schema","versions","sendAnalytics","analyticsEvent","mergedAnalyticsEvent","currentAnalyicsEvent","_objectSpread","trackEvent","getEnvironment","Environment","apiKey","environment","FeatureGateEnvironment","_storage$getCookie","atlassianAccountId","storage","React","FeatureGatesInitialization","targetApp","identifiers","customAttributes","platform","locale","lang","version","fields","versionSelect","root","nodeType","freeGlobal","g","global","self","punycode","maxInt","base","tMax","skew","damp","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","floor","stringFromCharCode","fromCharCode","RangeError","array","mapDomain","string","ucs2decode","extra","output","charCodeAt","ucs2encode","digitToBasic","digit","adapt","delta","numPoints","firstTime","out","basic","j","oldi","w","baseMinusT","codePoint","inputLength","bias","lastIndexOf","splice","handledCPCount","basicLength","m","q","currentValue","handledCPCountPlusOne","qMinusT","util","Url","protocol","slashes","auth","host","port","hash","search","query","pathname","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","parseQueryString","slashesDenoteHost","isString","queryIndex","splitter","uSplit","trim","simplePath","proto","lowerProto","atSign","hostEnd","hec","parseHost","ipv6Hostname","hostparts","part","newpart","validParts","notHost","bit","toASCII","h","ae","esc","qm","isObject","charAt","relative","resolveObject","u","urlParse","tkeys","tk","tkey","rkeys","rk","rkey","relPath","shift","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","pop","isNullOrUndefined","authInHost","isNull","last","hasTrailingSlash","up","isAbsolute","errors_1","types_1","version_1","Fetcher","fetcherOptions","fetchRequest","requestBody","response","ResponseError","serviceEnv","useGatewayUrl","Development","Staging","method","baseUrl","getBaseUrl","useGatewayURL","fetchTimeout","fetchTimeoutMs","abortSignal","AbortSignal","timeout","AbortController","abortController","signal","abort","CLIENT_VERSION","handleResponseError","extractResponseBody","__importDefault","mod","__esModule","Fetcher_1","__createBinding","o","k2","desc","getOwnPropertyDescriptor","writable","configurable","__setModuleDefault","__importStar","__exportStar","__rest","getOwnPropertySymbols","propertyIsEnumerable","EvaluationReason","DynamicConfig","statsig_js_lite_1","statsig_js_lite_2","fetcher_1","DEFAULT_CLIENT_KEY","FeatureGates","clientOptions","initPromise","shallowEquals","initOptions","then","initCompleted","initializeValues","initFromValues","fetchOptions","updateUserUsingInitializeValuesProducer","fetchExperimentValues","experimentValues","customAttributesFromFetch","gateName","checkGate","hasCheckGateErrorOccurred","msg","experimentName","getExperiment","getExperimentWithExposureLoggingDisabled","hasGetExperimentErrorOccurred","time","reason","parameterName","defaultValue","experiment","typeGuard","hasGetExperimentValueErrorOccurred","manuallyLogExperimentExposure","shutdown","overrideGate","values","overrideConfig","overrides","setOverrides","gates","configs","layers","currentIdentifiers","currentAttributes","fromValuesClientOptions","disableCurrentPageLogging","customAttributesFromResult","clientSdkKeyPromise","fetchClientSdk","sdkKey","clientSdkKey","experimentValuesPromise","experimentValuesResult","user","toStatsigUser","eventLoggingApi","statsigOptions","toStatsigOptions","initialize","customIDs","custom","userID","getInitializeValues","isCurrentUser","originalInitPromise","err","initializeValuesPromise","updateUserPromise","updateStatsigClientUser","catch","_b","errMsg","updateUserCompletionCallback","updateUserWithValues","restClientOptions","tier","toStatsigUpdateUserCompletionCallback","callback","_duration","objectA","objectB","aEntries","bEntries","ascendingKeyOrder","key1","key2","localeCompare","aValue","bValue","__FEATUREGATES_JS__"],"sourceRoot":""}