{"version":3,"file":"chunks/f8444cae331a0c.js","mappings":"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","sources":["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/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/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/js-cookie/dist/js.cookie.mjs","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/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/src/versions/v0/utils/constants.ts","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/entitlements-popup.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/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/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/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","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassian/feature-gates-react/dist/FeatureGatesInitialization.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassian/feature-gates-react/dist/FeatureGatesInitializationWithDefaults.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassian/feature-gates-react/dist/FeatureGatesInitializationWithValues.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassian/feature-gates-react/dist/index.js","webpack:///./node_modules/@atlassiansox/admin-trial-cart/node_modules/@atlassian/feature-gates-react/dist/utils.js"],"sourcesContent":["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","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","/* 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","/*! 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","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};","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 width: 14px;\n font-size: 8.5px;\n top: -5px;\n left: -7px;\n justify-content: center;\n align-items: center;\n`;\n","import { indicatorStyle } from './cart-icon.styles';\n\ninterface CartIconProps {\n numberOfProductTrials: number;\n}\n\nexport const CartIcon = ({ numberOfProductTrials }: CartIconProps) => (\n
\n
{numberOfProductTrials}
\n \n \n \n \n \n \n
\n);\n","import { containerStyle, buttonStyle } from './cart-button.styles';\nimport { CartIcon } from './cart-icon';\n\ninterface CartButtonProps {\n numberOfProductTrials: number;\n onClick: () => void;\n}\n\nconst CartButton = ({ numberOfProductTrials, onClick }: CartButtonProps) => {\n return (\n
\n 1 ? 'trials' : 'trial'\n } ending soon`}\n >\n \n \n
\n );\n};\n\nexport default CartButton;\n","export enum TRACKING_EVENT_NAMES {\n wacCartIconClicked = 'wacCartIconClicked',\n wacCartPopoverViewed = 'wacCartPopoverViewed',\n wacCartPopoverClosed = 'wacCartPopoverClosed',\n wacCartAddPaymentDetailsButtonClicked = 'wacCartAddPaymentDetailsButtonClicked'\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 max-width: 400px;\n padding: ${wplToken('space.300')};\n`;\n\nexport const headerContainerStyle = css`\n display: flex;\n align-items: center;\n margin-bottom: ${wplToken('space.100')};\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: 600;\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.200')} 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: 600;\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","import { PropsWithChildren, useEffect } from 'react';\nimport { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { Button as WPLButton, Icon } from '@atlassiansox/wpl-utils';\nimport { TRACKING_EVENT_NAMES } from '../../utils/constants';\nimport {\n containerStyle,\n headerContainerStyle,\n headerStyle,\n descriptionStyle,\n dividerStyle,\n footerContainerStyle,\n totalValueStyle,\n taxSubtextStyle,\n buttonWrapper\n} from './entitlements-popup.styles';\n\nexport interface EntitlementsPopupProps {\n numberOfProductTrials: number;\n formattedTotalPrice: string;\n addPaymentDetailsURL: string;\n}\n\nconst EntitlementsPopup = ({\n numberOfProductTrials,\n formattedTotalPrice,\n addPaymentDetailsURL,\n children\n}: PropsWithChildren) => {\n const { createAnalyticsEvent } = useAnalyticsEvents();\n\n const analyticsAttributes = {\n numberOfProductTrials,\n // TODO add these attributes when we know how\n // data is being served\n invoicedGroupId: null,\n transactionAccountId: null,\n atlassianAccountId: null\n // TODO add experiment attributes\n };\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 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","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","/**\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 mainContentStyle = css`\n display: flex;\n align-items: start;\n font-size: 16px;\n font-weight: 600;\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`;\n\nexport const rightAlignedStyle = css`\n text-align: right;\n`;\n\nexport const subContentStyle = css`\n display: flex;\n font-size: 14px;\n color: ${getColor('n300')};\n margin: ${wplToken('space.100')} 0;\n\n div {\n flex: 1 1 auto;\n }\n`;\n","import Lozenge from '@atlaskit/lozenge';\nimport { ProductKey, PRODUCT_ICON_BY_KEY } from '../../../models';\nimport {\n containerStyle,\n mainContentStyle,\n productTextStyle,\n productNameStyle,\n totalCostStyle,\n rightAlignedStyle,\n subContentStyle\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} day{pluralize(daysLeft)} left on trial\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';\n\nexport const containerStyle = css`\n display: inline-block;\n`;\n","const fetchAPI = async (url: string, initObj?: RequestInit) => {\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\n return fetch(baseURL + url, { credentials: 'include', ...initObj });\n};\n\nexport { fetchAPI };\n","import { seconds } from '@wilkins-software/time-conversion-helpers';\nimport { useEffect, useRef, useState } from 'react';\nimport {\n Entitlement,\n Site,\n ProductKey,\n PRODUCT_NAME_BY_KEY\n} from '../../models';\nimport { fetchAPI } from '../utils';\n\nconst mapSiteToEntitlements = async (\n site: Site\n): Promise<[Entitlement[]?, string?, string?]> => {\n let foundInvoiceGroupId: string | undefined;\n let foundTransactionId: string | undefined;\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 and TLD\n const siteURLMatch = /https:\\/\\/(.*).com/.exec(hostname);\n const siteName = (siteURLMatch && siteURLMatch[1]) ?? '';\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: seconds(\n (new Date(currentProduct.trialEndDate).valueOf() - Date.now()) /\n 1000\n ).toDays()\n };\n });\n }\n\n if (!foundTransactionId) {\n return [];\n }\n\n // check that this invoice is not invoiceable, meaning payment details\n // have not yet been added\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 // TODO: should this be an analytics event?\n console.error(`Call to /invoice-groups/ failed: ${status} ${statusText}`);\n\n return [];\n }\n\n const { invoiceable } = await invoiceGroupResp.json();\n if (invoiceable) {\n return [];\n }\n\n // only show the first five\n return [entitlements.slice(0, 5), foundTransactionId, foundInvoiceGroupId];\n};\n\nconst useEntitlements = (): [Entitlement[], string, string] => {\n const hasRun = useRef(false);\n const [cachedEntitlements, setCachedEntitlements] = useState();\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 const productHubInfo = await fetchAPI('/producthub/info');\n\n const { ok, status, statusText } = productHubInfo;\n if (!ok) {\n // TODO: should this be an analytics event?\n console.error(\n `Call to /producthub/info failed with status ${status} ${statusText}`\n );\n\n return;\n }\n\n const { sites } = await productHubInfo.json();\n if (!sites || sites.length === 0) {\n return;\n }\n\n let siteIdx = 0;\n let entitlements: Entitlement[] = [];\n let recvTransactionAccountId;\n let recvInvoiceGroupId;\n\n // iterate over sites to find one with one or more eligible entitlement\n while (entitlements.length === 0 && siteIdx < sites.length) {\n const site = sites[siteIdx];\n if (site) {\n const [foundEntitlements, taId, iGroupId] =\n await mapSiteToEntitlements(site);\n\n entitlements = foundEntitlements ?? [];\n recvTransactionAccountId = taId;\n recvInvoiceGroupId = iGroupId;\n }\n\n siteIdx++;\n }\n\n setCachedEntitlements(entitlements);\n setTransactionAccountId(recvTransactionAccountId ?? '');\n setInvoiceGroupId(recvInvoiceGroupId ?? '');\n })();\n });\n\n return [cachedEntitlements ?? [], transactionAccountId, invoiceGroupId];\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 { useEffect, useRef, useState } from 'react';\nimport { fetchAPI } from '../utils';\nimport { Entitlement } from '../../models';\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}).format;\n\nconst useEntitlementListings = (\n entitlements: Entitlement[]\n): [string, EntitlementListing[]] => {\n const hasRun = useRef(false);\n\n const [formattedTotalPrice, setFormattedTotalPrice] = useState('');\n const [estimates, setEstimates] = useState([]);\n\n useEffect(() => {\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 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 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 return;\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 const entitlement = entitlementById[entitlementId];\n if (entitlement) {\n const { siteName, productAndPlanName, productKey, daysLeftInTrial } =\n entitlement;\n\n const areDefined = [\n siteName,\n productAndPlanName,\n daysLeftInTrial\n ].every((v) => v !== undefined);\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}s x $${\n total / parseInt(quantity)\n } each`\n };\n\n compiledEstimates.push(estimate);\n }\n }\n }\n\n setFormattedTotalPrice(formatPrice(totalPrice));\n setEstimates(compiledEstimates);\n })();\n });\n\n return [formattedTotalPrice, estimates];\n};\n\nexport { useEntitlementListings };\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { Popup } from '@atlaskit/popup';\nimport { ExtractPropsFromDefinitionVersion } from '@atlassiansox/bxp-definition-sdk';\nimport { useState } from 'react';\nimport type definition from '../../../definition';\nimport CartButton from '../components/cart-button/cart-button';\nimport {\n EntitlementItem,\n EntitlementsPopup\n} from '../components/entitlements-popup';\nimport { TRACKING_EVENT_NAMES } from '../utils/constants';\nimport { containerStyle } from './admin-trial-cart.styles';\nimport { useEntitlements } from './hooks';\nimport { useEntitlementListings } from './hooks/use-entitlement-listings';\n\nexport type ModulePropsV0 = ExtractPropsFromDefinitionVersion<\n typeof definition,\n 0\n>;\n\nconst AdminTrialCart = ({}: ModulePropsV0) => {\n const [entitlements, transactionAccountId, invoiceGroupId] =\n useEntitlements();\n const [formattedTotalPrice, estimates] = useEntitlementListings(\n entitlements ?? []\n );\n\n const [popupOpen, setPopupOpen] = useState(false);\n const { createAnalyticsEvent } = useAnalyticsEvents();\n\n const isProd = location.hostname === 'www.atlassian.com';\n\n const handleCartClick = () => {\n createAnalyticsEvent({\n eventName: TRACKING_EVENT_NAMES.wacCartIconClicked,\n action: 'clicked',\n actionSubject: 'button',\n actionSubjectId: 'wacCartIcon',\n attributes: {\n popoverOpen: !popupOpen\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: 'wacCartPopover'\n }).fire();\n setPopupOpen(false);\n };\n\n if (!entitlements) {\n return
;\n }\n\n return (\n
\n (\n
\n \n
\n )}\n content={() => (\n \n
\n {estimates?.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
\n \n )}\n />\n
\n );\n};\n\nexport default AdminTrialCart;\n","import Cookies from 'js-cookie';\nimport AdminTrialCart, { ModulePropsV0 } from './admin-trial-cart';\nimport FeatureGates, {\n FeatureGateEnvironment\n} from '@atlassian/feature-gate-js-client';\nimport { FeatureGatesInitialization } from '@atlassian/feature-gates-react';\nimport { PropsWithChildren } from 'react';\n\nconst FeatureGateWrapper = ({ children }: PropsWithChildren) => {\n const atlassianAccountId = Cookies.get('__aid_user_id');\n\n if (!atlassianAccountId || atlassianAccountId === '') {\n return false;\n }\n\n const isProd = location.hostname === 'www.atlassian.com';\n\n const environment = !isProd\n ? FeatureGateEnvironment.Staging\n : FeatureGateEnvironment.Production;\n\n const apiKey = !isProd\n ? 'ff9c70b0-ab7e-4abc-be4f-53f9c3fd37d6'\n : '4e18bcb9-52fb-4f76-b7b6-a0d9d8e56f8f';\n\n // TODO: fire statsig experiment exposure event\n return (\n \n {children}\n \n );\n};\n\nconst StatsigContainer = (props: ModulePropsV0) => (\n \n \n \n);\n\nconst FeatureGatedAdminTrialCart = (props: ModulePropsV0) => {\n // TODO: remove feature gate before starting experiment\n const featureGateCheck = FeatureGates.checkGate(\n 'wac_cart_development_feature_gate'\n );\n\n if (!featureGateCheck) {\n return;\n }\n\n const enrolled = FeatureGates.getExperimentValue(\n 'aa_test_wac_cart',\n 'treatment',\n 'control'\n );\n\n if (enrolled === 'control') {\n // TODO: fire statsig control exposure event\n return;\n }\n\n // TODO: fire statsig experiment exposure event\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 name: 'addPaymentDetailsURL',\n type: 'string',\n label: 'Text',\n validations: {\n isRequired: true\n }\n }\n ]\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 versionSelect from \"@atlassiansox/admin-trial-cart\";\n\nconst CartBtn = () => (\n
\n {versionSelect({\n version: 0,\n fields: {},\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","/**\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';\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 static checkGate(gateName) {\n return statsig_js_lite_1.default.checkGate(gateName);\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.\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 defaultOptions = {\n fireExperimentExposure: true\n };\n const { fireExperimentExposure } = Object.assign(Object.assign({}, defaultOptions), 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.\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 defaultOptions = {};\n const { typeGuard } = Object.assign(Object.assign({}, defaultOptions), 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 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(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 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;\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.5.0\";\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.FeatureGatesInitialization = void 0;\nconst react_1 = require(\"react\");\nconst feature_gate_js_client_1 = __importDefault(require(\"@atlassian/feature-gate-js-client\"));\nconst utils_1 = require(\"./utils\");\n/**\n * This component initializes the @atlassian/feature-flag-js-client by fetching the gate and experiment\n * evaluations for the given user, and blocks rendering of the children until the rendering is complete.\n */\nconst FeatureGatesInitialization = ({ children, enabled = true, identifiers, customAttributes, options, initializingComponent, overrides, onReady }) => {\n // Rather than checking the state of all overrides, we can just assume that if overrides are provided\n // then some sort of update will need to be performed, and hold off rendering until the useEffect is run.\n const [isInitialized, setInitialized] = (0, react_1.useState)(!overrides &&\n (0, utils_1.isClientAlreadyInCorrectState)(identifiers, customAttributes));\n // Use a ref for the options, so that we can use them within the following useEffect\n // without adding options as a dependency.\n // This avoids the user updating every time an option is changed.\n const optionsRef = (0, react_1.useRef)(options);\n (0, react_1.useEffect)(() => {\n optionsRef.current = options;\n }, [options]);\n (0, react_1.useEffect)(() => {\n if (enabled) {\n if ((0, utils_1.isClientAlreadyInCorrectState)(identifiers, customAttributes)) {\n (0, utils_1.applyOverrides)(overrides);\n setInitialized(true);\n onReady === null || onReady === void 0 ? void 0 : onReady();\n }\n else {\n const initPromise = feature_gate_js_client_1.default.initializeCalled()\n ? feature_gate_js_client_1.default.updateUser(optionsRef.current, identifiers, customAttributes)\n : feature_gate_js_client_1.default.initialize(optionsRef.current, identifiers, customAttributes);\n void initPromise\n .then(() => (0, utils_1.applyOverrides)(overrides))\n .catch((err) => (0, utils_1.toError)(err))\n .then((err) => {\n setInitialized(true);\n onReady === null || onReady === void 0 ? void 0 : onReady(err || undefined);\n });\n }\n }\n else {\n setInitialized(true);\n onReady === null || onReady === void 0 ? void 0 : onReady();\n }\n return () => (0, utils_1.clearOverrides)(overrides);\n }, [enabled, identifiers, customAttributes, overrides]);\n return (0, utils_1.pickChildToRender)(enabled, isInitialized, children, initializingComponent);\n};\nexports.FeatureGatesInitialization = FeatureGatesInitialization;\nexports.default = exports.FeatureGatesInitialization;\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.FeatureGatesInitializationWithDefaults = void 0;\nconst react_1 = require(\"react\");\nconst feature_gate_js_client_1 = __importDefault(require(\"@atlassian/feature-gate-js-client\"));\nconst utils_1 = require(\"./utils\");\n/**\n * This component initializes the @atlassian/feature-flag-js-client by fetching the gate and experiment\n * evaluations for the given user, and blocks rendering of the children until the rendering is complete.\n */\nconst FeatureGatesInitializationWithDefaults = ({ children, enabled = true, identifiers, customAttributes, options, overrides, onReady }) => {\n // Rather than checking the state of all overrides, we can just assume that if overrides are provided\n // then some sort of update will need to be performed, and hold off rendering until the useEffect is run.\n const [isInitialized, setInitialized] = (0, react_1.useState)(!overrides &&\n (0, utils_1.isClientAlreadyInCorrectState)(identifiers, customAttributes));\n // Use a ref for the options, so that we can use them within the following useEffect\n // without adding options as a dependency.\n // This avoids the user updating every time an option is changed.\n const optionsRef = (0, react_1.useRef)(options);\n (0, react_1.useEffect)(() => {\n optionsRef.current = options;\n }, [options]);\n (0, react_1.useEffect)(() => {\n if (enabled) {\n if ((0, utils_1.isClientAlreadyInCorrectState)(identifiers, customAttributes)) {\n (0, utils_1.applyOverrides)(overrides);\n setInitialized(true);\n onReady === null || onReady === void 0 ? void 0 : onReady();\n }\n else {\n setInitialized(false);\n const initPromise = feature_gate_js_client_1.default.initializeCalled()\n ? feature_gate_js_client_1.default.updateUserWithValues(identifiers, customAttributes)\n : feature_gate_js_client_1.default.initializeFromValues(Object.assign({ sdkKey: 'client-default-key' }, (optionsRef.current || {})), identifiers, customAttributes);\n void initPromise\n .then(() => (0, utils_1.applyOverrides)(overrides))\n .catch((err) => (0, utils_1.toError)(err))\n .then((err) => {\n setInitialized(true);\n onReady === null || onReady === void 0 ? void 0 : onReady(err || undefined);\n });\n }\n }\n else {\n setInitialized(true);\n onReady === null || onReady === void 0 ? void 0 : onReady();\n }\n return () => (0, utils_1.clearOverrides)(overrides);\n }, [enabled, identifiers, customAttributes, overrides]);\n return (0, utils_1.pickChildToRender)(enabled, isInitialized, children);\n};\nexports.FeatureGatesInitializationWithDefaults = FeatureGatesInitializationWithDefaults;\nexports.default = exports.FeatureGatesInitializationWithDefaults;\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.FeatureGatesInitializationWithValues = void 0;\nconst react_1 = require(\"react\");\nconst feature_gate_js_client_1 = __importDefault(require(\"@atlassian/feature-gate-js-client\"));\nconst utils_1 = require(\"./utils\");\n/**\n * This component initializes the @atlassian/feature-flag-js-client by fetching the gate and experiment\n * evaluations for the given user, and blocks rendering of the children until the rendering is complete.\n */\nconst FeatureGatesInitializationWithValues = ({ children, enabled = true, identifiers, customAttributes, options, initializeValues, overrides, onReady }) => {\n // Rather than checking the state of all overrides, we can just assume that if overrides are provided\n // then some sort of update will need to be performed, and hold off rendering until the useEffect is run.\n const [isInitialized, setInitialized] = (0, react_1.useState)(!overrides &&\n (0, utils_1.isClientAlreadyInCorrectState)(identifiers, customAttributes));\n // Use a ref for the options, so that we can use them within the following useEffect\n // without adding options as a dependency.\n // This avoids the user updating every time an option is changed.\n const optionsRef = (0, react_1.useRef)(options);\n (0, react_1.useEffect)(() => {\n optionsRef.current = options;\n }, [options]);\n (0, react_1.useEffect)(() => {\n if (enabled) {\n if ((0, utils_1.isClientAlreadyInCorrectState)(identifiers, customAttributes)) {\n (0, utils_1.applyOverrides)(overrides);\n setInitialized(true);\n onReady === null || onReady === void 0 ? void 0 : onReady();\n }\n else {\n setInitialized(false);\n const initPromise = feature_gate_js_client_1.default.initializeCalled()\n ? feature_gate_js_client_1.default.updateUserWithValues(identifiers, customAttributes, initializeValues)\n : feature_gate_js_client_1.default.initializeFromValues(optionsRef.current, identifiers, customAttributes, initializeValues);\n void initPromise\n .then(() => (0, utils_1.applyOverrides)(overrides))\n .catch((err) => (0, utils_1.toError)(err))\n .then((err) => {\n setInitialized(true);\n onReady === null || onReady === void 0 ? void 0 : onReady(err || undefined);\n });\n }\n }\n else {\n setInitialized(true);\n onReady === null || onReady === void 0 ? void 0 : onReady();\n }\n return () => (0, utils_1.clearOverrides)(overrides);\n }, [enabled, identifiers, customAttributes, initializeValues, overrides]);\n return (0, utils_1.pickChildToRender)(enabled, isInitialized, children);\n};\nexports.FeatureGatesInitializationWithValues = FeatureGatesInitializationWithValues;\nexports.default = exports.FeatureGatesInitializationWithValues;\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 __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};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./FeatureGatesInitialization\"), exports);\n__exportStar(require(\"./FeatureGatesInitializationWithDefaults\"), exports);\n__exportStar(require(\"./FeatureGatesInitializationWithValues\"), exports);\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.clearOverrides = exports.applyOverrides = exports.toError = exports.pickChildToRender = exports.isClientAlreadyInCorrectState = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nconst feature_gate_js_client_1 = __importDefault(require(\"@atlassian/feature-gate-js-client\"));\nlet hasWarnedAboutMissingOverrideSupport = false;\nfunction isClientAlreadyInCorrectState(identifiers, customAttributes) {\n var _a, _b;\n // If either of these methods don't exist (ie. if the product is using {\n var _a;\n (_a = feature_gate_js_client_1.default.overrideGate) === null || _a === void 0 ? void 0 : _a.call(feature_gate_js_client_1.default, gateName, value);\n });\n Object.entries((overrides === null || overrides === void 0 ? void 0 : overrides.configs) || {}).forEach(([configName, values]) => {\n var _a;\n (_a = feature_gate_js_client_1.default.overrideConfig) === null || _a === void 0 ? void 0 : _a.call(feature_gate_js_client_1.default, configName, values);\n });\n}\nexports.applyOverrides = applyOverrides;\nfunction clearOverrides(overrides) {\n Object.keys((overrides === null || overrides === void 0 ? void 0 : overrides.gates) || {}).forEach((gateName) => {\n var _a;\n (_a = feature_gate_js_client_1.default.clearGateOverride) === null || _a === void 0 ? void 0 : _a.call(feature_gate_js_client_1.default, gateName);\n });\n Object.keys((overrides === null || overrides === void 0 ? void 0 : overrides.configs) || {}).forEach((configName) => {\n var _a;\n (_a = feature_gate_js_client_1.default.clearConfigOverride) === null || _a === void 0 ? void 0 : _a.call(feature_gate_js_client_1.default, configName);\n });\n}\nexports.clearOverrides = clearOverrides;\n"],"names":["LevelContext","createContext","TopLevelContext","topLevelRef","current","setTopLevel","LevelProvider","children","currentLevel","useContext","useEffect","Provider","value","LayeringProvider","useRef","useMemo","level","UNSAFE_LAYERING","isNested","content","ESCAPE","useCloseOnEscapePress","onClose","isDisabled","escapePressed","isLayerDisabled","UNSAFE_useLayering","onKeyDown","useCallback","e","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","name","enabled","phase","fn","_ref","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","undefined","registered","hasOwnProperty","EmotionCacheContext","HTMLElement","func","forwardRef","props","typePropName","Insertion","inserted","insert","sheet","next","Emotion$1","cssProp","css","WrappedComponent","registeredStyles","classNames","rawClassName","split","forEach","push","newProps","call","jsx","args","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","window","useLayoutEffect","zIndexToName","getLayerName","firePortalEvent","eventName","event","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","noop","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","this","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","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","equal","a","b","constructor","it","isArray","size","entries","done","has","RegExp","source","flags","valueOf","toString","$$typeof","error","message","match","console","warn","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","result","defaultView","getComputedStyle","parentNode","computedStyle","visibility","createIsUnavailable","candidateSelectors","candidates","querySelectorAll","join","includeContainer","matches","msMatchesSelector","webkitMatchesSelector","some","candidateSelector","slice","unshift","l","parseInt","isNaN","disabled","sort","api","init","converter","defaultAttributes","expires","Date","now","toUTCString","encodeURIComponent","replace","decodeURIComponent","escape","stringifiedAttributes","attributeName","cookie","write","create","cookies","jar","parts","found","read","remove","withAttributes","withConverter","freeze","path","AnalyticsEvent","payload","updater","UIAnalyticsEvent","super","hasFired","context","handlers","JSON","parse","stringify","channel","handler","useAnalyticsEvents","analyticsContext","createAnalyticsEvent","getAtlaskitAnalyticsContext","getAtlaskitAnalyticsEventHandlers","containerStyle","buttonStyle","indicatorStyle","CartIcon","numberOfProductTrials","width","height","viewBox","fill","xmlns","opacity","d","fillRule","clipRule","onClick","title","TRACKING_EVENT_NAMES","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","headerContainerStyle","headerStyle","descriptionStyle","dividerStyle","footerContainerStyle","totalValueStyle","taxSubtextStyle","buttonWrapper","EntitlementsPopup","formattedTotalPrice","addPaymentDetailsURL","analyticsAttributes","invoicedGroupId","transactionAccountId","atlassianAccountId","wacCartPopoverViewed","action","actionSubjectId","fire","wacCartAddPaymentDetailsButtonClicked","actionSubject","url","SurfaceContext","displayName","asAllowlist","textAlignMap","center","textAlign","end","start","textTransformMap","none","textTransform","lowercase","uppercase","verticalAlignMap","verticalAlign","middle","bottom","baseStyles","margin","truncateStyles","textOverflow","whiteSpace","HasTextAncestorContext","as","Component","colorProp","fontSize","fontWeight","lineHeight","shouldTruncate","UNSAFE_style","inverseTextColor","useColor","isWrapped","component","fontFamilyMap","sans","textColorMap","fontSizeMap","fontWeightMap","lineHeightMap","medium","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","test","tokenValue","parseXcss","x","filter","xcss","_spreadClass","safeHtmlAttributes","appearance","transformedStyles","baseXcss","Lozenge","isBold","appearanceStyle","appearanceType","backgroundColors","maxWidthValue","maxWidthIsPc","textColors","inprogress","moved","new","removed","defaultLogoParams","N100","N400","getColorsFromAppearance","iconGradientStart","iconGradientStop","iconColor","textColor","atlassianLogoTextColor","CSS_VAR_COLOR","CSS_VAR_FILL","baseWrapperStyles","userSelect","stopColorStyles","stop","stopColor","sizeStyles","xsmall","small","large","xlarge","val","label","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","mainContentStyle","productTextStyle","productNameStyle","totalCostStyle","rightAlignedStyle","subContentStyle","EntitlementItem","daysLeft","productKey","productAndPlanName","siteName","usersPriceBreakdown","IconComponent","count","fetchAPI","async","initObj","baseURL","location","hostname","fetch","credentials","mapSiteToEntitlements","site","foundInvoiceGroupId","foundTransactionId","entitlements","products","product","ccpTransactionAccountId","invoiceGroupId","_","currentProduct","siteURLMatch","exec","entitlementId","ccpEntitlementId","edition","toUpperCase","daysLeftInTrial","numberOfSeconds","trialEndDate","toMilliseconds","Math","round","toSeconds","toMinutes","toHours","toDays","toWeeks","toMonths","toYears","invoiceGroupResp","headers","ok","status","statusText","invoiceable","json","formatPrice","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","currency","format","hasRun","cachedEntitlements","setCachedEntitlements","setTransactionAccountId","setInvoiceGroupId","productHubInfo","sites","recvTransactionAccountId","recvInvoiceGroupId","siteIdx","foundEntitlements","taId","iGroupId","useEntitlements","estimates","setFormattedTotalPrice","setEstimates","totalPrice","compiledEstimates","entitlementById","entitlement","allEstimateResponses","all","estimateResp","items","chargeQuantity","total","chargeElement","quantity","every","v","estimate","useEntitlementListings","popupOpen","setPopupOpen","isProd","handleCartClick","wacCartIconClicked","popoverOpen","handleClosePopup","wacCartPopoverClosed","triggerProps","FeatureGateWrapper","environment","FeatureGateEnvironment","apiKey","FeatureGatesInitialization","targetApp","identifiers","FeatureGatedAdminTrialCart","versionDefinitionV0","description","channels","fieldDefinitions","validations","isRequired","schema","versions","React","version","fields","versionSelect","errors_1","types_1","version_1","Fetcher","static","fetcherOptions","fetchRequest","customAttributes","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","m","k","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","experimentName","defaultOptions","fireExperimentExposure","getExperiment","getExperimentWithExposureLoggingDisabled","hasGetExperimentErrorOccurred","msg","time","reason","parameterName","defaultValue","experiment","typeGuard","hasGetExperimentValueErrorOccurred","manuallyLogExperimentExposure","shutdown","overrideGate","values","overrideConfig","overrides","setOverrides","currentIdentifiers","currentAttributes","fromValuesClientOptions","disableCurrentPageLogging","customAttributesFromResult","clientSdkKeyPromise","fetchClientSdk","sdkKey","clientSdkKey","experimentValuesPromise","experimentValuesResult","user","toStatsigUser","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__","react_1","feature_gate_js_client_1","utils_1","initializingComponent","onReady","isInitialized","setInitialized","isClientAlreadyInCorrectState","optionsRef","applyOverrides","initializeCalled","updateUser","toError","clearOverrides","pickChildToRender","FeatureGatesInitializationWithDefaults","initializeFromValues","FeatureGatesInitializationWithValues","hasWarnedAboutMissingOverrideSupport","initializeCompleted","gates","configs","configName","clearGateOverride","clearConfigOverride"],"sourceRoot":""}