{"version":3,"file":"chunks/1eb4655e99103e.js","mappings":"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","sources":["webpack:///./node_modules/@atlaskit/button/dist/es2019/components/getStyles.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/utils.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/theme.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/Content.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/IconWrapper.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/InnerWrapper.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/LoadingSpinner.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/Button.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/spinner/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/spinner/dist/es2019/spinner.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/components/Theme.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/button/node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///./node_modules/@atlaskit/button/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/platform-feature-flags/dist/es2019/debug.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/platform-feature-flags/dist/es2019/resolvers.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/platform-feature-flags/dist/es2019/index.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/internal/label.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/icon/dist/es2019/components/utils.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/icon/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/icon/dist/es2019/components/styles.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/icon/dist/es2019/components/svg.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/internal/checkbox-icon.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/internal/label-text.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/internal/required-indicator.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/checkbox.js","webpack:///./node_modules/@atlaskit/ds-lib/dist/es2019/utils/merge-refs.js","webpack:///./node_modules/@atlaskit/icon/glyph/chevron-down.js","webpack:///./node_modules/@atlaskit/icon/glyph/chevron-right.js","webpack:///./node_modules/@atlaskit/progress-bar/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/progress-bar/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlaskit/progress-bar/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlaskit/progress-bar/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/progress-bar/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/progress-bar/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/progress-bar/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/progress-bar/dist/es2019/theme.js","webpack:///./node_modules/@atlaskit/progress-bar/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/progress-bar/dist/es2019/components/progress-bar.js","webpack:///./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack:///./node_modules/@emotion/styled/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","webpack:///./node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","webpack:///./node_modules/history/node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/history/index.js","webpack:///./node_modules/react-router-dom/index.js","webpack:///./node_modules/react-router/index.js","webpack:///./resources/js/common/post-rendered-tracking.ts","webpack:///./resources/js/react/cms-components/configurable-quiz/QuizElementHTML.tsx","webpack:///./node_modules/@atlaskit/radio/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/radio/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/radio/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/radio/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/radio/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlaskit/radio/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/radio/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/radio/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/radio/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/radio/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/radio/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/radio/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/radio/dist/es2019/styles.js","webpack:///./node_modules/@atlaskit/radio/dist/es2019/Radio.js","webpack:///./resources/js/react/cms-components/configurable-quiz/QuizChoices.tsx","webpack:///./resources/js/react/cms-components/configurable-quiz/QuizDuring.tsx","webpack:///./resources/js/react/cms-components/configurable-quiz/QuizResults.tsx","webpack:///./resources/js/react/cms-components/configurable-quiz/QuizRouter.tsx","webpack:///./resources/js/react/cms-components/configurable-quiz/ConfigurableQuizContainer.tsx"],"sourcesContent":["import { borderRadius, fontSize, gridSize } from '@atlaskit/theme/constants';\nimport { applyPropertyStyle, baseTheme } from '../theme';\nconst compactButtonHeight = `${(gridSize() * 3) / fontSize()}em`;\nconst buttonHeight = `${(gridSize() * 4) / fontSize()}em`;\n/** Background */\nconst getBackground = (props) => applyPropertyStyle('background', props, baseTheme);\n/** Box Shadow */\nconst getBoxShadow = (props) => {\n const boxShadowColor = applyPropertyStyle('boxShadowColor', props, baseTheme);\n return `0 0 0 2px ${boxShadowColor}`;\n};\n/** Color */\nconst getColor = (props) => applyPropertyStyle('color', props, baseTheme);\n/** Cursor */\nconst getCursor = ({ state = 'default' }) => state === 'hover' || state === 'active' || state === 'selected'\n ? 'pointer'\n : state === 'disabled'\n ? 'not-allowed'\n : 'default';\n/** Height */\nconst getHeight = ({ spacing = 'default' }) => spacing === 'compact'\n ? compactButtonHeight\n : spacing === 'none'\n ? 'auto'\n : buttonHeight;\n/** Line Height */\nconst getLineHeight = ({ spacing = 'default' }) => spacing === 'compact'\n ? compactButtonHeight\n : spacing === 'none'\n ? 'inherit'\n : buttonHeight;\n/** Padding */\nconst getPadding = ({ spacing = 'default' }) => spacing === 'none' ? 0 : `0 ${gridSize()}px`;\n/** Text Decoration */\nconst getTextDecoration = ({ appearance = 'default', state = 'default', }) => state === 'hover' && (appearance === 'link' || appearance === 'subtle-link')\n ? 'underline'\n : 'inherit';\n/** Transition */\nconst getTransition = ({ state = 'default' }) => state === 'hover'\n ? 'background 0s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)'\n : 'background 0.1s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)';\n/** Transition Duration */\nconst getTransitionDuration = ({ state = 'default' }) => state === 'active' ? '0s' : state === 'focus' ? '0s, 0.2s' : '0.1s, 0.15s';\n/** Vertical Align */\nconst getVerticalAlign = ({ spacing = 'default' }) => spacing === 'none' ? 'baseline' : 'middle';\n/** Width */\nconst getWidth = ({ shouldFitContainer }) => shouldFitContainer ? '100%' : 'auto';\n/** Base styles */\nconst staticStyles = {\n alignItems: 'baseline',\n borderWidth: 0,\n boxSizing: 'border-box',\n display: 'inline-flex',\n fontSize: 'inherit',\n fontStyle: 'normal',\n fontWeight: '500',\n maxWidth: '100%',\n outline: 'none !important',\n textAlign: 'center',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n};\n/**\n * BUTTON STYLES\n */\nexport const getButtonStyles = (props) => ({\n ...staticStyles,\n background: getBackground(props),\n borderRadius: `${borderRadius()}px`,\n boxShadow: getBoxShadow(props),\n color: `${getColor(props)} !important`,\n cursor: getCursor(props),\n height: getHeight(props),\n lineHeight: getLineHeight(props),\n padding: getPadding(props),\n transition: getTransition(props),\n transitionDuration: getTransitionDuration(props),\n verticalAlign: getVerticalAlign(props),\n width: getWidth(props),\n '&::-moz-focus-inner': {\n border: 0,\n margin: 0,\n padding: 0,\n },\n '&:hover': {\n textDecoration: getTextDecoration(props),\n },\n ...(props.isLoading && { pointerEvents: 'none' }),\n});\n/**\n * SPINNER STYLES\n */\nexport const getSpinnerStyles = () => ({\n display: 'flex',\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n});\n//# sourceMappingURL=getStyles.js.map","export const mapAttributesToState = ({ isDisabled = false, isActive = false, isFocus = false, isHover = false, isSelected = false, }) => {\n if (isDisabled) {\n return 'disabled';\n }\n if (isSelected && isFocus) {\n return 'focusSelected';\n }\n if (isSelected) {\n return 'selected';\n }\n if (isActive) {\n return 'active';\n }\n if (isHover) {\n return 'hover';\n }\n if (isFocus) {\n return 'focus';\n }\n return 'default';\n};\nexport const filterProps = (\n// @ts-ignore - createAnalyticsEvent is injected from WithAnalyticsEvents HOC\n{ createAnalyticsEvent, ...props }, type) => {\n if (type === 'span') {\n const { target, href, ...rest } = props;\n return rest;\n }\n return props;\n};\nexport const getLoadingStyle = (isLoading) => ({\n transition: 'opacity 0.3s',\n opacity: isLoading ? 0 : 1,\n});\nexport const composeRefs = (...refs) => {\n return (x) => {\n refs\n .filter(r => !!r)\n .forEach(ref => {\n if (typeof ref === 'function') {\n ref(x);\n }\n else {\n ref.current = x;\n }\n });\n };\n};\n/**\n * Convert a hex colour code to RGBA.\n * @param {String} hex Hex colour code.\n * @param {Number} alpha Optional alpha value (defaults to 1).\n */\nexport function hex2rgba(hex, alpha = 1) {\n if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {\n let colorArr = hex.substring(1).split('');\n if (colorArr.length === 3) {\n colorArr = [\n colorArr[0],\n colorArr[0],\n colorArr[1],\n colorArr[1],\n colorArr[2],\n colorArr[2],\n ];\n }\n const color = `0x${colorArr.join('')}`;\n // FIXME: `>>` operand can validly take a string value\n const r = (color >> 16) & 255;\n const g = (color >> 8) & 255;\n const b = color & 255;\n return `rgba(${[r, g, b].join(',')}, ${alpha})`;\n }\n throw new Error('Bad Hex');\n}\n//# sourceMappingURL=utils.js.map","import * as colors from '@atlaskit/theme/colors';\nimport { createTheme } from '@atlaskit/theme/components';\nimport { getButtonStyles, getSpinnerStyles } from './components/getStyles';\nimport { hex2rgba } from './components/utils';\nexport const fallbacks = {\n background: { light: colors.N20A, dark: colors.DN70 },\n color: { light: colors.N400, dark: colors.DN400 },\n textDecoration: { light: 'none', dark: 'none' },\n};\nexport const baseTheme = {\n // Default appearance\n background: {\n default: {\n default: { light: colors.N20A, dark: colors.DN70 },\n hover: { light: colors.N30A, dark: colors.DN60 },\n active: { light: hex2rgba(colors.B75, 0.6), dark: colors.B75 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.N700, dark: colors.DN0 },\n focusSelected: { light: colors.N700, dark: colors.DN0 },\n },\n primary: {\n default: { light: colors.B400, dark: colors.B100 },\n hover: { light: colors.B300, dark: colors.B75 },\n active: { light: colors.B500, dark: colors.B200 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.N700, dark: colors.DN0 },\n focusSelected: { light: colors.N700, dark: colors.DN0 },\n },\n warning: {\n default: { light: colors.Y300, dark: colors.Y300 },\n hover: { light: colors.Y200, dark: colors.Y200 },\n active: { light: colors.Y400, dark: colors.Y400 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.Y400, dark: colors.Y400 },\n focusSelected: { light: colors.Y400, dark: colors.Y400 },\n },\n danger: {\n default: { light: colors.R400, dark: colors.R400 },\n hover: { light: colors.R300, dark: colors.R300 },\n active: { light: colors.R500, dark: colors.R500 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.R500, dark: colors.R500 },\n focusSelected: { light: colors.R500, dark: colors.R500 },\n },\n link: {\n default: { light: 'none', dark: 'none' },\n selected: { light: colors.N700, dark: colors.N20 },\n focusSelected: { light: colors.N700, dark: colors.N20 },\n },\n subtle: {\n default: { light: 'none', dark: 'none' },\n hover: { light: colors.N30A, dark: colors.DN60 },\n active: { light: hex2rgba(colors.B75, 0.6), dark: colors.B75 },\n disabled: { light: 'none', dark: 'none' },\n selected: { light: colors.N700, dark: colors.DN0 },\n focusSelected: { light: colors.N700, dark: colors.DN0 },\n },\n 'subtle-link': {\n default: { light: 'none', dark: 'none' },\n selected: { light: colors.N700, dark: colors.N20 },\n focusSelected: { light: colors.N700, dark: colors.N20 },\n },\n },\n boxShadowColor: {\n default: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n primary: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n warning: {\n focus: { light: colors.Y500, dark: colors.Y500 },\n focusSelected: { light: colors.Y500, dark: colors.Y500 },\n },\n danger: {\n focus: { light: colors.R100, dark: colors.R100 },\n focusSelected: { light: colors.R100, dark: colors.R100 },\n },\n link: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n subtle: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n 'subtle-link': {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n },\n color: {\n default: {\n default: { light: colors.N500, dark: colors.DN400 },\n active: { light: colors.B400, dark: colors.B400 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n primary: {\n default: { light: colors.N0, dark: colors.DN30 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n warning: {\n default: { light: colors.N800, dark: colors.N800 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N800, dark: colors.N800 },\n focusSelected: { light: colors.N800, dark: colors.N800 },\n },\n danger: {\n default: { light: colors.N0, dark: colors.N0 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N0, dark: colors.N0 },\n focusSelected: { light: colors.N0, dark: colors.N0 },\n },\n link: {\n default: { light: colors.B400, dark: colors.B100 },\n hover: { light: colors.B300, dark: colors.B75 },\n active: { light: colors.B500, dark: colors.B200 },\n disabled: { light: colors.N70, dark: colors.DN100 },\n selected: { light: colors.N20, dark: colors.N700 },\n focusSelected: { light: colors.N20, dark: colors.N700 },\n },\n subtle: {\n default: { light: colors.N500, dark: colors.DN400 },\n active: { light: colors.B400, dark: colors.B400 },\n disabled: { light: colors.N70, dark: colors.DN100 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n 'subtle-link': {\n default: { light: colors.N200, dark: colors.DN400 },\n hover: { light: colors.N90, dark: colors.B50 },\n active: { light: colors.N400, dark: colors.DN300 },\n disabled: { light: colors.N70, dark: colors.DN100 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n },\n};\nexport function applyPropertyStyle(property, { appearance = 'default', state = 'default', mode = 'light', }, theme) {\n const propertyStyles = theme[property];\n if (!propertyStyles) {\n return 'initial';\n }\n // Check for relevant fallbacks\n if (!propertyStyles[appearance]) {\n if (!propertyStyles['default']) {\n return fallbacks[property][mode] ? fallbacks[property][mode] : 'initial';\n }\n appearance = 'default';\n }\n // If there is no 'state' key (ie, 'hover') defined for a given appearance,\n // return the 'default' state of that appearance.\n if (!propertyStyles[appearance][state]) {\n state = 'default';\n }\n const appearanceStyles = propertyStyles[appearance];\n const stateStyles = appearanceStyles[state];\n if (!stateStyles) {\n return 'inherit';\n }\n return stateStyles[mode] || appearanceStyles.default[mode];\n}\nexport const Theme = createTheme(themeProps => ({\n buttonStyles: getButtonStyles(themeProps),\n spinnerStyles: getSpinnerStyles(),\n}));\n//# sourceMappingURL=theme.js.map","import { jsx } from '@emotion/core';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { getLoadingStyle } from './utils';\nexport default ({ children, followsIcon, spacing, isLoading, ...rest }) => (jsx(\"span\", Object.assign({ css: {\n alignItems: followsIcon ? 'baseline' : 'center',\n alignSelf: followsIcon ? 'baseline' : 'center',\n flex: '1 1 auto',\n margin: spacing === 'none' ? 0 : `0 ${gridSize() / 2}px`,\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n ...getLoadingStyle(isLoading),\n } }, rest), children));\n//# sourceMappingURL=Content.js.map","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { getLoadingStyle } from './utils';\nexport default ({ spacing, icon, isOnlyChild, isLoading, ...rest }) => (jsx(\"span\", Object.assign({ css: {\n alignSelf: 'center',\n display: 'flex',\n flexShrink: 0,\n lineHeight: 0,\n fontSize: 0,\n userSelect: 'none',\n margin: spacing === 'none'\n ? 0\n : isOnlyChild\n ? `0 -${gridSize() / 4}px`\n : `0 ${gridSize() / 2}px`,\n ...getLoadingStyle(isLoading),\n } }, rest), icon));\n//# sourceMappingURL=IconWrapper.js.map","import { jsx } from '@emotion/core';\nexport default ({ fit, children, ...rest }) => (jsx(\"span\", Object.assign({ css: {\n alignSelf: 'center',\n display: 'inline-flex',\n flexWrap: 'nowrap',\n maxWidth: '100%',\n position: 'relative',\n ...(fit && { width: '100%' }),\n ...(fit && { justifyContent: 'center' }),\n } }, rest), children));\n//# sourceMappingURL=InnerWrapper.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { jsx } from '@emotion/core';\nimport Spinner from '@atlaskit/spinner';\nconst appearances = ['primary', 'danger'];\nexport default class LoadingSpinner extends React.Component {\n constructor() {\n super(...arguments);\n this.invertSpinner = () => {\n const { appearance, isSelected, isDisabled } = this.props;\n if (isSelected) {\n return true;\n }\n if (isDisabled) {\n return false;\n }\n if (appearance !== undefined) {\n if (appearances.indexOf(appearance) !== -1) {\n return true;\n }\n }\n return false;\n };\n }\n render() {\n const { spacing, styles } = this.props;\n let spinnerSize = spacing !== 'default' ? 'small' : 'medium';\n return (jsx(\"div\", { css: styles },\n jsx(Spinner, { size: spinnerSize, appearance: this.invertSpinner() ? 'invert' : 'inherit' })));\n }\n}\n//# sourceMappingURL=LoadingSpinner.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { jsx } from '@emotion/core';\nimport memoize from 'memoize-one';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents, } from '@atlaskit/analytics-next';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { Theme } from '../theme';\nimport { name as packageName, version as packageVersion, } from '../version.json';\nimport Content from './Content';\nimport IconWrapper from './IconWrapper';\nimport InnerWrapper from './InnerWrapper';\nimport LoadingSpinner from './LoadingSpinner';\nimport { composeRefs, filterProps, mapAttributesToState } from './utils';\nexport class Button extends React.Component {\n constructor() {\n super(...arguments);\n // ref can be a range of things because we render button, a, span or other React components\n this.button = React.createRef();\n // Makes sure we don't call ref every render.\n this.getComposedRefs = memoize(composeRefs);\n this.state = {\n isActive: false,\n isFocus: false,\n isHover: false,\n };\n this.isInteractive = () => !this.props.isDisabled && !this.props.isLoading;\n this.onMouseEnter = (e) => {\n this.setState({ isHover: true });\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n this.onMouseLeave = (e) => {\n this.setState({ isHover: false, isActive: false });\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n this.onMouseDown = (e) => {\n e.preventDefault();\n this.setState({ isActive: true });\n if (this.props.onMouseDown) {\n this.props.onMouseDown(e);\n }\n };\n this.onMouseUp = (e) => {\n this.setState({ isActive: false });\n if (this.props.onMouseUp) {\n this.props.onMouseUp(e);\n }\n };\n this.onFocus = event => {\n this.setState({ isFocus: true });\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n this.onBlur = event => {\n this.setState({ isFocus: false });\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n this.getElement = () => {\n const { href, isDisabled } = this.props;\n if (href) {\n return isDisabled ? 'span' : 'a';\n }\n return 'button';\n };\n // Swallow click events when the button is disabled\n // to prevent inner child clicks bubbling up.\n this.onInnerClick = e => {\n if (!this.isInteractive()) {\n e.stopPropagation();\n }\n return true;\n };\n }\n componentDidMount() {\n if (this.props.autoFocus && this.button instanceof HTMLButtonElement) {\n this.button.focus();\n }\n }\n render() {\n const { appearance = 'default', children, className, component: CustomComponent, consumerRef, iconAfter, iconBefore, isDisabled = false, isLoading = false, isSelected = false, shouldFitContainer = false, spacing = 'default', theme = (current, props) => current(props), testId, ...rest } = this.props;\n const attributes = { ...this.state, isSelected, isDisabled };\n const StyledButton = CustomComponent || this.getElement();\n const iconIsOnlyChild = !!((iconBefore && !iconAfter && !children) ||\n (iconAfter && !iconBefore && !children));\n const specifiers = (styles) => {\n if (StyledButton === 'a') {\n return {\n 'a&': styles,\n };\n }\n else if (StyledButton === CustomComponent) {\n return {\n '&, a&, &:hover, &:active, &:focus': styles,\n };\n }\n return styles;\n };\n return (jsx(Theme.Provider, { value: theme },\n jsx(GlobalTheme.Consumer, null, ({ mode }) => (jsx(Theme.Consumer, Object.assign({ mode: mode, state: mapAttributesToState(attributes), iconIsOnlyChild: iconIsOnlyChild }, this.props), ({ buttonStyles, spinnerStyles }) => (jsx(StyledButton, Object.assign({}, filterProps(rest, StyledButton), { \"data-testid\": testId, ref: this.getComposedRefs(this.button, consumerRef), onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, onMouseDown: this.onMouseDown, onMouseUp: this.onMouseUp, onFocus: this.onFocus, onBlur: this.onBlur, disabled: isDisabled, className: className, css: specifiers(buttonStyles) }),\n jsx(InnerWrapper, { onClick: this.onInnerClick, fit: !!shouldFitContainer },\n isLoading && (jsx(LoadingSpinner, { spacing: spacing, appearance: appearance, isSelected: isSelected, isDisabled: isDisabled, styles: spinnerStyles })),\n iconBefore && (jsx(IconWrapper, { isLoading: isLoading, spacing: spacing, isOnlyChild: iconIsOnlyChild, icon: iconBefore })),\n children && (jsx(Content, { isLoading: isLoading, followsIcon: !!iconBefore, spacing: spacing }, children)),\n iconAfter && (jsx(IconWrapper, { isLoading: isLoading, spacing: spacing, isOnlyChild: iconIsOnlyChild, icon: iconAfter }))))))))));\n }\n}\nButton.defaultProps = {\n appearance: 'default',\n autoFocus: false,\n isDisabled: false,\n isLoading: false,\n isSelected: false,\n shouldFitContainer: false,\n spacing: 'default',\n type: 'button',\n};\nconst createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nconst ButtonWithRef = React.forwardRef((props, ref) => jsx(Button, Object.assign({}, props, { consumerRef: ref })));\nButtonWithRef.displayName = 'Button';\nexport default withAnalyticsContext({\n componentName: 'button',\n packageName,\n packageVersion,\n})(withAnalyticsEvents({\n onClick: createAndFireEventOnAtlaskit({\n action: 'clicked',\n actionSubject: 'button',\n attributes: {\n componentName: 'button',\n packageName,\n packageVersion,\n },\n }),\n})(ButtonWithRef));\n//# sourceMappingURL=Button.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n getAtlaskitAnalyticsContext: PropTypes.func,\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n __extends(AnalyticsContext, _super);\n function AnalyticsContext(props) {\n var _this = _super.call(this, props) || this;\n _this.getChildContext = function () { return ({\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n }); };\n _this.getAnalyticsContext = function () {\n var data = _this.props.data;\n var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [];\n return __spread(ancestorData, [data]);\n };\n _this.getAnalyticsEventHandlers = function () {\n var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [];\n return ancestorHandlers;\n };\n _this.state = {\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n };\n return _this;\n }\n AnalyticsContext.prototype.render = function () {\n var children = this.props.children;\n return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n };\n AnalyticsContext.contextTypes = ContextTypes;\n AnalyticsContext.childContextTypes = ContextTypes;\n return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n function AnalyticsEvent(props) {\n var _this = this;\n this.clone = function () {\n // We stringify and parse here to get a hacky \"deep clone\" of the object.\n // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n // but none of those need to be represented in our payload, so we consider this fine\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new AnalyticsEvent({ payload: payload });\n };\n this.payload = props.payload;\n }\n AnalyticsEvent.prototype.update = function (updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = __assign(__assign({}, this.payload), updater);\n }\n return this;\n };\n return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n __extends(UIAnalyticsEvent, _super);\n function UIAnalyticsEvent(props) {\n var _this = _super.call(this, props) || this;\n _this.clone = function () {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n return null;\n }\n var context = __spread(_this.context);\n var handlers = __spread(_this.handlers);\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 var payload = JSON.parse(JSON.stringify(_this.payload));\n return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n };\n _this.fire = function (channel) {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n return;\n }\n _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n _this.hasFired = true;\n };\n _this.context = props.context || [];\n _this.handlers = props.handlers || [];\n _this.hasFired = false;\n return _this;\n }\n UIAnalyticsEvent.prototype.update = function (updater) {\n if (this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n return this;\n }\n return _super.prototype.update.call(this, updater);\n };\n return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n var consumerEvent = createAnalyticsEvent(payload);\n var clonedEvent = consumerEvent.clone();\n if (clonedEvent) {\n clonedEvent.fire(channel);\n }\n return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n return (React.createElement(AnalyticsContext, { data: analyticsData },\n React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n });\n // @ts-ignore\n WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n __extends(AnalyticsContextConsumer, _super);\n function AnalyticsContextConsumer(props) {\n var _this = _super.call(this, props) || this;\n /**\n * Store references to the original and patched event props so we can\n * determine when to update the patched props\n */\n _this.originalEventProps = {};\n _this.patchedEventProps = {};\n // Update patched event props only if the original props have changed\n _this.updatePatchedEventProps = function (props) {\n var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n if (changedPropCallbacks.length > 0) {\n _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n changedPropCallbacks.forEach(function (p) {\n _this.originalEventProps[p] = props[p];\n });\n }\n return _this.patchedEventProps;\n };\n _this.mapCreateEventsToProps = function (changedPropNames, props) {\n return changedPropNames.reduce(function (modified, propCallbackName) {\n var _a;\n var eventCreator = _this.props.createEventMap[propCallbackName];\n var providedCallback = props[propCallbackName];\n if (!['object', 'function'].includes(typeof eventCreator)) {\n return modified;\n }\n var modifiedCallback = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var analyticsEvent = typeof eventCreator === 'function'\n ? eventCreator(_this.createAnalyticsEvent, props)\n : _this.createAnalyticsEvent(eventCreator);\n if (providedCallback) {\n providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n }\n };\n return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n }, {});\n };\n _this.createAnalyticsEvent = function (payload) {\n var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n return new UIAnalyticsEvent({\n context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [],\n handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [],\n payload: payload,\n });\n };\n Object.keys(_this.props.createEventMap).forEach(function (p) {\n _this.originalEventProps[p] = props.wrappedComponentProps[p];\n });\n _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n return _this;\n }\n AnalyticsContextConsumer.prototype.render = function () {\n var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n return this.props.children({\n createAnalyticsEvent: this.createAnalyticsEvent,\n patchedEventProps: patchedEventProps,\n });\n };\n AnalyticsContextConsumer.contextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func,\n };\n AnalyticsContextConsumer.defaultProps = {\n createEventMap: {},\n };\n return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n })); });\n // @ts-ignore\n WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","export const presetSizes = {\n xsmall: 8,\n small: 16,\n medium: 24,\n large: 48,\n xlarge: 96,\n};\n//# sourceMappingURL=constants.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { css, jsx, keyframes } from '@emotion/core';\nimport { DN500, DN900, N0, N500 } from '@atlaskit/theme/colors';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { presetSizes } from './constants';\nconst rotate = keyframes `\n to { transform: rotate(360deg); }\n`;\n// There are three parts to the load in animation:\n// 1. Fade in\n// 2. Accelerated spin\n// 3. Stretch the spinner line\nconst loadIn = keyframes `\n from {\n transform: rotate(50deg);\n opacity: 0;\n stroke-dashoffset: 60;\n }\n to {\n transform: rotate(230deg);\n opacity: 1;\n stroke-dashoffset: 50;\n }\n`;\nfunction getStrokeColor({ mode, appearance, }) {\n if (mode === 'light') {\n return appearance === 'inherit' ? N500 : N0;\n }\n // Dark mode: colours provided by Jake Miller\n return appearance === 'inherit' ? DN900 : DN500;\n}\nexport default React.memo(React.forwardRef(function Spinner({ testId, appearance = 'inherit', delay = 0, size: providedSize = 'medium', }, ref) {\n const size = typeof providedSize === 'number'\n ? providedSize\n : presetSizes[providedSize];\n return (jsx(GlobalTheme.Consumer, null, (tokens) => {\n const strokeColor = getStrokeColor({\n mode: tokens.mode,\n appearance,\n });\n // The Spinner animation uses a combination of two\n // css animations on two separate elements.\n return (jsx(\"svg\", { focusable: \"false\", height: size, width: size, viewBox: \"0 0 16 16\", xmlns: \"http://www.w3.org/2000/svg\", \"data-testid\": testId, ref: ref, css: css `\n /* align better inline with text */\n vertical-align: middle;\n /* We are going to animate this in */\n opacity: 0;\n\n animation: ${loadIn} 1s ease-in-out;\n /* When the animation completes, stay at the last frame of the animation */\n animation-fill-mode: forwards;\n animation-delay: ${delay}ms;\n ` },\n jsx(\"circle\", { cx: \"8\", cy: \"8\", r: \"7\", css: css `\n fill: none;\n stroke: ${strokeColor};\n stroke-width: 1.5;\n stroke-linecap: round;\n stroke-dasharray: 60;\n stroke-dashoffset: inherit;\n transform-origin: center;\n animation: ${rotate} 0.86s infinite;\n animation-delay: ${delay}ms;\n animation-timing-function: cubic-bezier(0.4, 0.15, 0.6, 0.85);\n ` })));\n }));\n}));\n//# sourceMappingURL=spinner.js.map","import themed from './utils/themed';\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// 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// 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// 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// 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// 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// 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// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\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// 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// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\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// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import { createTheme } from '../utils/createTheme';\n// Create default global light theme\nexport default createTheme(() => ({\n mode: 'light',\n}));\n//# sourceMappingURL=Theme.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\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*/\nexport const borderRadius = () => 3;\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`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n dialog: () => 300,\n navigation: () => 200,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\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 * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\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 white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: skeletonColor(),\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate',\n },\n keyframes: {\n from: {\n backgroundColor: skeletonColor(),\n },\n to: {\n backgroundColor: N30A,\n },\n },\n});\n//# sourceMappingURL=constants.js.map","import React, { createContext, useContext, useCallback, } from 'react';\n/*\ncreateTheme is used to create a set of Providers and Consumers for theming components.\n- Takes a default theme function; this theme function gets a set of props, and returns tokens\n based on those props. An example of this default theme function is one that produces the standard\n appearance of the component\n- Returns two things - a Provider that allow for additional themes to be applied, and a Consumer\n that can get the current theme and fetch it.\n*/\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n /* Internally, Theme uses React Context, with internal providers and consumers.\n The React Context passes only a function that gets props, and turns them into tokens. This\n function gets mixed as more Providers with their own themes are added. This mixed function\n is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n the theme. */\n const ThemeContext = createContext(defaultGetTokens);\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const { children, ...themeProps } = props;\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = themeFn(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return React.createElement(React.Fragment, null, children(tokens));\n }\n /* The Theme Provider takes regular nodes as its child, but also takes a *theme function*\n - The theme function takes a set of props, as well as a function (getTokens) that can\n turn props into tokens.\n - The getTokens function isn't called immediately - instead the props are passed\n through a mix of parent theming functions\n Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback((themeProps) => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return (React.createElement(ThemeContext.Provider, { value: mixedFn }, props.children));\n }\n return { Consumer, Provider };\n}\n//# sourceMappingURL=createTheme.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\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 ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\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 { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\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; // TS believes value can be undefined\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 return '';\n };\n}\n//# sourceMappingURL=themed.js.map","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nexport default memoizeOne;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\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 <Global/>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 <ClassNames/> 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 _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 { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n return useContext(AnalyticsReactContext);\n};","import { useRef } from 'react';\nexport const useTrackedRef = value => {\n const ref = useRef(value);\n ref.current = value;\n return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n fn,\n action,\n componentName,\n actionSubject,\n packageName,\n packageVersion,\n analyticsData\n}) {\n const {\n createAnalyticsEvent\n } = useAnalyticsEvents();\n\n // We put analyticsData and fn in a ref so that we don't need to break\n // memoization.\n // Generally these could be defined by consumers inline\n // and so we do this to avoid breaking memoization of useCallback\n const dataRef = useTrackedRef(analyticsData);\n const fnRef = useTrackedRef(fn);\n const handler = useCallback(value => {\n const analyticsEvent = createAnalyticsEvent({\n action,\n actionSubject: actionSubject || componentName,\n attributes: {\n componentName,\n packageName,\n packageVersion\n }\n });\n\n // To avoid wrapping this component in AnalyticsContext we manually\n // push the parent context's meta data into the context.\n // Note: this new 'context'\n const context = {\n componentName,\n packageName,\n packageVersion,\n ...dataRef.current\n };\n analyticsEvent.context.push(context);\n\n // fire an event on the atlaskit channel\n const clone = analyticsEvent.clone();\n if (clone) {\n clone.fire('atlaskit');\n }\n fnRef.current(value, analyticsEvent);\n }, [\n // These are strings and won't change\n action, componentName, actionSubject, packageName, packageVersion,\n // This function is memoized in the context\n createAnalyticsEvent,\n // these are a stable ref because of the useTrackedRef hook\n dataRef, fnRef]);\n return handler;\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}","var _ref, _process, _process$env, _process2, _process2$env;\n// We can't rely on NODE_ENV === 'test' if its value is already configured by the consumer to some other value, so better to use JEST_WORKER_ID\n// https://jestjs.io/docs/environment-variables#jest_worker_id\nconst TESTS_MODE = (_ref = (globalThis === null || globalThis === void 0 ? void 0 : (_process = globalThis.process) === null || _process === void 0 ? void 0 : (_process$env = _process.env) === null || _process$env === void 0 ? void 0 : _process$env.JEST_WORKER_ID) !== undefined) !== null && _ref !== void 0 ? _ref : false;\nconst DEBUG_MODE = !TESTS_MODE && (globalThis === null || globalThis === void 0 ? void 0 : (_process2 = globalThis.process) === null || _process2 === void 0 ? void 0 : (_process2$env = _process2.env) === null || _process2$env === void 0 ? void 0 : _process2$env.NODE_ENV) !== 'production';\nexport const debug = (...args) => {\n if (!DEBUG_MODE) {\n return;\n }\n\n // eslint-disable-next-line no-console\n console.debug(...args);\n};","import { debug } from './debug';\nconst pkgName = '@atlaskit/platform-feature-flags';\nexport const PFF_GLOBAL_KEY = '__PLATFORM_FEATURE_FLAGS__';\nconst hasProcessEnv = typeof process !== 'undefined' && typeof process.env !== 'undefined';\n\n// FF global overrides can be configured by test runners or Storybook\nconst ENV_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['ENABLE_PLATFORM_FF'] === 'true' : false;\n\n// STORYBOOK_ENABLE_PLATFORM_FF is included as storybook only allows env vars prefixed with STORYBOOK\n// https://github.com/storybookjs/storybook/issues/12270\n\nconst ENV_STORYBOOK_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['STORYBOOK_ENABLE_PLATFORM_FF'] === 'true' : false;\nconst ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE = ENV_ENABLE_PLATFORM_FF || ENV_STORYBOOK_ENABLE_PLATFORM_FF;\nconst DEFAULT_PFF_GLOBAL = {\n // In development mode we want to capture any feature flag checks that happen using the default resolver and log this result when the resolver is replaced.\n // This is because evaluating feature flags when the resolver/FF client is loaded asynchronously could cause unexpected issues.\n earlyResolvedFlags: new Map(),\n booleanResolver: function (flagKey) {\n if (process.env.NODE_ENV !== 'production') {\n const unresolvedFlagCount = this.earlyResolvedFlags.get(flagKey) || 0;\n this.earlyResolvedFlags.set(flagKey, unresolvedFlagCount + 1);\n }\n return false;\n }\n};\nconst globalVar = typeof window !== 'undefined' ? window : globalThis;\nglobalVar[PFF_GLOBAL_KEY] = globalVar[PFF_GLOBAL_KEY] || DEFAULT_PFF_GLOBAL;\nexport function setBooleanResolver(resolver) {\n globalVar[PFF_GLOBAL_KEY].booleanResolver = resolver;\n if (process.env.NODE_ENV !== 'production') {\n var _globalVar$PFF_GLOBAL, _globalVar$PFF_GLOBAL2;\n if (((_globalVar$PFF_GLOBAL = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL === void 0 ? void 0 : (_globalVar$PFF_GLOBAL2 = _globalVar$PFF_GLOBAL.earlyResolvedFlags) === null || _globalVar$PFF_GLOBAL2 === void 0 ? void 0 : _globalVar$PFF_GLOBAL2.size) > 0) {\n debug(`[%s]: The following list of Feature Flags were called, the following number of times, before setBooleanResolver.`, pkgName, Array.from(globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.entries()));\n globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.clear();\n }\n }\n}\nexport function resolveBooleanFlag(flagKey) {\n if (ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE) {\n debug('[%s]: The feature flags were enabled while running tests. The flag \"%s\" will be always enabled.', pkgName, flagKey);\n return true;\n }\n try {\n var _globalVar$PFF_GLOBAL3;\n const result = (_globalVar$PFF_GLOBAL3 = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL3 === void 0 ? void 0 : _globalVar$PFF_GLOBAL3.booleanResolver(flagKey);\n if (typeof result !== 'boolean') {\n // eslint-disable-next-line no-console\n console.warn(`${flagKey} resolved to a non-boolean value, returning false for safety`);\n return false;\n }\n return result;\n } catch (e) {\n return false;\n }\n}","import { setBooleanResolver, resolveBooleanFlag } from './resolvers';\n\n/**\n * This creates a boolean flag resolver that allows calls to `getBooleanFF` inside of Platform components to use a Product's\n * feature flag client and LD project, rather than installing a feature flag client of their own, or passing those flags in via props.\n *\n * @param flagResolver\n */\nexport function setBooleanFeatureFlagResolver(flagResolver) {\n setBooleanResolver(flagResolver);\n}\n\n/**\n * Returns the value of a feature flag. If the flag does not resolve, it returns the \"false\" as a default value.\n *\n * @param name\n */\nexport function getBooleanFF(name) {\n return resolveBooleanFlag(name);\n}","import 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 return '';\n };\n}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\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})`;","/** @jsx jsx */\nimport { css, jsx } from '@emotion/react';\nimport { getBooleanFF } from '@atlaskit/platform-feature-flags';\nimport { B200, B300, B400, B50, N10, N100, N20, N30, N40, N70, N80, N900, R300 } from '@atlaskit/theme/colors';\nconst baseStyles = css({\n display: 'grid',\n gridAutoColumns: '1fr',\n gridAutoRows: 'min-content',\n color: `var(--ds-text, ${N900})`,\n cursor: 'default',\n font: \"var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Ubuntu, system-ui, \\\"Helvetica Neue\\\", sans-serif)\"\n});\nconst textLabelLayoutStyles = css({\n gap: `${\"var(--ds-space-0, 0px)\"} ${\"var(--ds-space-050, 4px)\"}`,\n gridTemplateColumns: 'min-content auto'\n});\nconst disabledStyles = css({\n color: `var(--ds-text-disabled, ${N80})`,\n cursor: 'not-allowed'\n});\nconst labelStyles = css({\n /**\n * Background\n */\n '--local-background': `var(--ds-background-input, ${N10})`,\n '--local-background-active': `var(--ds-background-input-pressed, ${B50})`,\n '--local-background-checked': `var(--ds-background-selected-bold, ${B400})`,\n '--local-background-checked-hover': `var(--ds-background-selected-bold-hovered, ${B300})`,\n '--local-background-disabled': `var(--ds-background-disabled, ${N20})`,\n '--local-background-hover': `var(--ds-background-input-hovered, ${N30})`,\n /**\n * Border\n */\n '--local-border': getBooleanFF('platform.design-system-team.update-border-radio-checkbox_7askv') ? `var(--ds-border-bold, ${N100})` : `var(--ds-border-input, ${N40})`,\n '--local-border-active': `var(--ds-border, ${B50})`,\n '--local-border-checked': `var(--ds-background-selected-bold, ${B400})`,\n '--local-border-checked-hover': `var(--ds-background-selected-bold-hovered, ${B300})`,\n '--local-border-checked-invalid': `var(--ds-border-danger, ${R300})`,\n '--local-border-disabled': `var(--ds-background-disabled, ${N20})`,\n '--local-border-focus': `var(--ds-border-focused, ${B200})`,\n '--local-border-hover': getBooleanFF('platform.design-system-team.update-border-radio-checkbox_7askv') ? `var(--ds-border-bold, ${N100})` : `var(--ds-border-input, ${N40})`,\n '--local-border-invalid': `var(--ds-border-danger, ${R300})`,\n /**\n * Tick\n */\n '--local-tick-active': `var(--ds-icon-inverse, ${B400})`,\n '--local-tick-checked': `var(--ds-icon-inverse, ${N10})`,\n '--local-tick-disabled': `var(--ds-icon-disabled, ${N70})`,\n '--local-tick-rest': 'transparent'\n});\nexport default function Label({\n children,\n isDisabled,\n testId,\n label,\n id\n}) {\n return jsx(\"label\", {\n css: [baseStyles, label && textLabelLayoutStyles, isDisabled && disabledStyles, labelStyles],\n \"data-testid\": testId,\n \"data-disabled\": isDisabled || undefined,\n id: id\n }, children);\n}","export const getBackground = () => \"var(--ds-surface, #FFFFFF)\";","export const sizes = {\n small: '16px',\n medium: '24px',\n large: '32px',\n xlarge: '48px'\n};\nexport const sizeMap = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n xlarge: 'xlarge'\n};\nexport const dimensions = {\n small: {\n width: sizes.small,\n height: sizes.small\n },\n medium: {\n width: sizes.medium,\n height: sizes.medium\n },\n large: {\n width: sizes.large,\n height: sizes.large\n },\n xlarge: {\n width: sizes.xlarge,\n height: sizes.xlarge\n }\n};","import { dimensions } from '../constants';\nimport { css } from '@emotion/react';\nexport const commonSVGStyles = {\n overflow: 'hidden',\n pointerEvents: 'none',\n /**\n * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\n * rule) and then override it with currentColor for the color changes to be picked up.\n */\n stop: {\n stopColor: 'currentColor'\n }\n};\nconst smallStyles = css(dimensions.small);\nconst mediumStyles = css(dimensions.medium);\nconst largeStyles = css(dimensions.large);\nconst xlargeStyles = css(dimensions.xlarge);\n\n// pre-built css style-size map\nexport const sizeStyleMap = {\n small: smallStyles,\n medium: mediumStyles,\n large: largeStyles,\n xlarge: xlargeStyles\n};\n\n/**\n * Returns the width of the icon's parent span. This function has\n * special behaviour to deal with icon-file-type specifically.\n *\n * The reality is the SVG still has its own dimensions, so this is\n * a secondary fallback which in 95% of cases is not required.\n * It's only really being kept to maintain backward compatability.\n */\nexport const getIconSize = ({\n width,\n height,\n size\n}) => {\n if (width && height) {\n return {\n width,\n height\n };\n }\n if (size) {\n return dimensions[size];\n }\n return undefined;\n};","/** @jsx jsx */\nimport { memo } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { getBackground } from './utils';\nimport { commonSVGStyles, sizeStyleMap } from './styles';\n\n// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage\nconst svgStyles = css(commonSVGStyles);\n\n/**\n * __SVG__\n *\n * An icon is used as a visual representation of common actions and commands to provide context.\n *\n * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)\n * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-svgs)\n */\nconst SVG = /*#__PURE__*/memo(function SVG({\n size = 'medium',\n label,\n primaryColor = 'currentColor',\n secondaryColor,\n testId,\n children\n}) {\n return jsx(\"svg\", {\n viewBox: \"0 0 24 24\",\n style: {\n color: primaryColor,\n fill: secondaryColor || getBackground()\n },\n css: [svgStyles, sizeStyleMap[size]],\n \"data-testid\": testId,\n \"aria-label\": label || undefined,\n role: label ? 'img' : 'presentation'\n }, children);\n});\nexport default SVG;","/** @jsx jsx */\nimport { memo, useMemo } from 'react';\nimport { jsx } from '@emotion/react';\nimport PrimitiveSVGIcon from '@atlaskit/icon/svg';\nfunction getIcon(isIndeterminate, isChecked) {\n if (isIndeterminate) {\n return jsx(\"rect\", {\n fill: \"inherit\",\n x: \"8\",\n y: \"11\",\n width: \"8\",\n height: \"2\",\n rx: \"1\"\n });\n }\n if (isChecked) {\n return jsx(\"path\", {\n d: \"M9.707 11.293a1 1 0 1 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 1 0-1.414-1.414L11 12.586l-1.293-1.293z\",\n fill: \"inherit\"\n });\n }\n\n // No icon\n return null;\n}\n\n/**\n * __Checkbox icon__\n *\n * A checkbox icon is the visual representation of checkbox state,\n * which is shown instead of the native input.\n *\n * @internal\n */\nconst CheckboxIcon = /*#__PURE__*/memo(({\n size,\n isIndeterminate,\n isChecked\n}) => {\n const icon = useMemo(() => getIcon(isIndeterminate, isChecked), [isIndeterminate, isChecked]);\n return jsx(PrimitiveSVGIcon, {\n label: \"\",\n size: size,\n primaryColor: \"var(--checkbox-background-color)\",\n secondaryColor: \"var(--checkbox-tick-color)\"\n }, jsx(\"g\", {\n fillRule: \"evenodd\"\n }, jsx(\"rect\", {\n fill: \"currentColor\",\n x: \"6\",\n y: \"6\",\n width: \"12\",\n height: \"12\",\n rx: \"2\"\n }), icon));\n});\nexport default CheckboxIcon;","/** @jsx jsx */\nimport { css, jsx } from '@emotion/react';\nconst labelTextStyles = css({\n alignSelf: 'center',\n gridArea: '1 / 2 / 2 / 3'\n});\nexport default function LabelText({\n children\n}) {\n return jsx(\"span\", {\n css: labelTextStyles\n }, children);\n}","/** @jsx jsx */\nimport { css, jsx } from '@emotion/react';\nimport { R500 } from '@atlaskit/theme/colors';\nconst requiredIndicatorStyles = css({\n paddingLeft: \"var(--ds-space-025, 2px)\",\n color: `var(--ds-text-danger, ${R500})`\n});\nexport default function RequiredIndicator() {\n return jsx(\"span\", {\n css: requiredIndicatorStyles,\n \"aria-hidden\": true\n }, \"*\");\n}","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport { forwardRef, memo, useCallback, useRef, useState } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next/usePlatformLeafEventHandler';\nimport mergeRefs from '@atlaskit/ds-lib/merge-refs';\nimport { getBooleanFF } from '@atlaskit/platform-feature-flags';\nimport { B200 } from '@atlaskit/theme/colors';\nimport { CheckboxIcon, Label, LabelText, RequiredIndicator } from './internal';\n/* eslint-disable @atlaskit/design-system/no-nested-styles */\nconst checkboxStyles = css({\n width: '100%',\n height: '100%',\n margin: \"var(--ds-space-0, 0px)\",\n appearance: 'none',\n border: 'none',\n gridArea: '1 / 1 / 2 / 2',\n opacity: 0,\n outline: 'none',\n '& + svg': {\n /**\n * Change the variables --checkbox-background-color, --checkbox-border-color\n * and --checkbox-tick-color according to user interactions.\n * All other variables are constant.\n * All styles from the input target the sibling svg.\n */\n '--checkbox-background-color': 'var(--local-background)',\n '--checkbox-border-color': 'var(--local-border)',\n '--checkbox-tick-color': 'var(--local-tick-rest)',\n color: 'var(--checkbox-background-color)',\n fill: 'var(--checkbox-tick-color)',\n gridArea: '1 / 1 / 2 / 2',\n pointerEvents: 'none',\n transition: 'color 0.2s ease-in-out, fill 0.2s ease-in-out',\n 'rect:first-of-type': {\n stroke: 'var(--checkbox-border-color)',\n strokeWidth: getBooleanFF('platform.design-system-team.update-border-radio-checkbox_7askv') ? \"var(--ds-border-width, 1px)\" : 2,\n transition: 'stroke 0.2s ease-in-out'\n }\n },\n '&&:focus + svg, &&:checked:focus + svg': {\n borderRadius: \"var(--ds-border-radius, 0.25rem)\",\n outline: `${\"var(--ds-border-width-outline, 2px)\"} solid ${`var(--ds-border-focused, ${B200})`}`,\n outlineOffset: \"var(--ds-space-negative-025, -2px)\"\n },\n '&:hover + svg': {\n '--checkbox-background-color': 'var(--local-background-hover)',\n '--checkbox-border-color': 'var(--local-border-hover)'\n },\n '&:checked:hover + svg': {\n '--checkbox-background-color': 'var(--local-background-checked-hover)',\n '--checkbox-border-color': 'var(--local-border-checked-hover)'\n },\n '&:checked + svg': {\n '--checkbox-background-color': 'var(--local-background-checked)',\n '--checkbox-border-color': 'var(--local-border-checked)',\n '--checkbox-tick-color': 'var(--local-tick-checked)'\n },\n '&[data-invalid] + svg': {\n '--checkbox-border-color': 'var(--local-border-invalid)'\n },\n '&:checked[data-invalid] + svg': {\n '--checkbox-border-color': 'var(--local-border-checked-invalid)'\n },\n '&:active + svg': {\n '--checkbox-background-color': 'var(--local-background-active)',\n '--checkbox-border-color': 'var(--local-border-active)'\n },\n '&:checked:active + svg': {\n '--checkbox-background-color': 'var(--local-background-active)',\n '--checkbox-border-color': 'var(--local-border-active)',\n '--checkbox-tick-color': 'var(--local-tick-active)'\n },\n '&:disabled + svg, &:disabled:hover + svg, &:disabled:focus + svg, &:disabled:active + svg, &:disabled[data-invalid] + svg': {\n '--checkbox-background-color': 'var(--local-background-disabled)',\n '--checkbox-border-color': 'var(--local-border-disabled)',\n cursor: 'not-allowed',\n pointerEvents: 'none'\n },\n '&:disabled:checked + svg': {\n '--checkbox-tick-color': 'var(--local-tick-disabled)'\n },\n '@media screen and (forced-colors: active)': {\n '& + svg': {\n '--checkbox-background-color': 'Canvas',\n '--checkbox-border-color': 'CanvasText',\n '--checkbox-tick-color': 'CanvasText'\n },\n '&:checked + svg, &:checked:hover + svg': {\n '--checkbox-background-color': 'Canvas',\n '--checkbox-border-color': 'CanvasText',\n '--checkbox-tick-color': 'CanvasText'\n },\n '&:focus + svg rect:first-of-type': {\n stroke: 'Highlight'\n },\n '&[data-invalid] + svg': {\n '--checkbox-border-color': 'Highlight'\n },\n '&:checked[data-invalid] + svg': {\n '--checkbox-border-color': 'Highlight'\n },\n '&:disabled + svg, &:disabled:hover + svg, &:disabled:focus + svg, &:disabled:active + svg, &:disabled[data-invalid] + svg': {\n '--checkbox-background-color': 'Canvas',\n '--checkbox-border-color': 'GrayText',\n '--checkbox-tick-color': 'GrayText'\n }\n }\n});\n/* eslint-enable @atlaskit/design-system/no-nested-styles */\n\n/**\n * __Checkbox__\n *\n * A checkbox an input control that allows a user to select one or more options from a number of choices.\n *\n * - [Examples](https://atlassian.design/components/checkbox/examples)\n * - [Code](https://atlassian.design/components/checkbox/code)\n * - [Usage](https://atlassian.design/components/checkbox/usage)\n */\nconst Checkbox = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function Checkbox(props, ref) {\n const {\n isChecked: isCheckedProp,\n isDisabled = false,\n isInvalid = false,\n defaultChecked = false,\n isIndeterminate = false,\n size = 'medium',\n onChange: onChangeProps,\n analyticsContext,\n label,\n name,\n value,\n isRequired,\n testId,\n ...rest\n } = props;\n const [isCheckedState, setIsCheckedState] = useState(isCheckedProp !== undefined ? isCheckedProp : defaultChecked);\n const onChange = useCallback((e, analyticsEvent) => {\n setIsCheckedState(e.target.checked);\n if (onChangeProps) {\n onChangeProps(e, analyticsEvent);\n }\n }, [onChangeProps]);\n const onChangeAnalytics = usePlatformLeafEventHandler({\n fn: onChange,\n action: 'changed',\n analyticsData: analyticsContext,\n componentName: 'checkbox',\n packageName: \"@atlaskit/checkbox\",\n packageVersion: \"13.1.5\"\n });\n const internalRef = useRef(null);\n const mergedRefs = mergeRefs([internalRef, ref]);\n\n // Use isChecked from the state if it is controlled\n const isChecked = isCheckedProp === undefined ? isCheckedState : isCheckedProp;\n return jsx(Label, {\n isDisabled: isDisabled,\n label: label,\n id: rest.id ? `${rest.id}-label` : undefined,\n testId: testId && `${testId}--checkbox-label`\n }, jsx(\"input\", _extends({\n // It is necessary only for Safari. It allows to render focus styles.\n tabIndex: 0\n }, rest, {\n type: \"checkbox\",\n ref: mergedRefs,\n disabled: isDisabled,\n checked: isChecked,\n value: value,\n name: name,\n required: isRequired,\n css: checkboxStyles,\n onChange: onChangeAnalytics,\n \"aria-checked\": isIndeterminate ? 'mixed' : isChecked,\n \"aria-invalid\": isInvalid ? 'true' : undefined,\n \"data-testid\": testId && `${testId}--hidden-checkbox`,\n \"data-invalid\": isInvalid ? 'true' : undefined\n })), jsx(CheckboxIcon, {\n size: size,\n isIndeterminate: isIndeterminate,\n isChecked: isChecked\n }), label && jsx(LabelText, null, label, isRequired && jsx(RequiredIndicator, null)));\n}));\nCheckbox.displayName = 'Checkbox';\nexport default Checkbox;","/**\n * Assigns the node to all the refs passed in the argument.\n *\n * @param refs: An array of refs (as function or ref object)\n */\nexport default function mergeRefs(refs) {\n return value => {\n refs.forEach(ref => {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref !== null) {\n ref.current = value;\n }\n });\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst ChevronDownIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><path d=\"M8.292 10.293a1.009 1.009 0 000 1.419l2.939 2.965c.218.215.5.322.779.322s.556-.107.769-.322l2.93-2.955a1.01 1.01 0 000-1.419.987.987 0 00-1.406 0l-2.298 2.317-2.307-2.327a.99.99 0 00-1.406 0z\" fill=\"currentColor\" fill-rule=\"evenodd\"/></svg>`\n}, props));\n\nChevronDownIcon.displayName = 'ChevronDownIcon';\nvar _default = ChevronDownIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst ChevronRightIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><path d=\"M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z\" fill=\"currentColor\" fill-rule=\"evenodd\"/></svg>`\n}, props));\n\nChevronRightIcon.displayName = 'ChevronRightIcon';\nvar _default = ChevronRightIcon;\nexports.default = _default;","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 <Global/>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 <ClassNames/> component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B200})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 9999\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value) {\n return value;\n } // TS believes value can be undefined\n }\n }\n\n return '';\n };\n}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\n */\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value) {\n return value;\n }\n }\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused', B200)` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B200})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { createTheme } from '@atlaskit/theme/components';\n/**\n * Creates the default theme, which can be customised using the `theme` prop\n *\n * @deprecated\n */\nexport const Theme = createTheme(props => ({\n container: {},\n bar: {},\n determinateBar: {},\n increasingBar: {},\n decreasingBar: {}\n}));","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n * based on those props. An example of this default theme function is one that produces the standard\n * appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n * that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n * to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n /**\n * Internally, Theme uses React Context, with internal providers and consumers.\n * The React Context passes only a function that gets props, and turns them into tokens. This\n * function gets mixed as more Providers with their own themes are added. This mixed function\n * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n * the theme.\n */\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\n }\n\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props;\n\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = useTheme(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n }\n\n /**\n * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n * - The getTokens function isn't called immediately - instead the props are passed\n * through a mix of parent theming functions\n * Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: mixedFn\n }, props.children);\n }\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","/** @jsx jsx */\nimport React from 'react';\nimport { css, jsx, keyframes } from '@emotion/react';\nimport { propDeprecationWarning } from '@atlaskit/ds-lib/deprecation-warning';\nimport { G300, N40A, N500 } from '@atlaskit/theme/colors';\nimport { Theme } from '../theme';\nconst MIN_VALUE = 0;\nconst MAX_VALUE = 1;\nconst increasingBarAnimation = keyframes({\n from: {\n left: '-5%',\n width: '5%'\n },\n to: {\n left: '130%',\n width: ' 100%'\n }\n});\nconst decreasingBarAnimation = keyframes({\n from: {\n left: '-80%',\n width: '80%'\n },\n to: {\n left: '110%',\n width: '10%'\n }\n});\nconst containerStyles = css({\n width: `100%`,\n height: 6,\n position: 'relative',\n background: `var(--ds-background-neutral, ${N40A})`,\n borderRadius: \"var(--ds-border-radius, 3px)\",\n overflow: 'hidden'\n});\nconst containerAppearance = {\n default: css({\n background: `var(--ds-background-neutral, ${N40A})`\n }),\n success: css({\n background: `var(--ds-background-neutral, ${N40A})`\n }),\n inverse: css({\n background: \"var(--ds-background-inverse-subtle, rgba(255, 255, 255, 0.5))\"\n })\n};\nconst barAppearance = {\n default: css({\n background: `var(--ds-background-neutral-bold, ${N500})`\n }),\n success: css({\n background: `var(--ds-background-success-bold, ${G300})`\n }),\n inverse: css({\n background: \"var(--ds-surface, white)\"\n })\n};\nconst barStyles = css({\n display: 'block',\n height: 6,\n position: 'absolute',\n borderRadius: \"var(--ds-border-radius, 3px)\"\n});\nconst determinateBarStyles = css({\n transition: 'width 0.2s'\n});\nconst increasingBarStyles = css({\n animation: `${increasingBarAnimation} 2s infinite`\n});\nconst decreasingBarStyles = css({\n animation: `${decreasingBarAnimation} 2s 0.5s infinite`\n});\n\n/**\n * __Progress bar__\n *\n * A progress bar displays the status of a given process.\n *\n * - [Examples](https://atlassian.design/components/progress-bar/examples)\n * - [Code](https://atlassian.design/components/progress-bar/code)\n * - [Usage](https://atlassian.design/components/progress-bar/usage)\n */\nconst ProgressBar = ({\n appearance = 'default',\n ariaLabel,\n isIndeterminate = false,\n testId = 'progress-bar',\n theme,\n value = 0\n}) => {\n const valueParsed = isIndeterminate ? MIN_VALUE : Math.max(MIN_VALUE, Math.min(value, MAX_VALUE));\n propDeprecationWarning(\"@atlaskit/progress-bar\", 'theme', typeof theme !== undefined, 'https://community.developer.atlassian.com/t/theme-prop-in-atlaskit-progress-bar-is-being-deprecated/56198');\n return jsx(Theme.Provider, {\n value: theme\n }, jsx(Theme.Consumer, {\n value: value\n }, tokens => jsx(\"div\", {\n css: [containerStyles, containerAppearance[appearance], tokens.container],\n role: \"progressbar\",\n \"aria-label\": ariaLabel,\n \"aria-valuemin\": MIN_VALUE,\n \"aria-valuenow\": valueParsed,\n \"aria-valuemax\": MAX_VALUE,\n tabIndex: 0,\n \"data-testid\": testId\n }, isIndeterminate ? jsx(React.Fragment, null, jsx(\"span\", {\n css: [barStyles, barAppearance[appearance], increasingBarStyles, tokens.bar, tokens.increasingBar]\n }), jsx(\"span\", {\n css: [barStyles, barAppearance[appearance], decreasingBarStyles, tokens.bar, tokens.decreasingBar]\n })) : jsx(\"span\", {\n style: {\n width: `${Number(value) * 100}%`\n },\n css: [barStyles, barAppearance[appearance], determinateBarStyles, tokens.bar, tokens.determinateBar]\n }))));\n};\nexport default ProgressBar;","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\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 _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag, options, isReal) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\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 createStyled = function createStyled(tag, options) {\n if (process.env.NODE_ENV !== 'production') {\n if (tag === undefined) {\n throw new Error('You are trying to create a styled element with an undefined component.\\nYou may have forgotten to import it.');\n }\n }\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n if (process.env.NODE_ENV !== 'production' && args[0][0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n if (process.env.NODE_ENV !== 'production' && args[0][i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[i], args[0][i]);\n }\n } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class\n\n\n var Styled = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if ( // $FlowFixMe\n finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n newProps.ref = ref;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && process.env.NODE_ENV !== 'production') {\n return 'NO_COMPONENT_SELECTOR';\n } // $FlowFixMe: coerce undefined to string\n\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag, nextOptions) {\n return createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n","import createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport 'react';\nimport '@emotion/is-prop-valid';\nimport '@emotion/react';\nimport '@emotion/utils';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = createStyled.bind();\ntags.forEach(function (tagName) {\n // $FlowFixMe: we can ignore this because its exposed type is defined by the CreateStyled type\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport { newStyled as default };\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import _extends from '@babel/runtime/helpers/esm/extends';\n\n/**\r\n * Actions represent the type of change to a location value.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#action\r\n */\nvar Action;\n\n(function (Action) {\n /**\r\n * A POP indicates a change to an arbitrary index in the history stack, such\r\n * as a back or forward navigation. It does not describe the direction of the\r\n * navigation, only that the current index changed.\r\n *\r\n * Note: This is the default action for newly created history objects.\r\n */\n Action[\"Pop\"] = \"POP\";\n /**\r\n * A PUSH indicates a new entry being added to the history stack, such as when\r\n * a link is clicked and a new page loads. When this happens, all subsequent\r\n * entries in the stack are lost.\r\n */\n\n Action[\"Push\"] = \"PUSH\";\n /**\r\n * A REPLACE indicates the entry at the current index in the history stack\r\n * being replaced by a new one.\r\n */\n\n Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\n\nvar readOnly = process.env.NODE_ENV !== \"production\" ? function (obj) {\n return Object.freeze(obj);\n} : function (obj) {\n return obj;\n};\n\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== 'undefined') console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message); // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nvar BeforeUnloadEventType = 'beforeunload';\nvar HashChangeEventType = 'hashchange';\nvar PopStateEventType = 'popstate';\n/**\r\n * Browser history stores the location in regular URLs. This is the standard for\r\n * most web apps, but it requires some configuration on the server to ensure you\r\n * serve the same app at multiple URLs.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\r\n */\n\nfunction createBrowserHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$window = _options.window,\n window = _options$window === void 0 ? document.defaultView : _options$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation[0],\n nextLocation = _getIndexAndLocation[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better what\n // is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop);\n var action = Action.Pop;\n\n var _getIndexAndLocation2 = getIndexAndLocation(),\n index = _getIndexAndLocation2[0],\n location = _getIndexAndLocation2[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n } // state defaults to `null` because `window.history.state` does\n\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation3 = getIndexAndLocation();\n\n index = _getIndexAndLocation3[0];\n location = _getIndexAndLocation3[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr[0],\n url = _getHistoryStateAndUr[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr2 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr2[0],\n url = _getHistoryStateAndUr2[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Hash history stores the location in window.location.hash. This makes it ideal\r\n * for situations where you don't want to send the location to the server for\r\n * some reason, either because you do cannot configure it or the URL space is\r\n * reserved for something else.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\r\n */\n\nfunction createHashHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options2 = options,\n _options2$window = _options2.window,\n window = _options2$window === void 0 ? document.defaultView : _options2$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _parsePath = parsePath(window.location.hash.substr(1)),\n _parsePath$pathname = _parsePath.pathname,\n pathname = _parsePath$pathname === void 0 ? '/' : _parsePath$pathname,\n _parsePath$search = _parsePath.search,\n search = _parsePath$search === void 0 ? '' : _parsePath$search,\n _parsePath$hash = _parsePath.hash,\n hash = _parsePath$hash === void 0 ? '' : _parsePath$hash;\n\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation4 = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation4[0],\n nextLocation = _getIndexAndLocation4[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better\n // what is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop); // popstate does not fire on hashchange in IE 11 and old (trident) Edge\n // https://developer.mozilla.org/de/docs/Web/API/Window/popstate_event\n\n window.addEventListener(HashChangeEventType, function () {\n var _getIndexAndLocation5 = getIndexAndLocation(),\n nextLocation = _getIndexAndLocation5[1]; // Ignore extraneous hashchange events.\n\n\n if (createPath(nextLocation) !== createPath(location)) {\n handlePop();\n }\n });\n var action = Action.Pop;\n\n var _getIndexAndLocation6 = getIndexAndLocation(),\n index = _getIndexAndLocation6[0],\n location = _getIndexAndLocation6[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function getBaseHref() {\n var base = document.querySelector('base');\n var href = '';\n\n if (base && base.getAttribute('href')) {\n var url = window.location.href;\n var hashIndex = url.indexOf('#');\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href;\n }\n\n function createHref(to) {\n return getBaseHref() + '#' + (typeof to === 'string' ? to : createPath(to));\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation7 = getIndexAndLocation();\n\n index = _getIndexAndLocation7[0];\n location = _getIndexAndLocation7[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr3 = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr3[0],\n url = _getHistoryStateAndUr3[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr4 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr4[0],\n url = _getHistoryStateAndUr4[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Memory history stores the current location in memory. It is designed for use\r\n * in stateful non-browser environments like tests and React Native.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#creatememoryhistory\r\n */\n\nfunction createMemoryHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options3 = options,\n _options3$initialEntr = _options3.initialEntries,\n initialEntries = _options3$initialEntr === void 0 ? ['/'] : _options3$initialEntr,\n initialIndex = _options3.initialIndex;\n var entries = initialEntries.map(function (entry) {\n var location = readOnly(_extends({\n pathname: '/',\n search: '',\n hash: '',\n state: null,\n key: createKey()\n }, typeof entry === 'string' ? parsePath(entry) : entry));\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: \" + JSON.stringify(entry) + \")\") : void 0;\n return location;\n });\n var index = clamp(initialIndex == null ? entries.length - 1 : initialIndex, 0, entries.length - 1);\n var action = Action.Pop;\n var location = entries[index];\n var listeners = createEvents();\n var blockers = createEvents();\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n search: '',\n hash: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction, nextLocation) {\n action = nextAction;\n location = nextLocation;\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n applyTx(nextAction, nextLocation);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n entries[index] = nextLocation;\n applyTx(nextAction, nextLocation);\n }\n }\n\n function go(delta) {\n var nextIndex = clamp(index + delta, 0, entries.length - 1);\n var nextAction = Action.Pop;\n var nextLocation = entries[nextIndex];\n\n function retry() {\n go(delta);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index = nextIndex;\n applyTx(nextAction, nextLocation);\n }\n }\n\n var history = {\n get index() {\n return index;\n },\n\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n return blockers.push(blocker);\n }\n };\n return history;\n} ////////////////////////////////////////////////////////////////////////////////\n// UTILS\n////////////////////////////////////////////////////////////////////////////////\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n\nfunction promptBeforeUnload(event) {\n // Cancel the event.\n event.preventDefault(); // Chrome (and legacy IE) requires returnValue to be set.\n\n event.returnValue = '';\n}\n\nfunction createEvents() {\n var handlers = [];\n return {\n get length() {\n return handlers.length;\n },\n\n push: function push(fn) {\n handlers.push(fn);\n return function () {\n handlers = handlers.filter(function (handler) {\n return handler !== fn;\n });\n };\n },\n call: function call(arg) {\n handlers.forEach(function (fn) {\n return fn && fn(arg);\n });\n }\n };\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n/**\r\n * Creates a string URL path from the given pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createpath\r\n */\n\n\nfunction createPath(_ref) {\n var _ref$pathname = _ref.pathname,\n pathname = _ref$pathname === void 0 ? '/' : _ref$pathname,\n _ref$search = _ref.search,\n search = _ref$search === void 0 ? '' : _ref$search,\n _ref$hash = _ref.hash,\n hash = _ref$hash === void 0 ? '' : _ref$hash;\n if (search && search !== '?') pathname += search.charAt(0) === '?' ? search : '?' + search;\n if (hash && hash !== '#') pathname += hash.charAt(0) === '#' ? hash : '#' + hash;\n return pathname;\n}\n/**\r\n * Parses a string URL path into its separate pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#parsepath\r\n */\n\nfunction parsePath(path) {\n var parsedPath = {};\n\n if (path) {\n var hashIndex = path.indexOf('#');\n\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n var searchIndex = path.indexOf('?');\n\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport { Action, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, parsePath };\n//# sourceMappingURL=index.js.map\n","/**\n * React Router DOM v6.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { useRef, useState, useLayoutEffect, createElement, forwardRef, useCallback, useMemo } from 'react';\nimport { createBrowserHistory, createHashHistory } from 'history';\nimport { Router, useHref, createPath, useLocation, useResolvedPath, useNavigate } from 'react-router';\nexport { MemoryRouter, Navigate, NavigationType, Outlet, Route, Router, Routes, UNSAFE_LocationContext, UNSAFE_NavigationContext, UNSAFE_RouteContext, createPath, createRoutesFromChildren, generatePath, matchPath, matchRoutes, parsePath, renderMatches, resolvePath, useHref, useInRouterContext, useLocation, useMatch, useNavigate, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRoutes } from 'react-router';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nconst _excluded = [\"onClick\", \"reloadDocument\", \"replace\", \"state\", \"target\", \"to\"],\n _excluded2 = [\"aria-current\", \"caseSensitive\", \"className\", \"end\", \"style\", \"to\", \"children\"];\n\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message); // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n} ////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A `<Router>` for use in web browsers. Provides the cleanest URLs.\n */\nfunction BrowserRouter(_ref) {\n let {\n basename,\n children,\n window\n } = _ref;\n let historyRef = useRef();\n\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({\n window\n });\n }\n\n let history = historyRef.current;\n let [state, setState] = useState({\n action: history.action,\n location: history.location\n });\n useLayoutEffect(() => history.listen(setState), [history]);\n return /*#__PURE__*/createElement(Router, {\n basename: basename,\n children: children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n });\n}\n\n/**\n * A `<Router>` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nfunction HashRouter(_ref2) {\n let {\n basename,\n children,\n window\n } = _ref2;\n let historyRef = useRef();\n\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({\n window\n });\n }\n\n let history = historyRef.current;\n let [state, setState] = useState({\n action: history.action,\n location: history.location\n });\n useLayoutEffect(() => history.listen(setState), [history]);\n return /*#__PURE__*/createElement(Router, {\n basename: basename,\n children: children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n });\n}\n\n/**\n * A `<Router>` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter(_ref3) {\n let {\n basename,\n children,\n history\n } = _ref3;\n const [state, setState] = useState({\n action: history.action,\n location: history.location\n });\n useLayoutEffect(() => history.listen(setState), [history]);\n return /*#__PURE__*/createElement(Router, {\n basename: basename,\n children: children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n });\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\n/**\n * The public API for rendering a history-aware <a>.\n */\nconst Link = /*#__PURE__*/forwardRef(function LinkWithRef(_ref4, ref) {\n let {\n onClick,\n reloadDocument,\n replace = false,\n state,\n target,\n to\n } = _ref4,\n rest = _objectWithoutPropertiesLoose(_ref4, _excluded);\n\n let href = useHref(to);\n let internalOnClick = useLinkClickHandler(to, {\n replace,\n state,\n target\n });\n\n function handleClick(event) {\n if (onClick) onClick(event);\n\n if (!event.defaultPrevented && !reloadDocument) {\n internalOnClick(event);\n }\n }\n\n return (\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n createElement(\"a\", _extends({}, rest, {\n href: href,\n onClick: handleClick,\n ref: ref,\n target: target\n }))\n );\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n Link.displayName = \"Link\";\n}\n\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = /*#__PURE__*/forwardRef(function NavLinkWithRef(_ref5, ref) {\n let {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children\n } = _ref5,\n rest = _objectWithoutPropertiesLoose(_ref5, _excluded2);\n\n let location = useLocation();\n let path = useResolvedPath(to);\n let locationPathname = location.pathname;\n let toPathname = path.pathname;\n\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n toPathname = toPathname.toLowerCase();\n }\n\n let isActive = locationPathname === toPathname || !end && locationPathname.startsWith(toPathname) && locationPathname.charAt(toPathname.length) === \"/\";\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n let className;\n\n if (typeof classNameProp === \"function\") {\n className = classNameProp({\n isActive\n });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for <NavLink />s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [classNameProp, isActive ? \"active\" : null].filter(Boolean).join(\" \");\n }\n\n let style = typeof styleProp === \"function\" ? styleProp({\n isActive\n }) : styleProp;\n return /*#__PURE__*/createElement(Link, _extends({}, rest, {\n \"aria-current\": ariaCurrent,\n className: className,\n ref: ref,\n style: style,\n to: to\n }), typeof children === \"function\" ? children({\n isActive\n }) : children);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n NavLink.displayName = \"NavLink\";\n} ////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Handles the click behavior for router `<Link>` components. This is useful if\n * you need to create custom `<Link>` components with the same click behavior we\n * use in our exported `<Link>`.\n */\n\n\nfunction useLinkClickHandler(to, _temp) {\n let {\n target,\n replace: replaceProp,\n state\n } = _temp === void 0 ? {} : _temp;\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to);\n return useCallback(event => {\n if (event.button === 0 && ( // Ignore everything but left clicks\n !target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ) {\n event.preventDefault(); // If the URL hasn't changed, a regular <a> will do a replace instead of\n // a push, so do the same here.\n\n let replace = !!replaceProp || createPath(location) === createPath(path);\n navigate(to, {\n replace,\n state\n });\n }\n }, [location, navigate, path, replaceProp, state, target, to]);\n}\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\n\nfunction useSearchParams(defaultInit) {\n process.env.NODE_ENV !== \"production\" ? warning(typeof URLSearchParams !== \"undefined\", \"You cannot use the `useSearchParams` hook in a browser that does not \" + \"support the URLSearchParams API. If you need to support Internet \" + \"Explorer 11, we recommend you load a polyfill such as \" + \"https://github.com/ungap/url-search-params\\n\\n\" + \"If you're unsure how to load polyfills, we recommend you check out \" + \"https://polyfill.io/v3/ which provides some recommendations about how \" + \"to load polyfills only for users that need them, instead of for every \" + \"user.\") : void 0;\n let defaultSearchParamsRef = useRef(createSearchParams(defaultInit));\n let location = useLocation();\n let searchParams = useMemo(() => {\n let searchParams = createSearchParams(location.search);\n\n for (let key of defaultSearchParamsRef.current.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParamsRef.current.getAll(key).forEach(value => {\n searchParams.append(key, value);\n });\n }\n }\n\n return searchParams;\n }, [location.search]);\n let navigate = useNavigate();\n let setSearchParams = useCallback((nextInit, navigateOptions) => {\n navigate(\"?\" + createSearchParams(nextInit), navigateOptions);\n }, [navigate]);\n return [searchParams, setSearchParams];\n}\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nfunction createSearchParams(init) {\n if (init === void 0) {\n init = \"\";\n }\n\n return new URLSearchParams(typeof init === \"string\" || Array.isArray(init) || init instanceof URLSearchParams ? init : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(Array.isArray(value) ? value.map(v => [key, v]) : [[key, value]]);\n }, []));\n}\n\nexport { BrowserRouter, HashRouter, Link, NavLink, createSearchParams, HistoryRouter as unstable_HistoryRouter, useLinkClickHandler, useSearchParams };\n//# sourceMappingURL=index.js.map\n","/**\n * React Router v6.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { parsePath, createMemoryHistory, Action } from 'history';\nexport { Action as NavigationType, createPath, parsePath } from 'history';\nimport { createContext, useContext, useMemo, useRef, useEffect, useCallback, createElement, useState, useLayoutEffect, Children, isValidElement, Fragment } from 'react';\n\nconst NavigationContext = /*#__PURE__*/createContext(null);\n\nif (process.env.NODE_ENV !== \"production\") {\n NavigationContext.displayName = \"Navigation\";\n}\n\nconst LocationContext = /*#__PURE__*/createContext(null);\n\nif (process.env.NODE_ENV !== \"production\") {\n LocationContext.displayName = \"Location\";\n}\n\nconst RouteContext = /*#__PURE__*/createContext({\n outlet: null,\n matches: []\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n RouteContext.displayName = \"Route\";\n}\n\nfunction invariant(cond, message) {\n if (!cond) throw new Error(message);\n}\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message); // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\nconst alreadyWarned = {};\nfunction warningOnce(key, cond, message) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n process.env.NODE_ENV !== \"production\" ? warning(false, message) : void 0;\n }\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/docs/en/v6/api#generatepath\n */\nfunction generatePath(path, params) {\n if (params === void 0) {\n params = {};\n }\n\n return path.replace(/:(\\w+)/g, (_, key) => {\n !(params[key] != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Missing \\\":\" + key + \"\\\" param\") : invariant(false) : void 0;\n return params[key];\n }).replace(/\\/*\\*$/, _ => params[\"*\"] == null ? \"\" : params[\"*\"].replace(/^\\/*/, \"/\"));\n}\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchroutes\n */\nfunction matchRoutes(routes, locationArg, basename) {\n if (basename === void 0) {\n basename = \"/\";\n }\n\n let location = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n let matches = null;\n\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i], pathname);\n }\n\n return matches;\n}\n\nfunction flattenRoutes(routes, branches, parentsMeta, parentPath) {\n if (branches === void 0) {\n branches = [];\n }\n\n if (parentsMeta === void 0) {\n parentsMeta = [];\n }\n\n if (parentPath === void 0) {\n parentPath = \"\";\n }\n\n routes.forEach((route, index) => {\n let meta = {\n relativePath: route.path || \"\",\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n !meta.relativePath.startsWith(parentPath) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Absolute route path \\\"\" + meta.relativePath + \"\\\" nested under path \" + (\"\\\"\" + parentPath + \"\\\" is not valid. An absolute child route path \") + \"must start with the combined path of all its parent routes.\") : invariant(false) : void 0;\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta); // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n\n if (route.children && route.children.length > 0) {\n !(route.index !== true) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Index routes must not have child routes. Please remove \" + (\"all child routes from route path \\\"\" + path + \"\\\".\")) : invariant(false) : void 0;\n flattenRoutes(route.children, branches, routesMeta, path);\n } // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n\n\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta\n });\n });\n return branches;\n}\n\nfunction rankRouteBranches(branches) {\n branches.sort((a, b) => a.score !== b.score ? b.score - a.score // Higher score first\n : compareIndexes(a.routesMeta.map(meta => meta.childrenIndex), b.routesMeta.map(meta => meta.childrenIndex)));\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\n\nconst isSplat = s => s === \"*\";\n\nfunction computeScore(path, index) {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments.filter(s => !isSplat(s)).reduce((score, segment) => score + (paramRe.test(segment) ? dynamicSegmentValue : segment === \"\" ? emptySegmentValue : staticSegmentValue), initialScore);\n}\n\nfunction compareIndexes(a, b) {\n let siblings = a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n return siblings ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1] : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch(branch, pathname) {\n let {\n routesMeta\n } = branch;\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches = [];\n\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname = matchedPathname === \"/\" ? pathname : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath({\n path: meta.relativePath,\n caseSensitive: meta.caseSensitive,\n end\n }, remainingPathname);\n if (!match) return null;\n Object.assign(matchedParams, match.params);\n let route = meta.route;\n matches.push({\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(joinPaths([matchedPathname, match.pathnameBase])),\n route\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\n\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchpath\n */\nfunction matchPath(pattern, pathname) {\n if (typeof pattern === \"string\") {\n pattern = {\n path: pattern,\n caseSensitive: false,\n end: true\n };\n }\n\n let [matcher, paramNames] = compilePath(pattern.path, pattern.caseSensitive, pattern.end);\n let match = pathname.match(matcher);\n if (!match) return null;\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params = paramNames.reduce((memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(captureGroups[index] || \"\", paramName);\n return memo;\n }, {});\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern\n };\n}\n\nfunction compilePath(path, caseSensitive, end) {\n if (caseSensitive === void 0) {\n caseSensitive = false;\n }\n\n if (end === void 0) {\n end = true;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"), \"Route path \\\"\" + path + \"\\\" will be treated as if it were \" + (\"\\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\" because the `*` character must \") + \"always follow a `/` in the pattern. To get rid of this warning, \" + (\"please change the route path to \\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\".\")) : void 0;\n let paramNames = [];\n let regexpSource = \"^\" + path.replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/:(\\w+)/g, (_, paramName) => {\n paramNames.push(paramName);\n return \"([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource += path === \"*\" || path === \"/*\" ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else {\n regexpSource += end ? \"\\\\/*$\" // When matching to the end, ignore trailing slashes\n : // Otherwise, match a word boundary or a proceeding /. The word boundary restricts\n // parent routes to matching only their own words and nothing more, e.g. parent\n // route \"/home\" should not match \"/home2\".\n // Additionally, allow paths starting with `.`, `-`, `~`, and url-encoded entities,\n // but do not consume the character in the matched path so they can match against\n // nested paths.\n \"(?:(?=[.~-]|%[0-9A-F]{2})|\\\\b|\\\\/|$)\";\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURIComponent(value, paramName) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"The value for the URL param \\\"\" + paramName + \"\\\" will not be decoded because\" + (\" the string \\\"\" + value + \"\\\" is a malformed URL segment. This is probably\") + (\" due to a bad percent encoding (\" + error + \").\")) : void 0;\n return value;\n }\n}\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/docs/en/v6/api#resolvepath\n */\n\n\nfunction resolvePath(to, fromPathname) {\n if (fromPathname === void 0) {\n fromPathname = \"/\";\n }\n\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\"\n } = typeof to === \"string\" ? parsePath(to) : to;\n let pathname = toPathname ? toPathname.startsWith(\"/\") ? toPathname : resolvePathname(toPathname, fromPathname) : fromPathname;\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash)\n };\n}\n\nfunction resolvePathname(relativePath, fromPathname) {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n relativeSegments.forEach(segment => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction resolveTo(toArg, routePathnames, locationPathname) {\n let to = typeof toArg === \"string\" ? parsePath(toArg) : toArg;\n let toPathname = toArg === \"\" || to.pathname === \"\" ? \"/\" : to.pathname; // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `<Link to>` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n\n let from;\n\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\"); // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how <a href> works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n } // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n\n\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from); // Ensure the pathname has a trailing slash if the original to value had one.\n\n if (toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\") && !path.pathname.endsWith(\"/\")) {\n path.pathname += \"/\";\n }\n\n return path;\n}\nfunction getToPathname(to) {\n // Empty strings should be treated the same as / paths\n return to === \"\" || to.pathname === \"\" ? \"/\" : typeof to === \"string\" ? parsePath(to).pathname : to.pathname;\n}\nfunction stripBasename(pathname, basename) {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n let nextChar = pathname.charAt(basename.length);\n\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(basename.length) || \"/\";\n}\nconst joinPaths = paths => paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\nconst normalizePathname = pathname => pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\nconst normalizeSearch = search => !search || search === \"?\" ? \"\" : search.startsWith(\"?\") ? search : \"?\" + search;\n\nconst normalizeHash = hash => !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usehref\n */\n\nfunction useHref(to) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useHref() may be used only in the context of a <Router> component.\") : invariant(false) : void 0;\n let {\n basename,\n navigator\n } = useContext(NavigationContext);\n let {\n hash,\n pathname,\n search\n } = useResolvedPath(to);\n let joinedPathname = pathname;\n\n if (basename !== \"/\") {\n let toPathname = getToPathname(to);\n let endsWithSlash = toPathname != null && toPathname.endsWith(\"/\");\n joinedPathname = pathname === \"/\" ? basename + (endsWithSlash ? \"/\" : \"\") : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({\n pathname: joinedPathname,\n search,\n hash\n });\n}\n/**\n * Returns true if this component is a descendant of a <Router>.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useinroutercontext\n */\n\nfunction useInRouterContext() {\n return useContext(LocationContext) != null;\n}\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/api#uselocation\n */\n\nfunction useLocation() {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useLocation() may be used only in the context of a <Router> component.\") : invariant(false) : void 0;\n return useContext(LocationContext).location;\n}\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigationtype\n */\n\nfunction useNavigationType() {\n return useContext(LocationContext).navigationType;\n}\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * <NavLink>.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usematch\n */\n\nfunction useMatch(pattern) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useMatch() may be used only in the context of a <Router> component.\") : invariant(false) : void 0;\n let {\n pathname\n } = useLocation();\n return useMemo(() => matchPath(pattern, pathname), [pathname, pattern]);\n}\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\n\n/**\n * Returns an imperative method for changing the location. Used by <Link>s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigate\n */\nfunction useNavigate() {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useNavigate() may be used only in the context of a <Router> component.\") : invariant(false) : void 0;\n let {\n basename,\n navigator\n } = useContext(NavigationContext);\n let {\n matches\n } = useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(matches.map(match => match.pathnameBase));\n let activeRef = useRef(false);\n useEffect(() => {\n activeRef.current = true;\n });\n let navigate = useCallback(function (to, options) {\n if (options === void 0) {\n options = {};\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(activeRef.current, \"You should call navigate() in a React.useEffect(), not when \" + \"your component is first rendered.\") : void 0;\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(to, JSON.parse(routePathnamesJson), locationPathname);\n\n if (basename !== \"/\") {\n path.pathname = joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(path, options.state);\n }, [basename, navigator, routePathnamesJson, locationPathname]);\n return navigate;\n}\nconst OutletContext = /*#__PURE__*/createContext(null);\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/api#useoutletcontext\n */\n\nfunction useOutletContext() {\n return useContext(OutletContext);\n}\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by <Outlet> to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useoutlet\n */\n\nfunction useOutlet(context) {\n let outlet = useContext(RouteContext).outlet;\n\n if (outlet) {\n return /*#__PURE__*/createElement(OutletContext.Provider, {\n value: context\n }, outlet);\n }\n\n return outlet;\n}\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useparams\n */\n\nfunction useParams() {\n let {\n matches\n } = useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? routeMatch.params : {};\n}\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useresolvedpath\n */\n\nfunction useResolvedPath(to) {\n let {\n matches\n } = useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(matches.map(match => match.pathnameBase));\n return useMemo(() => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname), [to, routePathnamesJson, locationPathname]);\n}\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an <Outlet> to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useroutes\n */\n\nfunction useRoutes(routes, locationArg) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useRoutes() may be used only in the context of a <Router> component.\") : invariant(false) : void 0;\n let {\n matches: parentMatches\n } = useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (process.env.NODE_ENV !== \"production\") {\n // You won't get a warning about 2 different <Routes> under a <Route>\n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // <Routes>\n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // <Route path=\"blog\" element={<Blog />} />\n // <Route path=\"blog/feed\" element={<BlogFeed />} />\n // </Routes>\n //\n // function Blog() {\n // return (\n // <Routes>\n // <Route path=\"post/:id\" element={<Post />} />\n // </Routes>\n // );\n // }\n let parentPath = parentRoute && parentRoute.path || \"\";\n warningOnce(parentPathname, !parentRoute || parentPath.endsWith(\"*\"), \"You rendered descendant <Routes> (or called `useRoutes()`) at \" + (\"\\\"\" + parentPathname + \"\\\" (under <Route path=\\\"\" + parentPath + \"\\\">) but the \") + \"parent route path has no trailing \\\"*\\\". This means if you navigate \" + \"deeper, the parent won't match anymore and therefore the child \" + \"routes will never render.\\n\\n\" + (\"Please change the parent <Route path=\\\"\" + parentPath + \"\\\"> to <Route \") + (\"path=\\\"\" + (parentPath === \"/\" ? \"*\" : parentPath + \"/*\") + \"\\\">.\"));\n }\n\n let locationFromContext = useLocation();\n let location;\n\n if (locationArg) {\n var _parsedLocationArg$pa;\n\n let parsedLocationArg = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n !(parentPathnameBase === \"/\" || ((_parsedLocationArg$pa = parsedLocationArg.pathname) == null ? void 0 : _parsedLocationArg$pa.startsWith(parentPathnameBase))) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"When overriding the location using `<Routes location>` or `useRoutes(routes, location)`, \" + \"the location pathname must begin with the portion of the URL pathname that was \" + (\"matched by all parent routes. The current pathname base is \\\"\" + parentPathnameBase + \"\\\" \") + (\"but pathname \\\"\" + parsedLocationArg.pathname + \"\\\" was given in the `location` prop.\")) : invariant(false) : void 0;\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname = parentPathnameBase === \"/\" ? pathname : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, {\n pathname: remainingPathname\n });\n\n if (process.env.NODE_ENV !== \"production\") {\n process.env.NODE_ENV !== \"production\" ? warning(parentRoute || matches != null, \"No routes matched location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(matches == null || matches[matches.length - 1].route.element !== undefined, \"Matched leaf route at location \\\"\" + location.pathname + location.search + location.hash + \"\\\" does not have an element. \" + \"This means it will render an <Outlet /> with a null value by default resulting in an \\\"empty\\\" page.\") : void 0;\n }\n\n return _renderMatches(matches && matches.map(match => Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase: match.pathnameBase === \"/\" ? parentPathnameBase : joinPaths([parentPathnameBase, match.pathnameBase])\n })), parentMatches);\n}\nfunction _renderMatches(matches, parentMatches) {\n if (parentMatches === void 0) {\n parentMatches = [];\n }\n\n if (matches == null) return null;\n return matches.reduceRight((outlet, match, index) => {\n return /*#__PURE__*/createElement(RouteContext.Provider, {\n children: match.route.element !== undefined ? match.route.element : outlet,\n value: {\n outlet,\n matches: parentMatches.concat(matches.slice(0, index + 1))\n }\n });\n }, null);\n}\n\n/**\n * A <Router> that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/api#memoryrouter\n */\nfunction MemoryRouter(_ref) {\n let {\n basename,\n children,\n initialEntries,\n initialIndex\n } = _ref;\n let historyRef = useRef();\n\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({\n initialEntries,\n initialIndex\n });\n }\n\n let history = historyRef.current;\n let [state, setState] = useState({\n action: history.action,\n location: history.location\n });\n useLayoutEffect(() => history.listen(setState), [history]);\n return /*#__PURE__*/createElement(Router, {\n basename: basename,\n children: children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n });\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/api#navigate\n */\nfunction Navigate(_ref2) {\n let {\n to,\n replace,\n state\n } = _ref2;\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n \"<Navigate> may be used only in the context of a <Router> component.\") : invariant(false) : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!useContext(NavigationContext).static, \"<Navigate> must not be used on the initial render in a <StaticRouter>. \" + \"This is a no-op, but you should modify your code so the <Navigate> is \" + \"only ever rendered in response to some user interaction or state change.\") : void 0;\n let navigate = useNavigate();\n useEffect(() => {\n navigate(to, {\n replace,\n state\n });\n });\n return null;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/api#outlet\n */\nfunction Outlet(props) {\n return useOutlet(props.context);\n}\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#route\n */\nfunction Route(_props) {\n process.env.NODE_ENV !== \"production\" ? invariant(false, \"A <Route> is only ever to be used as the child of <Routes> element, \" + \"never rendered directly. Please wrap your <Route> in a <Routes>.\") : invariant(false) ;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a <Router> directly. Instead, you'll render a\n * router that is more specific to your environment such as a <BrowserRouter>\n * in web browsers or a <StaticRouter> for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/api#router\n */\nfunction Router(_ref3) {\n let {\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = Action.Pop,\n navigator,\n static: staticProp = false\n } = _ref3;\n !!useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You cannot render a <Router> inside another <Router>.\" + \" You should never have more than one in your app.\") : invariant(false) : void 0;\n let basename = normalizePathname(basenameProp);\n let navigationContext = useMemo(() => ({\n basename,\n navigator,\n static: staticProp\n }), [basename, navigator, staticProp]);\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\"\n } = locationProp;\n let location = useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key\n };\n }, [basename, pathname, search, hash, state, key]);\n process.env.NODE_ENV !== \"production\" ? warning(location != null, \"<Router basename=\\\"\" + basename + \"\\\"> is not able to match the URL \" + (\"\\\"\" + pathname + search + hash + \"\\\" because it does not start with the \") + \"basename, so the <Router> won't render anything.\") : void 0;\n\n if (location == null) {\n return null;\n }\n\n return /*#__PURE__*/createElement(NavigationContext.Provider, {\n value: navigationContext\n }, /*#__PURE__*/createElement(LocationContext.Provider, {\n children: children,\n value: {\n location,\n navigationType\n }\n }));\n}\n\n/**\n * A container for a nested tree of <Route> elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#routes\n */\nfunction Routes(_ref4) {\n let {\n children,\n location\n } = _ref4;\n return useRoutes(createRoutesFromChildren(children), location);\n} ///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `<Route>` element or an array of them. Used internally by\n * `<Routes>` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/api#createroutesfromchildren\n */\n\nfunction createRoutesFromChildren(children) {\n let routes = [];\n Children.forEach(children, element => {\n if (! /*#__PURE__*/isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(routes, createRoutesFromChildren(element.props.children));\n return;\n }\n\n !(element.type === Route) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"[\" + (typeof element.type === \"string\" ? element.type : element.type.name) + \"] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>\") : invariant(false) : void 0;\n let route = {\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children);\n }\n\n routes.push(route);\n });\n return routes;\n}\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\n\nfunction renderMatches(matches) {\n return _renderMatches(matches);\n}\n\nexport { MemoryRouter, Navigate, Outlet, Route, Router, Routes, LocationContext as UNSAFE_LocationContext, NavigationContext as UNSAFE_NavigationContext, RouteContext as UNSAFE_RouteContext, createRoutesFromChildren, generatePath, matchPath, matchRoutes, renderMatches, resolvePath, useHref, useInRouterContext, useLocation, useMatch, useNavigate, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRoutes };\n//# sourceMappingURL=index.js.map\n","import tracking from '../utils/tracking';\n\nexport default class PostRenderedTracking {\n\n static propertyFinder(e: Event, attribute: string) {\n if (e && e.target && e.target.hasAttribute(`[${attribute}]`)) {\n return e.target.getAttribute(attribute);\n } else if (e && e.target && e.target.closest(`[${attribute}]`)) {\n return e.target.closest(`[${attribute}]`).dataset.eventContainer;\n }\n return '';\n }\n\n static track(e: Event) {\n const target = e.target ? e.target : {tagName: '', value: ''};\n let trackLabel = '';\n switch (target.tagName) {\n case 'INPUT':\n trackLabel = target.value;\n break;\n case 'SELECT':\n trackLabel = target.value;\n break;\n default:\n trackLabel = target.innerText;\n break;\n }\n tracking.trackEvent('clicked', {\n eventContainer: this.propertyFinder(e, 'data-event-container'),\n eventComponent: this.propertyFinder(e, 'data-event-component'),\n eventColumn: this.propertyFinder(e, 'data-event-column'),\n parentLabel: this.propertyFinder(e, 'data-track-parent-label'),\n uuid: this.propertyFinder(e, 'uuid'),\n label: trackLabel ? trackLabel.trim() : '',\n schemaVersion: 1\n });\n }\n\n}\n","import React, { useContext } from 'react';\nimport styled from \"@emotion/styled\";\nimport DOMPurify from 'dompurify';\nimport { QuizContext } from \"./ConfigurableQuizContainer\";\nimport PostRenderedTracking from '../../../common/post-rendered-tracking';\n\nexport default function ElementHTML({\n content,\n tag,\n styling,\n className\n }) {\n\n function doClicks(e) {\n if (e.target.tagName == \"A\") {\n PostRenderedTracking.track(e);\n }\n }\n\n const { firstName } = useContext(QuizContext);\n\n let cleanedHTML = DOMPurify.sanitize(content, { ADD_ATTR: ['target'] });\n\n // find any [[{firstName}|fallback]] values in the strings\n const nameMatches = cleanedHTML.match(/\\[\\[(.*?)\\]\\]/g);\n if (nameMatches) {\n nameMatches.forEach(nameMatch => {\n let replacer = '';\n let pairFinder = nameMatch.replaceAll(/[[\\]]/g, '').split('|');\n let namePiece = pairFinder[0];\n let fallbackPiece = pairFinder[1] ? pairFinder[1] : '';\n if (firstName) {\n replacer = namePiece.replace(/\\{firstName\\}/g, firstName);\n } else {\n replacer = fallbackPiece;\n }\n cleanedHTML = cleanedHTML.replace(nameMatch, replacer);\n })\n }\n\n\n const CustomTag = `${tag ? tag : 'div'}`;\n const StyledEl = styled[CustomTag]`${styling}`;\n\n return (\n <StyledEl onClick={doClicks} dangerouslySetInnerHTML={{__html: cleanedHTML}} className={className} />\n )\n}\n\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n var _obj$constructor;\n\n return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) || // 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\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 = { ...this.payload\n };\n return new AnalyticsEvent({\n payload\n });\n });\n\n this.payload = props.payload;\n }\n\n update(updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n\n if (typeof updater === 'object') {\n this.payload = { ...this.payload,\n ...updater\n };\n }\n\n return this;\n }\n\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n var _obj$constructor;\n\n return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) || // 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\n _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n\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\n return null;\n }\n\n const context = [...this.context];\n const handlers = [...this.handlers];\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\n const payload = JSON.parse(JSON.stringify(this.payload));\n return new UIAnalyticsEvent({\n context,\n handlers,\n payload\n });\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\n return;\n }\n\n this.handlers.forEach(handler => handler(this, channel));\n this.hasFired = true;\n });\n\n this.context = props.context || [];\n this.handlers = props.handlers || [];\n this.hasFired = false;\n }\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\n return this;\n }\n\n return super.update(updater);\n }\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 { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n fn,\n action,\n componentName,\n actionSubject,\n packageName,\n packageVersion,\n analyticsData\n}) {\n const {\n createAnalyticsEvent\n } = useAnalyticsEvents(); // We put analyticsData and fn in a ref so that we don't need to break\n // memoization.\n // Generally these could be defined by consumers inline\n // and so we do this to avoid breaking memoization of useCallback\n\n const dataRef = useTrackedRef(analyticsData);\n const fnRef = useTrackedRef(fn);\n const handler = useCallback(value => {\n const analyticsEvent = createAnalyticsEvent({\n action,\n actionSubject: actionSubject || componentName,\n attributes: {\n componentName,\n packageName,\n packageVersion\n }\n }); // To avoid wrapping this component in AnalyticsContext we manually\n // push the parent context's meta data into the context.\n // Note: this new 'context'\n\n const context = {\n componentName,\n packageName,\n packageVersion,\n ...dataRef.current\n };\n analyticsEvent.context.push(context); // fire an event on the atlaskit channel\n\n const clone = analyticsEvent.clone();\n\n if (clone) {\n clone.fire('atlaskit');\n }\n\n fnRef.current(value, analyticsEvent);\n }, [// These are strings and won't change\n action, componentName, actionSubject, packageName, packageVersion, // This function is memoized in the context\n createAnalyticsEvent, // these are a stable ref because of the useTrackedRef hook\n dataRef, fnRef]);\n return handler;\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 deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, 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.100', '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, ${B100})`, 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: () => 800\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')` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n Provider,\n Consumer,\n useTheme\n} = createTheme(() => ({\n mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n Provider,\n Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n * based on those props. An example of this default theme function is one that produces the standard\n * appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n * that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n * to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n /**\n * Internally, Theme uses React Context, with internal providers and consumers.\n * The React Context passes only a function that gets props, and turns them into tokens. This\n * function gets mixed as more Providers with their own themes are added. This mixed function\n * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n * the theme.\n */\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\n }\n\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props;\n\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = useTheme(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n }\n\n /**\n * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n * - The getTokens function isn't called immediately - instead the props are passed\n * through a mix of parent theming functions\n * Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: mixedFn\n }, props.children);\n }\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","import { B100, B200, B300, B400, B50, B75, DN10, DN200, DN30, DN80, DN90, N10, N20, N30, N40, N70, R300 } from '@atlaskit/theme/colors';\nconst radioThemeColors = {\n light: {\n background: `var(--ds-background-input, ${N10})`,\n backgroundHover: `var(--ds-surface, ${N30})`,\n backgroundActive: `var(--ds-background-input-pressed, ${N30})`,\n backgroundChecked: `var(--ds-background-brand-bold, ${B400})`,\n backgroundCheckedHover: `var(--ds-background-brand-bold-hovered, ${B300})`,\n backgroundCheckedActive: `var(--ds-background-brand-bold-pressed, ${B50})`,\n backgroundDisabled: `var(--ds-background-input, ${N20})`,\n dotChecked: `var(--ds-text-inverse, ${N10})`,\n dotDisabled: `var(--ds-text-disabled, ${N70})`,\n dotActive: `var(--ds-text-inverse, ${B400})`,\n border: `var(--ds-border, ${N40})`,\n borderHover: `var(--ds-border, ${N40})`,\n borderDisabled: `var(--ds-background-disabled, ${N20})`,\n borderFocus: `var(--ds-border-focused, ${B100})`\n },\n dark: {\n background: `var(--ds-background-input, ${DN10})`,\n backgroundHover: `var(--ds-surface, ${DN30})`,\n backgroundActive: `var(--ds-background-input-pressed, ${B200})`,\n backgroundChecked: `var(--ds-background-brand-bold, ${B400})`,\n backgroundCheckedHover: `var(--ds-background-brand-bold-hovered, ${B75})`,\n backgroundCheckedActive: `var(--ds-background-brand-bold-pressed, ${B200})`,\n backgroundDisabled: `var(--ds-background-input, ${DN10})`,\n dotChecked: `var(--ds-text-inverse, ${DN10})`,\n dotDisabled: `var(--ds-text-disabled, ${DN90})`,\n dotActive: `var(--ds-text-inverse, ${DN10})`,\n border: `var(--ds-border, ${DN80})`,\n borderHover: `var(--ds-border, ${DN200})`,\n borderDisabled: `var(--ds-background-disabled, ${DN10})`,\n borderFocus: `var(--ds-border-focused, ${B75})`\n }\n};\nexport default function getRadioCustomProperties(mode) {\n const radioColors = radioThemeColors[mode];\n return {\n '--local-background': radioColors.background,\n '--local-background-active': radioColors.backgroundActive,\n '--local-background-checked': radioColors.backgroundChecked,\n '--local-background-checked-active': radioColors.backgroundCheckedActive,\n '--local-background-checked-hover': radioColors.backgroundCheckedHover,\n '--local-background-disabled': radioColors.backgroundDisabled,\n '--local-background-hover': radioColors.backgroundHover,\n '--local-border': radioColors.border,\n '--local-border-disabled': radioColors.borderDisabled,\n '--local-border-hover': radioColors.borderHover,\n '--local-border-focus': radioColors.borderFocus,\n '--local-dot-active': radioColors.dotActive,\n '--local-dot-checked': radioColors.dotChecked,\n '--local-dot-disabled': radioColors.dotDisabled,\n '--local-invalid': `var(--ds-icon-danger, ${R300})`\n };\n}","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport { forwardRef, memo, useMemo } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next/usePlatformLeafEventHandler';\nimport { DN600, N80, N900 } from '@atlaskit/theme/colors';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { fontFamily as getFontFamily } from '@atlaskit/theme/constants';\nimport getRadioCustomProperties from './styles';\nconst packageName = \"@atlaskit/radio\";\nconst packageVersion = \"5.3.11\";\nconst fontFamily = getFontFamily();\n\nconst noop = () => {};\n\nconst labelPaddingStyles = css({\n padding: '2px 4px'\n});\nconst labelStyles = css({\n display: 'flex',\n boxSizing: 'border-box',\n position: 'relative',\n alignItems: 'flex-start',\n fontFamily: fontFamily,\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '&[data-disabled]': {\n color: `var(--ds-text-disabled, ${N80})`,\n cursor: 'not-allowed'\n }\n});\nconst lightLabelStyles = css({\n color: `var(--ds-text, ${N900})`\n});\nconst darkLabelStyles = css({\n color: `var(--ds-text, ${DN600})`\n});\nconst radioStyles = css({\n display: 'flex',\n\n /*\n The circle should be 14px * 14px centred in a 24px * 24px box.\n This is inclusive of a 2px border and inner circle with 2px radius.\n There is a Chrome bug that makes the circle become an oval and the\n inner circle not be centred at various zoom levels. This bug is fixed\n in all browsers if a scale of 14/24 is applied.\n */\n width: '24px',\n height: '24px',\n margin: 0,\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n backgroundColor: 'var(--radio-background-color)',\n\n /* Border should be 2px, multiply by 24/14 to offset scale */\n border: 'calc(2px * 12 / 7) solid var(--radio-border-color)',\n borderRadius: '50%',\n MozAppearance: 'none',\n outline: 'none',\n\n /*\n Change the variables --radio-background-color, --radio-border-color,\n -radio-dot-color and -radio-dot-opacity according to user interactions.\n All other variables are constant\n */\n '--radio-background-color': 'var(--local-background)',\n '--radio-border-color': 'var(--local-border)',\n '--radio-dot-color': 'var(--local-dot-checked)',\n '--radio-dot-opacity': 0,\n\n /* 24px * 7 / 12 === 14px height and width */\n transform: 'scale(calc(7 / 12))',\n transition: 'border-color 0.2s ease-in-out, background-color 0.2s ease-in-out',\n verticalAlign: 'top',\n WebkitAppearance: 'none',\n '&::after': {\n /* Height and width should by 4px, multiply by 24/14 to offset scale */\n width: 'calc(4px * 12 / 7)',\n height: 'calc(4px * 12 / 7)',\n position: 'absolute',\n background: 'var(--radio-dot-color)',\n borderRadius: '50%',\n content: \"''\",\n opacity: 'var(--radio-dot-opacity)',\n transition: 'background-color 0.2s ease-in-out, opacity 0.2s ease-in-out'\n },\n '&:hover': {\n '--radio-background-color': 'var(--local-background-hover)',\n '--radio-border-color': 'var(local-border-hover)'\n },\n '&:active': {\n '--radio-background-color': 'var(--local-background-active)'\n },\n '&:focus': {\n '--radio-border-color': 'var(--local-border-focus)'\n },\n '&:checked': {\n '--radio-background-color': 'var(--local-background-checked)',\n '--radio-border-color': 'var(--local-background-checked)',\n '--radio-dot-opacity': 1\n },\n '&:checked:hover': {\n '--radio-background-color': 'var(--local-background-checked-hover)',\n '--radio-border-color': 'var(--local-background-checked-hover)'\n },\n '&:checked:active': {\n '--radio-background-color': 'var(--local-background-checked-active)',\n '--radio-border-color': 'var(--local-border-hover)',\n '--radio-dot-color': 'var(--local-dot-active)'\n },\n '&:checked:focus': {\n '--radio-border-color': 'var(--local-border-focus)'\n },\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '&[data-invalid], &:checked[data-invalid]': {\n '--radio-border-color': 'var(--local-invalid)'\n },\n '&:disabled, &:disabled:hover, &:disabled:focus, &:disabled:active, &:disabled[data-invalid]': {\n cursor: 'not-allowed',\n '--radio-background-color': 'var(--local-background-disabled)',\n '--radio-border-color': 'var(--local-border-disabled)',\n '--radio-dot-color': 'var(--local-dot-disabled)'\n },\n '&:checked:disabled': {\n '--radio-border-color': 'transparent' // TODO: Investigate token solution\n\n }\n});\nconst RadioWithMode = /*#__PURE__*/forwardRef(function Radio(props, ref) {\n const {\n ariaLabel,\n isDisabled = false,\n isRequired,\n isInvalid = false,\n isChecked = false,\n label,\n mode,\n name,\n onChange = noop,\n value,\n testId,\n analyticsContext,\n // events and all other input props\n ...rest\n } = props;\n const onChangeAnalytics = usePlatformLeafEventHandler({\n fn: onChange,\n action: 'changed',\n analyticsData: analyticsContext,\n componentName: 'radio',\n packageName,\n packageVersion\n });\n const radioCustomProperties = useMemo(() => css(getRadioCustomProperties(mode)), [mode]);\n return (// https://product-fabric.atlassian.net/browse/DST-1971\n // eslint-disable-next-line jsx-a11y/label-has-associated-control,jsx-a11y/label-has-for\n jsx(\"label\", {\n \"data-testid\": testId && `${testId}--radio-label`,\n \"data-disabled\": isDisabled ? 'true' : undefined // TODO these will no longer be dynamic styles when legacy theming removed\n // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n ,\n css: [labelStyles, mode === 'light' ? lightLabelStyles : darkLabelStyles]\n }, jsx(\"input\", _extends({}, rest, {\n \"aria-label\": ariaLabel,\n checked: isChecked,\n disabled: isDisabled,\n name: name,\n onChange: onChangeAnalytics,\n required: isRequired,\n type: \"radio\",\n value: value,\n \"data-testid\": testId && `${testId}--radio-input` // isInvalid is used in a nonstandard way so cannot\n // use :invalid selector\n ,\n \"data-invalid\": isInvalid ? 'true' : undefined // TODO radioCustomProperties can be defined at top of file when legacy theming removed\n // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n ,\n css: [radioStyles, radioCustomProperties],\n ref: ref\n })), label ? jsx(\"span\", {\n css: labelPaddingStyles\n }, label) : null)\n );\n});\nconst Radio = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function Radio(props, ref) {\n return jsx(GlobalTheme.Consumer, null, ({\n mode\n }) => jsx(RadioWithMode, _extends({}, props, {\n ref: ref,\n mode: mode\n })));\n}));\nexport default Radio;","import React, { useContext } from 'react';\nimport { QuizContext } from \"./ConfigurableQuizContainer\";\nimport ElementHTML from \"./QuizElementHTML\";\nimport { Checkbox } from '@atlaskit/checkbox';\nimport { Radio } from '@atlaskit/radio';\nimport styled from \"@emotion/styled\";\nimport { colors } from \"@atlaskit/theme\";\n\nexport default function Choices() {\n\n const { updateChoiceValue, currentCard, cardChoiceChange } = useContext(QuizContext);\n\n return (\n <>\n {Object.keys(currentCard.choices).map(function(item){\n let choice = currentCard.choices[item];\n\n let choiceLabel = <>\n {choice.icon ? (\n <img className=\"icon\" src={choice.icon} />\n ): \"\"}\n <ElementHTML className=\"texts\" content={choice.title} />\n </>;\n\n return <div key={item}>\n <Choice onClick={() => cardChoiceChange(choice.key)}\n className={`${currentCard.cardType} ${choice.isChecked ? 'checked' : ''}`}>\n\n {currentCard.cardType == \"checkbox\" ? (\n <Checkbox\n isChecked={choice.isChecked}\n label={choiceLabel} />\n ) : (\n <Radio\n isChecked={choice.isChecked}\n label={choiceLabel} \n />\n )}\n </Choice>\n\n {choice.openEnded && choice.isChecked ? (\n <ChoiceInput type=\"text\" onChange={(e) => updateChoiceValue(choice.key, e)} placeholder={choice.openEndedPlaceholder ? choice.openEndedPlaceholder : ''} value={choice.openEndedValue} />\n ) : \"\"}\n </div>\n })}\n\n </>\n )\n}\n\nconst ChoiceInput = styled.input`\n width: 100%;\n padding: 10px 20px;\n font-family: 'Charlie Text', sans-serif;\n font-size: 1rem;\n`;\n\nconst Choice = styled.button`\n appearance: none;\n cursor: pointer;\n border: 0;\n display: block;\n width: 100%;\n padding: 20px;\n margin: 0 0 10px 0;\n border-radius: 3px;\n background-color: ${colors.N30};\n\n * {\n pointer-events: none;\n text-align: left;\n font-family: 'Charlie Text', sans-serif;\n font-size: 1rem;\n }\n\n ul {\n list-style-type: disc;\n padding-top: 15px;\n }\n\n &:hover {\n background-color: ${colors.N40};\n }\n\n &.checked {\n background-color: ${colors.B75};\n }\n\n > label {\n > *:first-child {\n margin-top: 3px;\n }\n > *:last-child {\n flex-grow: 1;\n align-items: center;\n display: flex;\n\n img {\n margin-right: 3px;\n margin-bottom: 0;\n max-height: 15px;\n width: auto;\n height: auto;\n }\n }\n }\n`;\n","import React, { useContext } from 'react';\nimport { QuizContext } from \"./ConfigurableQuizContainer\";\n\nimport ElementHTML from \"./QuizElementHTML\";\nimport Choices from \"./QuizChoices\";\nimport styled from \"@emotion/styled\";\nimport { keyframes} from \"@emotion/react\";\nimport { colors } from \"@atlaskit/theme\";\nimport Button from '@atlaskit/button';\nimport ProgressBar from '@atlaskit/progress-bar';\nimport ChevronDown from \"@atlaskit/icon/glyph/chevron-down\";\nimport ChevronRight from \"@atlaskit/icon/glyph/chevron-right\";\n\nexport default function During() {\n\n const { maximumQuestions, firstPage, labels, prevStep, currStep, currentCard, goToNextCard, goToPreviousCard, cardChoiceChange, toggleCardContent } = useContext(QuizContext);\n\n const extraIcon = currentCard.isShowingExtraContent ? <ChevronDown/> : <ChevronRight />;\n const cardIsValid = Object.keys(currentCard.choices).some(cardChoice => currentCard.choices[cardChoice].isChecked);\n\n return(\n <QuestionsWindow className={'questions'}>\n\n <QuestionsContainer>\n <CardContainer key={currentCard.key} className={`${currStep == 0 ? 'start' : 'nav'} ${prevStep > currStep ? 'backward' : 'forward'}`}>\n\n {currentCard.cardSubheader ? (\n <ElementHTML tag={'h5'} content={currentCard.cardSubheader} styling={eyebrow} />\n ) : ''}\n\n <ElementHTML tag={'h1'} content={currentCard.title} styling={h1style} />\n\n {currentCard.cardDescription ? (\n <ElementHTML tag={'h3'} content={currentCard.cardDescription} styling={longDescription} />\n ) : ''}\n\n <ChoicesContainer>\n\n <Choices currentCard={currentCard} cardChoiceChange={cardChoiceChange} />\n\n {currentCard.expandCollapse ? (\n <>\n <Button\n iconBefore={extraIcon}\n onClick={toggleCardContent}\n appearance={'link'}>\n {currentCard.expandCollapseLabel}\n </Button>\n\n {currentCard.isShowingExtraContent ? (\n <ElementHTML content={currentCard.extraContent} styling={extraContent} />\n ): \"\"}\n </>\n ) : \"\"}\n </ChoicesContainer>\n </CardContainer>\n\n <NavigationBar className={currStep == 0 ? 'start' : 'nav'}>\n {currStep > 0 ? (\n <>\n <Button onClick={goToPreviousCard} appearance={'link'}>\n {labels.back}\n </Button>\n\n <ProgressBar value={currStep / maximumQuestions} />\n </>\n ) : \"\"}\n\n <Button\n onClick={cardIsValid ? goToNextCard : undefined}\n isDisabled={!cardIsValid}\n appearance={'primary'}\n >\n {currStep == 0 ? labels.start : labels.next}\n </Button>\n </NavigationBar>\n\n </QuestionsContainer>\n\n {currStep == 0 ? (\n <ElementHTML content={firstPage} />\n ) : \"\"}\n\n </QuestionsWindow>\n )\n}\n\nconst backwardKeys = keyframes`\n 0% { opacity: 0; left: -50px; }\n 100% { opacity: 1; left: 0; }\n`\n\nconst forwardKeys = keyframes`\n 0% { opacity: 0; left: 50px; }\n 100% { opacity: 1; left: 0; }\n`\n\nconst h1style = `\n & + div {\n margin-top: 32px;\n }\n`;\n\nconst eyebrow = `\n font-weight: 600;\n`;\n\nconst longDescription = `\n font-weight: normal;\n font-size: 1.25rem;\n margin-bottom: 30px;\n`;\n\nconst extraContent = `\n padding-left: 45px;\n padding-top: 10px;\n`;\n\nconst QuestionsWindow = styled.div`\n position: relative;\n padding-top: 36px;\n`;\n\nconst QuestionsContainer = styled.div`\n position: relative;\n`;\n\nconst CardContainer = styled.div`\n min-height: 100vh;\n max-width: 688px;\n padding-bottom: 150px;\n padding-top: 50px;\n width: 95%;\n margin: auto;\n position: relative;\n\n &.start {\n min-height: 0;\n }\n\n &.forward {\n animation: ${forwardKeys} 600ms;\n }\n &.backward {\n animation: ${backwardKeys} 600ms;\n }\n`;\n\nconst ChoicesContainer = styled.div`\n background-color: white;\n padding: 40px;\n box-shadow: 0px 3px 9px -3px;\n border: 1px solid ${colors.N50};\n border-radius: 5px;\n\n @media (max-width: 768px) {\n padding: 24px 16px;\n }\n\n svg {\n margin-bottom: 0;\n }\n\n button {\n font-family: inherit;\n }\n`;\n\nconst NavigationBar = styled.div`\n display: grid;\n grid-gap: 20px;\n align-items: center;\n justify-content: center;\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n padding: 32px 20px;\n box-shadow: 0 1px 30px -14px;\n background: #ffffff;\n z-index: 10;\n\n &.start {\n grid-template-columns: minmax(auto, 448px);\n position: absolute;\n }\n &.nav {\n grid-template-columns: auto minmax(auto,328px) minmax(208px, auto);\n\n div[role=\"progressbar\"] span {\n background-color: ${colors.B400};\n }\n }\n button {\n justify-content: center;\n }\n`;\n","import React, { useContext } from 'react';\nimport { QuizContext } from \"./ConfigurableQuizContainer\";\nimport ElementHTML from \"./QuizElementHTML\";\nimport styled from \"@emotion/styled\";\nimport tracking from '../../../utils/tracking';\n\nexport default function Results() {\n\n const { getResults, accruedCards, finalScoreCalculations } = useContext(QuizContext);\n const resultParams = `?s=${finalScoreCalculations()}&a=${finalScoreCalculations(\"classes\").join(\",\")}`;\n const completedTracking = finalScoreCalculations(\"trackingInfo\");\n\n window.shareURL = `#/share${resultParams}`;\n window.shareObject = completedTracking;\n window.shareFormatted = finalScoreCalculations(\"formatted\");\n\n if (accruedCards.length) {\n tracking.trackEvent('clicked', {\n eventComponent: 'completedQuiz',\n quizFinalScore: finalScoreCalculations(),\n quizResultsSummary: getResults(true),\n quizCompletedAnswers: completedTracking\n });\n }\n\n return (\n <ResultsContainer>\n <ElementHTML content={getResults()} />\n </ResultsContainer>\n )\n}\n\nconst ResultsContainer = styled.div`\n *[class*=\"c-\"],\n *[class*=\"score-min-\"],\n *[class*=\"score-max-\"] {\n display: none;\n\n &.force-show {\n display: block !important;\n }\n }\n\n li {\n &[class*=\"c-\"],\n &[class*=\"score-min-\"],\n &[class*=\"score-max-\"] {\n &.force-show {\n display: list-item !important;\n }\n }\n\n }\n\n\n`\n","import React, { useEffect, useContext } from 'react';\nimport { QuizContext } from \"./ConfigurableQuizContainer\";\nimport { Routes, Route, Navigate, useLocation } from \"react-router-dom\";\nimport During from \"./QuizDuring\";\nimport Results from \"./QuizResults\";\n\nexport default function QuizRouter() {\n\n const { restartQuiz, lastPageID, accruedCards } = useContext(QuizContext);\n const location = useLocation();\n const thisURL = new URLSearchParams(location.search);\n\n useEffect(() => {\n if (location.pathname == \"/\") {\n restartQuiz();\n document.getElementById(lastPageID).style.display = \"none\";\n } else if (location.pathname == \"/results\") {\n document.querySelector('.container-fluid.email-results-bar').style.display = \"none\";\n document.getElementById(lastPageID).style.display = \"block\";\n } else {\n document.getElementById(lastPageID).style.display = \"none\";\n }\n }, [location])\n\n return(\n <Routes>\n <Route path=\"/\" element={ <During /> } />\n { accruedCards.length ?\n <Route path=\"results\" element={ <Results /> } /> :\n <Route path=\"results\" element={ <Navigate replace to=\"/\" />} /> \n }\n { thisURL.get('s') && thisURL.get('a') ?\n <Route path=\"share\" element={ <Results /> } /> :\n <Route path=\"share\" element={ <Navigate replace to=\"/\" />} />\n }\n <Route path=\"*\" element={ <During /> } />\n </Routes>\n )\n}\n\n","import { hamletUser } from \"../../../common/hamlet/hamlet-user\";\nimport React, { useEffect, useState } from \"react\";\nimport QuizRouter from \"./QuizRouter\";\nimport { HashRouter } from \"react-router-dom\";\nimport storage from \"../../../utils/storage\";\nimport tracking from '../../../utils/tracking';\n\nexport const QuizContext = React.createContext();\n\nexport default function ConfigurableQuizContainer({\n cards,\n scores,\n labels,\n firstPage,\n lastPageID,\n domRootId,\n maximumQuestions\n}) {\n\n useEffect(() => {\n if (storage.getCookie(\"login_user_detected\") === \"true\") {\n hamletUser.getStargateProfile(true).then(() => {\n setFirstName(hamletUser.getUser().myDetails.firstName);\n });\n }\n }, []);\n\n const freshCards = deepCopy(cards);\n const firstCard = getFirstCard(freshCards);\n\n const [accruedCards, setAccruedCards] = useState([]);\n const [quizCards, setQuizCards] = useState(freshCards);\n const [currentCard, setCurrentCard] = useState(firstCard);\n const [currStep, setCurrStep] = useState(0);\n const [prevStep, setPrevStep] = useState(-1);\n const [firstName, setFirstName] = useState(\"\");\n\n\n function deepCopy(obj) {\n return JSON.parse(JSON.stringify(obj));\n }\n\n function getFirstCard(cardStack) {\n return cardStack[Object.keys(cardStack)[0]]\n }\n\n function goToNextCard() {\n let currentAnswers = [];\n Object.keys(currentCard.choices).forEach(choice => {\n const currChoice = currentCard.choices[choice];\n let answerVal = currChoice.englishTitle + (currChoice.openEnded ? ` | ${currChoice.openEndedValue}` : '');\n if (currChoice.isChecked) {\n currentAnswers.push(answerVal);\n }\n });\n tracking.trackEvent('clicked', {\n eventComponent: 'quizNextButton',\n quizStep: currStep,\n quizQuestion: currentCard.englishTitle,\n quizAnswers: currentAnswers\n });\n\n const selectedChoice = Object.keys(currentCard.choices).find(choice => currentCard.choices[choice].isChecked);\n const newAccrued = [...accruedCards];\n newAccrued.push(currentCard);\n setAccruedCards(newAccrued);\n const selectedChoiceCard = currentCard.choices[selectedChoice];\n const nextConditionalCard = selectedChoiceCard.nextCard;\n const goNext = currentCard.isConditional ? nextConditionalCard : currentCard.nextCard;\n const nextPage = quizCards[goNext];\n setPrevStep(currStep);\n setCurrStep(currStep + 1);\n if (nextPage) {\n setCurrentCard(nextPage);\n } else {\n finishQuiz();\n }\n document.getElementById(domRootId).scrollIntoView({ behavior: 'smooth' });\n }\n\n function goToPreviousCard() {\n tracking.trackEvent('clicked', {\n eventComponent: 'quizPreviousButton',\n quizStep: currStep,\n quizQuestion: currentCard.englishTitle\n });\n const newAccrued = [...accruedCards];\n const prevCard = newAccrued.pop();\n setAccruedCards(newAccrued);\n setPrevStep(currStep);\n setCurrStep(currStep - 1);\n setCurrentCard(prevCard);\n document.getElementById(domRootId).scrollIntoView({ behavior: 'smooth' });\n }\n\n function finalScoreCalculations(returnType) {\n let score = 0;\n let answerKeys = [];\n let classes = [];\n let trackInfo = [];\n let trackFormatted = \"\";\n accruedCards.forEach((card, index) => {\n let accruedAnswers = [];\n trackFormatted += `\\n${index}. ${card.title}\\n`;\n Object.keys(card.choices).forEach(choice => {\n const cardChoice = card.choices[choice];\n if (cardChoice.isChecked) {\n const answerString = cardChoice.englishTitle + (cardChoice.openEnded ? ` | ${cardChoice.openEndedValue}` : '')\n accruedAnswers.push(answerString);\n answerKeys.push(choice);\n classes.push(cardChoice.choiceId);\n score += cardChoice.value;\n trackFormatted += `- ${answerString}\\n`\n }\n });\n trackInfo.push({\n questionTitle: card.englishTitle,\n questionAnswers: accruedAnswers\n });\n })\n\n if (returnType == \"answers\") {\n return answerKeys;\n } else if (returnType == \"classes\") {\n return classes;\n } else if (returnType == \"trackingInfo\") {\n return trackInfo;\n } else if (returnType == \"formatted\") {\n return trackFormatted;\n }\n return score;\n }\n\n function getResults(returnTitles) {\n const thisURL = new URLSearchParams(window.location.hash.replace('#/share', ''));\n\n let finalScore = []\n let finalAnswerClasses = [];\n if (accruedCards.length == 0 && thisURL.get('s') && thisURL.get('a')) {\n finalScore = isNaN(thisURL.get('s')) ? 0 : Number(thisURL.get('s'));\n finalAnswerClasses = thisURL.get('a') ? thisURL.get('a').split(',') : [];\n } else if (accruedCards.length) {\n finalScore = finalScoreCalculations();\n finalAnswerClasses = finalScoreCalculations(\"classes\");\n }\n\n let scoreMatches = scores.filter(score => {\n let matchesAnswer = true;\n if (score.answerSpecific) {\n matchesAnswer = score.answers.some(answer => finalAnswerClasses.includes(answer));\n }\n return finalScore >= score.minVal && finalScore < score.maxVal & matchesAnswer;\n });\n\n let scoreContentString = scoreMatches.map((scoreMatch) => {\n return scoreMatch.content;\n }).join(\"\");\n\n const scoreMinClasses = scoreContentString.match(/score-min-([\\d]*)[\\s\"]/g) ? scoreContentString.match(/score-min-([\\d]*)[\\s\"]/g) : [];\n const scoreMaxClasses = scoreContentString.match(/score-max-([\\d]*)[\\s\"]/g) ? scoreContentString.match(/score-max-([\\d]*)[\\s\"]/g) : [];\n\n scoreMinClasses.forEach(scoreClass => {\n const minRegEx = new RegExp(scoreClass, \"g\");\n const appender = scoreClass.endsWith('\"') ? '\"' : ' ';\n const minScore = Number(scoreClass.replace('score-min-', '').replace(appender, ''));\n if (finalScore >= minScore) {\n scoreContentString = scoreContentString.replace(minRegEx, appender);\n }\n });\n\n scoreMaxClasses.forEach(scoreClass => {\n const maxRegEx = new RegExp(scoreClass, \"g\");\n const appender = scoreClass.endsWith('\"') ? '\"' : ' ';\n const maxScore = Number(scoreClass.replace('score-max-', '').replace(appender, ''));\n if (finalScore <= maxScore) {\n scoreContentString = scoreContentString.replace(maxRegEx, appender);\n }\n });\n\n finalAnswerClasses.forEach(finalAnswer => {\n const finalAnswerRegEx = new RegExp(finalAnswer, \"g\");\n scoreContentString = scoreContentString.replace(finalAnswerRegEx, \"force-show\");\n });\n if (returnTitles) {\n return scoreMatches.map(function (match) { return match.title; });\n }\n return scoreContentString;\n }\n\n function finishQuiz() {\n window.location.hash = `#/results`;\n document.getElementById(domRootId).scrollIntoView({ behavior: 'smooth' });\n }\n\n function restartQuiz() {\n const newCards = deepCopy(cards);\n const firstNewCard = getFirstCard(newCards);\n setPrevStep(-1);\n setCurrStep(0);\n setQuizCards(newCards);\n setCurrentCard(firstNewCard);\n setAccruedCards([]);\n }\n\n function cardChoiceChange(choiceKey) {\n const currCard = { ...currentCard };\n let val;\n if (currCard.cardType == \"checkbox\") {\n val = !currCard.choices[choiceKey].isChecked;\n } else {\n for (let newKey in currCard.choices) {\n currCard.choices[newKey].isChecked = false;\n }\n val = true;\n }\n currCard.choices[choiceKey].isChecked = val;\n setCurrentCard(currCard);\n }\n\n function updateChoiceValue(choiceKey, event) {\n const currCard = { ...currentCard };\n currCard.choices[choiceKey].openEndedValue = event.target.value;\n setCurrentCard(currCard);\n }\n\n function toggleCardContent() {\n const currCard = { ...currentCard };\n currCard.isShowingExtraContent = !currCard.isShowingExtraContent;\n setCurrentCard(currCard);\n }\n\n return (\n <QuizContext.Provider value={{\n labels,\n prevStep,\n currStep,\n firstName,\n firstPage,\n domRootId,\n lastPageID,\n getResults,\n restartQuiz,\n currentCard,\n goToNextCard,\n accruedCards,\n maximumQuestions,\n goToPreviousCard,\n cardChoiceChange,\n updateChoiceValue,\n toggleCardContent,\n finalScoreCalculations\n }}>\n <HashRouter>\n <QuizRouter />\n </HashRouter>\n </QuizContext.Provider>\n )\n}\n"],"names":["compactButtonHeight","gridSize","fontSize","buttonHeight","getBackground","props","applyPropertyStyle","baseTheme","getBoxShadow","getColor","getCursor","state","getHeight","spacing","getLineHeight","getPadding","getTextDecoration","appearance","getTransition","getTransitionDuration","getVerticalAlign","getWidth","shouldFitContainer","staticStyles","alignItems","borderWidth","boxSizing","display","fontStyle","fontWeight","maxWidth","outline","textAlign","textDecoration","whiteSpace","mapAttributesToState","isDisabled","isActive","isFocus","isHover","isSelected","getLoadingStyle","isLoading","transition","opacity","composeRefs","refs","x","filter","r","forEach","ref","current","hex2rgba","hex","alpha","test","colorArr","substring","split","length","color","join","Error","fallbacks","background","light","colors","N20A","dark","DN70","N400","DN400","default","hover","N30A","DN60","active","B75","disabled","selected","N700","DN0","focusSelected","primary","B400","B100","B300","B500","B200","warning","Y300","Y200","Y400","danger","R400","R300","R500","link","N20","subtle","boxShadowColor","focus","Y500","R100","N500","N70","DN30","N0","N800","DN100","N200","N90","B50","DN300","property","mode","theme","propertyStyles","appearanceStyles","stateStyles","createTheme","themeProps","buttonStyles","borderRadius","boxShadow","cursor","height","lineHeight","padding","transitionDuration","verticalAlign","width","border","margin","pointerEvents","spinnerStyles","position","left","top","transform","children","followsIcon","rest","jsx","Object","assign","css","alignSelf","flex","overflow","textOverflow","icon","isOnlyChild","flexShrink","userSelect","fit","flexWrap","justifyContent","appearances","LoadingSpinner","constructor","super","arguments","this","invertSpinner","undefined","indexOf","render","styles","spinnerSize","size","Button","button","getComposedRefs","isInteractive","onMouseEnter","e","setState","onMouseLeave","onMouseDown","preventDefault","onMouseUp","onFocus","event","onBlur","getElement","href","onInnerClick","stopPropagation","componentDidMount","autoFocus","HTMLButtonElement","className","component","CustomComponent","consumerRef","iconAfter","iconBefore","testId","attributes","StyledButton","iconIsOnlyChild","value","createAnalyticsEvent","type","target","filterProps","InnerWrapper","onClick","IconWrapper","Content","defaultProps","createAndFireEventOnAtlaskit","createAndFireEvent","ButtonWithRef","displayName","withAnalyticsContext","componentName","packageName","packageVersion","withAnalyticsEvents","action","actionSubject","ContextTypes","getAtlaskitAnalyticsContext","getAtlaskitAnalyticsEventHandlers","_super","AnalyticsContext","_this","call","getChildContext","getAnalyticsContext","data","context","ancestorData","__spread","getAnalyticsEventHandlers","__extends","prototype","Children","contextTypes","childContextTypes","Component","AnalyticsEvent","clone","payload","JSON","parse","stringify","update","updater","__assign","UIAnalyticsEvent","hasFired","console","warn","handlers","fire","channel","handler","consumerEvent","clonedEvent","defaultData","WrappedComponent","WithAnalyticsContext","_a","analyticsContext","__rest","analyticsData","name","AnalyticsContextConsumer","originalEventProps","patchedEventProps","updatePatchedEventProps","changedPropCallbacks","keys","createEventMap","p","mapCreateEventsToProps","changedPropNames","reduce","modified","propCallbackName","eventCreator","providedCallback","includes","args","_i","analyticsEvent","apply","wrappedComponentProps","WithAnalyticsEvents","presetSizes","xsmall","small","medium","large","xlarge","rotate","keyframes","loadIn","delay","providedSize","tokens","strokeColor","DN900","DN500","getStrokeColor","focusable","viewBox","xmlns","cx","cy","R50","R75","R200","Y50","Y75","Y100","G50","G75","G100","G200","G300","G400","G500","P50","P75","P100","P200","P300","P400","P500","T50","T75","T100","T200","T300","T400","T500","N10","N30","N40","N50","N60","N80","N100","N300","N600","N900","N10A","N40A","N50A","N60A","N70A","N80A","N90A","N100A","N200A","N300A","N400A","N500A","N600A","N700A","N800A","DN800","DN700","DN600","DN200","DN90","DN80","DN50","DN40","DN20","DN10","DN800A","DN700A","DN600A","DN500A","DN400A","DN300A","DN200A","DN100A","DN90A","DN80A","DN70A","DN60A","DN50A","DN40A","DN30A","DN20A","DN10A","backgroundActive","backgroundHover","backgroundOnLayer","text","textHover","textActive","subtleText","placeholderText","heading","subtleHeading","codeBlock","linkHover","linkActive","linkOutline","blue","teal","purple","red","yellow","green","skeleton","FLATTENED","CHANNEL","DEFAULT_THEME_MODE","THEME_MODES","fontSizeSmall","fontFamily","codeFontFamily","focusRing","outlineWidth","noFocusRing","layers","card","dialog","navigation","layer","blanket","modal","flag","spotlight","tooltip","visuallyHidden","clip","assistive","skeletonShimmer","backgroundColor","animationDuration","animationIterationCount","animationTimingFunction","animationDirection","from","to","defaultGetTokens","emptyThemeFn","getTokens","ThemeContext","createContext","Consumer","useContext","Provider","themeFn","valueFn","mixedFn","useCallback","getTheme","__ATLASKIT_THEME__","themed","modesOrVariant","variantModes","variantProp","variants","modes","safeIsNaN","Number","isNaN","areInputsEqual","newInputs","lastInputs","i","first","second","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","extendStatics","d","b","setPrototypeOf","__proto__","Array","hasOwnProperty","__","create","t","s","n","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","key","desc","c","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","Symbol","iterator","v","op","TypeError","pop","push","__createBinding","o","m","k","k2","__exportStar","exports","__values","__read","ar","error","concat","__spreadArrays","il","a","j","jl","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__importStar","mod","__esModule","__importDefault","__classPrivateFieldGet","receiver","privateMap","has","get","__classPrivateFieldSet","set","cache","serialized","isStringTag","registered","EmotionCacheContext","HTMLElement","func","forwardRef","typePropName","Insertion","_ref","inserted","insert","sheet","Emotion$1","cssProp","registeredStyles","classNames","rawClassName","newProps","argsLength","createElementArgArray","createEmotionProps","_len","_key","useTrackedRef","useRef","usePlatformLeafEventHandler","fn","useAnalyticsEvents","dataRef","fnRef","_process","_process$env","_process2","_process2$env","DEBUG_MODE","globalThis","process","env","JEST_WORKER_ID","NODE_ENV","PFF_GLOBAL_KEY","hasProcessEnv","ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE","DEFAULT_PFF_GLOBAL","earlyResolvedFlags","Map","booleanResolver","flagKey","globalVar","window","getBooleanFF","debug","_globalVar$PFF_GLOBAL3","resolveBooleanFlag","baseStyles","gridAutoColumns","gridAutoRows","font","textLabelLayoutStyles","gap","gridTemplateColumns","disabledStyles","labelStyles","Label","id","sizes","sizeStyleMap","svgStyles","stop","stopColor","memo","primaryColor","secondaryColor","style","fill","role","isIndeterminate","isChecked","useMemo","rx","getIcon","fillRule","labelTextStyles","gridArea","LabelText","requiredIndicatorStyles","paddingLeft","RequiredIndicator","checkboxStyles","stroke","strokeWidth","outlineOffset","Checkbox","isCheckedProp","isInvalid","defaultChecked","onChange","onChangeProps","isRequired","isCheckedState","setIsCheckedState","useState","onChangeAnalytics","checked","internalRef","mergedRefs","tabIndex","required","mergeRefs","obj","_react","_base","ChevronDownIcon","createElement","Icon","dangerouslySetGlyph","_default","ChevronRightIcon","insertable","anim","toString","Theme","useTheme","container","bar","determinateBar","increasingBar","decreasingBar","increasingBarAnimation","decreasingBarAnimation","containerStyles","containerAppearance","success","inverse","barAppearance","barStyles","determinateBarStyles","increasingBarStyles","animation","decreasingBarStyles","ariaLabel","valueParsed","Math","max","min","reactPropsRegex","isPropValid","prop","charCodeAt","registerStyles","testOmitPropsOnStringTag","testOmitPropsOnComponent","getDefaultShouldForwardProp","tag","composeShouldForwardProps","options","isReal","shouldForwardProp","optionsShouldForwardProp","__emotion_forwardProp","propName","insertStyles","newStyled","createStyled","identifierName","targetClassName","__emotion_real","baseTag","__emotion_base","defaultShouldForwardProp","shouldUseAs","__emotion_styles","slice","len","Styled","w","FinalTag","as","classInterpolations","mergedProps","T","finalShouldForwardProp","withComponent","nextTag","nextOptions","bind","tagName","source","Action","readOnly","BeforeUnloadEventType","HashChangeEventType","PopStateEventType","createBrowserHistory","_options$window","document","defaultView","globalHistory","history","getIndexAndLocation","_window$location","location","pathname","search","hash","idx","usr","blockedPopTx","addEventListener","blockers","nextAction","Pop","_getIndexAndLocation","nextIndex","nextLocation","delta","index","retry","go","applyTx","_getIndexAndLocation2","listeners","createEvents","createHref","createPath","getNextLocation","parsePath","createKey","getHistoryStateAndUrl","allowTx","_getIndexAndLocation3","replaceState","Push","_getHistoryStateAndUr","historyState","url","pushState","replace","Replace","_getHistoryStateAndUr2","back","forward","listen","listener","block","blocker","unblock","promptBeforeUnload","removeEventListener","createHashHistory","_options2$window","_parsePath","substr","_parsePath$pathname","_parsePath$search","_parsePath$hash","handlePop","_getIndexAndLocation4","_getIndexAndLocation6","base","querySelector","getAttribute","hashIndex","getBaseHref","_getIndexAndLocation7","_getHistoryStateAndUr3","_getHistoryStateAndUr4","returnValue","arg","random","_ref$pathname","_ref$search","_ref$hash","charAt","path","parsedPath","searchIndex","BrowserRouter","basename","historyRef","useLayoutEffect","navigationType","navigator","HashRouter","_ref2","NavigationContext","LocationContext","RouteContext","outlet","matches","invariant","cond","message","matchRoutes","routes","locationArg","stripBasename","branches","flattenRoutes","sort","score","every","compareIndexes","routesMeta","map","meta","childrenIndex","rankRouteBranches","matchRouteBranch","parentsMeta","parentPath","route","relativePath","caseSensitive","startsWith","joinPaths","computeScore","paramRe","dynamicSegmentValue","indexRouteValue","emptySegmentValue","staticSegmentValue","splatPenalty","isSplat","segments","initialScore","some","segment","branch","matchedParams","matchedPathname","end","remainingPathname","match","matchPath","params","pathnameBase","normalizePathname","pattern","matcher","paramNames","regexpSource","paramName","endsWith","RegExp","compilePath","captureGroups","splatValue","decodeURIComponent","safelyDecodeURIComponent","toLowerCase","nextChar","paths","normalizeSearch","normalizeHash","useInRouterContext","useLocation","useNavigate","locationPathname","routePathnamesJson","activeRef","useEffect","toArg","routePathnames","toPathname","routePathnameIndex","toSegments","fromPathname","resolvePathname","resolvePath","resolveTo","Navigate","navigate","Route","_props","Router","_ref3","basenameProp","locationProp","static","staticProp","navigationContext","trailingPathname","Routes","_ref4","parentMatches","routeMatch","parentParams","parentPathnameBase","locationFromContext","_parsedLocationArg$pa","parsedLocationArg","reduceRight","element","_renderMatches","useRoutes","createRoutesFromChildren","isValidElement","Fragment","PostRenderedTracking","_classCallCheck","attribute","hasAttribute","closest","dataset","eventContainer","trackLabel","innerText","tracking","propertyFinder","eventComponent","eventColumn","parentLabel","uuid","trim","schemaVersion","ElementHTML","content","styling","firstName","QuizContext","cleanedHTML","DOMPurify","ADD_ATTR","nameMatches","nameMatch","replacer","pairFinder","replaceAll","namePiece","fallbackPiece","CustomTag","StyledEl","styled","_templateObject","React","dangerouslySetInnerHTML","__html","radioThemeColors","backgroundChecked","backgroundCheckedHover","backgroundCheckedActive","backgroundDisabled","dotChecked","dotDisabled","dotActive","borderHover","borderDisabled","borderFocus","noop","labelPaddingStyles","lightLabelStyles","darkLabelStyles","radioStyles","MozAppearance","WebkitAppearance","RadioWithMode","radioCustomProperties","radioColors","getRadioCustomProperties","Choices","_useContext","updateChoiceValue","currentCard","cardChoiceChange","choices","item","choice","choiceLabel","src","title","Choice","cardType","Radio","openEnded","ChoiceInput","placeholder","openEndedPlaceholder","openEndedValue","_taggedTemplateLiteral","_templateObject2","During","maximumQuestions","firstPage","labels","prevStep","currStep","goToNextCard","goToPreviousCard","toggleCardContent","extraIcon","isShowingExtraContent","ChevronDown","ChevronRight","cardIsValid","cardChoice","QuestionsWindow","QuestionsContainer","CardContainer","cardSubheader","eyebrow","h1style","cardDescription","longDescription","ChoicesContainer","expandCollapse","expandCollapseLabel","extraContent","NavigationBar","ProgressBar","start","backwardKeys","forwardKeys","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","Results","getResults","accruedCards","finalScoreCalculations","resultParams","completedTracking","shareURL","shareObject","shareFormatted","quizFinalScore","quizResultsSummary","quizCompletedAnswers","ResultsContainer","QuizRouter","restartQuiz","lastPageID","thisURL","URLSearchParams","getElementById","ConfigurableQuizContainer","cards","scores","domRootId","storage","hamletUser","setFirstName","myDetails","freshCards","deepCopy","firstCard","getFirstCard","_useState2","_slicedToArray","setAccruedCards","_useState4","quizCards","setQuizCards","_useState6","setCurrentCard","_useState8","setCurrStep","_useState10","setPrevStep","_useState12","cardStack","returnType","answerKeys","classes","trackInfo","trackFormatted","accruedAnswers","answerString","englishTitle","choiceId","questionTitle","questionAnswers","returnTitles","finalScore","finalAnswerClasses","scoreMatches","matchesAnswer","answerSpecific","answers","answer","minVal","maxVal","scoreContentString","scoreMatch","scoreMinClasses","scoreMaxClasses","scoreClass","minRegEx","appender","minScore","maxRegEx","maxScore","finalAnswer","finalAnswerRegEx","newCards","firstNewCard","currentAnswers","currChoice","answerVal","quizStep","quizQuestion","quizAnswers","selectedChoice","find","newAccrued","_toConsumableArray","nextConditionalCard","nextCard","goNext","isConditional","nextPage","scrollIntoView","behavior","prevCard","choiceKey","val","currCard","_objectSpread","newKey"],"sourceRoot":""}